为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程

PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程

2018-03-17 5页 doc 16KB 51阅读

用户头像

is_212655

暂无简介

举报
PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程 // PWM 控制 LED 灯渐亮渐灭程序[转摘自伟纳电子] // 晶振为11.0592M // 利用定时器控制产生占空比可变的 PWM 波 // 按K1,PWM值增加,则占空比减小,LED 灯渐暗。 // 按K2,PWM值减小,则占空比增加,LED 灯渐亮。 // 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。 ,i nclude ,i nclude sbit K1 =P1^4 ; //增加键 sbit K2 =P1^5 ; ...
PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程
PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程 // PWM 控制 LED 灯渐亮渐灭程序[转摘自伟纳电子] // 晶振为11.0592M // 利用定时器控制产生占空比可变的 PWM 波 // 按K1,PWM值增加,则占空比减小,LED 灯渐暗。 // 按K2,PWM值减小,则占空比增加,LED 灯渐亮。 // 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。 ,i nclude < reg51.h > ,i nclude < intrins.h > sbit K1 =P1^4 ; //增加键 sbit K2 =P1^5 ; //减少键 sbit BEEP =P3^7 ; //蜂鸣器 unsigned char PWM=0x7f ; //赋初值 void Beep(); void delayms(unsigned char ms); void delay(unsigned char t); void main() { P1=0xff; TMOD=0x21 ; TH0=0xfc ; //1ms延时常数 TL0=0x66 ; //频率调节 TH1=PWM ; //脉宽调节 TL1=0 ; EA=1; ET0=1; ET1=1; TR0=1 ; while(1) { do{ if(PWM!=0xff) {PWM++ ;delayms(10);} else Beep() ; } while(K1==0); do{ if(PWM!=0x02) {PWM-- ;delayms(10);} else Beep() ; } while(K2==0); } } /***************************************************** ****/ // 定时器0中断服务程序. /***************************************************** ****/ void timer0() interrupt 1 { TR1=0 ; TH0=0xfc ; TL0=0x66 ; TH1=PWM ; TR1=1 ; P0=0x00 ; //启动输出 } /***************************************************** ****/ // 定时器1中断服务程序 /***************************************************** ****/ void timer1() interrupt 3 { TR1=0 ; P0=0xff ; //结束输出 } /***************************************************** ****/ //蜂鸣器子程序 /***************************************************** ****/ void Beep() { unsigned char i ; for (i=0 ;i<100 ;i++) { delay(100) ; BEEP=!BEEP ; //Beep取反 } BEEP=1 ; //关闭蜂鸣器 delayms(100); } /***************************************************** ****/ // 延时子程序 /***************************************************** ****/ void delay(unsigned char t) { while(t--) ; } /***************************************************** ****/ // 延时子程序 /***************************************************** ****/ void delayms(unsigned char ms) { unsigned char i ; while(ms--) { for(i = 0 ; i < 120 ; i++) ; } }
/
本文档为【PWM 控制 LED 灯渐亮渐灭程序 - // PWM 控制LED 灯渐亮渐灭程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索