国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AT89S51 單片機(jī)控制的交通燈管理系統(tǒng)

2012-12-08 05:03:18魯俊婷
關(guān)鍵詞:交通燈倒計(jì)時(shí)子程序

陳 剛,魯俊婷

(黃河水利職業(yè)技術(shù)學(xué)院,河南 開(kāi)封 475004)

0 引言

隨著經(jīng)濟(jì)、社會(huì)和科技的發(fā)展,單片機(jī)的應(yīng)用不斷深入社會(huì)的各個(gè)領(lǐng)域, 其中MCS-51 系列單片機(jī)更是以?xún)r(jià)格和功能的優(yōu)勢(shì)被廣泛用于各種控制系統(tǒng)之中。 本系統(tǒng)采用51 系列單片機(jī)AT89S51,構(gòu)成控制電路,用匯編語(yǔ)言編寫(xiě)相應(yīng)的軟件程序,實(shí)用性強(qiáng)、操作簡(jiǎn)單。 以下分功能模塊對(duì)其進(jìn)行闡述。

1 設(shè)計(jì)任務(wù)

所設(shè)計(jì)的交通燈管理系統(tǒng)能夠真實(shí)模擬雙干線(xiàn)交通信號(hào)燈的管理,設(shè)置兩組紅、黃、綠燈,并配置兩對(duì)LED 顯示器和一個(gè)緊急車(chē)輛放行按鈕。在正常情況下,兩個(gè)干線(xiàn)上的紅、黃、綠燈按四個(gè)狀態(tài)進(jìn)行轉(zhuǎn)換,并以倒計(jì)時(shí)的方式將剩余時(shí)間顯示在與每個(gè)干線(xiàn)對(duì)應(yīng)的兩位LED 顯示器上。 4 個(gè)狀態(tài)分別用S0、S1、S2 和S3 表示。 其工作過(guò)程如下: 起始狀態(tài)S0 為東西向紅燈、 南北向綠燈, 兩個(gè)方向都從45s開(kāi)始倒計(jì)時(shí),持續(xù)40s 后轉(zhuǎn)為狀態(tài)S1:狀態(tài)S1 為東西向紅燈,南北向黃燈以1Hz 頻率閃爍。 狀態(tài)S1 持續(xù)5s 后轉(zhuǎn)為狀態(tài)S2。 東西向綠燈,南北向紅燈,兩個(gè)方向都從35s 開(kāi)始倒計(jì)時(shí)。 持續(xù)30s 后再轉(zhuǎn)為狀態(tài)S3。狀態(tài)S3 為東西向黃燈以1Hz 頻率閃爍,南北向仍然為紅燈,狀態(tài)S3 持續(xù)5s 后,循環(huán)至狀態(tài)S0。兩個(gè)方向重新從45s 開(kāi)始倒計(jì)時(shí)。

所設(shè)計(jì)的交通燈管理系統(tǒng)須滿(mǎn)足急救車(chē)優(yōu)先通過(guò)的要求。 有急救車(chē)到達(dá)時(shí),兩向交通信號(hào)為全紅燈,以便讓急救車(chē)通過(guò)。 急救車(chē)通過(guò)后,交通燈恢復(fù)中斷前狀態(tài)。

2 硬件電路

本系統(tǒng)硬件電路的設(shè)計(jì)主要通過(guò)3 個(gè)大的電路模塊來(lái)實(shí)現(xiàn):紅綠燈控制電路、倒計(jì)時(shí)顯示電路。緊急狀態(tài)產(chǎn)生與解除電路。

關(guān)于紅綠燈控制電路的設(shè)計(jì), 系統(tǒng)使用AT89S51 的P0 口驅(qū)動(dòng)紅綠燈的亮滅。 P0.0 接?xùn)|西向紅燈,P0.1 接?xùn)|西向黃燈,P0.2 接?xùn)|西向綠燈,P0.5 接南北向紅燈,P0.6 接南北向黃燈,P0.7 接南北向綠燈。 LED1、LED2、LED3 分別為東西向的紅、黃、 綠燈,LED6、LED7、LED8 分別為南北向的紅、黃、綠燈。

