×
单片机 > 单片机程序设计 > 详情

利用单片机的定时器中断,周期性输出矩形波

发布时间:2020-08-26 发布时间:
|

;题目: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
;============================================



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法