<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的交通燈設計

          基于單片機的交通燈設計

          作者: 時間:2010-12-08 來源:網(wǎng)絡 收藏


          2、程序
          ORG 0000H
          MOV P0,#00H ;確保P0為低電位
          lJMP MAIN0
          ORG 0030H
          MAIN0: MOV 30H,#08H
          MOV R6,#00H
          MOV R7,#00H
          MOV DPTR,#TABLE ;取數(shù)碼管的譯碼
          MOV TMOD,#01H ;定時方式及時間
          MOV TL0,#0CDH
          MOV TH0,#0BH
          SETB TR0
          MOV IE,#00H
          MAIN: MOV P1,#0F3H ;南北綠燈,東西紅燈
          MOV R6,#1EH ;紅燈30s倒計時
          MOV R7,#19H ;綠燈25s倒計時
          MAIN1:CALL DELAY ;1S延時子程序
          JB P0.1,REL1 ;判斷是否有東西方向按鈕按下
          CJNE R7,#00H,MAIN1 ;判斷綠燈25s是否倒計完
          MOV P1,#0F5H ;南北黃燈,東西紅燈
          MAIN2:CALL DELAY
          MOV R7,#00H ;紅燈繼續(xù)倒計時,黃燈閃爍,保持0s
          CPL P1.1 ;黃燈閃爍
          CJNE R6,#00H,MAIN2 ;判斷紅燈是否倒計時完
          MOV P1,#0DEH ;南北紅燈,東西綠燈
          MOV R7,#1EH
          MOV R6,#19H
          MAIN3:CALL DELAY
          JB P0.0,REL2
          CJNE R6,#00H,MAIN3
          MOV P1,#0EEH
          MAIN4:CALL DELAY
          MOV R6,#00H
          CPL P1.4
          CJNE R7,#00H,MAIN4
          JMP MAIN
          REL1:MOV P1,#0F5H ;東西方向按鈕按下,南北方向強制由綠燈變成黃燈警告
          MOV R6,#05H
          MOV R7,#00H
          JMP MAIN2
          REL2:MOV P1,#0EEH ;南北方向按鈕按下,東西方向強制由綠燈變成黃燈警告
          MOV R7,#05H
          MOV R6,#00H
          JMP MAIN4
          ;1s延時子程序
          DELAY:MOV A,R6 ;進行南北方向倒計時時間的十進制調(diào)整
          MOV B,#0AH
          DIV AB
          MOVC A,@A+DPTR ;找尋相應的數(shù)碼管代碼
          MOV P2,#01H
          MOV P3,A ;輸出個位
          MOV R4,#4 ;降低動態(tài)顯示頻率
          LOOP2:MOV R3,#125
          LOOP3:DJNZ R3,LOOP3
          DJNZ R4,LOOP2
          MOV A,B
          MOVC A,@A+DPTR
          MOV P2,#02H ;輸出十位
          MOV P3,A
          MOV R4,#4
          LOOP4:MOV R3,#125
          LOOP5:DJNZ R3,LOOP5
          DJNZ R4,LOOP4
          MOV A,R7 ;進行東西方向倒計時時間的十進制調(diào)整
          MOV B,#0AH
          DIV AB
          MOVC A,@A+DPTR
          MOV P2,#04H
          MOV P3,A
          MOV R4,#4
          LOOP6:MOV R3,#125
          LOOP7:DJNZ R3,LOOP7
          DJNZ R4,LOOP6
          MOV A,B
          MOVC A,@A+DPTR
          MOV P2,#08H
          MOV P3,A
          MOV R4,#4
          LOOP8:MOV R3,#125
          LOOP9:DJNZ R3,LOOP9
          DJNZ R4,LOOP8
          JBC TF0,LOOP ;判斷是否計滿125ms
          AJMP DELAY
          LOOP:MOV TL0,#0CDH ;計滿125ms重新給定時器賦值
          MOV TH0,#0BH
          MOV A,30H
          DEC A
          MOV 30H,A
          JNZ DELAY ;判斷是否計滿8次125ms,即1s
          DEC R6 ;計滿1s,東西倒計時減1,南北倒計時減1
          DEC R7
          MOV 30H,#08H ;重新1s次數(shù),重新計時
          RET
          TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;相應數(shù)值的數(shù)碼管代碼
          DB 92H,82H,0F8H,80H,90H
          END

          本文引用地址:http://www.ex-cimer.com/article/173108.htm

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();