




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章引言PAGE2PAGE1河北師范大學(xué)職業(yè)技術(shù)學(xué)院學(xué)士學(xué)位論文第1章引言交通的發(fā)達(dá),標(biāo)志著城市的發(fā)達(dá),相對(duì)交通的管理則顯得越來(lái)越重要。對(duì)于復(fù)雜的城市交通系統(tǒng),為了確保安全,保證正常的交通秩序,十字路口的信號(hào)控制必需按照一定的規(guī)律變化,以便于車輛行人能順利地通過(guò)十字路口。這一技術(shù)在19世紀(jì)就已出現(xiàn)了。
1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。
電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。
1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。
信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)《道路交通和道路標(biāo)志信號(hào)協(xié)定》對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。河北師范大學(xué)職業(yè)技術(shù)學(xué)院學(xué)士學(xué)位論文第2章設(shè)計(jì)方案與程序設(shè)計(jì)要求2.1交通燈方案設(shè)計(jì)A、B兩干道交于一個(gè)十字路口,各干道有一組紅(1與4為紅燈)、黃(2與5為黃燈)、綠(3與6為綠燈)三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為A、B兩干道的公共停車時(shí)間。指示燈燃亮的方案設(shè)計(jì)見(jiàn)圖2-1北A線北A線南西B線東RYGRYGRYGGGYYRR圖2-1交通燈設(shè)計(jì)方案2.2交通燈方案論證方案1:采用標(biāo)準(zhǔn)的AT89C51單片機(jī)作為控制器;通行倒計(jì)時(shí)顯示采用2位LED數(shù)碼管;東西、南北直行的通行指示燈采用高亮光發(fā)光二極管;特殊情況車輛通行采用實(shí)時(shí)中斷完成,按以上系統(tǒng)構(gòu)架設(shè)計(jì),單片機(jī)端口資源能滿足要求。該系統(tǒng)具有電路簡(jiǎn)單,設(shè)計(jì)方便,顯示亮度高,耗電較少,可靠性高等特點(diǎn)。方案2:采用標(biāo)準(zhǔn)AT89C51單片機(jī)作為控制器,通行倒計(jì)時(shí)顯示采用16×16點(diǎn)陣LED發(fā)光管,車道通行指示也采用16×16點(diǎn)陣LED發(fā)光管,采用大功率三極管作為驅(qū)動(dòng)管來(lái)驅(qū)動(dòng)LED發(fā)光管。這種設(shè)計(jì)方案的圖案顯示逼真,單片機(jī)占用端口資源少;缺點(diǎn)是需要大量的硬件,電路復(fù)雜,耗電量大,在模型制作中較少采用。第2章設(shè)計(jì)方案與程序設(shè)計(jì)要求放案3:采用AT89C51單片機(jī)作為控制器,通行倒計(jì)時(shí)及車道通行顯示采用單塊LED液晶點(diǎn)陣顯示器,這種方案設(shè)計(jì)占用單片機(jī)的端口最少,耗電也最小,雖然顯示圖案也很精美,但由于亮度太暗,晚上還得開(kāi)背光燈,所以較少采用。通過(guò)以上綜合分析可以看出,方案1具有綜合設(shè)計(jì)優(yōu)點(diǎn),因此城市道口交通燈控制系統(tǒng)模型采用方案1設(shè)計(jì)。2.3路口交通模型介紹一個(gè)典型的十字路口,分別用1,2,3,4(表示東、南、西、北4方向)表示4個(gè)流向的主車道,用L,S,R,P分別表示各主車道的左行車道、直行車道、右行車道以及人行橫道,其實(shí)際路口交通示意圖如圖2-2所示。通過(guò)分析得知,除了4個(gè)右行車道外,在同一時(shí)間,最多只能有兩個(gè)車道通行,如1L,1S通行時(shí),其他車道都會(huì)被阻斷。所以在設(shè)計(jì)紅綠燈時(shí),可以兩兩組合,共有4組(如lL-1S,2L-2S,3L-3S,4L-4S);通行順序如圖2所示。其中,“1-2P”表示1P和2P可以通過(guò)路口2通行。圖2-2實(shí)際路口交通示意圖A線路口44R4S4L2R2S2L路口2路口33L3S3R1P2P4P圖2-2實(shí)際路口交通示意圖A線路口44R4S4L2R2S2路口2路口333S3R1P2P4P3P1R1S1LB線路口1河北師范大學(xué)職業(yè)技術(shù)學(xué)院學(xué)士學(xué)位2.4交通燈的設(shè)計(jì)要求及實(shí)現(xiàn)首先,要了解實(shí)際交通燈的變化規(guī)律.假設(shè)一個(gè)十字路口為東西南北走向.南北方向用A線表示,東西方向用B線表示,初始狀態(tài)0為A線紅燈,B線紅燈,延時(shí)1s.然后轉(zhuǎn)狀態(tài)1狀態(tài)1A線直行綠燈通車,其他均為紅燈,延時(shí)30s轉(zhuǎn)狀態(tài)2狀態(tài)2A線直行綠燈變?yōu)闋顟B(tài)3A線直行變?yōu)榧t燈、B線直行紅燈變?yōu)榫G燈,延時(shí)3狀態(tài)4B線直行綠燈變?yōu)辄S燈,延時(shí)5s轉(zhuǎn)狀態(tài)5狀態(tài)5A線直行紅燈變?yōu)榫G燈,B線直行變?yōu)榧t,依次循環(huán),這里的延時(shí)采用定時(shí)器1延時(shí)其次,當(dāng)有緊急救護(hù)車出現(xiàn)時(shí),應(yīng)使東西南北四個(gè)方向全亮紅燈,并延時(shí)10s,以便急救車通過(guò),同時(shí)對(duì)通行時(shí)間進(jìn)行倒計(jì)時(shí),從P1口輸出在發(fā)光二極管,使用8051定時(shí)器/計(jì)數(shù)器1作為定時(shí)器實(shí)現(xiàn)子程序延時(shí).技術(shù)上可用外部中斷0發(fā)出一單脈沖向CPU申請(qǐng)中斷。再次,一般交通信號(hào)燈控制程序中使用軟件延時(shí),軟件延時(shí)是靠執(zhí)行一個(gè)循環(huán)程序以進(jìn)行時(shí)間延遲.軟件定時(shí)的特點(diǎn)是時(shí)間精確,且不需外加硬件電路.但軟件定時(shí)要占用CPU,增加CPU開(kāi)銷,因此軟件定時(shí)的時(shí)間不宜太長(zhǎng).本程序使用定時(shí)器/計(jì)數(shù)器1來(lái)定時(shí),定時(shí)電路已經(jīng)集成在芯片中,這種由硬件電路完成,不占CPU時(shí)間.它通過(guò)對(duì)系統(tǒng)時(shí)鐘脈沖的計(jì)數(shù)來(lái)實(shí)現(xiàn),即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖,也就是每個(gè)機(jī)器周期計(jì)數(shù)器加1.計(jì)數(shù)值通過(guò)程序設(shè)定,改變計(jì)數(shù)值,也就改變了定時(shí)時(shí)間,使用起來(lái)既靈活又方便.第3章硬件系統(tǒng)設(shè)計(jì)第3章硬件系統(tǒng)設(shè)計(jì)單片機(jī)概述單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。在本設(shè)計(jì)中,采用8051單片機(jī)作為主控制器,8051的P1口作為輸出口,控制交通燈的亮與滅,用LED1~LED3表示主干線的信號(hào)燈,用LED4~LED6表示支干線的信號(hào)燈,用8051的外部中斷0來(lái)控制當(dāng)有緊急情況時(shí)的請(qǐng)求信號(hào),3.1MCS-51的硬件結(jié)構(gòu)MCS-51單片機(jī)的片內(nèi)結(jié)構(gòu)如圖3-1所示。MCS-51單片機(jī)是把那些作為控制應(yīng)用圖3-1單片機(jī)的片內(nèi)結(jié)構(gòu)所必須的基本功能部件都集成在一個(gè)尺寸有限的集成電路芯片上。它由如下功能部件組成。河北師范大學(xué)職業(yè)技術(shù)學(xué)院學(xué)士學(xué)位論文●微處理器(CPU);數(shù)據(jù)存儲(chǔ)器(RAM);程序存儲(chǔ)器(ROM/EPROM)(8031沒(méi)有此部件);4個(gè)8位并行I/O口(P0口、P1口、P2口、P3口);1個(gè)串行口;2個(gè)16位定時(shí)器/計(jì)數(shù)器;中斷系統(tǒng);特殊功能寄存器(SFR)。上述各功能部件都是通過(guò)片內(nèi)單一總線連接而成(見(jiàn)圖3.1),其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)微型計(jì)算機(jī)結(jié)構(gòu)模式。但CPU對(duì)各種功能部件的控制是采用特殊功能寄存器(SFR—SpecialFunctionRegister)的集中控制方式。●下面介紹圖3.1中的各功能部件1.CPU(微處理器)MCS-51單片機(jī)中有1個(gè)8位的CPU,與通用的CPU基本相同,同樣包括了運(yùn)算器和控制器兩大部分,只是增加了面向控制的位處理功能。2.數(shù)據(jù)存儲(chǔ)器(RAM)片內(nèi)為128byte(52個(gè)系列的為256byte),片外最多可外擴(kuò)64byte.片內(nèi)的128byte的RAM,以高速RAM的形式集成在單片機(jī)內(nèi),可以加快單片機(jī)運(yùn)行的速度,而且這種結(jié)構(gòu)的RAM還可以降低功耗。3.程序存儲(chǔ)器(ROM/EPROM)用來(lái)存儲(chǔ)程序,8031無(wú)此部件;8051為4Kbyte的ROM;8751則為4Kbyte的EPROM。如果片內(nèi)只讀存儲(chǔ)器的容量不夠,片外最多可外擴(kuò)只讀存儲(chǔ)器的容量至64Kbyte.4.中斷系統(tǒng)8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。第3章硬件系統(tǒng)設(shè)計(jì)5.定時(shí)器/計(jì)數(shù)器片內(nèi)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器(52個(gè)子系列有3個(gè)16位的定時(shí)器/計(jì)數(shù)器),具有四種工作方式。6.串行口1個(gè)全雙工的串行口,具有四種工作方式。可用來(lái)進(jìn)行串行通信,擴(kuò)展并行I/O口,甚至與多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng),從而使單片機(jī)的功能更強(qiáng),且應(yīng)用更廣。7.P1口、P2口、P3口、P0口為4個(gè)并行8位I/O口。8.特殊功能寄存器(SFR)特殊功能寄存器共有21個(gè),用于CPU對(duì)片內(nèi)各功能部件進(jìn)行管理、控制、監(jiān)視。實(shí)際上是一些控制寄存器和狀態(tài)寄存器,是一個(gè)具有特殊功能的RAM區(qū)。3.2MCS-51的引腳說(shuō)明:MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),下圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:圖3-2單片機(jī)的引腳圖圖3-2單片機(jī)的引腳圖河北師范大學(xué)職業(yè)技術(shù)學(xué)院學(xué)士學(xué)位論文MCS—51的引腳說(shuō)明:(1)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(2)RST/VPD(9腳)RST是復(fù)位信號(hào)輸入端,高電平有效。當(dāng)單片機(jī)運(yùn)行時(shí),在此引腳加上持續(xù)時(shí)間大于兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘振蕩周期)的高電平時(shí),就可以完成復(fù)位操作。在單片機(jī)正常工作時(shí),此腳應(yīng)為小于或等于0.5V的低電平。VPD為本引腳的第二功能,即備用電源的輸入端。當(dāng)主電源Vcc發(fā)生故障,降低到某一規(guī)定值的低電平時(shí),將+5V電源自動(dòng)接入RST端,為內(nèi)部RAM提供備用電源,以保證片內(nèi)RAM中的信息不丟失,從而使單片機(jī)在復(fù)位后能繼續(xù)正常運(yùn)行。(3)P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。當(dāng)CPU不對(duì)P3口進(jìn)行字節(jié)或位尋址時(shí),內(nèi)部硬件自動(dòng)將口鎖存器的Q端置“1”。這時(shí)P3P3口的第二功能定義(4)XTAL1(19腳):接外部晶體的一個(gè)引腳。該引腳內(nèi)部是一個(gè)反相放大器(片內(nèi)震蕩器)的輸入端。如果采用外接晶體震蕩器,此引腳應(yīng)接地。(5)XTAL2(18腳):接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大器的輸出端。若采用外部時(shí)鐘震蕩器時(shí),該引腳接收時(shí)鐘震蕩器的信號(hào),即把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。第3章硬件系統(tǒng)設(shè)計(jì)(6)P0口:雙向8位三態(tài)I/O口,為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。(7)/VPP(EnableAddress/VoltagePulseofPrograming,31腳)功能為內(nèi)/外程序存儲(chǔ)器選擇控制端.當(dāng)腳為高電平時(shí),單片機(jī)訪問(wèn)片內(nèi)程序存儲(chǔ)器,但在PC值超過(guò)0FFFFH(4Kbyte地址范圍,對(duì)8051、8751)時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序.當(dāng)腳為低電平時(shí),單片機(jī)則只訪問(wèn)外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器.對(duì)于8031,因其無(wú)內(nèi)部程序存儲(chǔ)器,所以該腳必須接地.VPP為本引腳的第二功能.在對(duì)EPROM型單片機(jī)8751片內(nèi)EPROM固化編程時(shí),用于施加較高的編程電壓(例如+21V或+12V).對(duì)于89C51,則加在VPP腳的編程電壓為+12V或+5V.(8)ALE/(AddressLatchEnable/PROGramming,30腳)ALE為地址鎖存允許信號(hào),當(dāng)單片機(jī)上電正常工作后,ALE引腳不斷輸出正脈沖信號(hào).當(dāng)單片機(jī)訪問(wèn)外部存儲(chǔ)器時(shí),ALE輸出信號(hào)的負(fù)跳沿用作單片機(jī)發(fā)出的低8位地址(經(jīng)外部鎖存器鎖存)的鎖存控制信號(hào).即使不訪問(wèn)外部鎖存器,ALE端仍有正脈沖信號(hào)輸出,此頻率為時(shí)鐘振蕩器頻率fosc的.應(yīng)當(dāng)注意的是,每當(dāng)MCS-51訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)(即執(zhí)行的是MOVX類指令),在兩個(gè)機(jī)器周期中ALE只出現(xiàn)一次,即丟失一個(gè)ALE脈沖.因此,嚴(yán)格來(lái)說(shuō),用戶不宜用ALE作精確的時(shí)鐘源或定時(shí)信號(hào).ALE端可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載.為本引腳的第二功能.在對(duì)片內(nèi)EPROM型單片機(jī)(例如8751)編程寫(xiě)入時(shí),此引腳作為編程脈沖輸入端.(9)(ProgramStrobeEnable,29腳)程序存儲(chǔ)器允許輸出控制端.在單片機(jī)訪問(wèn)外部程序存儲(chǔ)器時(shí),此引腳輸出脈沖負(fù)跳沿作為讀外部存儲(chǔ)器的選通信號(hào).此引腳接外部程序存儲(chǔ)器的OE(輸出允許)端.端可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載.(10)P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。3.3交通燈硬件電路圖第3章硬件系統(tǒng)設(shè)計(jì)3.3.1●8051P1口輸出信號(hào)與信號(hào)燈連接:由于發(fā)光二極管為共陽(yáng)極接法,輸出端口為低電平時(shí),對(duì)應(yīng)的二極管發(fā)光,所以可以用置位方法點(diǎn)亮紅,綠,黃發(fā)光二極管?!?051輸出信號(hào)與數(shù)碼管的連接:?jiǎn)纹瑱C(jī)經(jīng)P2口與七段數(shù)碼管連接,P3口與數(shù)碼管的位選端連接,七段數(shù)碼管采用共陽(yáng)級(jí)連接,其顯示原理為:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮而顯示不同的數(shù)字,如a,b,c,d,e,f,g,DP管腳上加上驅(qū)動(dòng)代碼80H,同時(shí)位選端1、2置為高電平,則數(shù)碼管全亮顯示為數(shù)字8。采用共陽(yáng)級(jí)連接:其中P2.0-aP2.1-bP2.2-cP2.3-dP2.4-eP2.5-fP2.6-gP2.7-DP七段數(shù)碼管驅(qū)動(dòng)代碼表顯示字符Dpgfedcba驅(qū)動(dòng)代碼(16進(jìn)制)011000000C0H111111001F9H210010100A4H310100000B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H第4章軟件系統(tǒng)設(shè)計(jì)第4章軟件系統(tǒng)設(shè)計(jì)4.1軟件系統(tǒng)設(shè)計(jì)的說(shuō)明在本設(shè)計(jì)中采用了硬件計(jì)數(shù)與軟件計(jì)數(shù)相結(jié)合的方法,用8051的定時(shí)器T0產(chǎn)生一定的定時(shí)時(shí)間,然后在利用軟件進(jìn)行計(jì)數(shù),從而產(chǎn)生秒信號(hào)。定時(shí)器T0采用中斷方式,當(dāng)定時(shí)時(shí)間到時(shí),在T0中斷服務(wù)程序中實(shí)現(xiàn)秒的倒計(jì)數(shù),從而控制LED顯示器倒計(jì)數(shù)顯示準(zhǔn)行和禁行時(shí)間。另外將T0中斷的優(yōu)先級(jí)別設(shè)置得高于其他中斷,從而保證了時(shí)間的準(zhǔn)確性。4.2定時(shí)器/計(jì)數(shù)器硬件延時(shí)●每秒鐘的設(shè)定延時(shí)方法可以有兩種:一種是利用MCS-51內(nèi)部定時(shí)器產(chǎn)生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。在工業(yè)檢測(cè)、控制中,許多場(chǎng)合都要用到計(jì)數(shù)或定時(shí)功能,例如外部脈沖進(jìn)行計(jì)數(shù)、產(chǎn)生精確的定時(shí)時(shí)間等。MCS-51單片機(jī)內(nèi)有兩個(gè)可編程的定時(shí)器/計(jì)數(shù)器T1、T0,以滿足這兩方面的需要,兩個(gè)定時(shí)器/計(jì)數(shù)器都具有定時(shí)和計(jì)數(shù)兩種工作模式(1)計(jì)數(shù)器工作模式計(jì)數(shù)功能是對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù)。MCS-51芯片有T0(P3.4)和T1(P3.5)兩個(gè)輸入引腳,分別是這兩個(gè)計(jì)數(shù)器的計(jì)數(shù)輸入端。每當(dāng)計(jì)數(shù)器的計(jì)數(shù)輸入引腳的脈沖發(fā)生負(fù)跳變時(shí),計(jì)數(shù)器加1。(2)定時(shí)器工作模式定時(shí)功能也是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,不過(guò)此時(shí)的計(jì)數(shù)脈沖來(lái)自單片機(jī)的內(nèi)部,即每個(gè)機(jī)器周期產(chǎn)生一個(gè)計(jì)數(shù)脈沖,也就是每經(jīng)過(guò)1個(gè)機(jī)器周期的時(shí)間,計(jì)數(shù)器加1。如果MCS-51采用12MHz晶體,則計(jì)數(shù)頻率為1MHz,即每過(guò)1us的時(shí)間計(jì)數(shù)器加1。這樣可以根據(jù)計(jì)數(shù)值計(jì)算出定時(shí)時(shí)間,也可以根據(jù)定時(shí)時(shí)間的要求計(jì)算出計(jì)數(shù)器的初值。MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器具有4種工作方式(方式0、方式1、方式2、方式3),其控制字均在相應(yīng)的功能寄存器中,通過(guò)對(duì)它的特殊功能寄存器的編程,我們可方便地選擇定時(shí)器/計(jì)數(shù)器兩種工作模式和4種工作方式。4.2.1定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)MCS-51單片機(jī)的定時(shí)器/計(jì)數(shù)器結(jié)構(gòu)如圖4-1所示,定時(shí)器/計(jì)數(shù)器T0由特殊功能寄存器TH0、TL0構(gòu)成,定時(shí)器/計(jì)數(shù)器T1由特殊功能寄存器TH1、TL1構(gòu)成。特殊功能寄存器TMOD用于選擇定時(shí)器/計(jì)數(shù)器T0、T1的工作模式和工作方式。特殊功能寄存器TCON用于控制T0、T1的啟動(dòng)和停止計(jì)數(shù),同時(shí)包含了T0\T1的狀態(tài)。TMOD、TCON這兩個(gè)寄存器的內(nèi)容由軟件設(shè)置。單片機(jī)復(fù)位時(shí),兩個(gè)寄存器的所有位都被清0。圖4-1MCS-51定時(shí)器/計(jì)數(shù)器結(jié)構(gòu)圖4.2.2工作方式控制寄存器TMOD工作方式寄存器TMOD用于選擇定時(shí)器/計(jì)數(shù)器的工作方式,它的字節(jié)地址為89H,不能進(jìn)行位尋址,其格式為8位分為兩組,高4位控制T1,低4位控制T0。下面對(duì)TMOD的各個(gè)位作以說(shuō)明。GATE——門(mén)控位GATE=0時(shí),以運(yùn)行控制位TRX(X=0,1)來(lái)啟動(dòng)定時(shí)器/計(jì)數(shù)器運(yùn)行。GATE=1時(shí),用外中斷引腳(或)上的高電平來(lái)啟動(dòng)定時(shí)器/計(jì)數(shù)器運(yùn)行。M1、M0——工作方式選擇位M1、M0共有4種編碼,對(duì)應(yīng)于4種工作方式的選擇,如表4-1所示。(3)C/——計(jì)數(shù)器模式和定時(shí)器模式選擇位C/=0,為定時(shí)器模式C/=1,為計(jì)數(shù)器模式,計(jì)數(shù)器對(duì)外部輸入引腳T0(P3.4腳)或(P3.5腳)的外部脈沖(負(fù)跳變)計(jì)數(shù)。表4-1工作方式選擇表4-1工作方式選擇工作方式M0M1工作方式M0M1方式0,為13位定時(shí)器/計(jì)數(shù)器。00方式0,為13位定時(shí)器/計(jì)數(shù)器。00方式1,為16位定時(shí)器/計(jì)數(shù)器。10方式1,為16位定時(shí)器/計(jì)數(shù)器。10方式2,8位的常數(shù)自動(dòng)重新裝載的定時(shí)器/計(jì)數(shù)器。01方式2,8位的常數(shù)自動(dòng)重新裝載的定時(shí)器/計(jì)數(shù)器。01方式3,僅適用于T0,T0分成兩個(gè)8位計(jì)數(shù)器,T1停止計(jì)數(shù)。1方式3,僅適用于T0,T0分成兩個(gè)8位計(jì)數(shù)器,T1停止計(jì)數(shù)。114.2.3定時(shí)器/計(jì)數(shù)器控制寄存器TCONTCON的字節(jié)地址為88H,可進(jìn)行位尋址,位地址為88H-8FH。TCON的D6D5D4D3D2D1D0D7D6D5D4D3D2D1D0D7IT0IE0TF0TR1IT1IE1TR0TF188HTCONIT0IE0TF0TR1IT1IE1TR0TF188HTCON格式為低4位與外部中斷有關(guān),高4位的功能如下。TF1、TF0——計(jì)數(shù)溢出標(biāo)志位當(dāng)計(jì)數(shù)器計(jì)數(shù)溢出時(shí),該位置“1”。使用查詢方式時(shí),此位作為狀態(tài)位供CPU查詢,但注意查詢有效后,應(yīng)以軟件方法及時(shí)將該位清“0”。使用中斷方式時(shí),此位作為中斷請(qǐng)求標(biāo)志位,進(jìn)入中斷服務(wù)程序后由硬件自動(dòng)清0。TR1、TR0——計(jì)數(shù)運(yùn)行控制位TR1位(TR0位)=1,啟動(dòng)定時(shí)器/計(jì)數(shù)器工作TR1位(TR0位)=0,停止定時(shí)器/計(jì)數(shù)器工作4.2.4定時(shí)器/計(jì)數(shù)器初值計(jì)算定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和計(jì)數(shù)初值設(shè)定為T(mén)C可得到如下計(jì)算通式:TC=M-C式中,M為計(jì)數(shù)器模值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為213;在方式1時(shí)M的值為216;在方式2和3為28.●計(jì)算公式時(shí)鐘周期是單片機(jī)的基本時(shí)間單位,若時(shí)鐘的晶體振蕩頻率為fosc,則時(shí)鐘周期Tosc=1/fosc。T=(M-TC)TCy或TC=M-T/TCyTC為定時(shí)初值,MCS-51單片機(jī)每12個(gè)時(shí)鐘周期為一個(gè)機(jī)器周期,即TCy=12/fosc.若fosc=6MHz。則TCy=2us;fosc=12MHz,則TCy=1us。如單片機(jī)的主脈沖頻率為12MHz,經(jīng)過(guò)12分頻方式0:Tmax=213×1us=8.192ms方式1:Tmax=216×1us=65.536ms方式2和3:Tmax=28×1us=256us顯然1秒鐘已經(jīng)超過(guò)了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問(wèn)題.●1秒的方法我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T0定時(shí)50ms.這樣每當(dāng)T0到50ms時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。4.2.5相應(yīng)程序代碼(1)主程序定時(shí)器需定時(shí)50ms,故T0工作于方式1。初值:TC=M-T/TCy=216-50ms/1us=15536=3CBOH所以T0的初值為T(mén)H0=3CHTL0=0B0HORG0000HMAIN:MOVTMOD,#01H;令T0為定時(shí)器方式1MOVTH0,#3CH;裝入定時(shí)器初值MOVTL0,#0BOH;MOVIE,#82H;開(kāi)T0中斷SETBTR0;啟動(dòng)T0計(jì)數(shù)器MOVR2,#14H;軟件計(jì)數(shù)器賦初值LOOP:AJMP$;等待中斷(2)中斷服務(wù)子程序ORG000BHAJMPINTORG0030HINT:DJNZR2,NEXTAJMPTIME;跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序MOVR2,#14H;恢復(fù)R2值MOVTH0,#3CH;重裝入定時(shí)器初值MOVTL0,#0BOHMOVIE,#82HRET4.3軟件延時(shí)MCS-51的工作頻率為2-12MHZ,我們選用的8051單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間。具體的延時(shí)程序如下:DELAY:MOVR7,#10DD3:MOVR6,#200DD2:MOVR5,#250DD1:DJNZR5,DD1DJNZR6,DD2DJNZR7,DD3RETEND 第5章AT89C51系統(tǒng)的程序分析第5章AT89C51系統(tǒng)的程序分析單片機(jī)AT89C51在交通燈系統(tǒng)中起主要作用,它完成了信號(hào)燈的亮、滅,和LED顯示管的時(shí)間顯示。5.1AT89C51主程序本系統(tǒng)的主程序設(shè)計(jì)比較簡(jiǎn)單,當(dāng)單片機(jī)啟動(dòng)后,本系統(tǒng)按以下流程圖順序執(zhí)行主程序,其主程序流程圖如下所示:5.2AT89C51的外部中斷分析本設(shè)計(jì)中采用外部中斷0來(lái)控制當(dāng)有特殊情況時(shí)的通行信號(hào),當(dāng)按動(dòng)手動(dòng)開(kāi)關(guān)時(shí),系統(tǒng)執(zhí)行中斷并按以下順序循環(huán)執(zhí)行,中斷流程圖如下所示:第6章結(jié)論第6章結(jié)論本系統(tǒng)根據(jù)8051的各引腳的具體功能,對(duì)其芯片進(jìn)行了充分的利用。系統(tǒng)采用MSC-51系列單片機(jī)Intel8051和LED為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了通過(guò)8051芯片的P1口設(shè)置紅、綠、黃燈燃亮?xí)r間的功能;紅綠黃燈循環(huán)點(diǎn)亮,延時(shí)一段時(shí)間后綠燈變?yōu)辄S燈,以警示車輛的通行。當(dāng)遇到緊急情況時(shí)可通過(guò)外部中斷信號(hào)使各路口的信號(hào)燈都為紅燈。系統(tǒng)不足之處是不能控制車輛的左、右轉(zhuǎn)、以及自動(dòng)根據(jù)車流改變紅綠燈時(shí)間等,這是由于本身專業(yè)知識(shí)的不足以及車流量情況所定,如果有需要可以設(shè)計(jì)擴(kuò)充原系統(tǒng)來(lái)實(shí)現(xiàn)。通過(guò)這次畢業(yè)設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。致謝參考文獻(xiàn)參考文獻(xiàn)[1]張毅剛,劉杰,MCS-51單片機(jī)原理及應(yīng)用,哈爾濱工業(yè)大學(xué)出版社,2004年[2]張洪潤(rùn),張亞凡,單片機(jī)原理及應(yīng)用,清華大學(xué)出版社,2005年[3]蔡明文,馮先成,單片機(jī)課程設(shè)計(jì),華中科技大學(xué)出版社,2007年[4]黃智偉,凌陽(yáng)單片機(jī)課程設(shè)計(jì)指導(dǎo),北京航空航天大學(xué)出版社,2007年[5]樓然苗,李光飛,單片機(jī)課程設(shè)計(jì)指導(dǎo),北京航空航天大學(xué)出版社,2007年[6]沈紅衛(wèi),基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),電子工業(yè)出版社,2005年附錄附錄一程序源代碼☆☆☆☆☆☆定義緩沖區(qū)☆☆☆☆☆☆TAI1EQU20H.0TAI2EQU20H.1TAI3EQU20H.2TAI4EQU20H.3TAI5EQU20H.4MIAO1EQU20H.5MIAO5EQU20H.6MIAO30EQU20H.7G_BITEQU21HS_BITEQU22HORG0000HAJMPSTARTORG0003HAJMPINTR1ORG000BHAJMPTIMEORG0030H☆☆☆☆☆☆程序入口☆☆☆☆☆☆ START:MOVSP,#60HMOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBEASETBEX0SETBET0☆☆☆☆☆☆賦初值☆☆☆☆☆☆SETBTAI1SETBTAI2SETBTAI3附錄SETBTAI4SETBTAI5SETBMIAO1SETBMIAO5SETBMIAO30MOVR0,#20MOVR1,#5MOVR2,#6☆☆☆☆☆☆主程序☆☆☆☆☆☆MAIN:JBTAI1,YIMAIN1:JBTAI2,ERJBTAI3,SANJBTAI4,SIJBTAI5,WUAJMPMAIN☆☆☆☆☆☆初始狀態(tài)東西,南北紅燈亮1S☆☆☆☆☆☆YI:SETBTR0LCALLDIS1YI1:MOVP1,#0FCHLCALLDISPLAYJBMIAO1,YI1SETBMIAO1LCALLJIAN1CLRTR0CLRTAI1LCALLFUZHIAJMPMAIN☆☆☆☆☆☆東西紅燈亮,南北綠燈亮☆☆☆☆☆☆ER:SETBTR0LCALLDIS30ER1:MOVP1,#0F6HLCALLDISPLAYJBMIAO1,ER1SETBMIAO1LCALLJIAN1JBMIAO5,ER1SETBMIAO5JBMIAO30,ER1SETBMIAO30CLR TR0CLRTAI2LCALLFUZHIAJMPMAIN☆☆☆☆☆☆因?yàn)镴B跳轉(zhuǎn)范圍達(dá)不到,所以加中間跳轉(zhuǎn)☆☆☆☆☆☆WU:AJMPWUU☆☆☆☆☆☆東西紅燈亮,南北黃燈亮☆☆☆☆☆☆SAN:SETBTR0LCALLDIS5SAN1:MOVP1,#0DEHLCALLDISPLAYJBMIAO1,SAN1SETBMIAO1LCALLJIAN1JBMIAO5,SAN1SETBMIAO5CLRTR0CLRTAI3LCALLFUZHIAJMPMAIN☆☆☆☆☆☆東西綠燈亮,南北紅燈亮☆☆☆☆☆☆SI:SETBTR0LCALLDIS30SI1:MOVP1,#0F9HLCALLDISPLAYJBMIAO1,SI1SETBMIAO1LCALLJIAN1JBMIAO5,SI1SETBMIAO5JBMIAO30,SI1SETBMIAO30CLR TR0CLRTAI4LCALLFUZHIAJMPMAIN☆☆☆☆☆☆東西黃燈亮,南北紅燈亮☆☆☆☆☆☆WUU:SETBTR0LCALLDIS5WU1:MOVP1,#0EDHLCALLDISPLAYJBMIAO1,WU1SETBMIAO1LCALLJIAN1JBMIAO5,WU1SETBMIAO5CLRTR0CLRTAI5LCALLFUZHILCALLCHUSHIAJMPMAIN☆☆☆☆☆☆定時(shí)器中斷☆☆☆☆☆☆TIME:CLRTR0MOVTH0,#3CHMOVTL0,#0B0HDJNZR0,CHUCLRMIAO1MOVR0,#20DJNZR1,CHUCLRMIAO5MOVR1,#5DJNZR2,CHUCLRMIAO30MOVR2,#6RETICHU:SETBTR0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑行業(yè)智能管理平臺(tái)開(kāi)發(fā)采購(gòu)合同
- 戶外運(yùn)動(dòng)裝備租賃使用安全免責(zé)協(xié)議書(shū)
- 硬件設(shè)備購(gòu)銷合同
- 游戲行業(yè)虛擬物品交易風(fēng)險(xiǎn)告知免責(zé)協(xié)議
- 獨(dú)家代理手房合同
- 工程總承包聯(lián)合體協(xié)議書(shū)
- 基于大數(shù)據(jù)的智能能源管理系統(tǒng)合作協(xié)議
- 專利申請(qǐng)與維護(hù)合同
- 工傷補(bǔ)償?shù)膮f(xié)議書(shū)
- 交通網(wǎng)絡(luò)運(yùn)輸承包經(jīng)營(yíng)合同
- 2025公文寫(xiě)作考試題庫(kù)(含參考答案)
- 2025年湖南科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年安徽省高校分類考試對(duì)口招生語(yǔ)文試卷真題(含答案)
- 2024年安徽省省情知識(shí)競(jìng)賽題庫(kù)及答案
- 2025年伊春職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2025版林木砍伐與生態(tài)修復(fù)工程承包合同2篇
- 課題申報(bào)參考:社會(huì)網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 如何管理好一家公寓
- 2025年零售業(yè)員工職業(yè)發(fā)展規(guī)劃與培訓(xùn)
- 2025年八省聯(lián)考高考語(yǔ)文試題真題解讀及答案詳解課件
- 《山東膠州秧歌》課件
評(píng)論
0/150
提交評(píng)論