版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄摘 要11 系統(tǒng)硬件設(shè)計(jì)21.1 80c51單片機(jī)引腳圖及引腳功能介紹21.2 74ls245引腳圖及功能41.3 八段led數(shù)碼管51.4 硬件系統(tǒng)總控制電路61.5各模塊控制電路81.5.1 交通燈控制電路81.5.2 倒計(jì)時(shí)顯示電路91.5.3 緊急通行電路121.5.4 聲音警示裝置132 系統(tǒng)程序設(shè)計(jì)142.1 主程序流程圖142.2 顯示子程序流程圖153 心得體會(huì)16參考文獻(xiàn)17附錄 源程序18摘 要 近年來(lái)隨著科技的飛速發(fā)展,一個(gè)以微電子技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù)為先導(dǎo)的信息革命正在蓬勃發(fā)展。計(jì)算機(jī)技術(shù)作為三者之一,怎樣與實(shí)際應(yīng)用更有效的結(jié)合并發(fā)揮其作用。單片機(jī)作為計(jì)算機(jī)技
2、術(shù)的一個(gè)分支,正在不斷的應(yīng)用到實(shí)際生活中,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)的更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件使用,針對(duì)具體應(yīng)用對(duì)象的特點(diǎn),配以其它器件來(lái)加以完善。 十字路口車(chē)輛穿梭,行人熙攘,車(chē)行車(chē)道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)交通的井然秩序呢?靠的是交通信號(hào)燈的自動(dòng)指揮系統(tǒng),來(lái)實(shí)現(xiàn)交通的井然有序。交通信號(hào)燈控制方式很多。本系統(tǒng)采用美國(guó)atmel公司生產(chǎn)的單片機(jī)at80s51,以及其它芯片來(lái)設(shè)計(jì)交通燈控制。實(shí)現(xiàn)了通過(guò)at89s51芯片的p1口設(shè)置紅、綠燈點(diǎn)亮的功能,輸出設(shè)置顯示時(shí)間。交通燈的點(diǎn)亮采用發(fā)光二極管實(shí)現(xiàn),時(shí)間的顯示采用七段數(shù)碼管實(shí)現(xiàn)。單片機(jī)
3、系統(tǒng)采用的直流供電。關(guān)鍵詞:at89s51單片機(jī);智能交通燈控制系統(tǒng);基于51單片機(jī)智能交通燈設(shè)計(jì)1 系統(tǒng)硬件設(shè)計(jì)1.1 80c51單片機(jī)引腳圖及引腳功能介紹80c51系列中,用chmos工藝制造的單片機(jī)都采用雙列直插式(dip)40腳封裝,引腳信號(hào)完全相同。圖1-1為引腳圖圖1-1 80c51引腳圖這40根引腳大致可分為:電源(vcc、vss、vpp、vpd)、時(shí)鐘(xtal1、xtal2)、i/o口(p0p3)、地址總線(p0口、p2口)和控制總線(ale、rst、 、 、 )等幾部分。它們的功能簡(jiǎn)述如下:1電源 vcc(引腳號(hào)40),芯片電源,接+5v;vss(引腳號(hào)20),電源接地端。
4、2時(shí)鐘 xtal1(引腳號(hào)18)內(nèi)部振蕩電路反相放大器的輸入端,是外接晶振的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。xtal2(引腳號(hào)19)內(nèi)部振蕩器的反相放大器輸出端,是外接晶振的另一端。當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。3. 控制總線(1)ale/ (引腳號(hào)30): 正常操作時(shí)為ale功能(允許地址鎖存),用來(lái)把地址的低字節(jié)鎖存到外部鎖存器。ale引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘信號(hào)或用于定時(shí)。但要注意,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。ale端可以驅(qū)動(dòng)(吸收或輸出電流)8個(gè)lsttl電路。在8751單片機(jī)ep
5、rom編程期間,此引腳接編程脈沖( 功能)。(2) (引腳號(hào)29):外部程序存儲(chǔ)器讀選通信號(hào)。在從外部程序存儲(chǔ)器取指令(或數(shù)據(jù))期間, 在每個(gè)機(jī)器周期內(nèi)兩次有效。 可以驅(qū)動(dòng)8個(gè)lsttl電路。(3)rst/vpd(引腳號(hào)9):復(fù)位信號(hào)輸入端。振蕩器工作時(shí),該引腳上持續(xù)2個(gè)機(jī)器周期的高電平可實(shí)現(xiàn)復(fù)位操作。此引腳還可接上備用電源。在vcc掉電期間,由 向內(nèi)部ram提供電源,以保持內(nèi)部ram中的數(shù)據(jù)。(4) /vpp(引腳號(hào)31): 為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器的選擇端。當(dāng) 為高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器(pc值小于4k);當(dāng) 為低電平時(shí),訪問(wèn)外部程序存儲(chǔ)器。對(duì)于87c51單片機(jī),在eprom編
6、程期間,此端為21v編程電源輸入端。4. i/o線 (1)p0口(引腳號(hào)3239):?jiǎn)纹瑱C(jī)的雙向數(shù)據(jù)總線和低8位地址總線。在訪問(wèn)外部存儲(chǔ)器時(shí)實(shí)現(xiàn)分時(shí)操作,先用作地址總線,在ale信號(hào)的下降沿,地址被鎖存;然后用作為數(shù)據(jù)總線。它也可以用作雙向輸入/輸出口。p0口能驅(qū)動(dòng)8個(gè)lsttl負(fù)載。(2)p1口(引腳號(hào)18):準(zhǔn)雙向輸入/輸出口,它能驅(qū)動(dòng)4個(gè)lsttl負(fù)載。(3)p2口(引腳號(hào)2128):準(zhǔn)雙向輸入/輸出口。在訪問(wèn)外部存儲(chǔ)器時(shí),用作高8位地址總線。p2口能驅(qū)動(dòng)4個(gè)lsttl負(fù)載。(4)p3口(引腳號(hào)1017):準(zhǔn)雙向輸入/輸出口,它能驅(qū)動(dòng)4個(gè)lsttl負(fù)載。p3口的每一引腳還有另外一種功能:
7、p3.0rxd:串行口輸入端p3.1txd:串行口輸出端p3.2 :外部中斷0中斷請(qǐng)求輸入端p3.3 :外部中斷1中斷請(qǐng)求輸入端p3.4t0:定時(shí)器/計(jì)數(shù)器0外部輸入端p3.5t1:定時(shí)器/計(jì)數(shù)器1外部輸入端p3.6 :外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)p3.7 :外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)1.2 74ls245引腳圖及功能74ls245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。它的功能引腳圖如圖1-2所示。圖1-2 74ls245引腳圖74ls245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)8051單片機(jī)的p0口總線負(fù)載達(dá)到或超過(guò)p0最大負(fù)載
8、能力時(shí),必須接入74ls245等總線驅(qū)動(dòng)器。當(dāng)片選端/ce低電平有效時(shí),dir=“0”,信號(hào)由 b 向 a 傳輸;(接收)dir=“1”,信號(hào)由 a 向 b 傳輸;(發(fā)送)當(dāng)ce為高電平時(shí),a、b均為高阻態(tài)。由于p2口始終輸出地址的高8位,接口時(shí)74ls245的三態(tài)控制端1g和2g接地,p2口與驅(qū)動(dòng)器輸入線對(duì)應(yīng)相連。p0口與74ls245輸入端相連,e端接地,保證數(shù)據(jù)線暢通。8051的/rd和/psen相與后接dir,使得rd且psen有效時(shí),74ls245輸入(p0.1d1),其它時(shí)間處于輸出(p0.1d1)。1.3 八段led數(shù)碼管led顯示屏作為大型顯示設(shè)備的一種,具有亮度高、價(jià)格低、壽
9、命長(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)顯示dp,即點(diǎn)),每個(gè)發(fā)光二極管的陽(yáng)極連在一起,如圖1-3所示。這樣,一個(gè)led數(shù)碼管就有i根位選線和8根段選線,要想顯示一個(gè)數(shù)值,就要分別對(duì)它們的高低電平來(lái)加以控制。為方便起見(jiàn),本文主要討論共陽(yáng)八段led數(shù)碼顯示管,其他類(lèi)形的顯示管與其類(lèi)似。圖1-3 八段共陽(yáng)管示意圖led 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形,如 dp,g,f,e,d,c,b,a全亮顯示為,采用共陽(yáng)極連接驅(qū)動(dòng)代碼,代碼表如表
10、1所示。表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ì)算算出需要顯示的個(gè)位和十位,然后有dptr調(diào)取ledmap的代碼。led8段數(shù)碼管的設(shè)置為每個(gè)方位上的一對(duì)2為顯示器。四個(gè)方位上總共用4個(gè)led接在單片機(jī)的io口上。雖然路口不一樣,但是顯示的時(shí)間在數(shù)字上是一樣的,所以兩邊連接的io口
11、是對(duì)稱(chēng)的。1.4 硬件系統(tǒng)總控制電路本系統(tǒng)以單片機(jī)為核心,系統(tǒng)硬件電路由狀態(tài)燈,led顯示,按鍵,組成。其具體的硬件電路總原理圖如圖1-4所示。其中p0用于送顯四片led數(shù)碼管,p2用于控制紅綠黃發(fā)光二極管,p1.0,p1.1,與p1.1和p1.2對(duì)數(shù)碼管進(jìn)行片選,p3口為緊急情況處理按鍵,既根據(jù)車(chē)流量控制紅綠黃發(fā)光二極管通斷時(shí)間。系統(tǒng)上電或手動(dòng)復(fù)位之后,系統(tǒng)先顯示狀態(tài)燈及l(fā)ed數(shù)碼管,將狀態(tài)碼值送顯p2口,將要顯示的時(shí)間值的個(gè)位和十位分別送顯p0口,在此同時(shí)用軟件方法計(jì)時(shí)1秒,到達(dá)1s就要將時(shí)間值減1,刷新led數(shù)碼管。時(shí)間到達(dá)一個(gè)狀態(tài)所要全部時(shí)間,則要進(jìn)行下一狀態(tài)判斷及銜接,并裝入次狀態(tài)的
12、相應(yīng)狀態(tài)碼值以及時(shí)間值,當(dāng)然,還要開(kāi)啟三個(gè)外部中斷,其一為全部路口緊急情況處理中斷,一旦信號(hào)有效,即按鍵為低電平時(shí)進(jìn)入中斷服務(wù)子程序,東西南北路口的狀態(tài)禁止通行。其二為東西方向或南北方向禁止通行,一旦信號(hào)有效將進(jìn)入相應(yīng)中斷服務(wù)子程序,某一方向狀態(tài)禁止通行。其三為通行時(shí)間調(diào)整中斷,若按鍵有效,進(jìn)入相應(yīng)的中斷子程序,對(duì)時(shí)間進(jìn)行調(diào)整,可延長(zhǎng)或減少某一路段的通行時(shí)間,此后再按確定鍵則中斷結(jié)束返回。圖1-4 控制系統(tǒng)總原理圖1.5各模塊控制電路1.5.1 交通燈控制電路這里我們采用發(fā)光二極管作為交通燈來(lái)使用,單片機(jī)的i/o接口直接和交通燈(發(fā)光二極管)連接。在十字路口的四組紅、黃、綠三色交通燈中,東西方
13、向道路上的兩組同色燈連接在一起,南北方向道路上的兩組同色的燈也彼此連接在,控制受單片機(jī)p2.1p2.6控制。單片機(jī)的i/o接口與交通燈電路的具體連接方式為:p2.1p2.3分別接?xùn)|西方向的紅、黃、綠共6個(gè)放光二極管,p2.4p2.6分別接南北方向的紅、黃、綠共6個(gè)發(fā)光二極管。12個(gè)發(fā)光二極管采用了共陰極的連接方式,因此i/o口輸出高電平時(shí),與之相連的發(fā)光二極管會(huì)亮,i/o口輸出低電平是,相應(yīng)的發(fā)光二極管會(huì)滅。初始東西綠燈亮,南北紅燈亮,東西路口車(chē)通行,時(shí)隔20s,黃燈閃爍5次。之后,南北綠燈亮,東西紅燈亮,方向開(kāi)始通車(chē),時(shí)隔20s,南北黃燈閃爍5次,然后又切換成東西方向通車(chē),如此重復(fù)。當(dāng)某一方
14、向發(fā)生交通意外或者需要停止方向通行是,這一方向亮紅燈。處理完之后,按下確定鍵,重新按上述方式工作。當(dāng)發(fā)生交通意外(中斷產(chǎn)生)時(shí),全部亮紅燈,進(jìn)行交通事故的處理。當(dāng)事故處理完畢,按下確定鍵,重新按上述方式工作。當(dāng)南北路口的流量大時(shí),可以增加南北路口亮綠燈的時(shí)間,當(dāng)東西路口的流量大時(shí),可以增加?xùn)|西路口亮綠燈的時(shí)間,結(jié)束后調(diào)回正常狀態(tài)。交通燈電路如圖1-5所示。圖1-5 交通燈電路1.5.2 倒計(jì)時(shí)顯示電路倒計(jì)時(shí)顯示可以提醒駕駛員在信號(hào)燈燈色發(fā)生改變的時(shí)間、在“停止”和“通過(guò)”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計(jì)時(shí)顯示的信號(hào)控制方式,并且認(rèn)為有倒計(jì)時(shí)顯示的路口更安全。倒計(jì)時(shí)顯示是用
15、來(lái)減少駕駛員在信號(hào)燈色改變的關(guān)鍵時(shí)刻做出復(fù)雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時(shí)間,幫助駕駛員在“停止”和“通過(guò)”兩者間作出合適的選擇 。四個(gè)路口的計(jì)時(shí)顯示都是由p0口控制,又p1口的p1.0p1.2片選這些顯示管,而東西兩個(gè)方向的顯示時(shí)間一樣,南北方向時(shí)間也一樣,片選信號(hào)能控制東西也南北顯示不同的時(shí)間。當(dāng)某一方向?yàn)榫G燈時(shí),在綠燈倒計(jì)時(shí)結(jié)束后會(huì)再顯示一個(gè)5s的倒計(jì)時(shí),以供黃燈顯示使用。顯示管連接圖如圖1-5所示。在單片機(jī)與顯示器之間加了一個(gè)8*4.7k的排阻與一個(gè)74ls245芯片,排阻的作用是上拉電阻,防止電流過(guò)高燒掉顯示管,起到保護(hù)顯示管的作用,其連接圖如圖1-6所示。74ls
16、245的作用是驅(qū)動(dòng)顯示管點(diǎn)亮。其連接圖如圖1-7所示。圖1-5 顯示管連接圖圖1-6 排阻連接圖圖1-7 74ls245驅(qū)動(dòng)芯片連接圖1.5.3 緊急通行電路該電路為緊急情況和根據(jù)車(chē)流量調(diào)節(jié)紅綠燈時(shí)間長(zhǎng)度控制電路。通過(guò)單片機(jī)的p3.1p3.7口的七個(gè)接口來(lái)控制。在緊急情況下,需要停止所有方向上的車(chē)的行駛,按下p3.1接口上的開(kāi)關(guān),接低電平,使其發(fā)生作用,發(fā)出令所有路口的紅燈點(diǎn)亮的脈沖,禁止所有車(chē)輛通行。當(dāng)需要禁止東西方向或者南北方向通行時(shí),按下p3.2或者p3.3可以使其方向上的紅燈亮起,禁止該方向車(chē)輛通行,而另一方向上則綠燈常量,車(chē)輛通行。例如,按下p3.2上的開(kāi)關(guān),此時(shí)南北方向上的紅燈常亮
17、,而東西方向上綠燈常亮,這就起到了南北禁止東西通行的效果,按下p3.3上的開(kāi)關(guān)則與之相反。有時(shí)候某個(gè)方向上的車(chē)流量比較大,另一個(gè)方向上的車(chē)流量比較少,這就需要調(diào)整通行時(shí)間,p3.5是加時(shí)間端口,p3.6為減時(shí)間端口,按下一次開(kāi)關(guān)則會(huì)增加或者減少1s,p3.7接的是切換方向開(kāi)關(guān),按下開(kāi)關(guān)可以切換方向時(shí)間的調(diào)整,例如現(xiàn)在切換開(kāi)關(guān)是東西方向,而東西方向車(chē)流量比較少,南北方向車(chē)流量比較大,這就需要增加南北方向通行時(shí)間,減少東西方向通行時(shí)間。首先通過(guò)p3.6口減少東西方向通行時(shí)間,然后按下切換方向鍵,這就切換到了南北方向時(shí)間調(diào)整狀態(tài),這是按下p3.5,可以增加通行時(shí)間。p3.4為確定鍵,也可以稱(chēng)之為復(fù)位
18、鍵,要解除禁止時(shí),按下確認(rèn)鍵就可回到正常工作狀態(tài),當(dāng)時(shí)間調(diào)整結(jié)束后,也可以通過(guò)確認(rèn)鍵回到工作狀態(tài)。控制電路圖如圖1-8所示。圖1-6 按鍵電路控制電路圖1.5.4 聲音警示裝置當(dāng)發(fā)生緊急情況需要全面停止通行時(shí),需要聲音警示裝置來(lái)提醒車(chē)輛,這個(gè)警示裝置由p3.0口控制,其電路圖如圖1-7所示。圖1-7聲音警示控制電路2 系統(tǒng)程序設(shè)計(jì) 2.1 主程序流程圖開(kāi)始東西亮綠燈,南北亮紅燈東西準(zhǔn)行,南北禁行顯示子程序系統(tǒng)初始化掃描鍵盤(pán)鍵按下有調(diào)用鍵盤(pán)子程序東西亮綠燈,南北亮紅燈同時(shí)黃燈進(jìn)行閃爍調(diào)用鍵盤(pán)子程序掃描鍵盤(pán)顯示子程序東西準(zhǔn)行,南北禁行東西,南北方向換向有鍵按下yny圖2-1主程序路程圖2.2 顯示
19、子程序流程圖開(kāi)始取倒計(jì)時(shí)數(shù)值從p1.0到p1.3取各個(gè)方向控制十位個(gè)位從p0口獲取數(shù)碼顯示值返回圖2-2 顯示子程序流程圖3 心得體會(huì)這次課程設(shè)計(jì),我們小組做的智能交通等控制系統(tǒng)。如往常每一次實(shí)訓(xùn),我獲得了很大的收獲。首先,我要說(shuō)說(shuō)我學(xué)到的團(tuán)隊(duì)精神,這次課設(shè)需要多人協(xié)作完成,我有幸找到三位認(rèn)真負(fù)責(zé)且樂(lè)于交流討論的隊(duì)友。這次選交通燈為題目來(lái)做課設(shè)一是經(jīng)驗(yàn)不足,二是信心不足。通過(guò)這次課設(shè),我既積累了經(jīng)驗(yàn),也獲取了信心,今后會(huì)找尋機(jī)會(huì)再做一些與拖動(dòng)相關(guān)的電子設(shè)計(jì),因?yàn)槲覀冏詣?dòng)化專(zhuān)業(yè)和電機(jī)是息息相關(guān)的,很大程度研究的是電機(jī)的拖動(dòng)問(wèn)題。通過(guò)這兩周的單片機(jī)課程設(shè)計(jì),我們運(yùn)用所學(xué)的知識(shí),利用單片機(jī)控制原理設(shè)
20、計(jì)了一個(gè)交通燈控制系統(tǒng),我們對(duì)單片機(jī)有了更深的體會(huì)。我們了解和掌握了一些簡(jiǎn)單的編程思想和對(duì)i/o口的使用。這次課設(shè)通過(guò)單片機(jī)的i/o口來(lái)控制交通燈。實(shí)現(xiàn)一些具體的功能和對(duì)特殊情況的處理。通過(guò)這次的實(shí)踐,我們對(duì)單片機(jī)的i/o口的使用的條件有更深的理解,對(duì)單片機(jī)的各個(gè)管腳功能的理解也加深了,以及在常用編程設(shè)計(jì)思路技巧,特別是匯編語(yǔ)言的掌握方面都能向前邁了一大步。這次的課程設(shè)計(jì)讓我們把單片機(jī)的理論知識(shí)用在實(shí)踐中,實(shí)現(xiàn)了理論和實(shí)踐相結(jié)合,從中更懂得理論是實(shí)踐的基礎(chǔ),實(shí)踐有著能檢驗(yàn)理論的正確性,讓我們受益非淺,對(duì)我們以后參加工作或者繼續(xù)學(xué)習(xí)將會(huì)產(chǎn)生巨大的幫助和影響。在課設(shè)過(guò)程中遇到的硬件和軟件問(wèn)題都通過(guò)
21、詢問(wèn)老師、同學(xué)和去圖書(shū)館、上網(wǎng)得到了解決。參考文獻(xiàn)1陳大欽 電子技術(shù)基礎(chǔ)實(shí)驗(yàn) m.北京:高等教育出版社 20042陳梓城 電子技術(shù)實(shí)訓(xùn) m.北京:機(jī)械工業(yè)出版社 20033吳黎明 單片機(jī)原理及應(yīng)用技術(shù)m.北京:科學(xué)出版社 20034李學(xué)海 標(biāo)準(zhǔn)80c51單片機(jī)基礎(chǔ)教程m.北京: 北京航空航天大學(xué)出版社 20065劉樂(lè)善 微型計(jì)算機(jī)接口技術(shù)及應(yīng)用m.北京: 華中科技大學(xué)出版社 20046 陳炳權(quán) 曾慶六 eda技術(shù)實(shí)用教程m.北京: 湘潭大學(xué)出版社 20107 先鋒工作室. 單片機(jī)程序?qū)嵗齧.北京:清華大學(xué)出版社,2002.8 李伯成.基于mcs-51單片機(jī)的嵌入式系統(tǒng)的設(shè)計(jì)m.北京:電子工業(yè)出
22、版社,2004.9 吳洪潭,肖艷萍,趙偉國(guó).單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)m.北京:國(guó)防工業(yè)出版社,2005.10 吳黎明, 王桂棠, 洪添勝, 等. 單片機(jī)原理及應(yīng)用技術(shù) m . 北京: 科學(xué)出版社,2005.附錄 源程序#include <reg51.h>#define uchar unsigned char#define uint unsigned intuchar data buf4;uchar data sec_dx=20;/東西數(shù)默認(rèn)uchar data sec_nb=30;/南北默認(rèn)值uchar data set_timedx=20;uchar data set_timen
23、b=30;int n;uchar data countt0;/定時(shí)器0中斷次數(shù)/定義5組開(kāi)關(guān)sbit k4=p37; /切換方向sbit k1=p35;/時(shí)間加sbit k2=p36;/時(shí)間減sbit k3=p34;/確認(rèn)sbit k5=p31;/禁止/ p32/只允許東西方向通行,中斷0/ p33/只允許南北方向通行,中斷1sbit yellow_nb=p25;/南北黃燈標(biāo)志sbit yellow_dx=p22;/東西黃燈標(biāo)志sbit green_nb=p24;sbit green_dx=p21;sbit buzz=p30;bit buzzer_indicate;bit time=0;/燈狀
24、態(tài)循環(huán)標(biāo)志bit set=1;/調(diào)時(shí)方向切換鍵標(biāo)志uchar code table11=/共陰極字型碼0x3f, /-00x06, /-10x5b, /-20x4f, /-30x66, /-40x6d, /-50x7d, /-60x07, /-70x7f, /-80x6f, /-90x00 /-null;/函數(shù)的聲明部分void delay(int ms);/延時(shí)子程序void key();/按鍵掃描子程序void key_to1();/鍵處理子程序void key_to2();void key_to3();void display();/顯示子程序void logo(); /開(kāi)機(jī)logovo
25、id buzzer();/主程序void main()tmod=0x11; /定時(shí)器設(shè)置th0=0x3c;/定時(shí)器0置初值 0.05stl0=0xb0;ea=1;/開(kāi)總中斷et0=1;/定時(shí)器0中斷開(kāi)啟tr0=1;/啟動(dòng)定時(shí)0ex0=1;/開(kāi)外部中斷0ex1=1;/開(kāi)外部中斷1 logo();p2=0xc3;/ 開(kāi)始默認(rèn)狀態(tài),東西綠燈,南北黃燈 sec_nb=sec_dx+5; /默認(rèn)南北通行時(shí)間比東西多5秒while(1) key(); /調(diào)用按鍵掃描程序display(); /調(diào)用顯示程序buzzer();/函數(shù)的定義部分void key()/按鍵掃描子程序 if(k1!=1)/時(shí)間加按下
26、時(shí)delay(10);/延時(shí)消抖if(k1!=1)while(k1!=1)/當(dāng)按鍵未彈起時(shí),一直執(zhí)行 key_to1();/調(diào)用按鍵1功能 for(n=0;n<40;n+)/調(diào)用40次顯示,用于延時(shí) display(); if(k2!=1)/當(dāng)k2按鍵按下時(shí)delay(10);/延時(shí)消抖if(k2!=1)while(k2!=1)/按鍵按下未彈起時(shí)一直執(zhí)行 key_to2();/調(diào)用key2功能 for(n=0;n<40;n+)/調(diào)用40次顯示,用于延時(shí) display();if(k3!=1)/當(dāng)k3(確認(rèn))鍵按下時(shí)tr0=1; /啟動(dòng)定時(shí)器buzzer_indicate=0;sec
27、_nb=set_timenb;/從中斷回復(fù),仍顯示設(shè)置過(guò)的數(shù)值sec_dx=set_timedx;/顯示設(shè)置過(guò)的時(shí)間if(set=1)/時(shí)間倒時(shí)到0時(shí) /p2=0x99;/東西紅燈,南北綠燈sec_nb=sec_dx+5; /回到初值else /p2=0xc3;/東西綠燈,南北紅燈sec_dx=sec_nb+5; if(k4!=1)/當(dāng)k4(切換)鍵按下 delay(5);/延時(shí)消抖if(k4!=1) while(k4!=1);set=!set;/取反set標(biāo)志位,以切換調(diào)節(jié)方向 if(k5!=1)/當(dāng)k5(禁止)鍵按下時(shí) delay(5);/延時(shí)消抖 if(k5!=1) while(k5!=
28、1) key_to3(); void display() /顯示子程序buf1=sec_dx/10; /第1位 東西秒十位buf2=sec_dx%10; /第2位 東西秒個(gè)位buf3=sec_nb/10; /第3位 南北秒十位buf0=sec_nb%10; /第4位 南北秒個(gè)位 p1=0xff; / 初始燈為滅的 p0=0x00; p1=0xfe; /片選led1 p0=tablebuf1;/送東西時(shí)間十位的數(shù)碼管編碼delay(1);/延時(shí) p1=0xff;/關(guān)顯示 p0=0x00; p1=0xfd; /片選led2 p0=tablebuf2; delay(1); p1=0xff; p0=0
29、x00; p1=0xfb; /片選led3p0=tablebuf3; delay(1);p1=0xff; p0=0x00;p1=0xf7;p0=tablebuf0;/片選led4 delay(1);void time0(void) interrupt 1 using 1 /定時(shí)中斷子程序th0=0x3c;/重賦初值tl0=0xb0;tr0=1;/重新啟動(dòng)定時(shí)器countt0+;/軟件計(jì)數(shù)加1if(countt0=20) / 定時(shí)器中斷次數(shù)=20時(shí)(即1秒時(shí))countt0=0;/清零計(jì)數(shù)器sec_dx-;/東西時(shí)間減1sec_nb-;/南北時(shí)間減1if(sec_nb<=5&&am
30、p;time=0) /東西黃燈閃 green_dx=0;yellow_dx=!yellow_dx; if(sec_dx<=5&&time=1) /南北黃燈閃 green_nb=0;yellow_nb=!yellow_nb; if(sec_dx=0&&sec_nb=5) /當(dāng)東西倒計(jì)時(shí)到0時(shí),重置5秒,用于黃燈閃爍時(shí)間sec_dx=5;if(sec_nb=0&&sec_dx=5)/當(dāng)南北倒計(jì)時(shí)到0時(shí),重置5秒,用于黃燈閃爍時(shí)間sec_nb=5;if(time=0&&sec_nb=0)/當(dāng)黃燈閃爍時(shí)間倒計(jì)時(shí)到0時(shí), p2=0x99;/重置東西南背方向的紅綠燈time=!time;sec_nb=set_timenb;/重賦南北方向的起始值sec_dx=set_timenb+5;/重賦東西方向的起始值if(time=1&&sec_dx=0)/當(dāng)黃燈閃爍時(shí)間到p2=0xc3;/重置東西南北的紅綠燈狀態(tài)time=!time;sec_dx=set_timedx;/重賦東西方向的起始值sec_nb=set_timedx+5;/重賦南北方向的起始值void key_to1()/鍵盤(pán)處理子程序之+tr0=0; /關(guān)定時(shí)器if(set=0)se
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3、2025年度高科技產(chǎn)業(yè)園區(qū)建設(shè)模板單項(xiàng)勞務(wù)分包合同3篇
- 2025年度模具制造及表面處理合同3篇
- 二零二五年度木材產(chǎn)品進(jìn)出口檢驗(yàn)檢疫服務(wù)合同4篇
- 2025年度綠色節(jié)能住宅泥水工施工質(zhì)量保障合同4篇
- 2025版農(nóng)業(yè)生態(tài)循環(huán)農(nóng)業(yè)用地租賃合同示范
- 二零二五版內(nèi)參資訊定制服務(wù)協(xié)議4篇
- 2025年個(gè)人勞務(wù)分包工程合同范本標(biāo)準(zhǔn)版7篇
- 二零二五版門(mén)面房租賃合同附帶裝修補(bǔ)償條款4篇
- 2025年度智能園區(qū)建設(shè)承包招商合同范本4篇
- 2025年度個(gè)人互聯(lián)網(wǎng)產(chǎn)業(yè)股份轉(zhuǎn)讓合同協(xié)議書(shū)4篇
- 第一節(jié)-貨幣資金資料講解
- 如何提高售后服務(wù)的快速響應(yīng)能力
- 北師大版 2024-2025學(xué)年四年級(jí)數(shù)學(xué)上冊(cè)典型例題系列第三單元:行程問(wèn)題“拓展型”專(zhuān)項(xiàng)練習(xí)(原卷版+解析)
- 2023年譯林版英語(yǔ)五年級(jí)下冊(cè)Units-1-2單元測(cè)試卷-含答案
- Unit-3-Reading-and-thinking課文詳解課件-高中英語(yǔ)人教版必修第二冊(cè)
- 施工管理中的文檔管理方法與要求
- DL∕T 547-2020 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 種子輪投資協(xié)議
- 執(zhí)行依據(jù)主文范文(通用4篇)
- 浙教版七年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件
- 華為攜手深圳國(guó)際會(huì)展中心創(chuàng)建世界一流展館
評(píng)論
0/150
提交評(píng)論