大學(xué)畢業(yè)論文-交通燈_第1頁
大學(xué)畢業(yè)論文-交通燈_第2頁
大學(xué)畢業(yè)論文-交通燈_第3頁
大學(xué)畢業(yè)論文-交通燈_第4頁
大學(xué)畢業(yè)論文-交通燈_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說明書(論文)頁摘要當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動(dòng)的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺到有人要過馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號(hào)協(xié)定》對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。隨著經(jīng)濟(jì)的發(fā)展,交通運(yùn)輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問題。道路擁擠現(xiàn)象日趨嚴(yán)重,造成的經(jīng)濟(jì)損失越來越大,并一直保持大比例的增長(zhǎng)?,F(xiàn)在交通系統(tǒng)已不能滿足經(jīng)濟(jì)發(fā)展的需求。由于生活水平的提高,人們對(duì)交通運(yùn)輸?shù)陌踩约胺?wù)水平提出了更高的要求。在交通中管理引入單片機(jī)交通燈控制代替交管人員在交叉路口服務(wù),有助于提高交通運(yùn)輸?shù)陌踩?、提高交通管理的服?wù)質(zhì)量。并在一定程度上盡可能的降低由道路擁擠造成的經(jīng)濟(jì)損失,同時(shí)也減小了工作人員的勞動(dòng)強(qiáng)度。中國車輛數(shù)量不斷增加,交通控制在未來的交通管理中起著越來越重要的作用。智能交通燈的管理比重修一條馬路無論在經(jīng)濟(jì)、交通運(yùn)行速率上都有很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個(gè)城市交通控制,帶來更大的經(jīng)濟(jì)和社會(huì)效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作用。第1章設(shè)計(jì)方案1.1單片機(jī)交通燈電路概述近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)AT89C51為中心器件來設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了通過89C51芯片的P3口控制十字路口紅,黃,綠三個(gè)燈的點(diǎn)亮;以及緊急通道的開通。P0、P1和P2口同時(shí)用作控制東西、南北方向的兩位數(shù)碼管顯示。本系統(tǒng)只在基礎(chǔ)交通燈上加了一個(gè)緊急通道開關(guān),其實(shí)用性只適合中小型城市,使用范圍小,還有待改進(jìn)。1.2設(shè)計(jì)任務(wù)東西(A)、南北(B)兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三個(gè)指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。紅燈的設(shè)計(jì)時(shí)間為40秒,黃燈為5秒,綠燈為34秒。設(shè)A道和B道的車流量相同。

