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

專注電子技術(shù)學習與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

stc12單片機LED_PWM調(diào)光

作者:馬容   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年04月10日   【字體:



本程序一共有3個文件下面分別列出:

stc12c5a.h 頭文件下載:http://www.zg4o1577.cn/mcu/3282.html

main.c
 #include "stc12c5a.h"
#include "type.h"


#define FRE         22118400
#define TIME_FRE   10000         //計時1/10000=0.0001s=0.1ms (此時間是用來加快LED閃爍頻率)
#define T0RELOAD   (65536 - (FRE / TIME_FRE))


//***************************************初始化變量
volatile U32 SYS_TIME = 0;
volatile U32 LED_PWM  = 0;


//*****************************************延時函數(shù)
void delay(U32 dly)
{
    U32 i;
    while(--dly > 0)
    {
        for(i=0;i++;i<1000000);
    }
}


//****************************************定時器0初始化函數(shù)
void Timer0_Init()
{
 TMOD &= 0XF0;
 TMOD |= 0X01;   //定時器0的16位計數(shù)方式
 
 TH0   = T0RELOAD / 256;
 TL0   = T0RELOAD % 256;
 AUXR |= 0X80;   // 計數(shù)器0時鐘為Fosc,即1T
 PT0   = 1;    // 定時器0優(yōu)先級控制位, 1 為高優(yōu)先級 0 為低優(yōu)先級
 EA  = 1;     //開總中斷
 ET0 = 1;     //開定時器0中斷
 TR0 = 1;     //啟動定時器0
}


//*****************************************主函數(shù)
void main()
{
 Timer0_Init();
 //以下根據(jù)實際情況修改程序
 while(1)
 {
  P33 = 1;
  if(P33 == 0)   // KEY1
  {
   delay(5000);
   if(P33 == 0)
   {
    LED_PWM = 0; // 熄滅LED
   }
  }
  
  P34 = 1;
  if(P34 == 0)   // KEY2 按鍵一直按著,KED逐漸變亮
  {
   delay(5000);
   if(P34 == 0)
   {
    if(LED_PWM < 100)
    LED_PWM ++;
   }
  }
  
  P35 = 1;
  if(P35 == 0)   // KEY3 按鍵一直按著,KED逐漸變暗
  {
   delay(5000);
   if(P35 == 0)
   {
    if(LED_PWM >0)
    LED_PWM --;
   }
  }
 }
 


}
//*****************************************定時器0中斷
void Timer0_Routine() interrupt 1
{
 TH0 = T0RELOAD / 256;
 TL0 = T0RELOAD % 256;
 //以下根據(jù)實際情況修改程序
 SYS_TIME ++;
 if(SYS_TIME < LED_PWM)
 {
  P0 = 0;    //點亮LED
 }
 else
 {
  P0 = 0XFF;  //關(guān)閉LED
 }
  
 if(SYS_TIME > 100)
 {SYS_TIME = 0;}


}


 

type.h 
 #ifndef     _TYPE_H_
#define     _TYPE_H_

 
typedef unsigned char   U8;
typedef signed   char   S8;
typedef unsigned int    U16;
typedef signed   int    S16;
typedef unsigned long   U32;
typedef signed   long   S32;

 
#endif
 


 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 四虎影院一区二区 | 国产美女自拍视频 | 91久久久久| 午夜私人影院在线观看 | 亚洲精品在线播放 | 精品免费视频 | 成人在线一区二区三区 | 中文字幕一区在线观看视频 | 国产一区在线免费观看 | 国产 日韩 欧美 中文 在线播放 | 国产亚洲精品久久久优势 | 欧美狠狠操 | 草久久久| 亚洲福利在线观看 | 久久视频精品在线 | 九色 在线 | 欧美一区二区三区精品免费 | 亚洲午夜网| 国产乱码久久久久久一区二区 | 麻豆视频在线免费观看 | 亚洲天堂中文字幕 | 性生生活大片免费看视频 | 日本午夜精品一区二区三区 | 欧美精品导航 | 色中文在线 | 久久黄色精品视频 | 精品真实国产乱文在线 | 日本成人二区 | 国产精品日韩欧美一区二区三区 | 久久99蜜桃综合影院免费观看 | 男女羞羞在线观看 | 拍真实国产伦偷精品 | 天堂成人av| 亚洲 欧美 日韩在线 | 日韩视频二区 | 91av在线电影 | 国产日韩欧美在线观看 | 国产乱性 | 在线视频亚洲 | 久久av一区二区三区 | 视频1区|