日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

交通燈系統(tǒng)軟硬件設(shè)計(jì)

單片機(jī)
2012-03-05 20:28
收藏

一、  系統(tǒng)功能要求:
1. 設(shè)計(jì)任務(wù)在一十字路口設(shè)置交通燈,并用單片機(jī)對(duì)其進(jìn)行合理的控制。
時(shí)間方向 控制要求
白天 東西 綠燈 黃燈 紅燈 南北 紅燈 綠燈 黃燈
晚上 東西 黃燈 南北 紅燈
2.總體設(shè)計(jì)方案現(xiàn)在流行的一種設(shè)計(jì)為兩主干線(xiàn)相交的十字路。本設(shè)計(jì)采用一主干道(南北方向),一從干道(東西方向)的路口,即主干道的通行時(shí)間為從干道的2倍。在正常情況下,兩干道的交通燈按圖1進(jìn)行轉(zhuǎn)換,并以倒計(jì)數(shù)的方式將剩余時(shí)間顯示在每個(gè)干道對(duì)應(yīng)的兩位LED上;另發(fā)揮部分為當(dāng)出現(xiàn)緊急情況時(shí),路口的交通燈全為紅燈,緊急情況解除時(shí),恢復(fù)到原來(lái)的狀態(tài)。
二、         總體設(shè)計(jì)方案提示:
1.假設(shè)一個(gè)十字路口為東西南北走向。初始狀態(tài)0為東西紅燈,南北紅燈。然后轉(zhuǎn)狀態(tài)1東西綠燈通車(chē),南北紅燈。過(guò)一段時(shí)間轉(zhuǎn)狀態(tài)。
2.東西綠燈滅,黃燈閃爍幾次,南北仍然紅燈。再轉(zhuǎn)狀態(tài)。
3.南北綠燈通車(chē),東西紅燈。過(guò)一段時(shí)間轉(zhuǎn)狀態(tài)。
4.南北綠燈滅,閃幾次黃燈,延時(shí)幾秒,東西仍然紅燈。最后循環(huán)至狀態(tài)1。
三.硬件設(shè)計(jì)
電路原理圖如下:


 
 
四、軟件設(shè)計(jì)
1、   流程圖


2、程序設(shè)計(jì)
        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               ;設(shè)計(jì)定時(shí)方式及時(shí)間
        MOV TL0,#0CDH
        MOV TH0,#0BH
        SETB TR0
        MOV IE,#00H
 MAIN: MOV P1,#0F3H                ;南北綠燈,東西紅燈
        MOV R6,#1EH                 ;紅燈30s倒計(jì)時(shí)
        MOV R7,#19H                 ;綠燈25s倒計(jì)時(shí)
  MAIN1:CALL DELAY                  ;1S延時(shí)子程序
        JB P0.1,REL1                ;判斷是否有東西方向按鈕按下
        CJNE R7,#00H,MAIN1          ;判斷綠燈25s是否倒計(jì)完
        MOV P1,#0F5H                ;南北黃燈,東西紅燈
  MAIN2:CALL DELAY
        MOV R7,#00H                 ;紅燈繼續(xù)倒計(jì)時(shí),黃燈閃爍,保持0s
        CPL P1.1                    ;黃燈閃爍
        CJNE R6,#00H,MAIN2          ;判斷紅燈是否倒計(jì)時(shí)完
        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                ;東西方向按鈕按下,南北方向強(qiáng)制由綠燈變成黃燈警告
        MOV R6,#05H
        MOV R7,#00H                
        JMP MAIN2                  
   REL2:MOV P1,#0EEH                ;南北方向按鈕按下,東西方向強(qiáng)制由綠燈變成黃燈警告
        MOV R7,#05H
        MOV R6,#00H
        JMP MAIN4
  ;1s延時(shí)子程序
  DELAY:MOV A,R6                    ;進(jìn)行南北方向倒計(jì)時(shí)時(shí)間的十進(jìn)制調(diào)整
        MOV B,#0AH
        DIV AB
        MOVC A,@A+DPTR              ;找尋相應(yīng)的數(shù)碼管代碼
        MOV P2,#01H
        MOV P3,A                    ;輸出個(gè)位
        MOV R4,#4                   ;降低動(dòng)態(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                    ;進(jìn)行東西方向倒計(jì)時(shí)時(shí)間的十進(jìn)制調(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                ;判斷是否計(jì)滿(mǎn)125ms
        AJMP DELAY
  LOOP:MOV TL0,#0CDH               ;計(jì)滿(mǎn)125ms重新給定時(shí)器賦值
        MOV TH0,#0BH
        MOV A,30H
        DEC A
        MOV 30H,A
        JNZ DELAY                   ;判斷是否計(jì)滿(mǎn)8次125ms,即1s
        DEC R6                      ;計(jì)滿(mǎn)1s,東西倒計(jì)時(shí)減1,南北倒計(jì)時(shí)減1
        DEC R7
        MOV 30H,#08H                ;重新1s次數(shù),重新計(jì)時(shí)
        RET
  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H  ;相應(yīng)數(shù)值的數(shù)碼管代碼
        DB 92H,82H,0F8H,80H,90H    
        END

相關(guān)推薦