




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要本設(shè)計(jì)是用STC89C52單片機(jī)控制的一個(gè)行人自助過(guò)街交通燈系統(tǒng),實(shí)現(xiàn)機(jī)動(dòng)車道由主機(jī)模塊控制和人行橫道由從機(jī)模塊控制。系統(tǒng)運(yùn)行的各個(gè)時(shí)段的時(shí)間值通過(guò)主機(jī)的按鍵輸入,然后通過(guò)JF24D-PA將主機(jī)設(shè)置的時(shí)間值發(fā)送至從機(jī),從而使主機(jī)和從機(jī)配合模擬顯示交通燈系統(tǒng);程序部分使用C語(yǔ)言編寫,軟件設(shè)計(jì)平臺(tái)為Keil,經(jīng)過(guò)仿真和電路組裝調(diào)試,電路功能最終達(dá)到設(shè)計(jì)要求。關(guān)鍵詞 單片機(jī),交通燈,主機(jī)模塊,從機(jī)模塊,JF24D-PADesign and Realization of Pedestrian self-help crossing traffic light system AbstractThis
2、 design is a Pedestrian self-help crossing traffic light system by the control of STC89C52 MCU, to achieve road vehicle controlled by the host module and the crosswalk controlled by the slave module. During each of the system operation time value through the key of host module input to, then through
3、 the JF24D - PA will sent the host module Settings time valule to the salve module ,so that the master and slave traffic light system with analog display. After simulation and circuit assembly debugging, the final circuit functions to meet the design requirements.Keywords MCU,traffic light,hostmodul
4、e,slavemodule,JF24D-PA目 錄1.引言12.設(shè)計(jì)概述22.1.功能實(shí)現(xiàn)22.2 概要設(shè)計(jì)32.2.1主機(jī)模塊32.2.2 從機(jī)模塊33.硬件電路實(shí)現(xiàn)43.1 JF24DPA簡(jiǎn)介43.2 主機(jī)模塊43.2.1 主機(jī)模塊用到的其它器件及作用53.2.2 主機(jī)模塊硬件電路63.3 從機(jī)模塊73.3.1 從機(jī)模塊用到的其它器件及作用73.3.2 從機(jī)模塊硬件電路84.軟件系統(tǒng)設(shè)計(jì)94.1 主機(jī)模塊中各程序功能及流程圖94.1.1 主程序main.c94.1.2 dat_treat.c114.1.3 key.c124.1.4 txd_rxd.c134.1.5 send_display
5、.c144.1.6 eeprom.c154.2 從機(jī)系統(tǒng)中各程序功能及流程圖154.2.1 key.c154.2.2 txd_rxd.c155.調(diào)試166.結(jié)論17致謝18參考文獻(xiàn)191.引言當(dāng)前,城市交通問(wèn)題對(duì)城市產(chǎn)生愈來(lái)愈大的壓力,交通是城市的命脈。建設(shè)一流的城市交通系統(tǒng)是促進(jìn)城市經(jīng)濟(jì)和社會(huì)持續(xù)發(fā)展的基礎(chǔ)條件,是增強(qiáng)城市綜合競(jìng)爭(zhēng)力的重要因素,也是提高城市居民生活質(zhì)量的切實(shí)保障。 在世界各國(guó),無(wú)論是發(fā)達(dá)國(guó)家還是發(fā)展中國(guó)家,城市交通都是一個(gè)突出的問(wèn)題,它關(guān)系到城市的經(jīng)濟(jì)發(fā)展、生態(tài)環(huán)境和生活質(zhì)量。解決好城市的交通問(wèn)題,不僅可以增強(qiáng)城市的可持續(xù)發(fā)展能力,促進(jìn)城市的經(jīng)濟(jì)發(fā)展,而且可以有效地改善城市及
6、周邊地區(qū)的生態(tài)環(huán)境,切實(shí)提高城市居民的生活質(zhì)量。隨著汽車工業(yè)的發(fā)展,城市機(jī)動(dòng)化趨勢(shì)不可阻擋,加之城鎮(zhèn)化的迅速發(fā)展,人口規(guī)模不斷擴(kuò)大,這些因素將必然引發(fā)大量交通需求。城市人性化交通能否持續(xù)發(fā)展,是決定城市能否持續(xù)發(fā)展的關(guān)鍵之一,城市人性化交通的可持續(xù)發(fā)展具有緊迫性與重要性。國(guó)外在城市交通方面的研究較早,投入也多,目前已基本建成了綜合、高效的立體化城市交通體系。對(duì)于城市的交通結(jié)構(gòu),要從社會(huì)整體利益出發(fā),運(yùn)用法律和經(jīng)濟(jì)的手段,使居民的交通出行能按照自己的要求,有多種交通方式可供選擇。我國(guó)從改革開(kāi)放以來(lái),盡管城市化水平有了很大提高,但是起步較晚,投入很少,對(duì)人性化交通的理解也很膚淺同時(shí)也暴露出了很多交
7、通方面的問(wèn)題和隱患,例如,城市內(nèi)高等級(jí)道路增長(zhǎng)很快,但由于車輛的增長(zhǎng)遠(yuǎn)遠(yuǎn)高于道路里程的增長(zhǎng),從而造成交通擁擠、堵塞。還有一個(gè)原因就是行人和機(jī)動(dòng)車之間的沖突。在現(xiàn)代交通系統(tǒng)中,步行交通系統(tǒng)無(wú)論是作為滿足人們?nèi)粘I钚枰囊环N獨(dú)立的交通方式,還是作為其他各種交通方式相互連續(xù)的橋梁和補(bǔ)充,都是其他方式無(wú)法替代的輔助系統(tǒng)。人類的活動(dòng)還不能完全離開(kāi)步行這種本能交通,在城市里上班、購(gòu)物等活動(dòng)中步行還占有相當(dāng)大的比重。在此背景下,城市交通的人性化研究就成為了一個(gè)必要且緊迫的問(wèn)題。城市交通要向人性化方向發(fā)展,在進(jìn)行城市交通規(guī)劃時(shí),除了要考慮車輛的方便性,還要考慮行人的方便性。隨著道路交通堵塞問(wèn)題的日趨嚴(yán)重,除
8、了改善道路設(shè)施之外,對(duì)交通進(jìn)行合理的管理和調(diào)度也是重中之重。單行道、各種交通燈的誕生都成了有效的措施,已經(jīng)在國(guó)外不少大城市成熟運(yùn)用的手動(dòng)按鈕行人信號(hào)燈近幾年也陸續(xù)現(xiàn)身于國(guó)內(nèi)各大城市的街頭。行人自助式過(guò)街交通信號(hào)燈的最大的好處就是讓行人過(guò)街更安全,其工作原理是:行人按下路人按鈕后,行人過(guò)街請(qǐng)求信號(hào)就會(huì)被傳遞到信號(hào)控制機(jī)上。之后,信號(hào)控制機(jī)在適當(dāng)?shù)臅r(shí)間內(nèi)做出反應(yīng),行人信號(hào)燈就會(huì)轉(zhuǎn)換為綠燈。在沒(méi)有行人過(guò)街請(qǐng)求的情況下,機(jī)動(dòng)車均可以通行。這種信號(hào)燈適合在車輛流量相對(duì)較大、行人過(guò)馬路流量少的地段使用,其優(yōu)點(diǎn)是大大提高行車道使用率。本設(shè)計(jì)是用STC89C52單片機(jī)設(shè)計(jì)的一個(gè)交通燈控制系統(tǒng),控制行人過(guò)街的交
9、通路況。機(jī)動(dòng)車道由主機(jī)系統(tǒng)控制,人行橫道由從機(jī)系統(tǒng)控制。2.設(shè)計(jì)概述2.1.功能實(shí)現(xiàn)本設(shè)計(jì)為黃閃自助過(guò)街系統(tǒng),其完成的主要功能如圖2-1所示 圖2-1 黃閃自助過(guò)街系統(tǒng)功能系統(tǒng)工作時(shí)主要經(jīng)歷了幾個(gè)階段,為了便于下文的描述,我們用數(shù)字編號(hào)來(lái)表示各個(gè)階段,其定義如下:第1階段:當(dāng)沒(méi)有按下任何按鈕時(shí),機(jī)動(dòng)車道處于黃燈閃爍狀態(tài),車輛可以通行;人行橫道處于黑屏狀態(tài),行人禁止通行。黃燈閃爍的頻率可以通過(guò)按鍵來(lái)輸入。第2階段:當(dāng)“行人”按鈕被按下時(shí),機(jī)動(dòng)車道經(jīng)過(guò)了綠燈亮、綠燈閃、黃燈亮這幾個(gè)狀態(tài),并且同時(shí)顯示綠燈倒計(jì)時(shí),綠燈的倒計(jì)時(shí)間值等于綠燈亮、綠燈閃、黃燈亮這三者的時(shí)間和;此時(shí),人行橫道則處于紅燈亮的狀
10、態(tài),并且顯示紅燈倒計(jì)時(shí)。機(jī)動(dòng)車可以通行,行人禁止通行。其中綠燈亮、綠燈閃、黃燈亮的時(shí)間可以是0至99秒分別可調(diào),用戶可以通過(guò)按鍵輸入。第3階段:機(jī)動(dòng)車道經(jīng)過(guò)了紅燈亮、全紅兩個(gè)狀態(tài),機(jī)動(dòng)車禁止通行,并且顯示紅燈倒計(jì)時(shí),紅燈的倒計(jì)時(shí)間值等于紅燈亮的時(shí)間加上全紅的時(shí)間。人行橫道則經(jīng)過(guò)了綠燈亮、綠燈閃、全紅三個(gè)狀態(tài),綠燈亮、綠燈閃時(shí)行人可以通行,全紅時(shí)行人禁止通行,并且顯示綠燈倒計(jì)時(shí),綠燈的倒計(jì)時(shí)間值等于綠燈亮、綠燈閃、二者的時(shí)間和;全紅時(shí),倒計(jì)時(shí)顯示屏處于黑屏狀態(tài)。其中綠燈亮、綠燈閃、全紅的時(shí)間值同樣是0至99秒分別可調(diào),用戶可以通過(guò)按鍵輸入。第4階段:機(jī)動(dòng)車道處于綠亮狀態(tài),機(jī)動(dòng)車可以通行,倒計(jì)時(shí)顯
11、示屏處于黑屏狀態(tài);人行橫道處于紅亮狀態(tài),行人禁止通行,倒計(jì)時(shí)顯示屏處于黑屏狀態(tài)。此時(shí)“行人”按鈕無(wú)效。機(jī)動(dòng)車道綠亮、人行橫道紅亮的時(shí)間值相等,也是0至99秒,通過(guò)程序輸入。第5階段:若按鈕有動(dòng)作,則進(jìn)入第2階段,若按鈕無(wú)動(dòng)作狀態(tài)保持0至99分可調(diào),然后轉(zhuǎn)至第1階段。2.2 概要設(shè)計(jì)為了便于描述,我們定義八個(gè)模式,其含義如表2-1所示表2-1 模式含義模式編號(hào)含義0第(1)階段1第(2)階段的機(jī)動(dòng)車道綠亮狀態(tài)2第(2)階段的機(jī)動(dòng)車綠閃狀態(tài)3第(2)階段的機(jī)動(dòng)車黃亮狀態(tài)4第(3)階段人行道的綠亮狀態(tài)5第(3)階段人行道的綠閃狀態(tài)6第(3)階段的全紅狀態(tài)7第(4)階段 8第(5)階段本設(shè)計(jì)主要分為兩
12、個(gè)模塊,分別是主機(jī)模塊和從機(jī)模塊。通過(guò)主機(jī)和從機(jī)不斷的交互,發(fā)送信息和數(shù)據(jù)實(shí)現(xiàn)同步,來(lái)完成行人自助過(guò)街系統(tǒng)的設(shè)計(jì)。2.2.1主機(jī)模塊主機(jī)模塊用來(lái)模擬機(jī)動(dòng)車道的各種狀態(tài),主要功能是沒(méi)有按下任何鍵時(shí),處于黃燈閃爍狀態(tài);按下“設(shè)置”健時(shí),顯示目前各個(gè)模式的顯示時(shí)間值,以便于用戶調(diào)整。按下“確認(rèn)”按鈕后,將剛剛調(diào)整好的各個(gè)模式的時(shí)間值寫入主機(jī)的EEPROM中,并且通過(guò)無(wú)線數(shù)據(jù)發(fā)送器件發(fā)送至從機(jī)模塊,從而保證了主機(jī)模塊和從機(jī)模塊顯示的一致性。按下“路人”按鈕后,主機(jī)模塊就開(kāi)始按照按鍵設(shè)定的各個(gè)模式的時(shí)間來(lái)模擬顯示機(jī)動(dòng)車道的交通狀況。2.2.2 從機(jī)模塊從機(jī)模塊用來(lái)模擬人行橫道的各種狀態(tài),主要功能是當(dāng)沒(méi)有
13、按下任何按鍵時(shí),處于黑屏狀態(tài);當(dāng)主機(jī)系統(tǒng)發(fā)送數(shù)據(jù)時(shí),接收由主機(jī)系統(tǒng)傳來(lái)的數(shù)據(jù)。將主機(jī)系統(tǒng)設(shè)置的各個(gè)模式的時(shí)間值,并寫入從機(jī)的EEPROM中;按下主機(jī)模塊按下“確定”按鍵時(shí),從主機(jī)模塊接收主機(jī)模塊設(shè)置的各個(gè)模式的時(shí)間值,當(dāng)按下從機(jī)的“路人”按鈕后,從機(jī)的就開(kāi)始模擬顯示人行橫道的交通狀況。3.硬件電路實(shí)現(xiàn)本設(shè)計(jì)使用單片機(jī)STC89C52作為控制芯片,使用JF24D-PA完成無(wú)線數(shù)據(jù)和信息的發(fā)送和接收。3.1 JF24DPA簡(jiǎn)介JF24D-PA是由安陽(yáng)市新世紀(jì)電子研究所有限公司最新開(kāi)發(fā)的一款2.4G遠(yuǎn)距離數(shù)傳模塊,模塊內(nèi)含可編程的MCU和JF24D芯片及功率放大,內(nèi)含最基本的寄存器配制和測(cè)試程序,可
14、以直接用來(lái)做串口數(shù)據(jù)收發(fā)。也可以對(duì)模塊程序進(jìn)行修改開(kāi)發(fā)。體積小巧,功能完善,模塊配帶2.4G橡膠天線。配3db天線在馬路有效距離約600米;配5-7db天線有效距離約800-1000米左右。JF24D-PA提供了簡(jiǎn)單易用的硬件接口功能,可以將模塊用2.54mm腳距的排針焊在主板上,可方便的與232接口實(shí)現(xiàn)串口數(shù)據(jù)傳輸。同時(shí)JF24D-PA也提供了簡(jiǎn)單易懂的傻瓜軟件包下載及技術(shù)支持,客戶不需要再為復(fù)雜的寄存器配制而浪費(fèi)時(shí)間和精力,這樣可以縮短2.4G產(chǎn)品的應(yīng)用研發(fā)周期,降低開(kāi)發(fā)難度,節(jié)約研發(fā)成本。JF24D-PA是一款簡(jiǎn)單實(shí)用的功能模塊,硬件預(yù)留8個(gè)基本功能引腳,在模塊的AINI腳接一個(gè)按鍵開(kāi)關(guān)
15、 到地即可以測(cè)試模塊的收發(fā)性能。RX和TX可以直接傳輸數(shù)據(jù)。程序代碼可以重新下載修改。JF24D-PA的引腳如圖3-1所示。圖3-1 JF24D-PA的引腳3.2 主機(jī)模塊主機(jī)模塊中通過(guò)各個(gè)按鍵來(lái)設(shè)置各個(gè)階段各個(gè)模式的時(shí)間值,設(shè)置好以后,通過(guò)數(shù)據(jù)傳送器件JF24DPA,將主機(jī)模塊的各個(gè)模式的時(shí)間值發(fā)送至從機(jī)模塊,按下“行人”按鈕時(shí),和從機(jī)相互配合同步顯示機(jī)動(dòng)車道的信息。3.2.1 主機(jī)模塊用到的其它器件及作用主機(jī)模塊所用到的器件除了STC89C52和JF24D-PA以外,還有74HC595,三個(gè)LED(用來(lái)模擬交通燈的紅、綠、黃燈的狀態(tài)),七段數(shù)碼管顯示器(用來(lái)顯示延時(shí)的時(shí)間)。以下是各個(gè)器件
16、的簡(jiǎn)單介紹以及在主機(jī)模塊中的作用:(1)發(fā)光二級(jí)管:信號(hào)燈采用超高亮度發(fā)光二極管開(kāi)發(fā)的道路交通燈。LED應(yīng)用簡(jiǎn)單、可靠性高、成本低。LED顯示方式為共陽(yáng)極動(dòng)態(tài)顯示方式。在主機(jī)模塊中,使用三個(gè)LED發(fā)光二級(jí)管來(lái)模擬顯示機(jī)動(dòng)車道上紅、綠、黃燈的狀態(tài);(2)共陽(yáng)7段LED數(shù)碼管:7段LED數(shù)碼管是由發(fā)光二極管組成的顯示字符段,一般為七段數(shù)碼顯示管(含小數(shù)點(diǎn)為八段)。這些顯示二極管的一端連接在一起,形成公共端,另外的端子ag、dp則通過(guò)引腳與外部總線相連,通過(guò)對(duì)公共端與輸入端施加一定的電壓,點(diǎn)亮其中的一些發(fā)光二極管來(lái)構(gòu)成需要的顯示字符。本電路中所有發(fā)光二極管的陽(yáng)極連在一起。在主機(jī)模塊中用四個(gè)7段數(shù)碼管
17、兩兩分別用來(lái)顯示機(jī)動(dòng)車道的紅燈倒計(jì)時(shí)和綠燈倒計(jì)時(shí),用一個(gè)4位數(shù)七段數(shù)碼管用來(lái)顯示調(diào)整各個(gè)狀態(tài)的顯示時(shí)間值。(3)按鈕:用“設(shè)置”、“確定”、“模式加”、“模式減”、“時(shí)間加”、“時(shí)間減”、“路人”五個(gè)按鈕。表3-1是按下各個(gè)按鈕時(shí)的產(chǎn)生的動(dòng)作。表3-1 按鍵動(dòng)作按鈕動(dòng)作設(shè)置顯示各個(gè)模式的編號(hào)以及顯示時(shí)間確定保存各個(gè)模式的時(shí)間,并發(fā)送給從機(jī)模式加4位數(shù)碼管上顯示的模式編號(hào)加1模式減4位數(shù)碼管上顯示的模式編號(hào)減1時(shí)間加4位數(shù)碼管上顯示的當(dāng)前模式的時(shí)間加1時(shí)間減4位數(shù)碼管上顯示的當(dāng)前模式的時(shí)間減1路人以剛保存過(guò)的各個(gè)模式的時(shí)間為準(zhǔn),使各個(gè)顯示器件顯示出正確的值(4)74HC595:74HC595為三
18、態(tài)輸出的8位移位寄存器。其主要引腳功能為:Q0-Q7:并行輸出口。SH_CP:上升沿時(shí),移位寄存器內(nèi)容左移一位。DS:串行數(shù)據(jù)口。ST_CP:上升沿時(shí),移位寄存器內(nèi)容進(jìn)入鎖存器。當(dāng)為低電平時(shí),移位寄存器清零,在其他操作時(shí)它必須為高電平。:當(dāng)=1,SH_CP=0,ST_CP=0時(shí)。=0,Q0Q7輸出;=1,Q0Q7輸出高阻態(tài)。Q7:移位寄存器的移位溢出,即進(jìn)位。在主機(jī)系統(tǒng)中用四個(gè)74LS595級(jí)聯(lián),每一個(gè)74HC595的Q0-Q6輸出口,連接至一個(gè)7段數(shù)碼管的A至G接口;其中三個(gè)74HC595的Q7口連接三個(gè)LED燈。這樣用來(lái)將機(jī)動(dòng)車道上的人紅燈、綠燈、紅燈倒計(jì)時(shí)、綠燈倒計(jì)時(shí)的顯示值的編碼傳送至
19、7段數(shù)碼管和LED燈。3.2.2 主機(jī)模塊硬件電路 (1)按鍵部分的電路如圖3-2所示圖3-2 主機(jī)模塊按鍵部分電路圖(2)顯示部分的電路如圖3-3、3-4、3-5所示圖3-3 主機(jī)模塊顯示部分電路圖(1)圖3-4 主機(jī)模塊顯示部分電路圖(2)圖3-5 主機(jī)模塊顯示部分電路圖(3) (3)STC89C52與JF24D-PA的連接如圖3-6所示圖3-6 主機(jī)模塊STC89C52與JF24D-PA的連接圖3.3 從機(jī)模塊從機(jī)模塊中通過(guò)JF24DPA接收從主機(jī)傳送來(lái)的各個(gè)模式的時(shí)間值,按下“行人”按鍵后,和主機(jī)相互配合顯示器件來(lái)模擬顯示人行橫道的信息。3.3.1 從機(jī)模塊用到的其它器件及作用從機(jī)模塊
20、所用的其它器件與主機(jī)模用的器件與主機(jī)模塊相比,有稍微的差別。下面是從機(jī)模塊里用到的主要器件。用兩個(gè)LED燈來(lái)顯示人行橫道上紅、綠燈的狀態(tài);四個(gè)7段數(shù)碼管兩兩分別用來(lái)顯示人行橫道的紅燈倒計(jì)時(shí)和綠燈倒計(jì)時(shí);一個(gè)“路人”按鈕。當(dāng)按下此按鈕時(shí),從機(jī)系統(tǒng)的顯示器件就開(kāi)始顯示人行橫道的紅綠燈狀態(tài),并且與主機(jī)程序顯示是同步的;74HC595:用四個(gè)74HC595級(jí)聯(lián),每一個(gè)74HC595的Q0-Q6連接至一個(gè)7段數(shù)碼管的A至G接口;其中兩個(gè)74HC595的Q7口連接LED燈。這樣用來(lái)將人行橫道上的紅燈、綠燈、紅燈倒計(jì)時(shí)、綠燈倒計(jì)時(shí)的顯示值的編碼傳送至7段數(shù)碼管和LED燈。3.3.2 從機(jī)模塊硬件電路(1)按
21、鍵部分的電路如圖3-7所示圖3.7 從機(jī)模塊按鍵部分電路圖(2)顯示部分的電路如圖3-8、3-9所示圖3-8 從機(jī)模塊顯示部分電路圖(1)圖3-9 從機(jī)模塊顯示部分電路圖(2)(3)從機(jī)模塊中STC89C52與JF24D-PA的連接方法與主機(jī)相同4.軟件系統(tǒng)設(shè)計(jì)本設(shè)計(jì)的程序部分用C語(yǔ)言編寫,開(kāi)發(fā)環(huán)境為Kei Vision。4.1 主機(jī)模塊中各程序功能及流程圖主機(jī)模塊中包含了6個(gè)C程序和兩個(gè)頭文件,它們分別是main.c、send_display.c、key.c、dat_treat.c、 txd_rxd.c、 eeprom.c、intrins.h和reg52.h。4.1.1 主程序main.c主
22、要功能:main函數(shù)用來(lái)讀取各個(gè)模式的最初時(shí)間值,定義及啟動(dòng)計(jì)時(shí)器T0的初始化函數(shù),并裝入初值;啟動(dòng)串口的裝始化函數(shù),定義T0的中斷服務(wù)函數(shù),其中斷函數(shù)主要功能是記錄時(shí)間,通過(guò)對(duì)各個(gè)模式的時(shí)間值進(jìn)行計(jì)算,來(lái)判斷此時(shí)程序運(yùn)行處于哪個(gè)階段,并且執(zhí)行data_treat.c里面定義的各個(gè)階段顯示數(shù)據(jù)的處理函數(shù);啟動(dòng)key.c程序里定義的按鍵調(diào)整函數(shù)。main函數(shù)的流程圖如4-1所示,T0的中斷服務(wù)函數(shù)的流程圖如圖4-2所示。圖4-1 主機(jī)程序中main函數(shù)的流程圖圖4-2 主機(jī)程序中T0的中斷服務(wù)函數(shù)流程圖4.1.2 dat_treat.c主要功能:定義了程序運(yùn)行各個(gè)階段所顯示數(shù)據(jù)的編碼的處理函數(shù),
23、算出各個(gè)階段顯示數(shù)據(jù)的編碼,然后將這些編碼賦值給ai、bi、ci、di、aj、bj、cj、dj這幾個(gè)變量,并調(diào)用send_display.c中的定義的函數(shù),將數(shù)據(jù)編碼發(fā)送至74LS595,從而發(fā)送至數(shù)碼管和LED燈。另外還定義了調(diào)整顯示函數(shù),用來(lái)實(shí)現(xiàn)4位數(shù)碼管的動(dòng)態(tài)顯示,以便于用戶調(diào)整各個(gè)模式的時(shí)間值。以下是data_treat.c中具體定義的各個(gè)函數(shù)及部分函數(shù)的流程圖dat_mod1_proces0(),用來(lái)計(jì)算第1階段機(jī)動(dòng)車道的黃閃狀態(tài)時(shí)各個(gè)顯示器件的數(shù)值編碼。此函數(shù)的大概流程是判斷ccc的值,當(dāng)ccc大于buf0(也就是模式0對(duì)應(yīng)的數(shù)值)時(shí)設(shè)置機(jī)動(dòng)車道黃燈亮的編碼;否則設(shè)置機(jī)動(dòng)車道黃燈滅
24、的編碼,然后將各個(gè)編碼賦值給ai、bi、ci等幾個(gè)變量,最后調(diào)用send_display_dat()。dat_mod1_proces1():用來(lái)計(jì)算第2階段機(jī)動(dòng)車道的綠燈亮、綠燈閃、黃燈亮?xí)r各個(gè)顯示器件的數(shù)值編碼。其簡(jiǎn)要流程圖如圖4-3所示圖4-3 主機(jī)程序中dat_mod1_proces1()的流程圖dat_mod1_proces2():用來(lái)計(jì)算第3階段各個(gè)機(jī)動(dòng)車道紅燈亮、全紅狀態(tài)時(shí)顯示器件的數(shù)值編碼。其簡(jiǎn)要流程圖如圖4-4所示圖4-4 主機(jī)程序中dat_mod1_proces2()的流程圖dat_mod1_proces3():用來(lái)計(jì)算第4階段機(jī)動(dòng)車道綠亮?xí)r各個(gè)顯示器件的數(shù)值編碼。這個(gè)函數(shù)流
25、程較簡(jiǎn)單,將ai、bi等8 個(gè)變量直接賦值。display_set():調(diào)整顯示函數(shù),使4位數(shù)碼管動(dòng)態(tài)顯示當(dāng)前各個(gè)模式的時(shí)間值,便于用戶調(diào)整。數(shù)碼管的第一位顯示一個(gè)字母“C”,第二位顯示模式編號(hào),第三、四位顯示當(dāng)前模式對(duì)應(yīng)的時(shí)間值。4.1.3 key.c主要功能:定義了一個(gè)按鍵調(diào)整函數(shù)key(),需要判斷用戶按下了哪個(gè)按 鈕,并且定義相應(yīng)的操作。比如按下“確認(rèn)”鍵,需要調(diào)用txd_rxd.c程序里定義的函數(shù)向從機(jī)發(fā)送剛剛保存的各個(gè)模式的時(shí)間值,還要調(diào)用EEPROM.c程序里定義的寫入函數(shù),將剛保存的數(shù)據(jù)寫入本機(jī)的EEPROM中。另外,為了保持主機(jī)與從機(jī)的同步運(yùn)行,當(dāng)按下某些按鈕時(shí)也要需要調(diào)用t
26、xd_rxd.c里定義的一些函數(shù)向從機(jī)發(fā)送一些非數(shù)值信息。函數(shù)key()的簡(jiǎn)要流程圖如圖4-5所示圖4-5 主機(jī)程序中key()的流程圖4.1.4 txd_rxd.c主要功能:定義了一些向從機(jī)發(fā)送數(shù)據(jù)或信息的函數(shù),由key.c 程序中的函數(shù)來(lái)調(diào)用。另外還定義了串口初始化函數(shù)以及串口中斷處理函數(shù)。txd_rxd.c中具體定義的各個(gè)函數(shù)的功能如下:txd_dat():用來(lái)通過(guò)串行口向從機(jī)發(fā)送主機(jī)剛剛設(shè)置好的各個(gè)模式的數(shù)值,其簡(jiǎn)要流程圖如圖4-6所示。圖4-6 主機(jī)程序中txd_dat()的流程圖txd_button_set()和txd_button_luren():這兩個(gè)函數(shù)的主要功能是向從機(jī)發(fā)送
27、按鍵信息,告訴從機(jī)主機(jī)已經(jīng)按下了“設(shè)置”、“路人”鍵,以保持主機(jī)和從機(jī)之間的同步。串口初始化函數(shù):設(shè)置了串口的工作方式,波特率等內(nèi)容。串口中斷處理函數(shù):主要也是實(shí)現(xiàn)同步信息。當(dāng)從機(jī)向主機(jī)發(fā)送信息,告訴主機(jī)從機(jī)已經(jīng)按下了“行人”按鈕,從而使主機(jī)程序運(yùn)行時(shí)顯示倒計(jì)時(shí)的時(shí)間值等信息重新計(jì)算(即重新計(jì)算time_1、time_2、time_3和time_4的值)。4.1.5 send_display.csend_diaplay.c中主要定義了一個(gè)send_display_dat()函數(shù),由于dat_treat.c中已經(jīng)將各個(gè)階段的顯示數(shù)據(jù)編碼保存到了ai、bi、ci、di這幾個(gè)變量中,所以send_d
28、isplay_dat()函數(shù)的主要功能就是將這幾個(gè)變量依次送入74LS595中。因?yàn)镾TC89C52的P3.2、P3.3、P3.4接口分別連接到74LS595的SH_CP、ST_CP、DS引腳,根據(jù)74LS595的引腳功能,可以在程序中采用使P3.2、P3.3置0置1的方法,使這4個(gè)變量逐個(gè)進(jìn)入74LS595,并且發(fā)送至數(shù)碼管和LED燈,使其顯示出正確的數(shù)據(jù)。下面簡(jiǎn)要的敘述一下數(shù)據(jù)送至鎖存器和數(shù)碼管的過(guò)程首先分別將P32、P33和 P34賦值給sbit類型的變量sh_cp1、st_cp1和ds_1。接下來(lái)的過(guò)程分為幾部分:(1)將st_cp1置0。(2)將ai的最高位賦值給ds_1;sh_cp
29、1置0;ai左移一位;sh_cp1置1。按照這樣的流程把第(2)步運(yùn)行8次。(3)用和第(2)步同樣的方法分別對(duì)bi、ci和di進(jìn)行同樣的操作。(4)st_cp1置1。4.1.6 eeprom.c主要功能:定義了對(duì)EEROM進(jìn)行操作的各類函數(shù)。比如,對(duì)EEPROM進(jìn)行讀寫操作的IapRead、IapWrite函數(shù)。4.2 從機(jī)系統(tǒng)中各程序功能及流程圖從機(jī)系統(tǒng)中包含的C程序和頭文件和主機(jī)系統(tǒng)中的完全一樣,各個(gè)C程序之間的調(diào)用關(guān)系也完全一樣。從機(jī)系統(tǒng)中的main.c、 data_treat.c、 send_display.c、eeprom.c的主要功能和代碼與主機(jī)程序中同名的程序的主要功能基本流程
30、基本一樣,只是其中的顯示數(shù)據(jù)編碼處理是針對(duì)于從機(jī)的(也就是人行橫道的顯示數(shù)據(jù)編碼)。 4.2.1 key.ckey.c中定義了一個(gè)key()函數(shù),主要功能與主機(jī)系統(tǒng)中的功能一樣,只是從機(jī)中只有一個(gè)“路人”按鈕,按下此按鈕時(shí),調(diào)用txd_rxd.c中定義的txd_button_luren()函數(shù)來(lái)向主機(jī)發(fā)送信息,告訴主機(jī),從機(jī)已經(jīng)按下了“路人”按鍵,并且重新計(jì)算time_1、time_2、time_3和time_4的值。4.2.2 txd_rxd.ctxd_rxd.c中定義的函數(shù)及其作用如下:txd_button_luren():和主機(jī)程序中的同名函數(shù)的功能一樣,也是用來(lái)發(fā)送同步信息,由key.
31、c程序中的函數(shù)來(lái)調(diào)用。串口初始化函數(shù):和主機(jī)程序中的串口初始化函數(shù)一樣。串口中斷處理函數(shù):作用是從機(jī)每次接收從主機(jī)傳來(lái)的數(shù)據(jù)或信息時(shí),就判斷是數(shù)據(jù)還是信息,如果是數(shù)據(jù)的話,就經(jīng)過(guò)若干處理,找出各模式的數(shù)值,寫入從機(jī)的EEPROM;如果是按鍵信息的話,就根據(jù)接收來(lái)的消息,保持從機(jī)的狀態(tài)與主機(jī)同步。串口中斷處理函數(shù)的流程圖如圖4-7所示圖4-7 從機(jī)程序中串口中斷處理函數(shù)的流程圖5調(diào)試首先在紙上畫好草圖,確定好各個(gè)部件的位置,然后再將萬(wàn)能實(shí)驗(yàn)板腐蝕、打孔,之后將部件焊接就組裝成了用于調(diào)試的實(shí)物。在焊接好實(shí)物后,還需要用萬(wàn)用表檢測(cè)各個(gè)電路板上各個(gè)需要連接的器件是否導(dǎo)通,對(duì)于沒(méi)有導(dǎo)通的電路,需要查找出現(xiàn)問(wèn)題的原因,然后對(duì)電路進(jìn)行修復(fù),直至解決所有問(wèn)題,才能進(jìn)行系統(tǒng)的調(diào)試。剛開(kāi)始設(shè)計(jì)時(shí),由于考慮不全面,只設(shè)置了主機(jī)給從機(jī)發(fā)送各個(gè)模式的數(shù)值這個(gè)功能,所以運(yùn)行時(shí)經(jīng)常出現(xiàn)主機(jī)和從機(jī)顯示不協(xié)調(diào)的情況
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 刀具進(jìn)口合同范本
- 出租鋼管書架合同范本
- 2025年吉林貨運(yùn)從業(yè)資格證怎么考試
- 代租場(chǎng)地合同范本
- 公路施工項(xiàng)目合同范本
- 農(nóng)田收回合同范本
- 北京市合同范本密碼
- 亞馬遜員工合同范本
- 制作推廣合同范本
- rpo服務(wù)合同范本
- 【基于近五年數(shù)據(jù)的鴻星爾克財(cái)務(wù)報(bào)表分析15000字】
- 公司員工獎(jiǎng)懲制度流程
- 星巴克案例分析-星巴克成功之道
- 靜脈炎預(yù)防和處理課件
- 船舶種類與特點(diǎn)
- 2023年中國(guó)兵器人才學(xué)院校園招聘筆試參考題庫(kù)附帶答案詳解
- 曲軸加工工藝卡片
- 客房理論知識(shí)考試題庫(kù)(500題)
- 烏魯木齊超低溫歐斯博熱泵供暖制冷設(shè)計(jì)方案
- 婦產(chǎn)科學(xué)(第9版)第三章 女性生殖系統(tǒng)生理
- LY/T 2241-2014森林生態(tài)系統(tǒng)生物多樣性監(jiān)測(cè)與評(píng)估規(guī)范
評(píng)論
0/150
提交評(píng)論