關(guān)于倒計(jì)時(shí)顯示電路的設(shè)計(jì),根據(jù)位選線(xiàn)與段選線(xiàn)連接方法的不同,LED 顯示器分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種方式。 段選線(xiàn)控制字符的選擇,位選線(xiàn)控制顯示位的亮、暗。 由于動(dòng)態(tài)顯示的硬件資源利用率高,而且采用串行輸出,形式可以大大節(jié)省單片機(jī)的內(nèi)部資源, 所以系統(tǒng)采用動(dòng)態(tài)顯示方式。串并轉(zhuǎn)換器采用74LS164, 在低電平時(shí)允許通過(guò)8mA 電流, 無(wú)需添加其他驅(qū)動(dòng)電路。 74LS164 為串入/并出的移位寄存器, 并行數(shù)據(jù)輸出端Q0~Q7 通過(guò)限流電阻分別接到顯示器的字形口(a~dp);單片機(jī)的P1.0~P1.3 連接顯示器的字位口。 74LS164 的A、B 為串行數(shù)據(jù)輸入端, 連接單片機(jī)的P1.4;CLK為移位脈沖輸入端,連接單片機(jī)的P1.5。

關(guān)于緊急狀態(tài)產(chǎn)生與解除電路,我們選用兩個(gè)按鈕SW1 和SW2。 SW1 為緊急狀態(tài)產(chǎn)生按鈕,與單片機(jī)的P3.2 引腳連接;SW2 為緊急狀態(tài)解除按鈕,與單片機(jī)的P3.3 引腳連接。 當(dāng)有緊急車(chē)輛要通過(guò)時(shí),按下SW1,兩個(gè)方向紅燈同時(shí)點(diǎn)亮,倒計(jì)時(shí)時(shí)間停止。 當(dāng)緊急車(chē)輛通過(guò)后,再按下SW2,則繼續(xù)緊急車(chē)輛通過(guò)前的狀態(tài)。

由此設(shè)計(jì)出交通燈管理系統(tǒng)電路 (如圖1 所示)。

圖1 交通燈管理系統(tǒng)電路圖Fig.1 Traffic light management system circuit diagram

3 軟件程序設(shè)計(jì)

表1 狀態(tài)控制碼Table 1 Status control code

本系統(tǒng)采用匯編語(yǔ)言編寫(xiě)程序,編程方面需解決以下3 個(gè)方面問(wèn)題。

3.1 4 種紅綠燈狀態(tài)的實(shí)現(xiàn)

由硬件電路圖可知, 單片機(jī)的P0 口連接發(fā)光二極管的陰極,所以通過(guò)編寫(xiě)指令將狀態(tài)控制碼送往單片機(jī)的P0 口,即可實(shí)現(xiàn)4 種紅綠燈狀態(tài)。 表1 列出了狀態(tài)控制碼。

3.2 倒計(jì)時(shí)時(shí)間的控制與顯示

(1)倒計(jì)時(shí)時(shí)間控制。 將需要顯示的倒計(jì)時(shí)時(shí)間始終存放在單片機(jī)內(nèi)部RAM 的R3 中。利用單片機(jī)內(nèi)部定時(shí)器T0 進(jìn)行定時(shí), 使定時(shí)器工作在定時(shí)方式1,定時(shí)時(shí)間t 選為10ms。 當(dāng)定時(shí)滿(mǎn)100 次時(shí),說(shuō)明1s 時(shí)間到,這時(shí)只需讓R3 中的倒計(jì)時(shí)數(shù)值減1 即可。

(2)顯示部分。 編寫(xiě)相應(yīng)的顯示子程序,使兩組顯示器顯示出R3 中的倒計(jì)時(shí)時(shí)間。 并把顯示子程序放入定時(shí)器0 中斷子程序中。 這樣可以每10ms調(diào)用一次顯示子程序,使顯示器隨時(shí)顯示出倒計(jì)時(shí)時(shí)間。

3.3 緊急通車(chē)狀態(tài)的控制

