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

PWM 控制 LED 灯渐亮渐灭程序

2018-03-16 5页 doc 16KB 25阅读

用户头像

is_594886

暂无简介

举报
PWM 控制 LED 灯渐亮渐灭程序PWM 控制 LED 灯渐亮渐灭程序 ; PWM 控制 LED 灯渐亮渐灭程序 * ; 利用定时器控制产生占空比可变的 PWM 波 * ; 按K1,PWM值增加,则占空比减小,LED 灯渐暗。 * ; 按K2,PWM值减小,则占空比增加,LED 灯渐亮。 * ;当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警 * ;资源:p0口,8路指示灯。p1.4,p1.5亮度控制按键(端口按键)p3.7小喇叭报警 * ;,,,,,,,,,,,,,,,,,,,,,,,,,,,, PWM EQU 7FH ;PWM赋初始值 ...
PWM 控制 LED 灯渐亮渐灭程序
PWM 控制 LED 灯渐亮渐灭程序 ; PWM 控制 LED 灯渐亮渐灭程序 * ; 利用定时器控制产生占空比可变的 PWM 波 * ; 按K1,PWM值增加,则占空比减小,LED 灯渐暗。 * ; 按K2,PWM值减小,则占空比增加,LED 灯渐亮。 * ;当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警 * ;资源:p0口,8路指示灯。p1.4,p1.5亮度控制按键(端口按键)p3.7小喇叭报警 * ;,,,,,,,,,,,,,,,,,,,,,,,,,,,, PWM EQU 7FH ;PWM赋初始值 OUT EQU P0 ;8个LED灯的接口 INCKEY EQU P1.4 ;K1,PWM值增加键。 DECKEY EQU P1.5 ;K2,PWM值减小键。 BEEP EQU P3.7 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,, ORG 0000H SJMP START ORG 000BH SJMP INTT0 ORG 001BH SJMP INTT1 ORG 0030H ;,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;主程序 ;定时器0工作在模式1,定时器1工作在模式2。 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,, START: MOV SP,#30H MOV TMOD,#21H MOV TH1,PWM ;脉宽调节 MOV TL1,#00H MOV TH0,#0FCH ;1ms延时常数 MOV TL0,#066H ;频率调节 SETB EA SETB ET0 SETB ET1 SETB TR0 LOOP: MOV A,PWM ; JB INCKEY,LOOP1 ;增加键是否按下, CALL DELAY ;延时去抖动 JB INCKEY,LOOP1 CJNE A,#0FFH,PWMINC ;是否到最大值, CALL BEEP_BL ;是,蜂鸣器报警。 SJMP LOOP PWMINC: INC PWM ;调节脉宽(脉宽减小) SJMP LOOP LOOP1: JB DECKEY,LOOP2 ;减小键是否按下, CALL DELAY ;延时去抖动 JB DECKEY,LOOP2 CJNE A,#02H,PWMDEC ;是否到最小值, CALL BEEP_BL ;是,蜂鸣器报警。 SJMP LOOP PWMDEC: DEC PWM ;调节脉宽(脉宽增加) LOOP2: SJMP LOOP ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;T0中断服务子程序 (频率) ;控制定时器1中断 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, INTT0: CLR TR1 MOV TH0,#0FCH ;1ms延时常数 MOV TL0,#066H ;频率调节 MOV TH1,PWM SETB TR1 MOV OUT,#00H ;启动输出 RETI ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;T1中断服务子程序 (脉宽) ;控制PWM脉冲宽度 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, INTT1: CLR TR1 ;脉宽调节结束 MOV OUT,#0FFH ;结束输出 RETI ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ;10ms延时子程序 ;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, DELAY: MOV R6,#50 DELAY1: MOV R7,#100 DJNZ R7,$ DJNZ R6,DELAY1 RET ;----------------------------------------------- ;蜂鸣器响一声子程序 ;----------------------------------------------- BEEP_BL: MOV R6,#100 BL1: CALL BL2 CPL BEEP DJNZ R6,BL1 MOV R5,#25 CALL DELAY2 RET BL2: MOV R7,#180 BL3: NOP DJNZ R7,BL3 RET DELAY2: ;延时R5×10MS MOV R6,#50 BL4: MOV R7,#100 BL5: DJNZ R7,BL5 DJNZ R6,BL4 DJNZ R5,DELAY2 RET ;--------------------------------------------------- END
/
本文档为【PWM 控制 LED 灯渐亮渐灭程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索