版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、南京信息工程大學(xué)濱江學(xué)院 單片機(jī)論文中文摘要近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用msc-51系列單片機(jī)atsc51和可編程并行i/o接口芯片80c51為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車(chē)流量通過(guò)8051芯片的p1口設(shè)置紅、綠燈燃亮?xí)r間的功能
2、;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩秒時(shí)黃燈閃爍警示。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。關(guān)鍵詞:交通燈 單片機(jī) msc-51 計(jì)時(shí)abstractyears with the rapid development of science and technology, scm applications are deepening at the same time promote more traditional control detection update. in real-time detection and control of the microcomputer application sys
3、tem, the microcontroller is often used as a core component, only the scm knowledge is inadequate and should be based on specific hardware architecture hardware and software, to be improved. crossroads shuttle vehicles, pedestrians bustling, car dealers drive, people walkways, orderly. then rely on t
4、o achieve the discipline of the order then? rely on the automatic traffic light is the chain of command. many ways to control traffic lights. in this system, msc-51 series mcu atsc51 and programmable parallel i / o interface chip 80c51-centered design of traffic signal controller device to realize t
5、he actual traffic volume by 8051 according to the p1 port chip set of red, green time kindle function; traffic light cycle of light, yellow light flashes when the countdown seconds left warning. the system practical, simple, powerful extensions keywords: traffic light scm msc-51 timing目錄中文摘要1abstrac
6、t2第一章 單片機(jī)控制交通系統(tǒng)總體設(shè)計(jì)51.1單片機(jī)交通控制系統(tǒng)通行方案設(shè)計(jì)51.2單片機(jī)交通控制系統(tǒng)的功能要求61.2.1倒計(jì)時(shí)顯示61.2.2 車(chē)流量檢測(cè)及調(diào)整71.2.3時(shí)間手動(dòng)設(shè)置71.2.4 緊急處理71.3單片機(jī)交通控制系統(tǒng)的基本構(gòu)成及原理8第二章 系統(tǒng)硬件電路的設(shè)計(jì)92.1系統(tǒng)硬件總電路構(gòu)成及原理92.1.1系統(tǒng)硬件電路構(gòu)成92.1.2系統(tǒng)工作原理92.1.3車(chē)流量檢測(cè)電路及模擬102.1.4八段led數(shù)碼管112.3.4其它器件13第三章 系統(tǒng)軟件程序的設(shè)計(jì)143.1程序主體設(shè)計(jì)流程143.2子程序模塊設(shè)計(jì)153.2.1按鍵掃描程序153.2.2狀態(tài)燈顯示及判斷153.2.3
7、led倒計(jì)時(shí)顯示163.2.4車(chē)流量檢測(cè)中斷服務(wù)子程序163.2.5緊停及違規(guī)中斷服務(wù)子程序173.2.6紅綠燈時(shí)間調(diào)整程序173.2.7消抖動(dòng)程序18結(jié)束語(yǔ) 19參考文獻(xiàn)20第一章 單片機(jī)控制交通系統(tǒng)總體設(shè)計(jì)1.1單片機(jī)交通控制系統(tǒng)通行方案設(shè)計(jì)設(shè)在十字路口,分為東西向和南北向,在任一時(shí)刻只有一個(gè)方向通行,另一方向禁行,持續(xù)一定時(shí)間,經(jīng)過(guò)短暫的過(guò)渡時(shí)間,將通行禁行方向?qū)Q。其具體狀態(tài)如下圖所示。說(shuō)明:黑色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開(kāi)始變換,直至狀態(tài)6然后循環(huán)至狀1,周而復(fù)始,即如圖(圖2-1)所示:直至狀態(tài)6然后循環(huán)至狀態(tài)1,通過(guò)具體的路口交通燈狀態(tài)的演示分析我們可以把這四個(gè)狀態(tài)歸納
8、如下:圖2-1交通狀態(tài)東西方向紅燈滅,同時(shí)綠燈亮,南北方向黃燈滅,同時(shí)紅燈亮,倒計(jì)時(shí)20秒。此狀態(tài)下,東西向禁止通行,南北向允許通行。東西方向綠燈滅,同時(shí)黃燈亮,南北方向紅燈亮,倒計(jì)時(shí)2秒。此狀態(tài)下,除了已經(jīng)正在通行中的其他所以車(chē)輛都需等待狀態(tài)轉(zhuǎn)換。南北方向紅燈滅,同時(shí)綠燈亮,東西方向黃燈滅,同時(shí)紅燈亮,倒計(jì)時(shí)20秒。此狀態(tài)下,東西向允許通行,南北向禁止通行。南北方向綠燈滅,同時(shí)黃燈亮,東西方向紅燈亮,倒計(jì)時(shí)2秒。此狀態(tài)下,除了已經(jīng)正在通行中的其他所以車(chē)輛都需等待狀態(tài)轉(zhuǎn)換。下面我們可以用圖表表示燈狀態(tài)和行止?fàn)顟B(tài)的關(guān)系如下:表2-1交通狀態(tài)及紅綠燈狀態(tài)狀態(tài)1狀態(tài)3狀態(tài)4狀態(tài)6東西向禁行等待變換通
9、行等待變換南北向通行等待變換禁行等待變換東西紅燈1100東西黃燈0001東西綠燈0010南北紅燈0011南北綠燈1000南北黃燈0100東西南北四個(gè)路口均有紅綠黃3燈和數(shù)碼顯示管2個(gè),在任一個(gè)路口,遇紅燈禁止通行,轉(zhuǎn)綠燈允許通行,之后黃燈亮警告行止?fàn)顟B(tài)將變換。狀態(tài)及紅綠燈狀態(tài)如表2.1所示。說(shuō)明:0表示滅,1表示亮。1.2單片機(jī)交通控制系統(tǒng)的功能要求本設(shè)計(jì)能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號(hào)發(fā)生,還能進(jìn)行倒計(jì)時(shí)顯示,車(chē)流量檢測(cè)及調(diào)整,交通違規(guī)處理和緊急處理等功能。1.2.1倒計(jì)時(shí)顯示倒計(jì)時(shí)顯示可以提醒駕駛員在信號(hào)燈燈色發(fā)生改變的時(shí)間、在“停止”和“通過(guò)”兩者間作出合適
10、的選擇。駕駛員和行人普遍都愿意選擇有倒計(jì)時(shí)顯示的信號(hào)控制方式,并且認(rèn)為有倒計(jì)時(shí)顯示的路口更安全。倒計(jì)時(shí)顯示是用來(lái)減少駕駛員在信號(hào)燈色改變的關(guān)鍵時(shí)刻做出復(fù)雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時(shí)間,幫助駕駛員在“停止”和“通過(guò)”兩者間作出合適的選擇 。1.2.2 車(chē)流量檢測(cè)及調(diào)整隨著我國(guó)經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展,城市人口和機(jī)動(dòng)車(chē)擁有量在急劇增長(zhǎng),交通流量日益加大,交通擁擠堵塞現(xiàn)象日趨嚴(yán)重,交通事故時(shí)有發(fā)生。車(chē)輛檢測(cè)器作為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)中占有重要的地位?,F(xiàn)階段,車(chē)輛檢測(cè)器檢測(cè)方式有很多,各有其優(yōu)缺點(diǎn),如紅外線檢測(cè)器、地磁檢測(cè)器、機(jī)械壓電檢測(cè)器,磁頻檢測(cè)器、波頻檢測(cè)器
11、、視頻檢測(cè)器等。一般車(chē)流量檢測(cè)器采用傳感器+單片機(jī)+外圍器件來(lái)實(shí)現(xiàn)。 而且,目前國(guó)內(nèi)使用的紅綠燈都是固定的紅綠燈時(shí)間,并自動(dòng)切換。紅燈時(shí)間和綠燈時(shí)間,是根據(jù)道口東西向和南北向的車(chē)流量,利用統(tǒng)計(jì)方法確定的。交通警察不斷觀察十字路口的兩個(gè)方向,根據(jù)車(chē)輛密度和流速?zèng)Q定是否切換紅綠燈,以保證最佳的道路交通控制狀態(tài)。1.2.3時(shí)間手動(dòng)設(shè)置 除系統(tǒng)根據(jù)車(chē)流量自動(dòng)控制調(diào)整,也可以通過(guò)鍵盤(pán)進(jìn)行手動(dòng)設(shè)置,增加了人為的可控性,避免自動(dòng)故障和意外發(fā)生,并再緊急狀態(tài)下,可設(shè)置所有燈變?yōu)榧t燈。鍵盤(pán)是單片機(jī)系統(tǒng)中最常用的人機(jī)接口,一般情況下有獨(dú)立式和行列式兩種。前者軟件編寫(xiě)簡(jiǎn)單,但在按鍵數(shù)量較多時(shí)特別浪費(fèi)i0口資源,一般
12、用于按鍵數(shù)量少的系統(tǒng)。后者適用于按鍵數(shù)量較多的場(chǎng)合,但是在單片機(jī)i0 口資源相對(duì)較少而需要較多按鍵時(shí),此方法仍不能滿足設(shè)計(jì)要求。本系統(tǒng)要求的按鍵控制不多,且i0口足夠,可直接采用獨(dú)立式。1.2.4 緊急處理交通路口出現(xiàn)緊急狀況在所難免,如特大事件發(fā)生,救護(hù)車(chē)等急行車(chē)通過(guò)等,我們都必須盡量允許其暢通無(wú)阻,畢竟在這種情況下是分秒必爭(zhēng)的,時(shí)時(shí)刻刻關(guān)系著公共財(cái)產(chǎn)安全,個(gè)人生死攸關(guān)等。由此在交通控制中增設(shè)禁停按鍵,就可達(dá)到想此目的。1.3單片機(jī)交通控制系統(tǒng)的基本構(gòu)成及原理單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng),可用單片機(jī)直接控制信號(hào)燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當(dāng)然,接入led數(shù)碼管就可以顯示倒計(jì)時(shí)以提
13、醒行使者,更具人性化。本系統(tǒng)在此基礎(chǔ)上,加入了違規(guī)檢測(cè)電路和車(chē)流量檢測(cè)電路為單片機(jī)采集數(shù)據(jù),單片機(jī)對(duì)此進(jìn)行具體處理,及時(shí)調(diào)整控制指揮,為了超越視覺(jué)指揮的局限性,同時(shí)接上蜂鳴器,在聽(tīng)覺(jué)上加強(qiáng)了指揮提醒作用。如圖(圖2-2)所示: 單片機(jī)紅黃綠信號(hào)燈8級(jí)led數(shù)碼管顯示車(chē)流量傳感器最小系統(tǒng)外圍接口按鍵控制蜂鳴器 單片本設(shè)計(jì)系統(tǒng)以單片機(jī)為控制核心,連接成最小系統(tǒng),由車(chē)流量檢測(cè)模塊,違規(guī)檢測(cè)模塊,和按鍵設(shè)置模塊等產(chǎn)生輸入,信號(hào)燈狀態(tài)模塊,led倒計(jì)時(shí)模塊和蜂鳴器狀態(tài)模塊接受輸出。系統(tǒng)的總體框圖如上所示。鍵盤(pán)設(shè)置模塊對(duì)系統(tǒng)輸入模式選擇及具體通行時(shí)間設(shè)置的信號(hào),系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制
14、,同時(shí)將時(shí)間數(shù)據(jù)倒計(jì)時(shí)輸入到led數(shù)碼管上實(shí)時(shí)顯示。在此過(guò)程中還要實(shí)時(shí)捕捉違規(guī)檢測(cè)和緊急按鍵信號(hào),以達(dá)到對(duì)異常狀態(tài)進(jìn)行實(shí)時(shí)控制的目的。急停按鍵和違規(guī)檢測(cè)隨時(shí)調(diào)用中斷。在模式選擇上,若為自動(dòng)模式,將不斷調(diào)用車(chē)流量檢測(cè)模塊對(duì)車(chē)流量進(jìn)行檢測(cè)統(tǒng)計(jì),到達(dá)一定時(shí)間將修正通行時(shí)間一滿足不同路況的需要。第二章 系統(tǒng)硬件電路的設(shè)計(jì)2.1系統(tǒng)硬件總電路構(gòu)成及原理實(shí)現(xiàn)本設(shè)計(jì)要求的具體功能,可以選用at89c52單片機(jī)及外圍器件構(gòu)成最小控制系統(tǒng),12個(gè)發(fā)光二極管分成4組紅綠黃三色燈構(gòu)成信號(hào)燈指示模塊,8個(gè)led東西南北各兩個(gè)構(gòu)成倒計(jì)時(shí)顯示模塊,車(chē)流量檢測(cè)傳感器采集流量數(shù)據(jù),光敏傳感器捕獲違規(guī)信號(hào),若干按鍵組成時(shí)間設(shè)置
15、和模式選擇按鈕和緊急按鈕等,以及用1個(gè)蜂鳴器進(jìn)行報(bào)警。2.1.1系統(tǒng)硬件電路構(gòu)成本系統(tǒng)以單片機(jī)為核心,組成一個(gè)集車(chē)流量采集、處理、自動(dòng)控制為一身的閉環(huán)控制系統(tǒng)。系統(tǒng)硬件電路由車(chē)流量檢測(cè)電路、單片機(jī)、違規(guī)檢測(cè)電路,狀態(tài)燈,led顯示,按鍵,蜂鳴器組成。其具體的硬件電路總圖如圖3.1所示。其中p0,p1,用于送顯兩片led數(shù)碼管,p2用于控制紅綠黃發(fā)光二極管,xtal1和xtal2接入晶振時(shí)鐘電路,rest引腳接上復(fù)位電路,p3.2即int1接違規(guī)檢測(cè)電路和緊停東西時(shí)間設(shè)置鍵j,p3.3即int1接車(chē)流量檢測(cè)電路,p3.6接南北時(shí)間設(shè)置鍵s,p3.7接自動(dòng)模式選擇返回鍵f,p3.4接蜂鳴器。2.1
16、.2系統(tǒng)工作原理系統(tǒng)上電或手動(dòng)復(fù)位之后,系統(tǒng)等待模式選擇設(shè)置鍵按下,模式分兩種:紅綠燈時(shí)間自動(dòng)和紅綠燈時(shí)間設(shè)置。若此時(shí)f鍵按下,則設(shè)置為自動(dòng)模式,若此時(shí)按下的是s鍵,則設(shè)置為時(shí)間設(shè)置模式,依次按s若干次,j鍵若干次可設(shè)置好兩個(gè)方向的紅綠燈時(shí)間,再按f鍵確認(rèn)。其實(shí)這個(gè)過(guò)程就是將存儲(chǔ)時(shí)間值的寄存器進(jìn)行設(shè)置,以及標(biāo)志是否要進(jìn)行車(chē)流量檢測(cè)及調(diào)整。接下來(lái),系統(tǒng)必須先顯示狀態(tài)燈及l(fā)ed數(shù)碼管,將狀態(tài)碼值送顯p2口,將要顯示的時(shí)間值的個(gè)位和十位分別送顯p0和p1口,在此同時(shí)以50ms為周期,用軟件方法計(jì)時(shí)1秒,到達(dá)1s就要將時(shí)間值減1,刷新led數(shù)碼管。時(shí)間到達(dá)一個(gè)狀態(tài)所要全部時(shí)間,則要進(jìn)行下一狀態(tài)判斷及銜
17、接,并裝入次狀態(tài)的相應(yīng)狀態(tài)碼值以及時(shí)間值,當(dāng)然,還要開(kāi)啟兩個(gè)外部中斷,其一為違規(guī)信號(hào)或禁停信號(hào)輸入,一旦信號(hào)有效,中斷開(kāi)始,進(jìn)入中斷服務(wù)子程序,開(kāi)啟蜂鳴器禁止全部通行,當(dāng)按下f鍵,中斷結(jié)束返回。其二為車(chē)流量檢測(cè)信號(hào)輸入,若檢測(cè)到車(chē)輛經(jīng)過(guò),進(jìn)入相應(yīng)的中斷子程序,將存儲(chǔ)車(chē)流量的寄存器加1,然后中斷結(jié)束返回。每滿一個(gè)狀態(tài)循環(huán)周期,若為自動(dòng)模式,則須將檢測(cè)到的車(chē)流量數(shù)據(jù)處理一次,判斷兩個(gè)方向的交通輕重緩急狀況,再調(diào)整下次狀態(tài)循環(huán)的紅綠燈時(shí)間,以達(dá)到自動(dòng)控制的目的。如圖(圖3-1)所示。圖3-1基于單片機(jī)的交通燈控制系統(tǒng)電路圖2.1.3車(chē)流量檢測(cè)電路及模擬為了達(dá)到對(duì)紅綠燈的時(shí)間控制,需要對(duì)道路上的車(chē)流量
18、進(jìn)行檢測(cè)。當(dāng)前比較流行的車(chē)流量檢測(cè)器件,是一種自感式的車(chē)輛傳感器。其工作原理是當(dāng)車(chē)輛經(jīng)過(guò)傳感器時(shí),引起其自感的變化,考慮到單片機(jī)系統(tǒng)的便利性,本次設(shè)計(jì)用一種手動(dòng)的操作方式,即車(chē)流量的檢測(cè)電路用撥斷開(kāi)關(guān)代替。其基本思路為:當(dāng)車(chē)流量大時(shí),有撥斷開(kāi)關(guān)送出一個(gè)高電平。另外,再單片機(jī)和坡度按開(kāi)關(guān)之間加了光電隔離。下面叫簡(jiǎn)紹光電隔離,以tlp550為例。tlp550是日本東芝公司生產(chǎn)的一款光耦,該光耦沒(méi)有和基極連接,適合與再噪聲比較大的環(huán)境中應(yīng)用。tlp550的工作原理如下:當(dāng)2.3叫的電壓為正,且能時(shí)發(fā)光二極管正常發(fā)光時(shí),控制的發(fā)光二極管發(fā)光,使得輸出端的光敏二極管導(dǎo)通。這樣輸出端的基極相當(dāng)于與8引腳連
19、接,其電平為高,使得三極管導(dǎo)通,及5.6兩個(gè)引腳導(dǎo)通。由于5引腳接地,這樣輸出端6叫就為低電平。再實(shí)際使用中,6.8引腳通常會(huì)連接一個(gè)電阻。這樣當(dāng)2.3引腳的電壓不足使發(fā)光二級(jí)光發(fā)光時(shí),輸出端三極管就不到同,就相當(dāng)于輸出端6引腳通過(guò)一個(gè)電阻接到了8腳上。相對(duì)于后面的連接電路來(lái)書(shū),其為高電平。這樣就可以通過(guò)控制2.3引腳之間的電壓,來(lái)控制輸出6引腳的電平,達(dá)到電壓耦合的隔離的作用。車(chē)流量檢測(cè)電路如下圖(圖3-2)所示。圖3-2 車(chē)流量檢測(cè)電路基于光電隔離的作用,再加上撥斷開(kāi)關(guān)和led,為了避免干擾信號(hào),可以加入光電耦合器。如圖所示,當(dāng)開(kāi)關(guān)狀態(tài)如圖所示時(shí),led點(diǎn)亮,同時(shí)低電平被單片機(jī)捕獲。當(dāng)開(kāi)關(guān)
20、撥下時(shí)led熄滅,同時(shí)高點(diǎn)平被單片機(jī)捕獲,這樣單片機(jī)通過(guò)捕獲的電平狀態(tài)做出相應(yīng)的控制,與led的狀態(tài)即車(chē)流量的狀態(tài)互相配合協(xié)調(diào)。2.1.4八段led數(shù)碼管led顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價(jià)格低、壽命長(zhǎng)、維護(hù)簡(jiǎn)便等優(yōu)點(diǎn)。led數(shù)碼管的結(jié)構(gòu)簡(jiǎn)單,分為七段和八段兩種形式,也有共陽(yáng)和共陰之分。以八段共陽(yáng)管為例,它有8個(gè)發(fā)光二極管(比七段多一個(gè)發(fā)光二極管,用來(lái)顯示sp,即點(diǎn)),每個(gè)發(fā)光二極管的陽(yáng)極連在一起,如圖(圖3-3)所示。這樣,一個(gè)led數(shù)碼管就有i根位選線和8根段選線,要想顯示一個(gè)數(shù)值,就要分別對(duì)它們的高低電平來(lái)加以控制。為方便起見(jiàn),本文主要討論共陽(yáng)八段led數(shù)碼顯示管,其他類(lèi)形
21、的顯示管與其類(lèi)似。圖3-3 led數(shù)碼管led 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如 dp,g,f,e,d,c,b,a全亮顯示為,采用共陽(yáng)極連接驅(qū)動(dòng)代碼,代碼表如下表(表3-1)所示。表3-1 驅(qū)動(dòng)代碼表顯示數(shù)值dp,g,f,e,d,c,b,a驅(qū)動(dòng)代碼011010000c0h111111001f9h210100100a4h310110000b0h41001100199h51001001092h61000001082h711111000f8h81000000080h91001000090h相應(yīng)在程序軟件上,可以通過(guò)調(diào)用程序給定的秒值經(jīng)過(guò)特定計(jì)算算
22、出需要顯示的個(gè)位和十位,然后有dptr調(diào)取ledmap的代碼。led8段數(shù)碼管的設(shè)置為每個(gè)方位上的一對(duì)2為顯示器。四個(gè)方位上總共用8個(gè)led接在單片機(jī)的io口上。雖然路口不一樣,但是顯示的時(shí)間在數(shù)字上是一樣的,所以兩邊連接的io口是對(duì)稱(chēng)的。如圖(圖3-4)所示,其中a,b分別是p0,p1的網(wǎng)絡(luò)標(biāo)號(hào)。圖3-4 led連接圖2.1.5其它器件(1)發(fā)光二極管根據(jù)本設(shè)計(jì)的特點(diǎn),紅綠燈的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個(gè)方向上設(shè)置紅綠黃燈,總共4組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對(duì)稱(chēng)分布的,如下圖(圖3-6)所示:圖3-6 信號(hào)燈的連接(2)按
23、鍵控制本設(shè)計(jì)設(shè)置了有3個(gè)鍵:s鍵p3.2,j鍵p3.2,f鍵p3.7。每個(gè)按鍵一端接地,另一端接上拉電阻。低電平有效,當(dāng)按鍵按下端口接地,單片機(jī)捕獲到低電平,從而知道相應(yīng)的輸入信息。如下圖(圖3-7)所示。圖3-7 按鍵示意第三章 系統(tǒng)軟件程序的設(shè)計(jì)3.1程序主體設(shè)計(jì)流程全部控制程序?qū)嶋H上分為若干模塊:鍵盤(pán)設(shè)置處理程序,狀態(tài)燈控制程序,led顯示程序,消抖動(dòng)延時(shí)程序,次狀態(tài)判斷及處理程序,緊?;蜻`規(guī)判斷程序,中斷服務(wù)子程序,車(chē)流量計(jì)數(shù)程序,紅綠燈時(shí)間調(diào)整程序等。整個(gè)軟件程序方面主要分兩大部分:按鍵處理程序和50ms掃描程序。流程圖如圖(圖4-1)所示。 圖4-1系統(tǒng)總的流程圖3.2子程序模塊設(shè)
24、計(jì)3.2.1按鍵掃描程序首先程序不斷掃描模式設(shè)置鍵,分別記為:s鍵,j鍵,f鍵對(duì)應(yīng)端口的3.6,p3.2,p3.7,低電平有效,按鍵順序是指定的,若直接按f鍵,則為自動(dòng)調(diào)整模式,然后進(jìn)入下一程序;若先按s鍵,再按j鍵,f鍵則為設(shè)置時(shí)間模式,然后進(jìn)入下一程序。程序的開(kāi)始要判斷是否有鍵按下,可以不斷將s鍵值和f鍵值相與,與值為1則表示沒(méi)有鍵按下,為0則表示有鍵按下,程序如下:k1: mov c, p0.0 anl c, p0.1jb c, k1 接下來(lái)要判斷具體是那個(gè)鍵,若為f鍵,則將自動(dòng)標(biāo)志位置1,進(jìn)入下一程序,否則為s鍵,則表示設(shè)置南北綠燈時(shí)間,用r0存值,按1下加1,同時(shí)還需判斷此時(shí)j鍵是否
25、按下,若按下,則表示南北綠燈時(shí)間設(shè)置完畢,開(kāi)始設(shè)置東西綠燈時(shí)間,用r1存值,同樣按1下加1 ,同時(shí)判斷此時(shí)f鍵是否按下,若按下,則表示時(shí)間設(shè)置完畢,進(jìn)入下一程序。在這個(gè)過(guò)程中,s,j鍵的計(jì)數(shù)是循環(huán)的,從初值20開(kāi)始,加到40則循環(huán)回到20。如判斷s鍵程序如下:cjnz r0, #40, v1mov r0, #20v1: inc r0 3.2.2狀態(tài)燈顯示及判斷在本設(shè)計(jì)中,實(shí)際控制的燈只有6個(gè),即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。定義io端口如下,其中均是低電平有效。h_green bit p2.2h_yellow bit p2.3l_red bit p2.4l_gr
26、een bit p2.5l_yellow bit p2.6共有4鐘狀態(tài):東西紅燈亮,南北綠燈亮(11011101/ddh);東西紅燈亮,南北黃燈亮(10111101/bdh);東西綠燈亮,南北紅燈亮(11101101/edh);東西黃燈亮,南北紅燈亮(11100111/e7h)。括號(hào)中是p2端口8個(gè)引腳值p2.7,p2.6,p2.5,p2.4,p2.3,p2.2,p2.1,p2.0以及對(duì)應(yīng)的十六進(jìn)制碼。在用于顯示發(fā)光二極管時(shí),直接由mov指令將十六進(jìn)制碼送入p2口。剛才的4個(gè)狀態(tài)是依次變換的,這就要涉及到狀態(tài)的判斷和銜接了。先把p2端口的值與所有的4個(gè)狀態(tài)碼比較,若相同則判斷成功當(dāng)前狀態(tài),再把
27、下一狀態(tài)的狀態(tài)碼送顯p2即可。程序如下:mov a, p2cjnz a, #0ddh,d1mov p2, #bdhd1: cjnz a, bdh,d2mov p2, #edhd2: cjnz a, #edh,d3mov p2, #e7hd3: cjnz a, #e7h,ymov r2, #ddh3.2.3 led倒計(jì)時(shí)顯示led計(jì)時(shí)每1秒都要刷新1次,那么計(jì)時(shí)滿1秒時(shí)就要將存儲(chǔ)時(shí)間的工作寄存器r4減1,然后送入led顯示程序中顯示。下面要將時(shí)間數(shù)據(jù)r4的十位,個(gè)位分開(kāi)送顯p1,p0端口,首先將r4除以10,整數(shù)即十位放在a中,余數(shù)即個(gè)位放在b中,設(shè)置7段led顯示數(shù)據(jù)的數(shù)據(jù)表,用數(shù)據(jù)指針寄存器
28、dptr指向數(shù)據(jù)表的首地址,再加上a中的偏移量,就可以指向十位數(shù)字,然后送顯即可,個(gè)位顯示同理。具體程序如下:mov a, r4 mov b, #10div a, bmov dptr, #ledmapmovc a, a+dptrmov p1, amov a, bmovc a, a+dptrmov p3, aledmap: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh3.2.4車(chē)流量檢測(cè)中斷服務(wù)子程序車(chē)流量檢測(cè)是用外部中斷引腳p3.3即int1捕獲到一個(gè)低電平,則進(jìn)入相應(yīng)的中斷服務(wù)子程序,在子程序中,用r5計(jì)南北向車(chē)流量,用r6計(jì)東西向車(chē)流量,設(shè)車(chē)向標(biāo)志位
29、為01h,判斷車(chē)向,程序如下:jnb 01h, u inc r5u: inc r63.2.5緊停及違規(guī)中斷服務(wù)子程序緊停按鍵和違規(guī)信號(hào)傳感器均連接到外部中斷引腳p3.2,即int0捕獲到一個(gè)低電平,則進(jìn)入該中斷,中斷程序中先把蜂鳴器p3.4端口置0,啟動(dòng)蜂鳴。并且等待恢復(fù)鍵f鍵p3.7按下,然后關(guān)閉蜂鳴返回。int0: setb p0.5 jb p0.0, $lcall delayclr p0.5reti3.2.6紅綠燈時(shí)間調(diào)整程序根據(jù)紅綠燈時(shí)間調(diào)整原理,一個(gè)周期下來(lái),r5,r6中分別存儲(chǔ)著南北,東西的車(chē)流量,接下來(lái)求單位時(shí)間車(chē)流量,此時(shí)南北向時(shí)間,東西向時(shí)間分別存儲(chǔ)在r0,r1中,則兩個(gè)方向的流量比例為(r5/r0)/(r6/r1)=(r5*r1)(r6*r0),顯然該比例是1左右?guī)?shù)的值,然而單片機(jī)程序中只取整數(shù),重要的數(shù)據(jù)信息就會(huì)丟失,所以本設(shè)計(jì)中首先將(r5*r1)乘以10,比例就變?yōu)?0左右的值。將該比例值放在a,然后進(jìn)行時(shí)間調(diào)整。由于受到多方面的限制,時(shí)間調(diào)整在此只劃定3個(gè)范圍。比例0到0.7為一個(gè)范圍,0.8到1.5為一個(gè)范圍,1.5以上為一個(gè)范圍。第一范圍顯然表明東西向交通嚴(yán)重,應(yīng)將時(shí)間調(diào)長(zhǎng);第二范圍表明兩向相當(dāng),可設(shè)置一樣的時(shí)間,第三范圍表明南北向交通嚴(yán)重,應(yīng)將該向時(shí)間調(diào)長(zhǎng)。具體設(shè)置如
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版蔬菜種植與農(nóng)產(chǎn)品電商運(yùn)營(yíng)公司合作合同
- 2024年科研機(jī)構(gòu)高性能電腦采購(gòu)合同
- 2025年度智能停車(chē)場(chǎng)安裝工程勞動(dòng)合同范本3篇
- 2024年蘋(píng)果品牌授權(quán)與市場(chǎng)推廣合作協(xié)議范文3篇
- 2024年行政合同中的行政優(yōu)益權(quán)探析2篇
- 二零二五年度安保服務(wù)品牌授權(quán)合同規(guī)范3篇
- 二零二五年度安全生產(chǎn)法律法規(guī)咨詢服務(wù)合同6篇
- 2025年度消防工程勞務(wù)分包及質(zhì)量控制合同范本2篇
- 二零二五年度吊裝貨物吊裝作業(yè)現(xiàn)場(chǎng)通信保障合同范本3篇
- 2025版高性能抗滑樁施工與維護(hù)一體化服務(wù)合同3篇
- 2025年觀看反腐倡廉警示教育片心得體會(huì)范文
- 2025年中國(guó)煙草總公司湖北省公司校園招聘227人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024版帶貨主播電商平臺(tái)合作服務(wù)合同范本3篇
- 工程設(shè)計(jì)-《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)-完整版
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試政治試題 附答案
- 福建省泉州市2022-2023學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量監(jiān)測(cè)化學(xué)試題(含答案)
- 公司組織架構(gòu)圖(可編輯模版)
- 煤炭質(zhì)量分級(jí)及低位發(fā)熱量計(jì)算
- 臨床試驗(yàn)樣本量簡(jiǎn)易計(jì)算器
- 帶電作業(yè)車(chē)庫(kù)技術(shù)規(guī)范書(shū)
- 中醫(yī)藥治療軀體形式障礙的研究進(jìn)展
評(píng)論
0/150
提交評(píng)論