利用单片机的定时器中断,周期性输出矩形波
扫描二维码
随时随地手机看文章
;题目:80C51单片机的fosc = 6MHz,要求用T1定时器工作方式1,进行定时40ms。并由P1.7周期性的输出高电平40ms、低电平360ms的矩形波。
;分析:可采用中断方式,定时40ms发生一次中断,利用R7记录中断次数,仅当R7=0的时候,输出高电平。
;============================================
ORG 0000H
JMP START
ORG 001BH
JMP INT_T1
START:
MOV TMOD, #10H
MOV TL1, #LOW(65536 - 20000); 0E0H ;40ms延时初始值
MOV TH1, #HIGH(65536 - 20000); 0B1H
SETB TR1
SETB ET1
SETB EA
MOV R7, #10 ;40ms中断次数
SETB P1.7 ;起始输出高电平
HERE:
SJMP HERE ;等待中断
;--------------------------------------------
INT_T1:
MOV TL1, #0E0H ;40ms延时初始值
MOV TH1, #0B1H
DJNZ R7, NEXT
SETB P1.7
MOV R7, #10 ;40ms中断次数
RETI
NEXT:
CLR P1.7
RETI
;--------------------------------------------
END
;============================================