单片机PWM控制LED渐明渐暗.doc

单片机PWM控制LED渐明渐暗.doc

ID:61488290

大小:14.50 KB

页数:6页

时间:2021-02-05

单片机PWM控制LED渐明渐暗.doc_第1页
单片机PWM控制LED渐明渐暗.doc_第2页
单片机PWM控制LED渐明渐暗.doc_第3页
单片机PWM控制LED渐明渐暗.doc_第4页
单片机PWM控制LED渐明渐暗.doc_第5页
资源描述:

《单片机PWM控制LED渐明渐暗.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、//PWM控制LED灯渐亮渐灭程序[转摘自伟纳电子]//晶振为11.0592M//利用定时器控制产生占空比可变的PWM波//按K1,PWM值增加,则占空比减小,LED灯渐暗。//按K2,PWM值减小,则占空比增加,LED灯渐亮。//当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。#include#includesbit K1=P1^4;                   //增加键sbit K2=P1^5;                   //减少键sbit BEEP=P3^7;               //蜂鸣

2、器unsignedcharPWM=0x7f;  //赋初值voidBeep();voiddelayms(unsignedcharms);voiddelay(unsignedchart);voidmain(){     P1=0xff;   TMOD=0x21;   TH0=0xfc;            //1ms延时常数   TL0=0x66;           //频率调节   TH1=PWM;           //脉宽调节   TL1=0;    EA=1;    ET0=1;    ET1=1;       TR0=1;  while(1)  {   

3、 do{           if(PWM!=0xff)          {PWM++;delayms(10);}          elseBeep();        }    while(K1==0);    do{          if(PWM!=0x02)         {PWM--;delayms(10);}          elseBeep();         }    while(K2==0);  }}/*********************************************************///定时器0中断服务程序

4、./*********************************************************/voidtimer0()interrupt1{    TR1=0;   TH0=0xfc;   TL0=0x66;   TH1=PWM;   TR1=1;   P0=0x00;     //启动输出}/*********************************************************///定时器1中断服务程序/*******************************************************

5、**/voidtimer1()interrupt3{   TR1=0;   P0=0xff;    //结束输出}/*********************************************************///蜂鸣器子程序/*********************************************************/voidBeep()     {     unsignedchari ;     for(i=0 ;i<100 ;i++)       {         delay(100) ;         BEEP=

6、!BEEP ;               //Beep取反       }    BEEP=1 ;                           //关闭蜂鸣器    delayms(100); }/*********************************************************///延时子程序/*********************************************************/ voiddelay(unsignedchart) {   while(t--)  ; }/*************

7、********************************************///延时子程序/*********************************************************/voiddelayms(unsignedcharms){   unsignedchari;   while(ms--)    {       for(i=0;i<120;i++);    }}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。