本系統(tǒng)以按下緊急按鈕SW1 為中斷申請(qǐng),表示有急救車(chē)通過(guò)。 這時(shí)兩向全為紅燈,倒計(jì)時(shí)時(shí)間停止。 按下解除按鈕SW2,中斷解除,返回原來(lái)的紅綠燈狀態(tài), 倒計(jì)時(shí)時(shí)間繼續(xù)計(jì)時(shí)。 狀態(tài)控制碼如表1所示。 由于緊急通車(chē)狀態(tài)的產(chǎn)生和解除是隨機(jī)的,所以對(duì)于緊急按鈕SW1 和解除按鈕SW2 的檢測(cè)不能間斷,因此,將這兩個(gè)按鈕的檢測(cè)程序放在定時(shí)器0 中斷子程序中,這樣每10ms 就會(huì)檢測(cè)一次中斷按鈕,達(dá)到了緊急通車(chē)狀態(tài)的控制要求。

3.4 程序設(shè)計(jì)流程圖

通過(guò)以上分析,程序包含3 大功能模塊:主程序、定時(shí)器中斷子程序、動(dòng)態(tài)顯示子程序。 其中主程序與定時(shí)器中斷子程序在時(shí)間上是同步運(yùn)行的,動(dòng)態(tài)顯示子程序的功能是顯示R3 中的倒計(jì)時(shí)時(shí)間,供定時(shí)器中斷子程序調(diào)用,結(jié)構(gòu)較為簡(jiǎn)單。 以下給出主程序和定時(shí)器中斷子程序的流程圖。

圖2 主程序流程圖Fig.2 Main program flow

圖3 定時(shí)器斷子程序流程圖Fig.3 Timer interruption subroutine flow

4 結(jié)語(yǔ)

本系統(tǒng)硬件電路簡(jiǎn)單, 軟件程序采用匯編語(yǔ)言編寫(xiě),與硬件電路配合使用,更為高效。 在現(xiàn)有道路條件下,對(duì)于提高交通控制和管理水平,合理使用現(xiàn)有交通設(shè)施,充分發(fā)揮其能力,更加靈活有效地提高道路的利用率,有較高的指導(dǎo)作用,可廣泛用于實(shí)際的交通燈控制系統(tǒng)之中。

[1] 胡健. 單片機(jī)原理及接口技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社,2005:144.

[2] 胡健. 單片機(jī)原理及接口技術(shù)實(shí)踐教程[M]. 北京:機(jī)械工業(yè)出版社,2005:22-23,163.

[3] 陶春鳴. 單片機(jī)實(shí)用技術(shù)[M]. 北京:人民郵電出版社,2008:118.

猜你喜歡
交通燈倒計(jì)時(shí)子程序
基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
一直飄紅的交通燈
基于單片機(jī)的LED模擬交通燈設(shè)計(jì)
電子制作(2016年21期)2016-05-17 03:52:44
淺談子程序在數(shù)控車(chē)編程中的應(yīng)用
子程序在數(shù)控車(chē)加工槽中的應(yīng)用探索
西門(mén)子840D系統(tǒng)JOG模式下PLC調(diào)用并執(zhí)行NC程序
基于protues仿真的交通燈即時(shí)控制的一種實(shí)現(xiàn)
河南科技(2014年11期)2014-02-27 14:09:57
簡(jiǎn)化編程與子程序嵌套的應(yīng)用
科技傳播(2011年24期)2011-08-29 05:39:46
莱西市| 衡阳市| 永清县| 岳普湖县| 灵台县| 兴业县| 全州县| 航空| 卢氏县| 孟连| 建阳市| 陆河县| 玉门市| 房山区| 方正县| 德州市| 乌什县| 赤城县| 乳源| 凤翔县| 靖安县| 如皋市| 河北省| 海口市| 上高县| 平陆县| 湘阴县| 嘉善县| 灵台县| 永和县| 长汀县| 丹寨县| 黔东| 壶关县| 昌邑市| 阿克苏市| 建瓯市| 漳平市| 龙江县| 扶余县| 婺源县|