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

51单片机汇编学习例程(3)——Timer中断篇

发布时间:2021-04-19 发布时间:
|

3.ASM3_Timer:   定时器0控制LED闪烁

/**

******************************************************************************

*     @file        Timer.asm

*     @author      Alex——小白

*     @version     V1.0

*     @date        2019.9.1

*     @brief       定时器控制LED亮灭

******************************************************************************

*     @attention    All Rights Reserved 

**/


        ORG     0000H            ;程序执行的起始地址               

        LJMP      Main            ;跳转到main函数

        ORG     000BH            ;外部中断0起始地址

        LJMP     Timer0            ;声明Timer0是外部中断0函数名称  


        ORG     0100H            ;程序跳转到0100H开始执行

    Main:   

        MOV     TMOD,#01H        ;定时器0,方式1,10ms

        MOV     TH0,#0D8H        ;65535-10000=55535=‭D8EF‬,10ms

        MOV     TL0,#0EFH   

        SETB     ET0

        SETB     TR0               

        SETB     EA                ;总中断使能

        MOV     30H,#00H        ;用于定时1s变量

        SJMP    $                ;死循环

   

    Timer0:                        ;外部定时器0函数

        MOV     TH0,#0D8H       

        MOV     TL0,#0EFH

        INC        30H                ;30H单元的值自加

        MOV        A,30H

        CJNE    A,#50,Next        ;判断30H单元的值是否为50,50*10ms=0.5s

        MOV        30H,#00H        ;若是,则清零

        CPL        P1.0            ;P1.0闪烁

    Next:

        RETI                    ;中断返回


    END


关键字:51单片机  汇编学习  Timer中断篇 

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

热门文章 更多
ATtiny13 复位与中断处理