版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)</b></p><p><b> 二○一一年五月</b></p><p> 基于單片機(jī)的交通燈設(shè)計(jì)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 基于單片機(jī)的交通燈設(shè)計(jì)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 內(nèi)容摘要:隨著全球城市化進(jìn)程加快,機(jī)動(dòng)車(chē)的數(shù)量越來(lái)越多,造成城市交通上
2、得各種問(wèn)題如何控制好城市交通已成為一個(gè)全球化的問(wèn)題。交通燈的出現(xiàn)使得交通得以有效管制,對(duì)于疏導(dǎo)交通量,提高道路通行能力,減少交通事故有明顯效果。</p><p> 單片機(jī)是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備以及輸出設(shè)備共五個(gè)基本部分組成的。單片機(jī)是把包括運(yùn)算器、控制器、少量的存儲(chǔ)器、最基本的輸入輸出口電路、串行口電路、中斷和定時(shí)電路等都集成在一個(gè)尺寸有限的芯片上。</p><p> 通
3、常,單片機(jī)由單個(gè)集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。</p><p> 本系統(tǒng)采用MCAS-51 系統(tǒng)單片機(jī)來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)各個(gè)方向的車(chē)輛、行人輪流通行的功能,此外還設(shè)置了人性化倒計(jì)時(shí)顯示。同時(shí)還具有南北、東西方向強(qiáng)制通行的功能。各個(gè)方向紅綠燈由P1口控制,倒計(jì)時(shí)顯示數(shù)碼管由P
4、2口控制,強(qiáng)制通行靠中斷來(lái)實(shí)現(xiàn)。系統(tǒng)用74LS245用來(lái)驅(qū)動(dòng)LED燈和數(shù)碼管顯示。本系統(tǒng)使用性強(qiáng)操作簡(jiǎn)單、擴(kuò)張功能強(qiáng)、便于維護(hù)。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī) 交通燈 數(shù)碼管 倒計(jì)時(shí)</p><p> Based on SCM traffic lights design of design and implementation</p><p> Ab
5、stract: With the global of urbanization, the number of motor vehicles, more and more cities have all kinds of traffic caused problem how to control the urban traffic has become a global problem. The traffic light appears
6、 make traffic to effectively control, for counseling traffic, improve road capacity, reduce traffic accidents have obvious effect.</p><p> A single chip computer is by unit, controller, memory, input and ou
7、tput devices were equipment five basic parts. The single chip computer is including unit, controller, a small amount of memory, the most basic input output circuit, a serial port circuit, interrupt and timing circuits ar
8、e integrated in a limited size of the chip.</p><p> Usually, the SCM by a single integrated circuit chip structure, internal contains the basic function of computer parts: the central processor, memory and
9、I/O interface circuit, etc. Therefore, SCM only need and the appropriate software and external equipment combination, can become a single-chip microcomputer control system.</p><p> The system USES MCAS-51 s
10、ingle-chip microcomputer system to designing traffic light controller, realize every direction vehicles, pedestrians passage in turn function, in addition is also equipped with humanization countdown show. And also has n
11、orth and south, the function of the compulsory traffic things direction. Each direction by traffic lights P1 mouth control, countdown show digital tube by P2 mouth control, compulsory traffic to realize by interrupt. Sys
12、tem LS245 to drive with 74 LED ligh</p><p> Keywords: singlechip traffic light Digitron countdowm</p><p><b> .</b></p><p><b> 目 錄</b></p>&
13、lt;p><b> 前言1</b></p><p> 1.1選題目的及意義1</p><p> 1.2交通燈發(fā)展情況1</p><p> 1.3課題設(shè)計(jì)內(nèi)容3</p><p> 2交通管理方案與論證3</p><p> 2.1 設(shè)計(jì)任務(wù)3</p>
14、<p> 2.2 方案介紹3</p><p> 2.2.1 設(shè)計(jì)思路3</p><p> 2.2.2 紅綠燈端口個(gè)數(shù)4</p><p> 2.2.3 通行時(shí)間設(shè)計(jì)4</p><p> 2.2.4 數(shù)碼管的顯示4</p><p> 2.2.5 系統(tǒng)工作流程圖4</p&
15、gt;<p> 2.2.6 方案的確立4</p><p> 2.3 設(shè)計(jì)方框圖5</p><p> 2.3.1 系統(tǒng)方框圖5</p><p> 2.3.2 程序流程方框圖6</p><p> 2.3.3 紅綠燈顯示方框圖7</p><p> 2.3.4強(qiáng)制通行電路方框圖8&
16、lt;/p><p><b> 3硬件設(shè)計(jì)8</b></p><p> 3.1 單片機(jī)概述8</p><p> 3.2 單片機(jī)的應(yīng)用領(lǐng)域8</p><p> 3.2 單片機(jī)的基本結(jié)構(gòu)9</p><p> 3.3 設(shè)計(jì)原理分析11</p><p> 3
17、.3.1 單片機(jī)的復(fù)位方式11</p><p> 3.3.2 單片機(jī)時(shí)鐘電路12</p><p> 3.3.3 單片機(jī)的引腳12</p><p> 4輸出信號(hào)與信號(hào)燈13</p><p> 4.1 七段LED顯示工作原理13</p><p> 4.2 驅(qū)動(dòng)代碼13</p>
18、<p> 4.3 芯片的介紹14</p><p> 5單片機(jī)的中斷系統(tǒng)17</p><p> 5.1 中斷的概念17</p><p> 5.2 中斷的過(guò)程17</p><p> 5.2.1 中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)19</p><p> 5.2.2 中斷源20</p>
19、<p> 6交通燈系統(tǒng)軟件設(shè)計(jì)20</p><p> 6.1 每秒中的設(shè)計(jì)20</p><p> 6.2 定時(shí)器初值計(jì)算20</p><p> 6.3 相應(yīng)的程序代碼20</p><p> 6.4 軟件延時(shí)21</p><p> 7系統(tǒng)硬件電路設(shè)計(jì)與調(diào)試23</p>
20、;<p> 7.1 實(shí)驗(yàn)平臺(tái)23</p><p> 7.1 實(shí)驗(yàn)步驟24</p><p> 7.1.1 繪制電路圖編寫(xiě)程序24</p><p><b> 8結(jié)論24</b></p><p><b> 9致謝25</b></p><p>
21、<b> 10參考文獻(xiàn)26</b></p><p> 附錄1 硬件電路圖27</p><p> 附錄2 程序代碼28</p><p> 基于單片機(jī)的交通燈設(shè)計(jì)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 前言</b></p><p><b> 選題目的及
22、意義</b></p><p> 單片微型計(jì)算機(jī)(Single Chip Microcomputer)簡(jiǎn)稱(chēng)單片機(jī),它是把組成微型計(jì)算機(jī)的各功能部件:中央處理CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)/計(jì)數(shù)器以及串口等部件制作在一塊集成芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。利用單片機(jī)作為中心控制器,不但能使設(shè)計(jì)簡(jiǎn)化,還可以直接與PC機(jī)連接通信,實(shí)現(xiàn)產(chǎn)品的智能化。</p>
23、<p> 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,針對(duì)具體應(yīng)用對(duì)象的特點(diǎn),配以其他部件來(lái)加以完善,伴隨入口車(chē)輛日益增長(zhǎng),交通控制的提高勢(shì)在必行,開(kāi)發(fā)更高級(jí)的交通控制系統(tǒng)十分有必要。交通控制研究的發(fā)展,旨在解決人類(lèi)交通因需求的增多而日益繁重帶來(lái)的問(wèn)題,局限于道路建設(shè)的暫時(shí)不足和交通工具的快速增長(zhǎng),就要
24、使更多的車(chē)輛安全高效的利用有限道路資源,避免因無(wú)序和搶行等無(wú)控制原因造成的不必要阻塞。</p><p> 那么十字路口車(chē)輛穿梭,行人熙攘,如何才能使交通有條不紊呢?考的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通量、提高道路通行能力、減少交通事故有明顯的效果。綠燈是同行信號(hào),面對(duì)路燈的車(chē)輛可以直行,左轉(zhuǎn)彎或右轉(zhuǎn),除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎的車(chē)輛都必須讓正在路口內(nèi)直行的
25、車(chē)輛和過(guò)人行道的行人優(yōu)先通過(guò)。紅燈是禁止信號(hào),面對(duì)紅燈的車(chē)輛必須在交叉路口停車(chē)線后停車(chē)。黃燈是警告信號(hào),面對(duì)黃燈的車(chē)輛不能越過(guò)停車(chē)線,但車(chē)輛已經(jīng)十分接近停車(chē)線不能安全停車(chē)時(shí)可以駛?cè)虢徊媛房凇?</p><p> 在我國(guó),單片機(jī)已經(jīng)廣泛的應(yīng)用在工業(yè)自動(dòng)化、自動(dòng)檢測(cè)、電力電子、機(jī)電一體化設(shè)備燈各個(gè)方面。單片機(jī)的應(yīng)用范圍廣的特點(diǎn),對(duì)各個(gè)行業(yè)的技術(shù)改造和產(chǎn)品智能化的更新?lián)Q代起著重要的推動(dòng)作用。采用單片機(jī)來(lái)對(duì)他們控制,不
26、僅具有控制方便、簡(jiǎn)單和靈活性大的特點(diǎn),而且還可以大幅度提高被控對(duì)象的技術(shù)指標(biāo),從而大大提高控制的質(zhì)量。</p><p><b> 交通燈發(fā)展情況</b></p><p> 交通燈早在19世紀(jì)就開(kāi)始是用來(lái)。1858年,在英國(guó)倫敦主要街頭安裝了以燃?xì)鉃楣庠吹募t、藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車(chē)通行。這是世界上最早的交通信號(hào)。1868年12月10日,信號(hào)燈家族的一
27、個(gè)成員在倫敦議會(huì)大廈的廣場(chǎng)上誕生了,由當(dāng)時(shí)英國(guó)機(jī)械師德·哈特設(shè)計(jì)、制造的燈柱高7米,身上掛著一盞紅、綠兩色的提燈——煤氣交通信號(hào)燈,這是城市街道的第一盞信號(hào)燈。在燈的腳下,一名手持長(zhǎng)桿的警察隨心所欲的牽動(dòng)皮帶轉(zhuǎn)換提燈的顏色。后來(lái)在信號(hào)燈的中心裝上煤氣燈罩,它的前面有兩塊紅、綠玻璃交替遮擋。不幸的是只面試23天的煤氣燈突然爆炸自滅,使一位正在值勤的警察也因此斷送了性命。從此,城市的交通燈被取締了。知道1914年,在美國(guó)的克利夫
28、蘭市才率先恢復(fù)了紅綠燈,不過(guò)這時(shí)已是“電氣信號(hào)燈”。稍后又在紐約和芝加哥等城市,相繼重新出現(xiàn)了交通信號(hào)燈。 隨著各種交通工具的發(fā)展和交通指揮的需要,第一盞名副其實(shí)的三色燈(紅黃綠三種標(biāo)志)于1918年誕生。它是三色圓形四面投影器,被安裝在紐約市五號(hào)街的一座高塔上,由于它的誕生使城市交通大為改善。黃色信號(hào)燈的發(fā)明者是我國(guó)的胡汝鼎,他懷著“科學(xué)救國(guó)”的抱負(fù)到美國(guó)深造,</p><p> 縱觀交通事業(yè)的發(fā)展
29、歷史,以前,人們出門(mén)遠(yuǎn)行或運(yùn)輸東西最常用到的的交通工具是馬車(chē),但是隨著社會(huì)的進(jìn)步經(jīng)濟(jì)的發(fā)展,一種新型交通工具汽車(chē)隨之問(wèn)世。如1950年英國(guó)陸虎公司推出世界上第一臺(tái)采用燃?xì)鉁u輪發(fā)動(dòng)機(jī)的汽車(chē),1952年美國(guó)通用公司推出“別克”牌小轎車(chē),1955年福特“雷鳥(niǎo)”牌兩座位汽車(chē)問(wèn)世,1956年中國(guó)第一汽車(chē)制造廠成立,“解放”牌汽車(chē)問(wèn)世。特別是近幾年汽車(chē)產(chǎn)業(yè)更是日新月異,2006年全世界汽車(chē)總已產(chǎn)量已超過(guò)6400萬(wàn)輛。在汽車(chē)產(chǎn)業(yè)蓬勃發(fā)展的背后,隨之而
30、來(lái)交通問(wèn)題也越來(lái)越多,如交通堵塞和交通事故時(shí)常發(fā)生,這不但給人們的生命和財(cái)產(chǎn)造成了威脅,同時(shí)還制約著國(guó)民經(jīng)濟(jì)的發(fā)展,特別是發(fā)達(dá)國(guó)家和發(fā)展中國(guó)家面臨的形勢(shì)更是嚴(yán)峻。 為了緩解交通的負(fù)荷量,使車(chē)輛運(yùn)行暢通無(wú)阻,交通事業(yè)整嚴(yán)有序,國(guó)家起用了雙車(chē)道交通燈控制系統(tǒng)。通過(guò)紅,綠,黃三色燈進(jìn)行單一的控制,使其遵守紅燈停,綠燈行的原則。但是隨著社會(huì)的發(fā)展,天津不銹鋼崗?fù)ご讼到y(tǒng)已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足交通控制事業(yè)的需求,需要一種全新的控制理念,進(jìn)而引進(jìn)
31、了與我國(guó)國(guó)情相符合的國(guó)外先進(jìn)的控制體系,多車(chē)道交通燈控制系統(tǒng),不但解決以往交通控制系統(tǒng)的局限性,同時(shí)還</p><p><b> 課題設(shè)計(jì)內(nèi)容</b></p><p> 利用AT89C51單片機(jī)控制信號(hào)燈。</p><p> 結(jié)合實(shí)際情況,控制紅黃綠燈的亮滅。</p><p> 可以調(diào)節(jié)紅、黃、綠交通燈的亮滅時(shí)間
32、。</p><p> 采用LED數(shù)碼管顯示紅、黃、綠燈剩余時(shí)間。</p><p> 通過(guò)按鍵設(shè)定紅綠燈的時(shí)間。</p><p> 控制東西南北方向紅、黃、綠燈的亮滅時(shí)間。</p><p> 控制系統(tǒng)的原理圖采用軟件繪制。</p><p> 2交通管理方案與論證</p><p><
33、b> 2.1 設(shè)計(jì)任務(wù)</b></p><p> 東西(EW)、南北(SN)兩干道交與一個(gè)十字路口,各干道有一組紅、黃、綠三個(gè)指示燈,指揮車(chē)輛和行人安全通行,綠燈允許通行,黃燈閃爍表示離紅燈亮還有5s。本設(shè)計(jì)給兩干道分配了30的時(shí)間選擇,可以根據(jù)干道上人流量、車(chē)流量來(lái)分設(shè)置時(shí)間的長(zhǎng)短。</p><p><b> 2.2 方案介紹</b>&
34、lt;/p><p> 2.2.1 設(shè)計(jì)思路</p><p> 把設(shè)計(jì)任務(wù)分為四個(gè)狀態(tài),其對(duì)應(yīng)狀態(tài)如圖:</p><p> 圖2.2.1-1 任務(wù)狀態(tài)圖</p><p> 2.2.2 紅綠燈端口個(gè)數(shù)</p><p> 十字路口一共有4個(gè)方向,其中東西方向與南北方向各自燈亮滅是一致的。所以采用6位信號(hào)控制各個(gè)方
35、向的紅、黃、綠燈即可。</p><p> 2.2.3 通行時(shí)間設(shè)計(jì) </p><p> 紅綠顯示時(shí)間:以南北為例,南北方向綠燈,東西方向紅燈,倒計(jì)時(shí)25s,到第5s時(shí),綠燈開(kāi)始閃爍,閃爍時(shí)間為2s當(dāng)?shù)褂?jì)時(shí)到3s時(shí),南北方向綠燈滅,紅燈亮。倒計(jì)時(shí)結(jié)束后南北方向紅燈東西方向綠燈,倒計(jì)時(shí)從新開(kāi)始,如此循環(huán)下去。</p><p> 2.2.4 數(shù)碼管的顯示 <
36、;/p><p> 顯示分為靜態(tài)和動(dòng)態(tài)顯示,由于占用較多的接口,在單片機(jī)設(shè)計(jì)中常采用串行擴(kuò)展來(lái)完成。該方案占用接口資源多,顯示亮度有保證,但硬件開(kāi)銷(xiāo)大,電路復(fù)雜。</p><p> LED動(dòng)態(tài)顯示硬件連接簡(jiǎn)單,在該系統(tǒng)只能夠由于單片機(jī)沒(méi)有太多的實(shí)時(shí)測(cè)控任務(wù),為使倒計(jì)時(shí)顯示代碼更簡(jiǎn)潔直觀,倒計(jì)時(shí)顯示采用靜態(tài)顯示,直接由I/O口輸出對(duì)應(yīng)數(shù)碼管。</p><p> 2.2
37、.5 系統(tǒng)工作流程圖 </p><p> 開(kāi)啟中斷控制,數(shù)碼管循環(huán)顯示;中斷時(shí)間到,進(jìn)入中斷處理程序,重新給定時(shí)器賦初值,搜索按鍵狀態(tài),判斷顯示狀態(tài),賦值給各參數(shù),控制哪些燈亮哪幾位數(shù)碼管顯示;cnt加1,判斷cnt是否等于25,確實(shí)1S時(shí)間到了,如果是sec減一;判斷sec是否到達(dá)5s,確實(shí)是否給警告標(biāo)志參數(shù)賦值;到達(dá)5s后程序判斷sec等于0,確定更改狀態(tài)。</p><p> 2
38、.2.6 方案的確立 </p><p> 紅綠燈數(shù)碼管輸出采用并口輸出,在需要延時(shí)時(shí)CPU進(jìn)行空操作延時(shí)。各個(gè)方向綠燈的亮滅用傳遞指令給相應(yīng)的端口賦值。</p><p> 數(shù)碼管顯示程序,沒(méi)調(diào)用1s延時(shí)程序,為數(shù)碼管對(duì)應(yīng)端口賦一次值的算法。南北方向、東西方向強(qiáng)制通行各使用一個(gè)中斷,當(dāng)其中一個(gè)中斷響應(yīng)后,CPU執(zhí)行對(duì)應(yīng)的中斷程序,使紅綠燈、數(shù)碼管按程序點(diǎn)亮,然后CPU進(jìn)行死循環(huán),當(dāng)需要
39、結(jié)束強(qiáng)制通行時(shí),按下復(fù)位鍵即可,單片機(jī)則會(huì)從新工作。</p><p> 采用P1口低六位來(lái)控制南北和東西方向的紅、黃、綠燈。P2口低四位和高四位分別輸出倒計(jì)時(shí)的十位和個(gè)位的BCB碼,經(jīng)過(guò)譯碼器翻譯后輸出到數(shù)碼管上顯示。南北、東西方向強(qiáng)行通過(guò)靠中斷來(lái)實(shí)現(xiàn)。</p><p> 2.3 設(shè)計(jì)方框圖</p><p> 2.3.1 系統(tǒng)方框圖 </p>
40、<p> 圖2.3.1-1 系統(tǒng)設(shè)計(jì)方框圖</p><p> 電路方框圖有單片機(jī)、復(fù)位電路、時(shí)鐘電路、強(qiáng)通電路、倒計(jì)時(shí)驅(qū)動(dòng)電路、倒計(jì)時(shí)顯示電路、紅綠燈驅(qū)動(dòng)電路、紅綠燈顯示電路構(gòu)成,其各部分的主控與被控關(guān)系如圖箭頭所示。</p><p> 2.3.2 程序流程方框圖 </p><p> 圖2.3.2-2 程序流程圖</p>&l
41、t;p> 單片機(jī)上電后,從0000H開(kāi)始執(zhí)行,程序直接跳往主程序。在主程序中,首先對(duì)單片機(jī)進(jìn)行初始化,初始化包括中斷服務(wù),打開(kāi)中斷0、中斷1,以便按下強(qiáng)通按鍵后可以跳轉(zhuǎn)到中斷程序。然后執(zhí)行程序主體,先為P1口賦值,是南北方向綠燈亮,東西方向紅燈亮,在調(diào)用延時(shí)1子程序。延時(shí)1子程序采用循環(huán)與查表指令每隔一秒為P2口賦值,從而顯示從30遞減的倒計(jì)時(shí),當(dāng)計(jì)時(shí)為到25時(shí),返回主程序并調(diào)用南北綠燈閃爍子程序,在本子程序中,先調(diào)用一1s鐘的
42、閃爍子程序。接著向P2口賦值使倒計(jì)時(shí)顯示4,然后再調(diào)用一次1s鐘的閃爍子程序,然后回到主程序。接著向P1口賦值,使南北方向黃燈,東西方向紅燈,再調(diào)用延時(shí)2子程序,每1s為P2口賦一次值,以便顯示3-1的倒計(jì)時(shí)顯示。南北方向通行結(jié)束后,為P1口賦值,使南北方向紅燈,東西方向綠燈,再調(diào)用延時(shí)1子程序。倒計(jì)時(shí)為5時(shí),返回主程序并調(diào)用東西綠燈閃爍子程序,返回主程序后,向P1口賦值,使南北方向紅燈,東西方向黃燈,再調(diào)用延時(shí)2子程序。此時(shí)程序主體執(zhí)
43、行一次,由此循環(huán)執(zhí)行程序主體。</p><p> 2.3.3 紅綠燈顯示方框圖 </p><p> 圖2.3.3-1紅綠燈顯示圖</p><p> 紅綠燈顯示電路使用P1口的低六位,通過(guò)一片74LS245驅(qū)動(dòng)芯片進(jìn)行功率放大,然后送給對(duì)應(yīng)的紅綠燈,使其按照程序熄滅。74LS245的AB/BA斷接高電平。表示數(shù)據(jù)由A向B傳送。發(fā)光二極管的公共端進(jìn)行一個(gè)分壓二極管
44、接到VCC,因此低電平有效。在設(shè)計(jì)方案中提到,南北方向紅綠燈顯示一致,東西方向的紅綠燈顯示一致。所以東西方向的紅綠燈接到相同的I/O ,在本電路中,南北方向,東西方向的紅綠燈串聯(lián)接到P1口。其中P1.0 、P1.1、P1.2輸出控制南北方向的紅、綠、黃燈;P1.3、P1.4、P1.5輸出控制東西方向的紅、綠、黃燈。</p><p> 2.3.4強(qiáng)制通行電路方框圖 </p><p> +
45、5V key 1 </p><p> R1 C1 </p><p> key 2 </p><p><b> key 3 </b></p><p><b> GND</b></p><p> 圖2.3.4-1
46、 強(qiáng)制通行電路</p><p> 當(dāng)按下某一開(kāi)關(guān)時(shí),向CPU發(fā)出請(qǐng)求,CPU執(zhí)行相應(yīng)的中斷程序。當(dāng)按下鍵2時(shí),南北方向強(qiáng)通,當(dāng)按下鍵3時(shí),東西方向強(qiáng)通。當(dāng)強(qiáng)通結(jié)束時(shí),只需要按下可以key1復(fù)位鍵,單片機(jī)重新正常工作。</p><p><b> 3硬件設(shè)計(jì)</b></p><p> 3.1 單片機(jī)概述</p><p&g
47、t; 單片機(jī)是由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備以及輸出設(shè)備共五個(gè)基本部分組成的。單片機(jī)是把包括運(yùn)算器、控制器、少量的存儲(chǔ)器、最基本的輸入輸出口電路、串行口電路、中斷和定時(shí)電路等都集成在一個(gè)尺寸有限的芯片上。通常,單片機(jī)由單個(gè)集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)的應(yīng)用系統(tǒng)式以單片機(jī)為核心構(gòu)成的智能化產(chǎn)品
48、。其智能化體現(xiàn)在以單片機(jī)為核心構(gòu)成的微型計(jì)算機(jī)系統(tǒng),保證了產(chǎn)品的智能化處理與智能化控制能力。</p><p> 3.2 單片機(jī)的應(yīng)用領(lǐng)域</p><p> 智能化產(chǎn)品,單片機(jī)與傳統(tǒng)的機(jī)械產(chǎn)品相結(jié)合,是傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)單,控制智能化,構(gòu)成新一代的機(jī)電一體化。</p><p> 智能化儀表,將單片機(jī)植入測(cè)量、控制儀表后,能促進(jìn)儀表數(shù)字化、智能化、多功能化、綜
49、合化和柔性化發(fā)展,并使監(jiān)測(cè)、處理和控制功能一體化,使儀表質(zhì)量減小便于攜帶和使用,同時(shí)降低了成本,提高了性能價(jià)格比,減小測(cè)量誤差。</p><p> 智能化測(cè)控系統(tǒng),測(cè)控系統(tǒng)特點(diǎn)是工作環(huán)境惡劣,各種干擾繁雜,而且往往要求測(cè)控實(shí)時(shí)性強(qiáng)、工作穩(wěn)定可靠、考干擾能力強(qiáng)。單片機(jī)最適合應(yīng)用于工業(yè)測(cè)控領(lǐng)域,可以構(gòu)成各種工業(yè)檢測(cè)與控制系統(tǒng)。</p><p> 智能化接口,在通用計(jì)算機(jī)外部設(shè)備中,都已實(shí)現(xiàn)
50、單片機(jī)控制和管理。在計(jì)算機(jī)應(yīng)用系統(tǒng)中,通常都采用單片機(jī)接口設(shè)備進(jìn)行控制和管理,是主機(jī)和接口設(shè)備能并行工作。這個(gè)不僅大大提高了系統(tǒng)的運(yùn)算速度,而且接口設(shè)備在單片機(jī)的控制下還可以對(duì)接口數(shù)據(jù)進(jìn)行預(yù)處理。</p><p> 3.2 單片機(jī)的基本結(jié)構(gòu)</p><p> 單片機(jī)的基本結(jié)構(gòu)如圖 3.2-1 所示的方框圖描述,中央處理器CPU包含了控制器和運(yùn)算器;只讀存儲(chǔ)器(ROM)和隨機(jī)存儲(chǔ)器(R
51、AM)對(duì)應(yīng)存儲(chǔ)器,ROM存放程序,RAM存放數(shù)據(jù);I/O口對(duì)應(yīng)輸入接口和輸出接口。在單片機(jī)內(nèi)部還集成了定時(shí)/計(jì)數(shù)器(T/C)、中斷控制器和系統(tǒng)時(shí)鐘電路等。單片機(jī)用總線實(shí)現(xiàn)CPU,ROM, RAM, I/O各模塊之間的信息傳遞。</p><p> ?。?) 中央處理器(CPU)</p><p> 中央處理器是單片機(jī)的核心器件,是8 位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU 負(fù)
52、責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。由算數(shù)邏輯運(yùn)算部件和控制部件構(gòu)成。中央處理器(CPU)是整個(gè)單片機(jī)的核心部件, </p><p> ?。?) 數(shù)據(jù)存儲(chǔ)器(RAM)</p><p> 8051芯片共有256個(gè)RAM單元,其中后128單元被專(zhuān)用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫(xiě)的數(shù)據(jù)。因此通常所說(shuō)的內(nèi)部數(shù)據(jù)存儲(chǔ)器就
53、是指前128單元,簡(jiǎn)稱(chēng)內(nèi)部RAM。地址范圍為00H~FFH(256B)。是一個(gè)多用多功能數(shù)據(jù)存儲(chǔ)器,有數(shù)據(jù)存儲(chǔ)、通用工作寄存器、堆棧、位地址等空間。</p><p> ?。?)程序存儲(chǔ)器(ROM)</p><p> 在前面也已講過(guò),8051內(nèi)部有4KB的ROM,用于存放程序、原始數(shù)據(jù)或表格。因此稱(chēng)之為程序存儲(chǔ)器,簡(jiǎn)稱(chēng)內(nèi)部RAM。地址范圍為0000H~FFFFH(64KB)。</p&
54、gt;<p> ?。?)定時(shí)器/計(jì)數(shù)器 </p><p> 8051共有2個(gè)16位的定時(shí)器/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。定時(shí)時(shí)靠?jī)?nèi)部分頻時(shí)鐘頻率計(jì)數(shù)實(shí)現(xiàn),做計(jì)數(shù)器時(shí),對(duì)P3.4(T0)或P3.5(T1)端口的低電平脈沖計(jì)數(shù)。</p><p> ?。?)并行I/O口 </p><p> MCS-51共有4個(gè)8位
55、的I/O口(P0、P1、P2、P3)以實(shí)現(xiàn)數(shù)據(jù)的輸入輸出。</p><p><b> ?。?)串行口 </b></p><p> MCS-51有一個(gè)全雙工的串行口,以實(shí)現(xiàn)單片機(jī)和其它設(shè)備之間的串行數(shù)據(jù)傳送。該串行口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為移位器使用。RXD( P3.0)腳為接收端口,TXD(P3.1)腳為發(fā)送端口。</p>
56、<p> ?。?) 中斷控制系統(tǒng) </p><p> MCS-51單片機(jī)的中斷功能較強(qiáng),以滿足不同控制應(yīng)用的需要。共有5個(gè)中斷源,即外中斷2個(gè),定時(shí)中斷2個(gè),串行中斷1個(gè),全部中斷分為高級(jí)和低級(jí)共二個(gè)優(yōu)先級(jí)別。</p><p><b> ?。?)時(shí)鐘電路</b></p><p> MCS-51芯片的內(nèi)部有時(shí)鐘電路,但石英晶體和微調(diào)
57、電容需外接。時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列。系統(tǒng)允許的晶振頻率為12MHZ。單片機(jī)的結(jié)構(gòu)有兩種類(lèi)型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL 的MCS-51 系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16 位的MCS-96 系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。</p><p
58、> 圖3.2-1 單片機(jī)基本結(jié)構(gòu)</p><p> 3.3 設(shè)計(jì)原理分析</p><p> 3.3.1 單片機(jī)的復(fù)位方式</p><p> 單片機(jī)在開(kāi)機(jī)時(shí)或在工作中因干擾而使程序時(shí)空,或在工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復(fù)位。復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并使這個(gè)狀態(tài)重新開(kāi)始工作。<
59、/p><p> 復(fù)位后PC程序計(jì)數(shù)器的內(nèi)容為0000H,片內(nèi)RAM不受復(fù)位影響。復(fù)位電路一般有上電自動(dòng)復(fù)位、按鍵手動(dòng)復(fù)位兩種。如下圖所示:</p><p> 圖3.3.1-1 上電自動(dòng)復(fù)位電路圖</p><p> 8051單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由REST在(RST)引腳輸入,高電平有效。在振蕩器工作時(shí),只要保持RST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位
60、</p><p> 圖3.3.1-2 按鍵手動(dòng)復(fù)位電路圖</p><p> 當(dāng)復(fù)位鍵按下之后,復(fù)位端的小電阻與電源接通,電容迅速放電,是RST引腳為高電平;當(dāng)復(fù)位按鍵彈起后,電源通過(guò)電阻對(duì)電容充電,RST引腳出現(xiàn)復(fù)位正脈沖。其中持續(xù)時(shí)間取決于RC電路時(shí)間常數(shù)。</p><p> 3.3.2 單片機(jī)時(shí)鐘電路 </p><p> 單片
61、機(jī)工作是在統(tǒng)一的時(shí)鐘脈沖下進(jìn)行的,這個(gè)脈沖是由單片機(jī)控制器的時(shí)序電路發(fā)出的。單片機(jī)的時(shí)序是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。為了保證各部件的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格按時(shí)序進(jìn)行工作,MCS-51系列單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈沖,外部還需要附加電路。MCS-51的時(shí)鐘產(chǎn)生有兩種方法,如圖 2.3.3-1、2.3.3-2所示。</p><p><
62、;b> 5V</b></p><p><b> R1</b></p><p> C1 </p><p>&
63、lt;b> GND</b></p><p> C2 GND</p><p> 圖3.3.2-1單片機(jī)內(nèi)部時(shí)鐘電路 圖3.3.2-2單片機(jī)外部時(shí)鐘電路</p><p> 3.3.3 單片機(jī)的引腳
64、</p><p> 圖3.3.3-1單片機(jī)的引腳</p><p> 單片機(jī)的40個(gè)引腳大致可分為4類(lèi):電源、時(shí)鐘、控制和I/O引腳。</p><p> ?、?電源: ⑴ VCC - 芯片電源,接+5V;</p><p> ?、?VSS - 接地端;</p><p> ⒉ 時(shí)鐘:XTAL1、XTAL2 - 晶體振蕩
65、電路反相輸入端和輸出端。 </p><p> ?、?控制線:控制線共有4根,</p><p> ?、?ALE/PROG:地址鎖存允許/片內(nèi)EPROM編程脈沖① ALE功能:用來(lái)鎖存P0口送出的低8位地址② PROG功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。</p><p> ⑵ PSEN:外ROM讀選通信號(hào)。</p>
66、<p> ?、?RST/VPD:復(fù)位/備用電源。</p><p> ?、?RST(Reset)功能:復(fù)位信號(hào)輸入端。</p><p> ?、?VPD功能:在Vcc掉電情況下,接備用電源。</p><p> ⑷ EA/Vpp:內(nèi)外ROM選擇/片內(nèi)EPROM編程電源。</p><p> ?、?EA功能:內(nèi)外ROM選擇端。</p
67、><p> ② Vpp功能:片內(nèi)有EPROM的芯片,在EPROM編程期間,施加編程電源Vpp。</p><p><b> ?、?I/O線</b></p><p> 80C51共有4個(gè)8位并行I/O端口:P0、P1、P2、P3口,共32個(gè)引腳。P3口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。</p><p&
68、gt;<b> 4輸出信號(hào)與信號(hào)燈</b></p><p> 4.1 七段LED顯示工作原理</p><p> LED顯示器是由發(fā)光二極管顯示字段的MC-51單片機(jī)輸出設(shè)備。單片機(jī)應(yīng)用系統(tǒng)常用七段數(shù)碼管作為顯示器,這重顯示器具有耗電低配置靈活、線路簡(jiǎn)單、安裝方便等優(yōu)點(diǎn)。因此應(yīng)用廣泛。</p><p> LED顯示器可以分為共陰極和共陽(yáng)
69、極兩種結(jié)構(gòu)</p><p> 共陽(yáng)極結(jié)構(gòu):如果所有發(fā)光二極管的陽(yáng)極連在一起稱(chēng)為共陽(yáng)極結(jié)構(gòu),則數(shù)碼顯示段輸入低電平有效,當(dāng)某段輸入低電平該段發(fā)亮。</p><p> 共陰極結(jié)構(gòu):如果所有發(fā)光二極管的陰極連在一起稱(chēng)為共陽(yáng)極結(jié)構(gòu),則數(shù)碼顯示段輸入高電平有效,當(dāng)某段輸入高電平該段發(fā)亮。</p><p><b> 4.2 驅(qū)動(dòng)代碼</b><
70、/p><p> 要使行人能看見(jiàn)信號(hào)燈的情況,必須把P2口輸出的信號(hào)降低,當(dāng)P2某個(gè)端口為低電平,該支路指示燈亮(此處設(shè)計(jì)陰極接端口)。</p><p> LED 燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮。如下圖:
71、 </p><p> 而七段數(shù)碼管的顯示及與74LS245的連接顯示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上0FEH所以?。樱猩蠟椋胺?,不亮其余為TTL高電平,全亮則顯示為8。</p><p><b> 采用共陰極連接:</b></p><p> 驅(qū)動(dòng)代碼表4.2-1</p><p&
72、gt; 4.3 芯片的介紹</p><p> 【1】AT89C51芯片</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-5
73、1指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p> 一.主要特性:·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲(chǔ)器·全靜態(tài)工作:0Hz-24Hz·三級(jí)程序存儲(chǔ)器鎖定·128*8位內(nèi)部RAM·32可
74、編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時(shí)鐘電路 </p><p> 二.管腳說(shuō)明:VCC:供電電壓。GND:接地。1、P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義
75、為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。2、P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 3、P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙
76、向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存</p><p> 三.振蕩器特性:XTAL1和XTAL2分別為反向放
77、大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 四.芯片擦除:整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被
78、寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p> 【2】74LS245芯片</p><p&g
79、t; 74LS245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。 74LS245還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。 當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過(guò)P0最大負(fù)載能力時(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均
80、為高阻態(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.1←D1),其它時(shí)間處于輸出(P0.1→D1)。</p><p><b> 5單片機(jī)的中斷系統(tǒng)</b></p
81、><p> 5.1 中斷的概念</p><p> 中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過(guò)程中,由于計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因而必須終止源程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束后再返回繼續(xù)執(zhí)行被終止的源程序的過(guò)程。如圖2.3.1-1所示。實(shí)現(xiàn)這種中斷的硬件系統(tǒng)和軟件系統(tǒng)稱(chēng)為中斷系統(tǒng)。</p><p> 在中斷系統(tǒng)中,經(jīng)常要用到一下幾個(gè)概念:CPU在正常情況下運(yùn)行
82、的程序稱(chēng)為現(xiàn)行程序;向CPU提出在中斷請(qǐng)求的設(shè)備稱(chēng)為中斷源;由中斷源CPU發(fā)出的請(qǐng)求中斷的信號(hào)稱(chēng)為中斷請(qǐng)求;CPU在滿足條件的情況下接受中斷申請(qǐng),終止現(xiàn)行程序轉(zhuǎn)而為申請(qǐng)的對(duì)象服務(wù)稱(chēng)為中斷響應(yīng);現(xiàn)行程序被中斷的地址稱(chēng)為斷點(diǎn);中斷服務(wù)程序結(jié)束后返回到原來(lái)程序稱(chēng)為中斷返回。</p><p> 5.2 中斷的過(guò)程</p><p><b> 1請(qǐng)求中斷 </b></
83、p><p> 當(dāng)某一中斷源需要CPU為其進(jìn)行中斷服務(wù)時(shí),就輸出中斷請(qǐng)求信號(hào),使中斷控制系統(tǒng)的中斷請(qǐng)求觸發(fā)器置位,向CPU請(qǐng)求中斷。系統(tǒng)要求中斷請(qǐng)求信號(hào)一直保持到CPU對(duì)其進(jìn)行中斷響應(yīng)為止。</p><p><b> 2.中斷響應(yīng) </b></p><p> CPU對(duì)系統(tǒng)內(nèi)部中斷源提出的中斷請(qǐng)求必須響應(yīng),而且自動(dòng)取得中斷服務(wù)子程序的入口地址,執(zhí)
84、行中斷服務(wù)子程序。對(duì)于外部中斷,CPU在執(zhí)行當(dāng)前指令的最后一個(gè)時(shí)鐘周期去查詢INTR引腳,若查詢到中斷請(qǐng)求信號(hào)有效,同時(shí)在系統(tǒng)開(kāi)中斷(即IF=1)的情況下,CPU向發(fā)出中斷請(qǐng)求的外設(shè)回送一個(gè)低電平有效的中斷應(yīng)答信號(hào)INTA,作為對(duì)中斷請(qǐng)求INTR的應(yīng)答,系統(tǒng)自動(dòng)進(jìn)入中斷響應(yīng)周期。</p><p><b> 3.關(guān)閉中斷</b></p><p> CPU響應(yīng)中斷后,
85、輸出中斷響應(yīng)信號(hào)INTA,自動(dòng)將狀態(tài)標(biāo)志寄存器FR或EFR的內(nèi)容壓入堆棧保護(hù)起來(lái),然后將FR或EFR中的中斷標(biāo)志位IF與陷阱標(biāo)志位TF清零,從而自動(dòng)關(guān)閉外部硬件中斷。因?yàn)镃PU剛進(jìn)入中斷時(shí)要保護(hù)現(xiàn)場(chǎng),主要涉及堆棧操作,此時(shí)不能再響應(yīng)中斷,否則將造成系統(tǒng)混亂。</p><p><b> 4.保護(hù)斷點(diǎn) </b></p><p> 保護(hù)斷點(diǎn)就是將CS和IP/EIP的當(dāng)前
86、內(nèi)容壓入堆棧保存,以便中斷處理完畢后能返回被中斷的原程序繼續(xù)執(zhí)行,這一過(guò)程也是由CPU自動(dòng)完成。 5.中斷源識(shí)別 </p><p> 當(dāng)系統(tǒng)中有多個(gè)中斷源時(shí),一旦有中斷請(qǐng)求,CPU必須確定是哪一個(gè)中斷源提出的中斷請(qǐng)求,并由中斷控制器給出中斷服務(wù)子程序的入口地址,裝入CS與IP/EIP兩個(gè)寄存器。CPU轉(zhuǎn)入相應(yīng)的中斷服務(wù)子程序開(kāi)始執(zhí)行。</p><p><b> 6.
87、保護(hù)現(xiàn)場(chǎng)</b></p><p> 主程序和中斷服務(wù)子程序都要使用CPU內(nèi)部寄存器等資源,為使中斷處理程序不破壞主程序中寄存器的內(nèi)容,應(yīng)先將斷點(diǎn)處各寄存器的內(nèi)容壓入堆棧保護(hù)起來(lái),再進(jìn)入的中斷處理?,F(xiàn)場(chǎng)保護(hù)是由用戶使用PUSH指令來(lái)實(shí)現(xiàn)的。</p><p><b> 7.中斷服務(wù) </b></p><p> 中斷服務(wù)是執(zhí)行中斷的
88、主體部分,不同的中斷請(qǐng)求,有各自不同的中斷服務(wù)內(nèi)容,需要根據(jù)中斷源所要完成的功能,事先編寫(xiě)相應(yīng)的中斷服務(wù)子程序存入內(nèi)存,等待中斷請(qǐng)求響應(yīng)后調(diào)用執(zhí)行。</p><p><b> 8.恢復(fù)現(xiàn)場(chǎng) </b></p><p> 當(dāng)中斷處理完畢后,用戶通過(guò)POP指令將保存在堆棧中的各個(gè)寄存器的內(nèi)容彈出,即恢復(fù)主程序斷點(diǎn)處寄存器的原值。</p><p>
89、<b> 9.中斷返回 </b></p><p> 在中斷服務(wù)子程序的最后要安排一條中斷返回指令I(lǐng)RET,執(zhí)行該指令,系統(tǒng)自動(dòng)將堆棧內(nèi)保存的IP/EIP和CS值彈出,從而恢復(fù)主程序斷點(diǎn)處的地址值,同時(shí)還自動(dòng)恢復(fù)標(biāo)志寄存器FR或EFR的內(nèi)容,使CPU轉(zhuǎn)到被中斷的程序中繼續(xù)執(zhí)行。</p><p> 5.2.1 中斷系統(tǒng)的內(nèi)部結(jié)構(gòu)</p><p&
90、gt; MCS-51的中斷系統(tǒng)由與中斷有關(guān)的特殊功能寄存器、中斷入口、順序查詢邏輯電路組成,其內(nèi)部結(jié)構(gòu)如圖2.3.3-1所示。</p><p> 又圖可見(jiàn),MCS-51系列單片機(jī)有5個(gè)中斷源,包括中斷INT0和INT1,定時(shí)/計(jì)數(shù)器T0和T1的溢出中斷,串行口的發(fā)送和請(qǐng)求標(biāo)志位,鎖存在定時(shí)/計(jì)數(shù)器的控制器(TCON)中,而串行口對(duì)應(yīng)的中斷請(qǐng)求標(biāo)志位則所存在串行口的控制寄存器(SCON)中。</p>
91、<p> MCS-51系列單片機(jī)的中斷具有兩個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套,沒(méi)一個(gè)中斷的中斷級(jí)別均可用軟件設(shè)置。用戶可以用開(kāi)中斷指令“SETB EA”來(lái)允許CPU接收中斷請(qǐng)求,每一個(gè)中斷源可以用軟件獨(dú)立地控制為允許中斷或關(guān)中斷狀態(tài)。</p><p> 圖5.2.1-1中斷系統(tǒng)內(nèi)部結(jié)構(gòu)圖</p><p> 5.2.2 中斷源</p><p&
92、gt; 表5.2.2MCS-51單片機(jī)中斷系統(tǒng)的5個(gè)中斷源</p><p> 6交通燈系統(tǒng)軟件設(shè)計(jì)</p><p> 6.1 每秒中的設(shè)計(jì)</p><p> 我們采用在主程序中設(shè)定一個(gè)初值為20 的軟件計(jì)數(shù)器和使T0 定時(shí)50 毫秒.這樣每當(dāng)T0 到50 毫秒時(shí)CPU 就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU 先使軟件計(jì)數(shù)
93、器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。</p><p> 6.2 定時(shí)器初值計(jì)算</p><p> 定時(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 為
94、計(jì)數(shù)器摸值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0 時(shí)M 為213 ;在方式1 時(shí)M 的值為216;在方式2 和3 為28。</p><p> 6.3 相應(yīng)的程序代碼</p><p><b> ?。ǎ保┲鞒绦?lt;/b></p><p> 定時(shí)器需定時(shí)50 毫秒,故T0 工作于方式1。</p><p><b>
95、 初值:</b></p><p> TC=M-T/ T 計(jì)數(shù)=216-50ms/1us=15536=3CBOH</p><p><b> ORG 1000H</b></p><p> START:MOV TMOD,#01H; 令T0 為定時(shí)器方式1</p><p> MOV TH0,#3CH;裝入定時(shí)
96、器初值</p><p> MOV TL0,#BOH;</p><p> MOV IE,#82H;開(kāi)T0 中斷</p><p> SEBT TRO;啟動(dòng)T0 計(jì)數(shù)器</p><p> MOV RO,#14H;軟件計(jì)數(shù)器賦初值</p><p> LOOP:SJMP $;等待中斷</p><p&
97、gt; ?。ǎ玻┲袛喾?wù)子程序</p><p><b> ORG 000BH</b></p><p><b> AGMP BRT0</b></p><p><b> ORG 00BH</b></p><p> BRT0:DJNZ R0,NEXT</p>&
98、lt;p> AJMP TIME 跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序</p><p> DJNZ:MOV R0,#14H;恢復(fù)R0 值</p><p> MOV TH0, #3CH ;重裝入定時(shí)器初值</p><p> MOV TL0, #BOH;</p><p> MOV IE,#82H</p><p>&l
99、t;b> RET1</b></p><p><b> END</b></p><p><b> 6.4 軟件延時(shí)</b></p><p> MCS-51 的工作頻率為2-12MHZ,我們選用的8031 單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12 倍,所以一個(gè)機(jī)器周期的時(shí)
100、間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1 秒的時(shí)間。具體的延時(shí)程序分析:</p><p> DELAY:MOV R4,#08H 延時(shí)1 秒子程序</p><p> DE2:LCALL DELAY1</p><p> DJNZ R4,DE2</p><p><b>
101、; RET</b></p><p> DELAY1:MOV R6,#0 延時(shí)125ms 子程序</p><p><b> MOV R5,#0</b></p><p> DE1:DJNZ R5,$</p><p> DJNZ R6,DE1</p><p><b>
102、RET</b></p><p> MOV RN,#DATA 字節(jié)數(shù)數(shù)為2 機(jī)器周期數(shù)為1</p><p> 所以此指令的執(zhí)行時(shí)間為2ms</p><p> DELAY1 為一個(gè)雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時(shí)時(shí)間=65536*2=131072us</p><p><b> 約為125us&
103、lt;/b></p><p> DELAY R4 設(shè)置的初值為8 主延時(shí)程序循環(huán)8 次,所以125us*8=1 秒由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。</p><p> 7系統(tǒng)硬件電路設(shè)計(jì)與調(diào)試</p><p><b> 7.1 實(shí)驗(yàn)平臺(tái)</b></p><p> 本人采用的是Keil
104、 uVision3單片機(jī)編程軟件和proteus 7電路圖繪制軟件。 </p><p> 開(kāi)啟計(jì)算機(jī)進(jìn)入Keil C51編譯器介面。如下圖7.1-1:</p><p><b> 圖7.1-1</b></p><p><b> 7.1 實(shí)驗(yàn)步驟</b></p><p> 7.1.1 繪制電
105、路圖編寫(xiě)程序</p><p> 程序代碼分為3個(gè)模塊:中斷模塊,中斷處理模塊,循環(huán)模塊。</p><p><b> 1.調(diào)試程序</b></p><p> ⑴ 打開(kāi)Keil軟件,新建工程;</p><p><b> ?、?選擇芯片;</b></p><p> ?、?新建
106、文檔,保存文檔為.c后綴文件; </p><p> ?、?把保存的文檔加載到Source Group;</p><p> ?、?編寫(xiě)程序,每個(gè)功能逐漸編寫(xiě);</p><p> ?、?編譯程序,并生成hex文件;</p><p> ⑺ 打開(kāi)proteus 7,在芯片中加載hex文件;</p><p> (8) 運(yùn)行顯
107、示結(jié)果; </p><p> 2. 觀察運(yùn)行的結(jié)果,看第一個(gè)功能能否實(shí)現(xiàn),如果出錯(cuò)則重新編寫(xiě);如果成功就繼續(xù)下個(gè)功能的編寫(xiě),調(diào)試,直到想要的功能全部實(shí)現(xiàn)。</p><p><b> 8結(jié)論</b></p><p> 本系統(tǒng)就是充分利用了8051 和74LS245 芯片的I/O 引腳。系統(tǒng)統(tǒng)采用MSC-51 系列單片機(jī)8051 和可編程并行
108、I/O 接口芯片74LS245 為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車(chē)流量通過(guò)8031 芯片的P2 口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5 秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)PA 口輸出,顯示時(shí)間直接通過(guò)74LS245 的PB口輸出至雙位數(shù)碼管);車(chē)輛闖紅燈報(bào)警;綠燈時(shí)間可檢測(cè)車(chē)流量并可通過(guò)雙位數(shù)碼管顯示。系統(tǒng)不足之處不能控制車(chē)的左、右轉(zhuǎn)、以及自動(dòng)根據(jù)車(chē)流改變紅綠燈時(shí)間等。這是由于本身地理位子以及車(chē)流量情況所定
109、,如果有需要可以設(shè)計(jì)擴(kuò)充原系統(tǒng)來(lái)實(shí)現(xiàn)。通過(guò)這次畢業(yè)設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。</p><p><b> 9致謝</b></p><p> 在本次論文設(shè)計(jì)過(guò)程中
110、,田秀玲老師對(duì)該論文從選題,構(gòu)思到最后定稿的各個(gè)環(huán)節(jié)給予細(xì)心指引與教導(dǎo),使我得以最終完成畢業(yè)論文設(shè)計(jì)。在學(xué)習(xí)中,老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富淵博的知識(shí)、敏銳的學(xué)術(shù)思維、精益求精的工作態(tài)度以及侮人不倦的師者風(fēng)范是我終生學(xué)習(xí)的楷模,導(dǎo)師們的高深精湛的造詣與嚴(yán)謹(jǐn)求實(shí)的治學(xué)精神,將永遠(yuǎn)激勵(lì)著我。這三年中還得到眾多老師的關(guān)心支持和幫助。在此,謹(jǐn)向老師們致以衷心的感謝和崇高的敬意!在本論文的設(shè)計(jì)中,我也參考了大量的著作和文章,許多作者的科研成果及設(shè)計(jì)給
111、我很大的啟發(fā)。在此我向這些學(xué)者們表示由衷的感謝,感謝我的同學(xué)和朋友對(duì)我的大力支持,他們的無(wú)私奉獻(xiàn)、關(guān)愛(ài)和支持是我能夠繼續(xù)追求我的理想,感謝所有幫助和關(guān)心我的人。最后,我要向百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱,評(píng)議和參與本人論文答辯的各位老師表示感謝。</p><p><b> 10參考文獻(xiàn)</b></p><p> [1] 李廣弟等 單片機(jī)基礎(chǔ) 北京航空航天出版社,
112、 2001.7 </p><p> [2] 樓然苗等 51 系列單片機(jī)設(shè)計(jì)實(shí)例 北京航空航天出版社, 2003.3 </p><p> [3] 唐俊翟等 單片機(jī)原理與應(yīng)用 冶金工業(yè)出版社, 2003.9 </p><p> [4] 劉瑞新等 單片機(jī)原理及應(yīng)用教程 機(jī)械工業(yè)出版社, 2003.7 </p><p> [5]
113、 吳國(guó)經(jīng)等 單片機(jī)應(yīng)用技術(shù) 中國(guó)電力出版社, 2004.1 </p><p> [6] 李全利,遲榮強(qiáng)編著 單片機(jī)原理及接口技術(shù) 高等教育出版社,2004.1 </p><p> [7] 侯媛彬等,凌陽(yáng)單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選 2006年,科學(xué)出版社 </p><p> [8] 羅亞非,凌陽(yáng)十六位單片機(jī)應(yīng)用基礎(chǔ)2003年 北京航空航天大學(xué)出版社
溫馨提示
- 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ù)僅提供信息存儲(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è)設(shè)計(jì)---基于單片機(jī)的交通燈設(shè)計(jì)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)交通燈的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的交通燈設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-基于單片機(jī)的交通燈設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的交通燈設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)交通燈的設(shè)計(jì)
- 基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的交通燈畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)交通燈設(shè)計(jì)
- 基于單片機(jī)的交通燈畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的交通燈設(shè)計(jì)
- 交通燈畢業(yè)設(shè)計(jì)--基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的智能交通燈畢業(yè)設(shè)計(jì)
- 基于51單片機(jī)交通燈畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的數(shù)字交通燈畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)模擬交通燈的設(shè)計(jì)
- 基于單片機(jī)的智能交通燈的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)控制交通燈設(shè)計(jì)
- 智能交通燈畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能交通燈控制
- 基于51單片機(jī)的交通燈畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論