51单片机P1口跑马灯的汇编语言编程和protues仿真

来源:本站
导读:目前正在解读《51单片机P1口跑马灯的汇编语言编程和protues仿真》的相关信息,《51单片机P1口跑马灯的汇编语言编程和protues仿真》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51单片机P1口跑马灯的汇编语言编程和protues仿真》的详细说明。
简介:用软件技术器实现1秒间隔LED循环点亮;三层循环计数实现1秒延时,250*250*8=0.5秒
;由于软件延时需要计算代码执行的时间,所以近似1秒。

    ORG     0000H        LJMP    MAIN        ORG     0030HMAIN:   MOV     P1,#0FFH        MOV     A,#0FEHLOOP:   MOV     P1,A        LCALL   TIMEER        RL      A        SJMP    LOOPTIMEER: MOV     R5,#08HLOOP1:  MOV     R6,#0FAHLOOP2:  MOV     R7,#0FAHLOOP3:  DJNZ    R7,LOOP3        DJNZ    R6,LOOP2        DJNZ    R5,LOOP1        RET        END        ;跑马灯程序2;定时/计数器1控制1秒间隔LED循环点亮        ORG     0000H        LJMP    MAIN        ORG     001BH        LJMP    T1_INT        ORG     0100HMAIN:   MOV     R0,#20       ;软计数器        MOV     TMOD,#10H    ;定时器1方式1        MOV     P1,#0FFH     ;熄灭所有LED        MOV     A,#0FEH      ;点亮第一个LED        MOV     TH1,#3CH        MOV     TL1,#0B0H    ;赋初值        SETB    ET1        SETB    EA           ;开中断        SETB    TR1          ;启动定时器        SJMP    $            ;等待中断T1_INT: MOV     TH1,#3CH        MOV     TL1,#0B0H    ;赋初值        DEC     R0           ;软计数        CJNE    R0,#00H,LP        RL      A            ;灯移位        MOV     P1,A         ;灯改变        MOV     R0,#20       ;软计数器初值LP:     RETI;跑马灯程序3;定时/计数器1控制1秒间隔LED循环点亮;外部中断1控制按键按下跑马灯启动或者停止            ORG     0000H            LJMP    MAIN            ORG     0013H            LJMP    INT1_INT;外部中断服务程序,按键触发            ORG     001BH            LJMP    T1_INT      ;定时器中断,1秒中断一次            ORG     0100HMAIN:       MOV     R0,#20      ;软计数器计数次数            MOV     TMOD,#10H   ;定时器1方式1            MOV     P1,#0FFH    ;熄灭所有LED            MOV     A,#0FEH     ;点亮第一个LED            MOV     TH1,#3CH            MOV     TL1,#0B0H   ;定时器赋初值            SETBIT1        ;外中断1采用下降沿触发            SETBEX1        ;允许外部中断1            SETB    ET1         ;允许定时器中断            SETB    EA          ;开中断            SETB    TR1         ;启动定时器1            SJMP    $           ;等待中断T1_INT:     MOV     TH1,#3CH            MOV     TL1,#0B0H   ;定时器赋初值            DEC     R0          ;软计数            CJNE    R0,#00H,LP  ;判断计数次数是否达到,是则跳转            RL      A           ;灯移位            MOV     P1,A        ;灯改变            MOV     R0,#20      ;软计数器初值LP:         RETIINT1_INT:   MOV     A,#0FFH     ;按键按下,LED熄灭            MOV     P1,A        ;灯改变            CPL     TR1         ;定时器改变开关状态            MOV     A,#0FEH     ;点亮第一个LED            RETI                ;中断返回

提醒:《51单片机P1口跑马灯的汇编语言编程和protues仿真》最后刷新时间 2024-03-14 01:02:32,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机P1口跑马灯的汇编语言编程和protues仿真》该内容的真实性请自行鉴别。