;è¿æ¯ä¸ä¸ªç¬ç«æ§å¶2è·¯PWMçæ±ç¼ç¨åºï¼
;2个è¾åºå£ä»¥é«çµå¹³ä¸ºææè¾åº,ä¹å°±æ¯å½è¾åº100ï¼
æ¶ä¸ºé«çµå¹³è¾åº,è¾åº0ï¼
æ¶ä¸ºä½çµå¹³è¾åºã
;æ¹å10H-11Hçå¼å¯ä»¥æ§å¶2è·¯PWMçå 空æ¯åå,ä¾å¦å½10Hä¸çå¼ä»0-255ååæ¶å,P1.0è¾åºä»0ï¼
-100ï¼
åå
;æ¤ç¨åºä¸é¢çå®å
¨åºå®ä¸åå,æ¹å10Hï¼11Hï¼12Hä¸çå¼ä»
æ¹åä¸è·¯è¾åºçå 空æ¯ï¼
;é¢çæ¯å®å
¨æå®ç.è¿é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,#05h
MOV SP,#5fH
MOV P1,#0FFH ; P1ç½®é«,å
³éå
¨é¨ç¯
MOV 10h,#0fH ;ç»å·¦è·¯é©¬è¾¾èµå¼,0ffh为é度æå¿«,00h为ææ
¢
MOV 11h,#8fH ;ç»å³è·¯é©¬è¾¾èµå¼,0ffh为é度æå¿«,00h为ææ
¢
mov r0,10h ;å°å·¦è·¯çèµå¼éè¿å·¦è·¯ç¼å
mov r1,11h ;å°å³è·¯çèµå¼éè¿å³è·¯ç¼å
MOV TMOD,#02H ;50us t0æ¹å¼2èªå¨éè£
mov tcon,#00h
MOV TH0,#0cdH
MOV TL0,#0cdH
mov r7,#200 ;设å®å¨ææ°æ®
SETB EA
SETB ET0
SETB TR0
mov 20h,#00h
m0:acall ys00 ;延æ¶1ç§
;acall pwm ;æ¹åé度åç¨åº
sJMP m0
;å®æ¶å¨t0ä¸æåç¨åº<å ç¨åº0>********************************************************************
org 0180h
t000: ;50us t0ä¸æåç¨åº,ç¨äºå®ç°ä¸è·¯PWMè¾åº
PUSH ACC
PUSH PSW
clr psw.4 ;è¿å
¥åº0
clr psw.3
CJNE R7,#00H,AA ;ä»è¿éæ¯ç¨åºçç²¾å,æ£æµR7å¼æ¯å¦ä¸º0,çäº0åä¸ä¸æ¡éæ°èµå¼,å¦åè·³å°AA
MOV R7,#200 ;R7éæ°èµå¼
setb 07h ;设置æ¹åpwmæ°æ®æ å¿ä½
MOV R0,10h ;æ左路é度å¼å¤å¶ç»R1
MOV R1,11h ;æå³è·¯é度å¼å¤å¶ç»R2
AA:CJNE R0,#00H,BB ;å¤ææ§å¶å·¦è·¯çå¼æ¯å¦(ææ¯å¦è¢«å为0)为0,æ¯åä¸ä¸æ¡å
³é左路,å¦åè·³å°BB
SETB zzz ;å
³é左路
sJMP CC ;è·³å°CCæ£æµå³è·¯
BB:CLR zzz ;æå¼(æ继ç»æå¼)左路
DEC R0 ;R1æ°å¼å1
CC:CJNE R1,#00H,DD ;è¿éæ§å¶å³è·¯ä¸ä¸é¢å·¦è·¯åçä¸æ ·
SETB yyy
sJMP GG
DD:CLR yyy
DEC R1
GG: DEC R7 ;æR7çå¼å1,R7çåå§å¼æ¯#200h
POP PSW
POP ACC
RETI
;延æ¶1ç§æ¶é´åç¨åº*****************************************************
org 0200h
ys00:push dph
push dpl
push acc
push psw
clr psw.4 ;è¿å
¥åº0
clr psw.3
ys1:djnz r4,ys1
ys2:djnz r5,ys1
ys3:djnz r5,ys1
mov r4,#00h
mov r5,#00h
mov r6,#05h
acall pwm
pop psw
pop acc
pop dpl
pop dph
ret
;pwmræ¹åpwmæ¶é´åç¨åº*****************************************************
org 0280h
pwm:jb 07h,pwm1 ;ä¸ä¸ªå®æ´å¨æå°å¦ï¼
ret ;æªå°åè¿å
pwm1:push acc
push psw
clr psw.4 ;è¿å
¥åº0
clr psw.3
mov a,10h
cjne a,#0ffh,pwm3 ;æªå°æ大å继ç»
mov 10h,#0fh
sjmp pwm4
pwm3:mov a,10h
add a,#10h
mov 10h,a
pwm4:mov a,11h
cjne a,#0ffh,pwm6 ;æªå°æ大å继ç»
mov 11h,8fh
sjmp pwm11
pwm6:mov a,11h
add a,#10h
mov 11h,a
pwm11:clr 07h
pop acc
pop psw
ret
END
温馨提示:答案为网友推荐,仅供参考