1.3方案介紹BB東西紅燈亮東西綠燈亮A(車輛禁止通行)(車輛可直線行駛和左轉(zhuǎn)彎)南北綠燈亮南北紅燈亮(可以直線行駛和左轉(zhuǎn)彎)(車輛禁止通行)圖1圖2BA東西紅燈亮(緊急車輛通行狀態(tài))南北紅燈亮圖3由上面三幅圖可以知道,圖1為東西(A)紅燈、南北(B)綠燈狀態(tài)下的正常通行狀態(tài),當(dāng)南北(B)為綠燈狀態(tài)時(shí),南北方向的車輛可以通過并且可左轉(zhuǎn)彎;圖2同圖1一樣是屬于正常通行狀態(tài),不過是東西(A)為綠燈、南北(B)紅燈;圖3為緊急車輛通行狀態(tài),當(dāng)遇到緊急車輛需要通過的時(shí)候,四周紅燈全亮,緊急車輛可以從十字路口通行。1.3.1方案表格顯示此方案是定位于中小城市使用的交通燈,因此,在車流量上面,四周車輛的流量基本是相同的,所以不用考慮車流量。東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。設(shè)東西道比南北道的車流量相同,指示燈燃亮的方案如表1。34s5s/40s34s5s/40s······東西道路綠燈亮黃燈亮紅燈亮紅燈亮······南北道路紅燈亮紅燈亮綠燈亮黃燈亮······表1由上圖可以看出交通燈的點(diǎn)亮只有4種狀態(tài);東西綠燈亮34s,南北紅燈亮34s。東西黃燈亮5s,南北紅燈亮40s。南北綠燈亮34s,東西紅燈亮34s。南北黃燈亮5s,東西紅燈亮40s。通過以上4種狀態(tài)的循環(huán),就可以用來控制十字路口上的車輛和行人的安全通過。另外,還有一點(diǎn),緊急通道的使用,也就是當(dāng)有110,120,119等緊急事件發(fā)生時(shí),需要使十字路口的紅燈全部點(diǎn)亮,等緊急車輛通行過后,交通燈恢復(fù)到正常狀態(tài)。硬件設(shè)計(jì)此設(shè)計(jì)采用的是AT89C51單片機(jī)為內(nèi)部控制芯片,外部接有按鍵中斷電路以及復(fù)位電路以外,還有4個(gè)兩位數(shù)碼管,用以倒計(jì)時(shí)和4個(gè)路口的燈,共12個(gè)LED燈。2.1AT89C51單片機(jī)的介紹2.1.1AT89C51單片機(jī)的時(shí)鐘51系列單片機(jī)內(nèi)由一個(gè)反相放大器構(gòu)成振蕩器,可以由它產(chǎn)生時(shí)鐘。時(shí)鐘可以由兩種方式產(chǎn)生:內(nèi)部方式和外部方式兩種。(1)內(nèi)部方式:一些新型的51系列單片機(jī)可采用內(nèi)部的電路來產(chǎn)生時(shí)鐘,不需外接任何元件就可產(chǎn)生時(shí)鐘信號(hào),稱為內(nèi)部時(shí)鐘,但是內(nèi)部時(shí)鐘由于沒有高精度的石英晶振蕩器穩(wěn)頻,精度低,主要用于對(duì)事件精度要求不高的場(chǎng)合。(2)外部方式:可以通過XTAL1和XTAL2接入外部時(shí)鐘?,F(xiàn)在的51系列單片機(jī)多數(shù)可以穩(wěn)定在40MHz或更高,當(dāng)時(shí)鐘頻率高于24MHz時(shí),應(yīng)采用外部時(shí)鐘,因?yàn)橥ǔnl率較高的石英晶體都是泛音振蕩器,把它接到單片機(jī)的XTAL1和XTAL2上,由于沒有輔助選頻電路產(chǎn)生的時(shí)鐘只能是基頻,例如使用33MHz的石英晶體,可能產(chǎn)生16.5MHz的時(shí)鐘。2.1.2AT89C51單片機(jī)的片內(nèi)并行接口51單片機(jī)有四個(gè)8位的并行接口,記作P0、P1、P2和P3,共32根I/O線,實(shí)際上它們映射為四個(gè)專用寄存器(SFR)。每個(gè)口主要由四部分構(gòu)成:端口鎖存器、輸入緩沖器、輸出驅(qū)動(dòng)器和引至芯片外的端口引腳。作輸出時(shí)數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以緩沖。但這四個(gè)通道的功能不完全相同。四個(gè)接口在進(jìn)行I/O操作時(shí),特性基本相同:作為輸出口用時(shí),內(nèi)部帶鎖存器,可以直接和外設(shè)相連,不必外加鎖存器。作為輸入口用時(shí),有兩種工作方式,即所謂讀端口和讀引腳。在端口作為外部輸入線,也就是讀引腳時(shí),要先通過指令,把端口鎖存器置1,然后再實(shí)行讀引腳操作,否則就可能讀入出錯(cuò)。這四個(gè)接口特性上的差別主要是P0、P2口和P3口有第二功能,而P1口則只用作I/O。在這里特別要提到的是P0口,P0口在驅(qū)動(dòng)TTL電路時(shí)能帶八個(gè)LSTTL門,但驅(qū)動(dòng)MOS電路時(shí)若作為地址/數(shù)據(jù)總線,可以直接驅(qū)動(dòng),而作為I/O口時(shí),需外接上拉電阻。(本設(shè)計(jì)的P0口便是用作I/O使用)2.1.3AT89C51單片機(jī)串行口單片機(jī)內(nèi)部有一個(gè)可編程的、全雙工的串行接口,它有4種工作模式可變的波特率能夠方便地完成與其他微處理器和微機(jī)的串行通信,同時(shí)還可實(shí)現(xiàn)串并轉(zhuǎn)換實(shí)行I/O口德擴(kuò)展。2.1.4定時(shí)器/計(jì)數(shù)器51系列單片機(jī)內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,記為T0和T1,它們都是由16個(gè)觸發(fā)器構(gòu)成,故最大計(jì)數(shù)模值為65535??删幊虝r(shí)指工作方式由指令來設(shè)定,即可做計(jì)數(shù)器,也可做定時(shí)器。并且計(jì)數(shù)(定時(shí))的范圍也可以由指令來設(shè)置。這種控制功能是通過定時(shí)器/計(jì)數(shù)器方式控制寄存器TCOM來完成的。定時(shí)器在計(jì)到規(guī)定的定時(shí)值時(shí)可以向CPU發(fā)出中斷申請(qǐng),從而完成某種定時(shí)的控制功能。在計(jì)數(shù)狀態(tài)下同樣也可以申請(qǐng)中斷。定時(shí)器控制寄存器TCON用來負(fù)責(zé)定時(shí)器的啟動(dòng)、停止以及中斷管理。在定時(shí)工作時(shí),時(shí)鐘由單片機(jī)內(nèi)部提供,即系統(tǒng)時(shí)鐘經(jīng)過12分頻后作為定時(shí)器的時(shí)鐘。計(jì)數(shù)工作時(shí),時(shí)鐘脈沖(計(jì)數(shù)脈沖)由T0和T1(即P3.4和P3.5)輸入。2.1.5AT89C51單片機(jī)的中斷系統(tǒng)51系列單片機(jī)的中斷系統(tǒng)允許接受五個(gè)獨(dú)立的中斷源,即兩個(gè)外部中斷申請(qǐng),兩個(gè)定時(shí)器/計(jì)數(shù)器中斷以及一個(gè)串行口中斷。外部中斷申請(qǐng)通過INT0和INT1(即P3.2和P3.3)輸入,輸入方式可以是電平觸發(fā)(低電平有效),也可以是邊沿觸發(fā)(下降沿有效)。兩個(gè)定時(shí)器中斷請(qǐng)求時(shí)當(dāng)定時(shí)器溢出時(shí)向CPU發(fā)出的,即當(dāng)定時(shí)器由狀態(tài)全1轉(zhuǎn)為全0時(shí)產(chǎn)生的。第五個(gè)中斷請(qǐng)求是由串行口發(fā)出的,串行口每發(fā)送完一個(gè)數(shù)據(jù)或接受完一個(gè)數(shù)據(jù),就可產(chǎn)生一次中斷申請(qǐng)。2.2硬件框架圖AT89C51AT89C51外部晶體振蕩電路按鍵復(fù)位電路數(shù)碼顯示管按鍵外部中斷LED燈圖2-12.3數(shù)碼顯示管2.3.1八段LED顯示器八段LED顯示器由八個(gè)發(fā)光二極管組成。其中7個(gè)長(zhǎng)條形的發(fā)光管排列成“日”字形,另一個(gè)圓點(diǎn)形的放光管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部分英文字母。LED顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽極都連在一起的,稱為共陽極LED顯示器如圖2-2所示;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱為共陰極LED顯示器如圖2-3所示。GND(共陽極)圖2-2+5V(共陰極)圖2-3圖2-4(8段LED數(shù)碼顯示管)2.3.2數(shù)碼顯示管圖樣圖2-42.4交通控制燈交通燈是采用4對(duì)紅、黃、綠三色LED燈來表示。以低電平有效。其由P3口除P3.2、P3.3兩個(gè)端口以為的所有端口控制。如下圖2-5:2.5晶體振蕩器石英晶體振蕩器的特點(diǎn)是振蕩頻率準(zhǔn)確、電路結(jié)構(gòu)簡(jiǎn)單、頻率易調(diào)整,作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào)。我們?cè)诰w某一方向加一電場(chǎng),從而在與此垂直的方向產(chǎn)生機(jī)械振動(dòng),有了機(jī)械振動(dòng),就會(huì)在相應(yīng)的垂直面上產(chǎn)生電場(chǎng),從而使機(jī)械振動(dòng)和電場(chǎng)互為因果,這種循環(huán)過程一直持續(xù)到晶體的機(jī)械強(qiáng)度限制時(shí),才達(dá)到最后穩(wěn)定,這種壓電諧振的頻率即為晶體振蕩器的固有頻率。振蕩器特性,XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反晶體向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。在XTAL1和XTAL2引腳上外接定時(shí)元件就能構(gòu)成自激振蕩電路。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振電路。電容器C1和C2主要起頻率微調(diào)作用,如圖2-6。圖2-62.6復(fù)位電路89C51的復(fù)位時(shí)由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位引腳RST通過一個(gè)施密特觸發(fā)器用來抑制噪聲,施密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。本設(shè)計(jì)是采用上電自動(dòng)復(fù)位,上電自動(dòng)復(fù)位時(shí)通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要VCC的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。時(shí)鐘頻率用12MHz時(shí)C取20PF。圖2-7第三章交通燈系統(tǒng)軟件設(shè)計(jì)3.1程序設(shè)計(jì)構(gòu)思通過硬件電路圖可以得出軟件設(shè)計(jì)分為以下幾個(gè)部分:數(shù)碼顯示管倒計(jì)時(shí)程序。LED燈的點(diǎn)亮、熄滅程序。延時(shí)程序。中斷程序。3.2各部分程序設(shè)計(jì)3.2.1延時(shí)程序設(shè)計(jì)延時(shí)程序,在整個(gè)程序里面的作用,起到的作用就是,在上一句命令與下一句命令之間,上一句命令執(zhí)行完后,間隔一段時(shí)間再執(zhí)行下面一句命令。中間的時(shí)間差,就是延時(shí)程序所起到的作用。在C語言中,延時(shí)程序,就是一種利用循環(huán)執(zhí)行一段命令,利用執(zhí)行時(shí)間來起到延時(shí)的功能。本設(shè)計(jì)的延時(shí)程序時(shí)參考使用的。如下:voiddelay(uintz)//帶參數(shù)的延時(shí)函數(shù){ ucharx,y;//定義兩個(gè)變量 for(x=z;x>0;x--)//循環(huán)延時(shí) for(y=110;y>0;y--);//循環(huán)延時(shí) }3.2.2數(shù)碼顯示管倒計(jì)時(shí)程序本設(shè)計(jì)倒計(jì)時(shí)可參考1.3.1方案表格顯示,由于是在十字路口,那么東西、南北方向的燈亮的時(shí)間各不相同,東西燈亮的時(shí)間一樣,南北燈亮的時(shí)間一樣。那么,就只能分開寫東西、南北數(shù)碼顯示管倒計(jì)時(shí)程序了。然而在之間,還有一個(gè)黃燈,黃燈亮的時(shí)間只有5秒。所以最后得出的程序?qū)懛ň褪菛|西、南北方向的數(shù)碼顯示管倒計(jì)時(shí)程序應(yīng)該分開來寫。然后利用函數(shù)調(diào)用來實(shí)現(xiàn)顯示。如下為東西方向的顯示程序。(南北亦同)voidfenjieDX()//東西數(shù)碼管顯示數(shù)字的分解函數(shù){ DXshi=DXtemp/10; DXge=DXtemp%10; DXtemp--;}voiddisplayDX(ucharDXshi,ucharDXge){ //東西十位 P2=0xfb; P1=table[DXshi]; delay(5); //東西個(gè)位 P2=0xf7; P1=table[DXge]; delay(5);}3.2.3LED燈點(diǎn)亮程序這部分程序是最好寫的,就是東西、南北方向的燈交替點(diǎn)亮,可參看1.3.1方案表格顯示。下面為部分程序:if(cc==0)//南北亮紅燈40秒,東西亮黃燈5秒 { DXY=0;//東西的黃燈亮 DXG=1;//東西的綠燈不亮 DXR=1;//東西的紅燈不亮 NBY=1;//南北的黃燈不亮 NBG=1;//南北的綠燈不亮 NBR=0;//南北的紅燈亮 DXtemp=5;//東西的黃燈亮5秒 NBtemp=40;//南北的紅燈亮40秒 } elseif(cc==6)//南北繼續(xù)亮紅燈40秒,東西亮綠燈35秒 { DXY=1; DXG=0; DXR=1; NBY=1; NBG=1; NBR=0; DXtemp=34;}3.2.4中斷程序在本次的設(shè)計(jì)中,man函數(shù)中的if(cc==82)這個(gè)判斷語句中的cc是用來控制數(shù)碼顯示管與LED點(diǎn)亮的。另外還有一個(gè)緊急通道的中斷,此中斷為外部中斷。這里就只粘貼部分的程序出來,如下:voidtimer0()interrupt1//定時(shí)器0的中斷函數(shù){ TH0=(65536-50000)/256;//重裝計(jì)數(shù)初值 TL0=(65536-50000)%256;//重裝計(jì)數(shù)初值 aa++; if(aa==20)//判斷定時(shí)1分鐘是否到 { aa=0;//計(jì)數(shù)次數(shù)清0 if(cc==0)//南北亮紅燈40秒,東西亮黃燈5秒 { DXY=0;//東西的黃燈亮 DXG=1;//東西的綠燈不亮 DXR=1;//東西的紅燈不亮 NBY=1;//南北的黃燈不亮 NBG=1;//南北的綠燈不亮 NBR=0;//南北的紅燈亮 DXtemp=5;//東西的黃燈亮5秒 NBtemp=40;//南北的紅燈亮40秒 } elseif(cc==6)//南北繼續(xù)亮紅燈40秒,東西亮綠燈35秒 { DXY=1; DXG=0; DXR=1; NBY=1; NBG=1; NBR=0; DXtemp=34; }···········································下面為緊急通的中斷程序voidJJZD()interrupt0 //緊急中斷程序,南北東西都亮紅燈{ DXY=1; DXG=1; DXR=0; NBY=1; NBG=1; NBR=0; displayNB(0,0);//南北數(shù)碼管都顯示0 displayDX(0,0);//東西數(shù)碼管都顯示0 cc=0;//重最開始顯示}第頁參考文獻(xiàn)[1]李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版).杭州:北京航空航天大學(xué)出版社,1998。[2]李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994。[3]胡文金,單片機(jī)應(yīng)用技術(shù)實(shí)訓(xùn)教程,重慶大學(xué)出版社,2005年2月。[4]胡輝《單片機(jī)原理與應(yīng)用》,中國水利出版社,2007。[5]劉守義《單片機(jī)應(yīng)用技術(shù)》,西安電子科技大學(xué)出版社。附錄附錄一交通燈電路原理圖附錄二原程序代碼#include<reg51.h>#defineuintunsignedint//宏定義#defineucharunsignedchar//宏定義ucharaa,cc,NBshi,NBge,DXshi,DXge,NBtemp,DXtemp;//定義變量sbitNBR=P3^0;//南北紅燈sbitNBY=P3^1;//南北黃燈sbitNBG=P3^4;//南北綠燈sbitDXY=P3^5;//東西黃燈sbitDXG=P3^6;//東西綠燈sbitDXR=P3^7;//東西紅燈ucharcodetable[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //數(shù)字的代碼從0-9voidinit();//初始化子程序的申明voiddisplayNB(ucharNBshi,ucharNBge);//顯示子程序的申明voiddelay(uintz);//延時(shí)子程序的申明voidfenjieNB();//南北數(shù)碼管顯示數(shù)字的分解函數(shù)voidfenjieDX();//東西數(shù)碼管顯示數(shù)字的分解函數(shù)voidmain(){ init();//初始化子程序 while(1) { if(cc==82)//循環(huán)一次結(jié)束 { cc=0;//從新進(jìn)行下一次循環(huán) }} } voiddelay(uintz)//帶參數(shù)的延時(shí)函數(shù){ ucharx,y;//定義兩個(gè)變量 for(x=z;x>0;x--)//循環(huán)延時(shí) for(y=110;y>0;y--);//循環(huán)延時(shí) }voidinit()//初始化子程序{ EA=1;//開總中斷 ET0=1;//允許定時(shí)器0中斷 EX0=1;//允許外部中斷0中斷 TR0=1;//啟動(dòng)定時(shí)器0 TMOD=0x01;//設(shè)置定時(shí)器0工作方式1 TH0=(65536-50000)/256;//給定時(shí)器的高8為賦處值 TL0=(65536-50000)%256;//給定時(shí)器的低8為賦處值}voidfenjieNB()//南北數(shù)碼管顯示數(shù)字的分解函數(shù){ NBshi=NBtemp/10;//將要顯示的時(shí)間的十位賦給變量 NBge=NBtemp%10;//將要顯示的時(shí)間的個(gè)位賦給變量 NBtemp--;} voidfenjieDX()//東西數(shù)碼管顯示數(shù)字的分解函數(shù){ DXshi=DXtemp/10; DXge=DXtemp%10; DXtemp--;}voiddisplayNB(ucharNBshi,ucharNBge)//帶參數(shù)的數(shù)碼管顯示函數(shù){ //顯示南北十位 P2=0xfe; P0=table[NBshi]; delay(5); //顯示南北個(gè)位 P2=0xfd; P0=table[NBge]; delay(15);}voiddisplayDX(ucharDXshi,ucharDXge){ //東西十位 P2=0xfb; P1=table[DXshi]; delay(5); //東西個(gè)位 P2=0xf7; P1=table[DXge]; delay(5);} voidtimer0()interrupt1//定時(shí)器0的中斷函數(shù){ TH0=(65536-50000)/256;//重裝計(jì)數(shù)初值 TL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論