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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2994|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 综合九九 | 亚洲成人三区 | 三级国产三级在线 | 日韩精品1区2区 | 欧美一级黄带 | 久久久久久久一区 | 国产精品中文字幕在线观看 | 国产精品永久久久久久久www | 中文字幕高清一区 | 真人女人一级毛片免费播放 | 麻豆一区二区三区 | 一区二区三区四区电影 | 亚洲国产高清在线观看 | 国产欧美一区二区三区另类精品 | 在线小视频 | 亚洲成网站 | 欧美成人手机在线 | xxx国产精品视频 | 三极网站 | 久久av一区二区三区 | 亚洲情侣视频 | 九热在线 | 日韩在线一区二区 | 成人免费大片黄在线播放 | 日韩av黄色 | 亚洲日本欧美日韩高观看 | 亚洲精品视频观看 | 午夜一级黄色片 | 精品一区二区三区电影 | 亚洲视频在线观看免费 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 日韩精品国产精品 | 精品国产乱码久久久久久丨区2区 | 日本黄色不卡视频 | 中文字幕视频免费 | 天堂综合网 | 日韩精品免费一区二区在线观看 | 亚洲国产成人在线 | 成人1区2区| 日本精品视频 | 国产黄色大片网站 |