利用單片機(jī)的定時(shí)器中斷,周期性輸出矩形波
;題目:80C51單片機(jī)的fosc = 6MHz,要求用T1定時(shí)器工作方式1,進(jìn)行定時(shí)40ms。并由P1.7周期性的輸出高電平40ms、低電平360ms的矩形波。
;分析:可采用中斷方式,定時(shí)40ms發(fā)生一次中斷,利用R7記錄中斷次數(shù),僅當(dāng)R7=0的時(shí)候,輸出高電平。
;============================================
ORG 0000H
JMP START
ORG 001BH
JMP INT_T1
START:
MOV TMOD, #10H
MOV TL1, #LOW(65536 - 20000); 0E0H ;40ms延時(shí)初始值
MOV TH1, #HIGH(65536 - 20000); 0B1H
SETB TR1
SETB ET1
SETB EA
MOV R7, #10 ;40ms中斷次數(shù)
SETB P1.7 ;起始輸出高電平
HERE:
SJMP HERE ;等待中斷
;--------------------------------------------
INT_T1:
MOV TL1, #0E0H ;40ms延時(shí)初始值
MOV TH1, #0B1H
DJNZ R7, NEXT
SETB P1.7
MOV R7, #10 ;40ms中斷次數(shù)
RETI
NEXT:
CLR P1.7
RETI
;--------------------------------------------
END
;============================================