久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3111|回復: 1
收起左側

STM32單片機熱釋電燈具程序

[復制鏈接]
ID:412827 發表于 2019-5-21 21:41 | 顯示全部樓層 |閱讀模式
/*板子引腳說明
X0  PC7
X1  PC6
X2  PB15
X3  PA1
X4  PA0
X5  PC4
X6  PB12
X7  PB14

Y0  PC9
Y1  PA8
Y2  PA11
Y3  PA12
Y4  PD2
Y5  PC12

AD0 PC1
AD1 PC2
*/

#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "pwm.h"
#define TIME_1MS 1000
#define TIME_3min 36000000
#define TRUE  1
#define FALSE 0
volatile  u32  timer_tick_count = 0; //定時器節拍
volatile u32  timer_tick_count1 = 0; //建立任務池
volatile u32  timer_tick_count2 = 0; //建立任務池
static u16 Key_Value=0;
static u16 Key_Value1=0;
static u8 light_FG= FALSE;
static u8 P_FG= FALSE;
u16 value=0;
u8 a=0;
u8 i ;
float vol=0;               
int  PWM_TAB[10]={0,                 //白天不工作
                                   200,             //晚上無人20%亮度
                              1000             //有人亮度100%
                             };
u8 pwm=0;
u8 key_SCAN;
#define X0    PCin(7)                                                           
//程序入口
int main()
{        
        Output_GPIO_Init();   //輸出GPIO 初始化。
    ADCx_Init();       //AD初始化
        TimerInit();//定時器初始化
        while(1)
        {
                /*Y0  PC9 Y1  PA8 Y2  PA11 Y3  PA12 Y4  PD2  Y5  PC12*/
            /*ADC轉換*/
                 value=Get_ADC_Value(ADC_Channel_11,30);     //光電傳感器,在沒有放書的情況下,不會觸發,只要放到上面有書籍,就要觸發。
                   vol=(float)value*(3.3/4096);    //轉換完成之后的值
           i=(int)vol;    //數據類型需要強制轉換         
              if(i>=1) //天黑的情況
                  {
                      light_FG= TRUE;
                          a=1;   //占空比20%
                          if(P_FG==TRUE)
                          { light_FG= FALSE;
                                  a=2;
                          }
                                 
                          if(timer_tick_count1>2000)      //設置天黑有人的情況   紅外識別   可認為是按鍵檢測
                          {timer_tick_count1=0;
                  if(X0==1)
                                  {
                                  Key_Value=1;
                                  }
                                    if(X0==0)
                                  {
                                  Key_Value=0;
                                  }
                                 
                             if(Key_Value== Key_Value1)
                                 {
                                          if( Key_Value==0)     //邊沿處理
                                          {Key_Value1= Key_Value;
                                           light_FG= FALSE;
                                           P_FG=TRUE;
                                                timer_tick_count2=0;
                               a=2;
                                          }
                                 }  
                          }
                  }
                   else
                 {
             GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應Y0
        //                 GPIO_ResetBits(GPIOC,GPIO_Pin_9);
                          light_FG= FALSE;
                  }  
                 if( light_FG==TRUE)  
           {                 
                           //PWM波輸出,調節燈光亮度
                                if( timer_tick_count>=TIME_1MS)     //頻率為1K    產生PWM波形                        
                                  {        timer_tick_count=0;                   //周期值清零                                   
                                  }                  
                                if( timer_tick_count<PWM_TAB[a])     //調節占空比
//                                   GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應Y0
                                 {         GPIO_ResetBits(GPIOC,GPIO_Pin_9);   //低電平有效   PC9對應Y0
                                  }               
                                  else
                                  { GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應Y0
                                
                                   }
                   }                 
                  
         if( P_FG==TRUE)  
           {                 
                           //PWM波輸出,調節燈光亮度
                                if( timer_tick_count>=TIME_1MS)     //頻率為1K    產生PWM波形                        
                                  {        timer_tick_count=0;                   //周期值清零                                   
                                  }                  
                                if( timer_tick_count<PWM_TAB[a])     //調節占空比
//                                   GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應Y0
                                 {         GPIO_ResetBits(GPIOC,GPIO_Pin_9);   //低電平有效   PC9對應Y0
                                  }               
                                  else
                                  { GPIO_SetBits(GPIOC,GPIO_Pin_9);     //高電平無效   PC9對應Y0
                                
                                   }
                   }                 
                  
                   if(timer_tick_count2>=TIME_3min)
                   {
                   P_FG= FALSE;
                   }
        
        }
}

全部資料51hei下載地址:
熱釋電燈具.7z (178.58 KB, 下載次數: 22)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:341741 發表于 2019-6-2 16:47 | 顯示全部樓層
原理圖可以分享一下嗎
回復

使用道具 舉報

ID:525821 發表于 2019-6-4 04:27
要5個幣,沒舍得。

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品电影网在线观看 | 国产69久久精品成人看动漫 | 蜜桃免费一区二区三区 | 小川阿佐美pgd-606在线 | 一区日韩 | 9999精品视频 | 亚洲欧美国产精品一区二区 | 成人午夜免费视频 | 午夜电影在线播放 | 国产一区二区影院 | 日韩高清一区 | 日韩视频国产 | 国产在线中文字幕 | 国产黄色av网站 | 亚洲精品免费视频 | 人人九九精 | 日韩欧美三级电影在线观看 | 久久99久久99精品免视看婷婷 | 免费观看a级毛片在线播放 黄网站免费入口 | 中文久久 | 麻豆视频在线免费看 | 国产欧美日韩在线观看 | 成年人在线视频 | 在线观看成人精品 | 台湾佬久久| 免费国产视频 | 国产精品黄视频 | 欧美激情国产精品 | 国产精品久久久久无码av | 日韩精品一区二区三区久久 | 色婷婷久久久久swag精品 | 亚洲精品久久久久中文字幕二区 | 亚洲精品中文字幕中文字幕 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 中文字幕第49页 | 色约约视频 | 日韩精品视频在线播放 | 亚洲一区二区电影在线观看 | 91视频网址 | 久久久久久久久久久久91 | 国产福利在线 |