我这有一个:
;这是一个独立控制2路PWM的汇编程序:
;2个输出口以高电平为有效输出,也就是当输出100%时为高电平输出,输出0%时为低电平输出。
;改变10H-11H的值可以控制2路PWM的占空比变化,例如当10H中的值从0-255变化时候,P1.0输出从0%-100%变化
;频率是完全恒定的.这里PWM波周期为(r7)50usx200=10mS,约为100Hz,晶振用的是12MHz
zzz EQU P1.0 ;左路马达输出口
yyy EQU P1.1 ;右路马达输出口
ld1 EQU 10H ;左路马达,即占空比的比值,0-255变化
ld2 EQU 11H ;右路马达,即占空比的比值,0-255变化
ORG 0000H
LJMP mm
ORG 000BH
LJMP t000
;主程序段*****************************************************************************
org 0100h
mm:nop ;复位程序
mov r4,#00h ;延时1秒用
mov r5,#00h
mov r6,#03h
MOV SP,#5fH
MOV P1,#0FFH ; P1置高,关闭全部灯
MOV 10h,#0fH ;给左路马达赋值,0ffh为速度最快,00h为最慢
MOV 11h,#7fH ;给右路马达赋值,0ffh为速度最快,00h为最慢
mov r0,10h