您的位置:控制工程论坛网论坛 » 教程与手册 » 单片机单列红绿灯设计

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

单片机单列红绿灯设计

xilinxue  发表于 2008/11/4 19:10:38      813 查看 1 回复  [上一主题]  [下一主题]

手机阅读

下面是详细内容.

 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


程序结束!!!!!!!

1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2008/11/4 19:10:38

    简单到只要懂一点单片就能看懂,这个也是学习单片机的入门教程,学习单片机最重要的是自己动手,搞出一个小系统来,可以对这个的开发,能更好的学习单片,其实单片就是要边动手边学习的,不然你是学不会单片机的..
    2楼 回复本楼

    引用 xilinxue 2008/11/4 19:10:38 发表于2楼的内容

总共 , 当前 /