專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

單片機(jī)單列紅綠燈設(shè)計

作者:田順達(dá)   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2008年03月20日   【字體:

       

非常感謝 單片機(jī)教程網(wǎng)會員 田順達(dá) 先生的單片機(jī)單列紅綠燈設(shè)計一文,下面是詳細(xì)內(nèi)容.

 ORG 0000H
        LJMP MAIN
        ORG 000BH;         單片機(jī)中斷程序入口地址
        AJMP ZHDUAN
        CJNE A,R7,RED;     判斷是否進(jìn)入紅燈亮程序
        DJNZ R6,GREEEN;    紅燈亮條件不滿足,判斷是否進(jìn)入綠燈亮程序
        LJMP YELLOW;       綠燈亮條件不滿足,判斷是否進(jìn)入黃燈亮程序
        ORG 0100H
    RED:MOV SP,#60H;       設(shè)置堆棧指針
        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;   設(shè)置T0工作在方式1
        MOY TL0,#0B0H;   計數(shù)初值3CB0=15536  50000*2uS=0.1ms
        MOV TH0,#3CH;
  KAIQI:SETB TR0;        開啟中斷
        SETB ETO
        SETB EA
   HERE:AJMP HERE;       等待中斷的到來
 ZHDUAN:MOV TL0,#0B0H;   感覺中斷子程序的內(nèi)容沒用
        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

程序結(jié)束!!!!!!!

關(guān)閉窗口

文章評論