专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机单列红绿灯设计

作者:田顺达   来源:本站原创   点击数:  更新时间:2008年03月20日   【字体:

       

非常感谢 单片机教程网会员 田顺达 先生的单片机单列红绿灯设计一文,下面是详细内容.

 ORG 0000H
        LJMP MAIN
        ORG 000BH;         单片机中断程序入口地址
        AJMP ZHDUAN
        CJNE A,R7,RED;     判断是否进入红灯亮程序
        DJNZ R6,GREEEN;    红灯亮条件不满足,判断是否进入绿灯亮程序
        LJMP YELLOW;       绿灯亮条件不满足,判断是否进入黄灯亮程序
        ORG 0100H
    RED:MOV SP,#60H;       设置堆栈指针
        MOV A,#0C9H;       200*0.1ms=20s
        MOV R7,#00H
        INC R7
        SETB P1.0
        CLR P1.1
        CLR P1.2
        AJMP DINGSHI
        ORG 0200H
  GREEN:MOV R6,#0C9H;    绿灯亮子程序入口     也是 200*0.1ms=20s
        SETB P1.1
        CLR P1.2
        CLR P1.0
DINGSHI:MOV TMOD,#01H;   设置T0工作在方式1
        MOY TL0,#0B0H;   计数初值3CB0=15536  50000*2uS=0.1ms
        MOV TH0,#3CH;
  KAIQI:SETB TR0;        开启中断
        SETB ETO
        SETB EA
   HERE:AJMP HERE;       等待中断的到来
 ZHDUAN:MOV TL0,#0B0H;   感觉中断子程序的内容没用
        MOV TH0,#3CH
        CLR TR0
        RET
        ORG 0300H
 YELLOW:SETB P1.2;       黄灯亮子程序入口
        CLR P1.1
        CLR P1.0
        MOV R3,#1EH;     0.1秒
    BBB:MOV R4,#0FAH;    延
    AAA:MOV R5,#0C8H;    时
DENGDAI:DJNZ R5,DENGDAI; 子
        DJNZ R4,AAA;     程
        DJNZ R3,BBB;     序
        LJMP RED;
        END

程序结束!!!!!!!

关闭窗口

文章评论