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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线免费毛片 | 日韩视频免费观看 | 99精品在线观看 | 九九在线视频 | 欧美日韩三级 | 中文字幕在线免费看 | 中文字幕亚洲精品 | 日韩成人在线观看 | 欧美色婷婷| 午夜免费视频 | 久在线观看 | 伊人精品在线 | 成人欧美一区二区三区白人 | 成年人小视频 | 国产一区二区影院 | 国产呦小j女精品视频 | 一级做a爱片性色毛片 | 毛片毛片毛片毛片毛片毛片 | 99亚洲精品 | 99国产在线观看 | 182tv午夜| 亚洲小视频在线观看 | 色黄大色黄女片免费中国 | 日韩精品视频在线播放 | 久久久久久久久久久久久久 | 欧美黄色一区 | 欧美日在线 | 日韩一区二区三免费高清在线观看 | 视频一区二区三区在线观看 | 日本a在线| 国产一区在线看 | 欧美视频免费看 | 黄色免费一级片 | 欧美日韩在线免费观看 | 免费黄色片网站 | 国产在线观看免费 | 91女人18毛片水多国产 | 亚洲精品蜜桃 | 欧美综合网| 国产一级片在线播放 | 欧美日日夜夜 |