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

標題: 通過單片機定時器產生PWM波的源程序 [打印本頁]

作者: saber韓武    時間: 2016-3-27 21:30
標題: 通過單片機定時器產生PWM波的源程序
通過單片機定時器產生PWM波  PWM(脈寬調制)在很多場合都用得上,例如LED亮度控制,開關電源輸出電圧控制等。 這里采用簡單的定時器實現PWM波輸出,通過更改定時器定時參數,

控制IO口輸出 波形高低電平持續時間,實現PWM波。   代碼如下:

   #include<reg52.h>

  #define T0_INTERRUPT 1  //T0中斷向量號

#define PWMH_L 0x9C  

#define PWMH_H 0xFF   //PWM低電平時間0.1ms   

#define PWML_L 0xCE  #define PWML_H 0xFF   

//PWM高電平時間0.05ms    sbit LED1 = P1^0;   //常亮LED,作為對比,仿真看不出效果

sbit LED2 = P1^1;    //PWM驅動LED     

typedef unsigned char uchar; typedef unsigned int uint;   

void Init_T0();   

void main() {   

   LED1 = 0;      //點亮LED1   

LED2 = 1;      //熄滅LED2  

   Init_T0();    //初始化定時器0   

while(1)     {         

PCON |= 0x01; //單片機進入休眠模式,節省功耗

     }

}   



void Init_T0() {

     TMOD &= 0xF0;     

TMOD |= 0x01;  //16位定時器模式           

TH0 = PWML_H;

        TL0 = PWML_L;   

        EA = 1;       //開全局中斷  

   ET0 = 1;      //允許T0中斷     

TR0 = 1;      //啟動定時器

}  



void T0_Interrupt() interrupt T0_INTERRUPT

{      

TF0 = 0;     

if(LED2 == 1)

    {         

LED2 = 0;        //設置低電平持續時間,LED2亮        

TH0 = PWMH_H;        

TL0 = PWMH_L;   

}     

else     

{         

LED2 = 1;        //設置高電平持續時間,LED2滅                 

TH0 = PWML_H;         

TL0 = PWML_L;  

   }

}



作者: idealize    時間: 2016-10-20 22:09
單片機睡眠模式挺有趣的





歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91精品国自产在线观看 | 日韩一区在线播放 | 秋霞一区| 亚洲高清视频在线观看 | 成年人一级片 | 亚洲视频一区二区 | 麻豆中文字幕 | 久久不雅视频 | 狠狠操综合 | 特黄aaaaaaaaa真人毛片 | 国产伦精品一区二区三区视频黑人 | 免费爱爱网站 | 日韩欧美中文在线 | 狠狠干在线| 国产黄色在线观看 | 国产在线观看一区 | 亚洲一区二区三区中文字幕 | 国产精品欧美一区二区 | 性欧美bbw| 欧美亚洲在线观看 | 国产午夜一区二区 | 天天干天天草 | 亚洲福利网 | 黄色小视频在线观看 | 日皮视频在线观看 | 天天综合精品 | 一区二区三区四区精品 | 欧美日韩一二三区 | 四虎黄色片 | 黄色片网站在线观看 | 毛片毛片毛片毛片毛片 | 中文字幕日本在线 | 日本激情视频 | 在线日韩一区 | 日韩一区二区三区在线播放 | 免费黄色片视频 | 亚洲国产欧美日韩 | 午夜激情网 | 伊人久久艹| 中文字幕有码在线 | 性爱一级视频 |