返回首页
当前位置: 主页 > 中断系统 >

包含中断的LED显示汇编语言程序51单片机

时间:2012-11-23 20:59来源:未知 作者:牛牛 点击:
例:电路如图。要求编程实现:主程序将 P1 口的 8 个 LED 从上到下循环显示(间隔时间约 1S ),中断时( INT0 )使 8 个 LED 同时闪烁 5 次(间隔时间约 1S ,设单片机晶振为 6M )。 图片1 (1) 主程序 ORG 0000H LJMP START START : MOV IE , #10000001B

例:电路如图。要求编程实现:主程序将P1口的8LED从上到下循环显示(间隔时间约1S ),中断时(INT0)使8LED同时闪烁5次(间隔时间约1S,设单片机晶振为6M)。 内容来自单片机之家www.dpj100.com

  内容来自单片机之家www.dpj100.com

 

单片机

 

单片机


图片1

  单片机

  单片机

(1)主程序 单片机

                ORG 0000H 内容来自单片机之家www.dpj100.com

                LJMP START

单片机

STARTMOV IE#10000001B;允许INT0中断 单片机

                MOV IP#00000001BINT0中断优先 单片机

                MOV TCON#01H     INT0边沿触发方式 内容来自单片机之家www.dpj100.com

                MOV  SP#70H 单片机

                MOV A#80H             ;左移初值 内容来自单片机之家www.dpj100.com

LOOP1RL  A 单片机

                MOV P1A

内容来自单片机之家www.dpj100.com

                CALL   DELAY;延时1s 单片机

                AJMP LOOP1

内容来自单片机之家www.dpj100.com

(2)中断服务程序 单片机

                ORG 0003H

单片机

                LJMP EXT0 单片机

EXT0PUSH  ACC 单片机

                PUSH  PSW

单片机

                SETB  RS0

内容来自单片机之家www.dpj100.com

                CLR  RS1

单片机

                MOV A#0FFH;为使P1全亮

内容来自单片机之家www.dpj100.com

                MOV  R2#       ;闪烁5 单片机

LOOP3MOV P1A

单片机

                CALL   DELAY;延时1s

内容来自单片机之家www.dpj100.com

                CPL  A 内容来自单片机之家www.dpj100.com

                DJNZ  R2 LOOP3 单片机

                POP  PSW

单片机

                POP  ACC

单片机

                RETI

单片机

 

单片机

(3)延时子程序(约1s

内容来自单片机之家www.dpj100.com

DELAYMOV R5#5 内容来自单片机之家www.dpj100.com

           D1MOV R6#200

单片机

           D2MOV R7#250 单片机

           D3DJNZ R7D31ms

内容来自单片机之家www.dpj100.com

               DJNZ R6D2;约0.2s 内容来自单片机之家www.dpj100.com

               DJNZ R5D1;约1s

内容来自单片机之家www.dpj100.com

               RET 内容来自单片机之家www.dpj100.com

 

单片机

顶一下
(16)
88.9%
踩一下
(2)
11.1%
------分隔线----------------------------
推荐内容