|
汽車信號(hào)燈電路是由單片機(jī)AT89C52、LED顯示電路、按鍵電路等幾部分構(gòu)成。以單片機(jī)AT89C52為核心芯片通過(guò)控制LED的顯示來(lái)模擬汽車轉(zhuǎn)向燈,即用開(kāi)關(guān)1-5的閉合分別模擬剎車、緊急、?、左轉(zhuǎn)、右轉(zhuǎn)、操作;用LED發(fā)光二極管D1-D7的亮滅顯示來(lái)模擬汽車的左頭燈、右頭燈、左轉(zhuǎn)彎信號(hào)燈、右轉(zhuǎn)彎信號(hào)燈、左尾燈、右尾燈、錯(cuò)誤指示燈的顯示情況。 轉(zhuǎn)向時(shí),規(guī)定左右尾燈、左右頭燈儀表板上2個(gè)指示燈相應(yīng)地發(fā)出閃爍信號(hào);應(yīng)急開(kāi)關(guān)合上時(shí),6個(gè)信號(hào)燈都應(yīng)閃爍;汽車剎車時(shí),2個(gè)尾燈發(fā)出穩(wěn)定亮信號(hào);如正當(dāng)轉(zhuǎn)向時(shí)剎車,轉(zhuǎn)向時(shí)原應(yīng)閃爍的信號(hào)仍應(yīng)閃爍。它們都是頻率為1Hz低頻閃爍,在汽車停靠而?块_(kāi)關(guān)合上時(shí),左頭燈、右頭燈、左尾燈、右尾燈按頻率為30Hz的高頻閃爍。任何上述之外的開(kāi)關(guān)組合,都將出現(xiàn)錯(cuò)誤指示燈—黃燈亮。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (19.43 KB, 下載次數(shù): 55)
下載附件
2018-6-22 17:56 上傳
0.png (16.53 KB, 下載次數(shù): 27)
下載附件
2018-6-22 17:56 上傳
0.png (11.72 KB, 下載次數(shù): 28)
下載附件
2018-6-22 17:56 上傳
0.png (50.23 KB, 下載次數(shù): 28)
下載附件
2018-6-22 17:56 上傳
單片機(jī)匯編語(yǔ)言源程序如下:
- ORG 0000H
- AJMP START1
- ORG 0030H
- SAME EQU 4EH
- START1:MOV P1,#00H ;無(wú)輸入時(shí)輸出
- START: MOV A,P2 ;讀P2口數(shù)據(jù)
- ANL A,#1FH ;取用P2口的低5位數(shù)據(jù)
- CJNE A,#1FH,SHIY ;對(duì)P2口低5位數(shù)據(jù)進(jìn)行判斷
- AJMP START1
- SHIY: MOV SAME,A
- LCALL YS ;延時(shí)
- MOV A,P2 ;讀P2口的數(shù)據(jù)
- ANL A,#1FH ;取用P2口的低5位數(shù)據(jù)
- CJNE A,#1FH,SHIY1 ;對(duì)P2口低5位數(shù)據(jù)進(jìn)行判斷
- AJMP START1 ;開(kāi)關(guān)沒(méi)有動(dòng)作時(shí)無(wú)輸出
- SHIY1: CJNE A,SAME,START1
- CJNE A,#17H,NEXT1 ;P2.3=0時(shí)進(jìn)入左轉(zhuǎn)彎分支
- AJMP LEFT
- NEXT1: CJNE A,#0FH,NEXT2 ;P2.4=0時(shí)進(jìn)入右轉(zhuǎn)彎分支
- AJMP RIGHT
- NEXT2: CJNE A,#1DH,NEXT3 ; P2.1=0時(shí)進(jìn)入緊急分支
- AJMP EARGE
- NEXT3: CJNE A,#1EH,NEXT4 ;P2.0=0時(shí)進(jìn)入剎車分支
- AJMP BRAKE
- NEXT4: CJNE A,#16H,NEXT5 ;P2.0=P2.3=0時(shí)進(jìn)入左轉(zhuǎn)彎剎車分支
- AJMP LEBR
- NEXT5: CJNE A,#0EH,NEXT6 ;p2.0=P2.4=0時(shí)進(jìn)入右轉(zhuǎn)彎剎車分支
- AJMP RIBR
- NEXT6: CJNE A,#1CH,NEXT7 ;P2.0=P2.1=0時(shí)進(jìn)入緊急剎車分支
- AJMP BRER
- NEXT7: CJNE A,#14H,NEXT8 ;P2.0=P2.1=P2.3=0時(shí)進(jìn)入左轉(zhuǎn)彎緊急剎車分支
- AJMP LBE
- NEXT8: CJNE A,#0CH,NEXT9 ; P2.0=P2.1=P2.4=0時(shí)進(jìn)入右轉(zhuǎn)彎緊急剎車分支
- AJMP RBE
- NEXT9: CJNE A,#1BH,NEXT10 ;P2.2=0時(shí)進(jìn)入停靠分支
- AJMP STOP
- NEXT10: AJMP ERROR
- LEFT: MOV P1,#2AH ;左轉(zhuǎn)彎分支
- LCALL Y1s
- MOV P1,#00H
- LCALL Y1s
- AJMP START
- RIGHT:MOV P1,#54H ;右轉(zhuǎn)彎分支
- LCALL Y1s
- MOV P1,#00H
- LCALL Y1s
- AJMP START
- EARGE: MOV P1,#7EH ;緊急分支
- LCALL Y1s
- MOV P1,#00H
- LCALL Y1s
- AJMP START
- BRAKE: MOV P1,#60H ;剎車分支
- AJMP START
- AJMP LEBR
- LEBR: MOV P1,#6AH ;左轉(zhuǎn)彎剎車分支
- LCALL Y1s
- MOV P1,#20H
- LCALL Y1s
- AJMP START
- RIBR: MOV P1,#74H ;右轉(zhuǎn)彎剎車分支
- LCALL Y1s
- MOV P1,#40H
- LCALL Y1s
- AJMP START
- BRER: MOV P1,#7EH ;緊急剎車分支
- LCALL Y1s
- MOV P1,#60H
- LCALL Y1s
- AJMP START
- LBE: MOV P1,#7EH ;左轉(zhuǎn)彎緊急剎車分支
- LCALL Y1s
- MOV P1,#20H
- LCALL Y1s
- AJMP START
- RBE: MOV P1,#76H ;右轉(zhuǎn)彎緊急剎車分支
- LCALL Y1s
- MOV P1,#40H
- LCALL Y1s
- AJMP START
- STOP: MOV P1,#66H ;?糠种
- LCALL Y100ms
- MOV P1,#00H
- LCALL Y100ms
- AJMP START
- ERROR: MOV P1,#01H
- AJMP START
- YS: MOV R7,#20H ;延時(shí)
- YS0: MOV R6,#0FFH
- YS1: DJNZ R6,YS1
- DJNZ R7,YS0
- RET
- Y1s: MOV R7,#04H ;延時(shí)
- Y1s1: MOV R6,#0FFH
- Y1s2: MOV R5,#0FFH
- DJNZ R5,[ DISCUZ_CODE_3 ]nbsp;
- DJNZ R6,Y1s2
- DJNZ R7,Y1s1
- RET
- Y100ms: MOV R7,#66H ;延時(shí)
- Y100ms1:MOV R6,#0FFH
- Y100ms2:DJNZ R6,Y100ms2
- DJNZ R7,Y100ms1
- RET
- END
復(fù)制代碼
所有資料51hei提供下載:
汽車轉(zhuǎn)彎信號(hào)燈系統(tǒng) proteus仿真.rar
(35.33 KB, 下載次數(shù): 76)
2018-6-22 16:48 上傳
點(diǎn)擊文件名下載附件
含代碼 下載積分: 黑幣 -5
|