PWM脉冲宽度调制的源代码
12-PWM脉宽调制.zip
(1.66 KB, 下载次数: 150)
- ;这是一个单片机进行脉宽调制(PWM) 直流电机调速测试程序.
- ;UNL2003提供电机驱动电流.(<=500MA/5V)
- ;使用六个按键实现六种不同速度
- DC BIT P1.0
- speed equ 20h
- org 000h
- jmp dc_MOTOR
- ORG 100H
- dc_MOTOR:
- mov a,p1
- mov speed,a ;键盘去抖动
- lcall del
- mov a,p1
- cjne a,speed,dc_MOTOR
- JB P3.3,JUD_SPD5
- MOV SPEED,#6 ;SW1
- JMP PWM
- JUD_SPD5: JB P3.2,JUD_SPD4
- MOV SPEED,#5 ;SW2
- JMP PWM
- JUD_SPD4: JB P3.1,JUD_SPD3
- MOV SPEED,#04 ;SW3
- JMP PWM
- JUD_SPD3: JB P3.0,JUD_SPD2
- MOV SPEED,#03 ;SW4
- JMP PWM
- JUD_SPD2: JB P3.5,JUD_SPD1
- MOV SPEED,#02 ;SW5
- JMP PWM
- JUD_SPD1: JB P3.6,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
复制代码
|