100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > pmw调光c语言程序 51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序

pmw调光c语言程序 51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序

时间:2019-11-09 11:24:01

相关推荐

pmw调光c语言程序 51单片机led灯渐变PWM调光(渐亮渐灭)C语言和汇编源程序

; PWM 控制 LED 灯渐亮渐灭程序

; 适用 ME500 开发系统

; 晶振为11.0592M

; 利用定时器控制产生占空比可变的 PWM 波

; 按K1,PWM值增加,则占空比减小,LED 灯渐暗。

; 按K2,PWM值减小,则占空比增加,LED 灯渐亮。

; 当PWM值增加到最大值或减小到最小值时,蜂鸣器将报警。

;----------------------------

PWM EQU7FH ;PWM赋初始值

OUT EQUP0;8个LED灯的接口

INCKEY EQUP1.4 ;K1,PWM值增加键。

DECKEY EQUP1.5 ;K2,PWM值减小键。

BEEP EQUP3.7

;----------------------------

ORG 0000H

SJMPSTART

ORG 000BH

SJMPINTT0

ORG 001BH

SJMPINTT1

ORG 0030H

;----------------------------

;主程序

;定时器0工作在模式1,定时器1工作在模式2。

;----------------------------

START:

MOVSP,#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 ;是否到最大值?

CALLBEEP_BL ;是,蜂鸣器报警。

SJMP LOOP

PWMINC:

INC PWM;调节脉宽(脉宽减小)

SJMP LOOP

LOOP1: JB DECKEY,LOOP2 ;减小键是否按下?

CALL DELAY;延时去抖动

JB DECKEY,LOOP2

CJNE A,#02H,PWMDEC ;是否到最小值?

CALLBEEP_BL ;是,蜂鸣器报警。

SJMP LOOP

PWMDEC:

DEC PWM;调节脉宽(脉宽增加)

LOOP2: SJMP LOOP

;------------------------------

;T0中断服务子程序 (频率)

;控制定时器1中断

;------------------------------

INTT0:

CLRTR1

MOV TH0,#0FCH;1ms延时常数

MOV TL0,#066H ;频率调节

MOVTH1,PWM

SETB TR1

MOVOUT,#00H;启动输出

RETI

;------------------------------

;T1中断服务子程序 (脉宽)

;控制PWM脉冲宽度

;------------------------------

INTT1:

CLRTR1 ;脉宽调节结束

MOVOUT,#0FFH ;结束输出

RETI

;------------------------------

;10ms延时子程序

;------------------------------

DELAY:

MOV R6,#50

DELAY1:

MOV R7,#100

DJNZ R7,$

DJNZ R6,DELAY1

RET

;-----------------------------------------------

;蜂鸣器响一声子程序

;-----------------------------------------------

BEEP_BL:

MOV R6,#100

BL1: CALLBL2

CPL BEEP

DJNZR6,BL1

MOV R5,#25

CALLDELAY2

RET

BL2: MOV R7,#180

BL3: NOP

DJNZR7,BL3

RET

DELAY2:;延时R5×10MS

MOV R6,#50

BL4: MOV R7,#100

BL5: DJNZR7,BL5

DJNZR6,BL4

DJNZR5,DELAY2

RET

;---------------------------------------------------

END

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。