呂志方
摘要:?jiǎn)纹瑱C(jī)是把組成微型計(jì)算機(jī)的各功能部件制作在一塊集成電路芯片上,構(gòu)成完整的微型計(jì)算機(jī)。單片機(jī)具有體積小、重量輕、價(jià)格低廉、可靠性高、抗干擾能力強(qiáng)等特點(diǎn),在智能儀表、工業(yè)控制、通訊設(shè)備、汽車電器和家用電器等很多領(lǐng)域有著廣泛的應(yīng)用。文章以MCS-51單片機(jī)為例,介紹了汽車轉(zhuǎn)彎信號(hào)燈的系統(tǒng)硬件和系統(tǒng)軟件的設(shè)計(jì)。
關(guān)鍵詞:MCS-51單片機(jī);汽車轉(zhuǎn)彎信號(hào)燈;系統(tǒng)硬件設(shè)計(jì);系統(tǒng)軟件設(shè)計(jì);集成電路 文獻(xiàn)標(biāo)識(shí)碼:A
中圖分類號(hào):TP212 文章編號(hào):1009-2374(2016)13-0020-02 DOI:10.13535/j.cnki.11-4406/n.2016.13.010
1 汽車轉(zhuǎn)彎信號(hào)燈控制系統(tǒng)的功能要求
設(shè)汽車有一個(gè)轉(zhuǎn)彎控制桿,此控制桿有三個(gè)位置:中間位置時(shí),汽車不轉(zhuǎn)彎;向上時(shí),汽車左轉(zhuǎn);向下時(shí),汽車右轉(zhuǎn)。汽車轉(zhuǎn)彎時(shí),汽車的兩個(gè)尾燈、兩個(gè)頭燈和兩個(gè)儀表板燈相應(yīng)地發(fā)出閃爍信號(hào),當(dāng)應(yīng)急開關(guān)合上時(shí),6個(gè)燈都閃爍。汽車剎車時(shí),尾燈信號(hào)不閃爍。汽車轉(zhuǎn)彎或應(yīng)急狀態(tài)下,信號(hào)燈和儀表板燈閃爍頻率為1Hz,當(dāng)??块_關(guān)合上時(shí),信號(hào)燈閃爍頻率為30Hz。
2 系統(tǒng)硬件的設(shè)計(jì)
汽車中單片機(jī)用+5伏供電,其他電路用+12伏電源供電。在單片機(jī)系統(tǒng)中,具有故障監(jiān)測(cè)功能,發(fā)現(xiàn)故障能自動(dòng)報(bào)警。圖中增加了晶體管Q7和7個(gè)電阻,Q7的集電極與T0相連,組成自動(dòng)報(bào)警電路。假設(shè)一個(gè)信號(hào)燈受控?cái)嚅_,相應(yīng)單片機(jī)輸出口線為高電平,其余信號(hào)燈受控導(dǎo)通,導(dǎo)通的晶體管集電極輸出低電平,截止的晶體管集電極輸出高電平,Q7有6個(gè)輸入端,5個(gè)輸入端為低電平,1個(gè)輸入端為高電平,這時(shí)Q7導(dǎo)通,T0為低電平,如果測(cè)得T0為高電平,說明單片機(jī)電路發(fā)生故障,這就是故障監(jiān)測(cè)的原理。
3 系統(tǒng)軟件的設(shè)計(jì)
系統(tǒng)軟件用匯編語言編寫,分為三部分:
3.1 口線說明和變量定義
程序中不采用口線名稱,采用符號(hào)地址,變量采用助記名,要改變具體引腳,只要在說明和定義部分作修改,給程序設(shè)計(jì)帶來了方便。
3.2 主程序
采用定時(shí)器/計(jì)數(shù)器0和1個(gè)軟件計(jì)數(shù)器SUB-DIV產(chǎn)生一秒的定時(shí)信號(hào),實(shí)現(xiàn)低頻1Hz的閃爍功能。
3.3 中斷服務(wù)程序
3.3.1 1Hz信號(hào)的產(chǎn)生:SUB-DIV初值為244,由244變到0,經(jīng)0.999424秒,其中SUB-DIV.7為1時(shí)間117/244秒,為0時(shí)間127/244秒,得到占空比50%的1秒信號(hào)。
3.3.2 30Hz信號(hào)的產(chǎn)生:計(jì)數(shù)器SUB-DIV值由244變?yōu)?時(shí),低3位構(gòu)成8種狀態(tài),在0.999424秒中重復(fù)次數(shù)為30,把低3位狀態(tài)組合起來,形成一定占空比的30Hz信號(hào)。
3.3.3 各種信號(hào)的形成:根據(jù)系統(tǒng)輸入狀態(tài)(各開關(guān)位置),計(jì)算送各指示燈的信號(hào)。
1 BRAKE BIT P1.0 30 SETB TR0 59 ANL C,PARK
2 EMERG BIT P1.1 31 SJMP $ 60 MOV DIM,C
3 PARK BIT P1.2 32 UPDATE:DJNZ SUB-DIV,T0SERV 61 MOV C,L-TURN
4 L-TURN BIT P1.3 33 MOV SUB-DIV,#244 62 ORL C,EMERG
5 R-TURN BIT P1.4 34 ORL P1,#11100000B 63 ANL C,LO-FREQ
6 L-FRNT BIT P1.5 35 ORL P2,#00000111B 64 MOV L-DASH,C
7 R-FRNT BIT P1.6 36 CLR L-FRNT 65 MOV F0,C
8 L-DASH BIT P1.7 37 JB T0,F(xiàn)AULT 66 ORL C,DIM
9 R-DASH BIT P2.0 38 SETB L-FRNT 67 MOV L-FRNT,C
10 L-REAR BIT P2.1 39 CLR L-DASH 68 MOV C,BRAKE
11 R-REAR BIT P2.2 40 JB T0,F(xiàn)AULT 69 ANL C,/L-TURN
12 S-FAIL BIT P2.3 41 SETB L-DASH 70 ORL C,F(xiàn)0
13 SUB-DIV DATA 20H 42 CLR L-REAR 71 ORL C,DIM
14 HI-FREQ BIT SUB-DIV.0 43 JB T0,F(xiàn)AULT 72 MOV L-REAR,C
15 LO-FREQ BIT SUB-DIV.7 44 SETB L-REAR 73 MOV C, R-TURN
16 DIM BIT PSW.1 45 CLR R-ERNT 74 ORL C,EMERG
17 ORG 0000H 46 JB T0,F(xiàn)AULT 75 ANL C,LO-FREQ
18 LJMP INIT 47 SETB R-FRNT 76 MOV R-DASH,C
19 ORG 000BH 48 CLR R-DASH 77 MOV F0,C
20 MOV TH0,#-16 49 JB T0,F(xiàn)AULT 78 ORL C,DIM
21 PUSH PSW 50 SETB R-DASH 79 MOV R-FRNT,C
22 AJMP UPDATE 51 CLR R-REAR 80 MOV C,BRAKE
23 ORG 0040H 52 JB T0,F(xiàn)AULT 81 ANL C,/R-TURN
24 INIT: MOV TL0,#0 53 SETB R-REAR 82 ORL C,F(xiàn)0
25 MOV TH0,#-16 54 JB T0,T0SERV 83 ORL C,DIM
26 MOV TMOD #01100001B 55 FAULT:CPL S-FAIL 84 MOV R-REAR,C
27 MOV SUB-DIV,#244 56 T0SERV:MOV C,SUB-DIV.1 85 POP PSW
28 SETB ET0 57 ANL C,SUB-DIV.0 86 RETI
29 SETB EA 58 ORL C,SUB-DIV.2 87 END
4 結(jié)語
汽車轉(zhuǎn)彎信號(hào)燈的設(shè)計(jì)也可用數(shù)字邏輯電路來實(shí)現(xiàn),缺點(diǎn)是靈活性差,系統(tǒng)功能有所變動(dòng),電路也要隨之變動(dòng),缺少必要的智能。采用本文MCS-51單片機(jī)控制系統(tǒng),可以實(shí)現(xiàn)數(shù)字邏輯電路的全部功能,并有故障監(jiān)控功能,體現(xiàn)了單片機(jī)控制的優(yōu)越性。
參考文獻(xiàn)
[1]孫涵芳,徐愛卿.MCS-51/96系列單片機(jī)原理及應(yīng)用
[M].北京:北京航空航天大學(xué)出版社,1987.
[2]馬彪.單片機(jī)應(yīng)用技術(shù)[M].北京:中國(guó)輕工業(yè)出版
社,2005.
[3]秦實(shí)宏,徐春輝.MCS-51單片機(jī)原理及應(yīng)用[M].武
漢:華中科技大學(xué)出版社,2010.
(責(zé)任編輯:黃銀芳)