📄 demo_pwm.asm
字号:
;这是一个单片机进行脉宽调制(PWM) 直流电机调速测试程序.(2004/05/08)
;接线说明: p0.4跳帽选择焊盘位置,再将S51E板上"控制输入口"的"DC"(直流电机)接MCU P0.4
;将直流电机接 "电机"焊盘,UNL2003提供电机驱动电流.(<=500MA/5V)
;使用六个按键实现六种不同速度
;程序编制人:蔡祥荣 2004/06/20
;------------------IT'S FOR S51E ---------------------------------------------------
DC BIT P0.4
KEY BIT P3.4
speed equ 20h
org 000h
jmp dc_MOTOR
ORG 100H
dc_MOTOR: mov p2,#0ffh
clr KEY
mov a,p2
mov speed,a ;键盘去抖动
lcall del
mov a,p2
cjne a,speed,dc_MOTOR
JB ACC.7,JUD_SPD5
MOV SPEED,#06 ;SW1
JMP PWM
JUD_SPD5: JB ACC.6,JUD_SPD4
MOV SPEED,#05 ;SW2
JMP PWM
JUD_SPD4: JB ACC.5,JUD_SPD3
MOV SPEED,#04 ;SW3
JMP PWM
JUD_SPD3: JB ACC.4,JUD_SPD2
MOV SPEED,#03 ;SW4
JMP PWM
JUD_SPD2: JB ACC.3,JUD_SPD1
MOV SPEED,#02 ;SW5
JMP PWM
JUD_SPD1: JB ACC.2,JUD_SPD0
MOV SPEED,#01 ;SW6
JMP PWM
JUD_SPD0: MOV SPEED,#00
PWM: MOV R6,SPEED
MOV A,#06
CLR C
SUBB A,SPEED
MOV R5,A
CLR DC
WAIT1: LCALL DEL
DJNZ R5,WAIT1
SETB DC
WAIT2: LCALL DEL
DJNZ R5,WAIT2
JMP DC_MOTOR
Del: mov r7,#0ffh
djnz r7,$
ret
END
;使用定时中断方式调速,应怎样修改程序??
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -