交通燈設(shè)計(jì)優(yōu)秀_第1頁
交通燈設(shè)計(jì)優(yōu)秀_第2頁
交通燈設(shè)計(jì)優(yōu)秀_第3頁
交通燈設(shè)計(jì)優(yōu)秀_第4頁
交通燈設(shè)計(jì)優(yōu)秀_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)論文(設(shè)計(jì)) 題 目 基于單片機(jī)控制的 交通燈的設(shè)計(jì) 學(xué)生姓名 學(xué) 號(hào) 專業(yè)班級(jí) 指導(dǎo)教師 完成時(shí): 201年月 間日 摘 要 交通信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量,提高道路通行能力,減少交通事故有明顯效果。本人選擇制作交通燈作為課題加以研究。分析了現(xiàn)代城市交通控制與管理問題的現(xiàn)狀,結(jié)合城鄉(xiāng)交通的實(shí)際情況闡述了交通燈控制系統(tǒng)的工作原理,利用單片機(jī)89S51為核心部件,外加定時(shí)器、復(fù)位電路、晶振電路、顯示電路等,設(shè)計(jì)一個(gè)比較符合交通規(guī)則的模擬交通燈,包括人行道,車行道、南北東西左轉(zhuǎn)、應(yīng)急車道,以及基本的交通燈的功能,同時(shí)給出了一種簡單實(shí)用的城市交通燈控制系統(tǒng)的硬件電路設(shè)計(jì)方

2、案。 本文主要介紹了一個(gè)基于80C51單片機(jī)的交通燈控制系統(tǒng),詳細(xì)描述了利用89C51開發(fā)交通燈控制系統(tǒng)的過程,重點(diǎn)對(duì)硬件設(shè)計(jì)、軟件編程、調(diào)試分析以及各模塊系統(tǒng)流程進(jìn)行了詳細(xì)分析,對(duì)各部分的電路也一一進(jìn)行了介紹。本系統(tǒng)由80C51單片機(jī)、鍵盤、交通燈演示組成,。該系統(tǒng)可以方便的實(shí)現(xiàn)交通燈控制。該系統(tǒng)結(jié)構(gòu)簡單,可靠性高,修改程序簡單(方便加入或改變功能),有較好的應(yīng)用前景。 關(guān)鍵詞:交通控制;單片機(jī);80C51 ABSTRACT Traffic lights, traffic to the effective control, to ease the traffic flow, increase

3、 road capacity, reduce traffic accidents have a demonstrable effect. I choose to create a traffic light as a subject to be studied. Analysis of the status of a modern urban traffic control and management issues, combined with the actual situation of urban and rural transportation on the traffic ligh

4、t control system works with microcontroller 89S51 as the core components, plus the timer, reset circuit, crystal oscillator circuit, display circuit, design a more in line with the traffic rules of the simulation of traffic lights, sidewalk, roadway, north and south things turn left emergency lane,

5、and the basic function of the traffic lights, at the same time gives a simple and practical urban traffic light control system hardware circuit design. This paper describes a 80C51 microcontroller-based traffic light control system, detailed description of the use 89C51 development process of the tr

6、affic light control system. Focus on a detailed analysis of the hardware design, software programming, analysis and debugging process of the modular system, on the part of the circuit are introduced one by one. The system is made up of 80C5l microcomputer, keyboardand traffic lights display.The syst

7、em can easily achieve traffic light control The system is simple, high reliability, easy to modify the program (easy add or change functions), has good prospects. KEY WORDS: Traffic Control, Single Chip Microcomputer , 80C51目 錄 摘要 第1章 緒論0 1.1 課題研究的背景及意義0 1.2 當(dāng)前的研究現(xiàn)狀0 1.3 本文的主要工作和難點(diǎn)1 第2章 道路交通燈的總體系統(tǒng)的設(shè)

8、計(jì)方案 2 2.1 總體設(shè)計(jì)方案2 2.1.1 系統(tǒng)機(jī)構(gòu)總框架2 2.1.2 交通管理的方案論證2 2.1.3 控制電路框圖2 2.2 電路的工作原理3 本章小結(jié)2.3 4 硬件設(shè)計(jì)3章 第 5 單片機(jī)介紹3.1 MCS-515 簡介3.1.1 5 時(shí)鐘脈沖電路3.1.3 10 復(fù)位電路3.1.4 10 電源電路3.1.5 11 硬件原理圖3.2 11 本章小結(jié)3.3 11 第4章 軟件設(shè)計(jì) 13 4.1 主程序設(shè)計(jì)13 4.1.1 主程序流程圖13 4.2 初始化程序13 4.3 延時(shí)程序13 4.4 源程序14 4.5 本章小結(jié)14 第5章 調(diào)試分析 15 5.1 KEIL51軟件簡介15

9、 5.1.1 系統(tǒng)概述15 5.1.2 KeilC51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)16 5.2 調(diào)試步驟17 5.2.1 邏輯的調(diào)試17 5.2.2 模擬電路板的調(diào)試19 5.3調(diào)試中的問題及解決方案19 5.4 本章小結(jié)20 結(jié)論與展望21 致謝22 參考文23獻(xiàn) 第1章緒論 1.1 課題研究的背景及意義 隨著經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化程度不斷提高,交通需求和交通量迅速增長,城市交通網(wǎng)絡(luò)中交通擁擠日益嚴(yán)重,道路運(yùn)輸所帶來的交通擁堵、交通事故和環(huán)境污染等負(fù)面效應(yīng)也日益突出,逐步成為經(jīng)濟(jì)和社會(huì)發(fā)展中的全球性共同問題。交通問題已經(jīng)日益成為世界性的問題,城市交通事故、交通堵塞和交通污染問題愈加突出。為了

10、解決車和路的矛盾,常用的有兩種方法:一是控制需求,最直接的辦法就是限制車輛的增加;二是增加供給,即大量修筑道路基礎(chǔ)設(shè)施的辦法,在資源、環(huán)境矛盾越來越突出的今天,面對(duì)越來越擁擠的交通,有限的資源和財(cái)力以及環(huán)境的壓力,也將受到限制。這就需要依靠除限制需求和提供道路設(shè)施之外的其他辦法來滿足日益增長的交通需求。在現(xiàn)有的道路交通條件下,實(shí)施交通控制和管理,充分發(fā)揮現(xiàn)有道路的通行能力正是解決這一矛盾的途徑之一,大量事實(shí)已經(jīng)證明這種方法的有效性。 1.2 當(dāng)前的研究現(xiàn)狀 路是交通的物質(zhì)基礎(chǔ),有路才能通車,行人。我國是一個(gè)文明古國,許多城市已有上千年的歷史,城市布局和道路結(jié)構(gòu)是在漫長的歷史進(jìn)程中逐步形成的,近

11、幾年雖然作了些改建和擴(kuò)建,但畢竟還難以沖破原來的基本格局。我國城市道路普遍存在的弊端是: a. 路網(wǎng)密度低;b. 交通干道少;c. 路口平面交叉。 道路狀況與車輛狀況的綜合作用形成了我國城市交通的特殊性,主要表現(xiàn)是: 城市路網(wǎng)稀,干道少,間距大,市區(qū)人口稠密,出行需求集中,迫使車輛集中于少數(shù)干道上行駛。至于中小城市,干道特征更為明顯,往往只有一兩條干道貫穿全市,而其他支路上交通量極小。從流量變化情況來看,除外圍過境干道外,都是有一定規(guī)律的,高峰小時(shí)基本上都集中在幾個(gè)時(shí)段內(nèi)。 我國城市機(jī)動(dòng)車車種繁雜,從50年代的老式車到80年代的新型車,從大貨車到小轎車都在一個(gè)平面上行駛,不少城市拖拉機(jī)還是一種

12、主要運(yùn)輸工具,前面一輛舊車擋道,尾隨的新型車只能跟著爬行,過交叉口時(shí)經(jīng)常出現(xiàn)啟動(dòng)慢的車擋住啟動(dòng)快的車,使交通工程師精心設(shè)計(jì)的交通配時(shí)方案不能很好發(fā)揮效益。 1.3 本文的主要工作和難點(diǎn) 通過對(duì)城市主要十字路口交通控制規(guī)律的觀察發(fā)現(xiàn),我國現(xiàn)有交通燈或者交通規(guī)則的一個(gè)缺陷:十字路口,右拐的車輛經(jīng)常和過馬路的行人沖突,因?yàn)檐囕v右拐和行人過馬路是同時(shí)進(jìn)行的,根本沒有時(shí)間段的劃分,所以車和人就像打籃球運(yùn)球過人,要么過去,要么撞一下,而且經(jīng)常是車不讓人,人不讓車,交通事故經(jīng)常在這里發(fā)生,有的路口有協(xié)管給車和人分配時(shí)間,但大多數(shù)路口都是沒協(xié)管的,因而在這次設(shè)計(jì)中,為了彌補(bǔ)這個(gè)缺陷,特意為行人留出時(shí)間過馬路,

13、實(shí)行人車分流,在此期間各路轉(zhuǎn)彎不再進(jìn)行。 本文主要工作是利用80C51單片機(jī)設(shè)計(jì)一個(gè)交通燈控制系統(tǒng)。在一個(gè)主要十字路口,縱向?yàn)橹鞲傻?,橫向?yàn)橹Ц傻?。主、支干道交替通行,主干道每次放?0秒,支干道每次放行12秒;每次綠燈變紅燈前,黃燈先亮4秒,此時(shí)另一干道上的紅燈亮并閃爍。 它們的工作方式,有些必須是同時(shí)進(jìn)行的:主干道綠燈亮、支干道紅燈亮;主干道黃燈亮、支干道紅燈亮并閃爍;主干道紅燈亮、支干道綠燈亮;主干道紅燈亮并閃。亮燈黃道干支、爍第2章道路交通燈的總體系統(tǒng)的設(shè)計(jì)方案 2.1 總體設(shè)計(jì)方案 采用MSC-51系列單片機(jī)和可編程并行I接口芯片為中心件來設(shè)計(jì)交通燈控制器,進(jìn)行交通燈路口的管理。它用

14、簡單的硬件電路模擬交通燈信號(hào)燈的交替變換,實(shí)現(xiàn)紅綠燈循環(huán)點(diǎn)亮。用LED數(shù)碼管作為倒計(jì)時(shí)指示,通行指示燈采用發(fā)光二極管,LED顯示動(dòng)態(tài)掃描,以節(jié)省端口,特殊緊急車輛通行采用實(shí)時(shí)中斷完成。 2.1.1 系統(tǒng)機(jī)構(gòu)總框架 本系統(tǒng)是針對(duì)一個(gè)大型十字路口設(shè)計(jì)的交通信號(hào)燈控制系統(tǒng)。東西方向和南北方向各設(shè)有紅燈、黃燈、綠燈各一組。狀態(tài)一為主干道綠燈亮,支干道紅燈亮20秒,狀態(tài)二為主干道黃燈亮,支干道紅燈閃爍4秒狀態(tài)三為主干道紅燈亮,支干道綠燈亮12秒,狀態(tài)四為主干道紅燈閃爍,支干道黃燈亮4秒。四個(gè)狀態(tài)一直循環(huán),并有數(shù)碼管顯示時(shí)間。 2.1.2 交通管理的方案論證 東西、南北兩干道交于一個(gè)十字路口。各干道有紅燈

15、、黃燈、綠燈各一組,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,P1.0P1.2分別控制支干道的紅、黃、綠燈,P1.3P1.5分別控制主干道的紅、黃、綠燈。 2.1.3 控制電路框圖 89C52 系倒計(jì)時(shí)顯 交通 統(tǒng) 示 信號(hào)燈 處 理 控制電路框圖圖2.1 口賦值控制交通信號(hào)燈口,通過對(duì)本系統(tǒng)每個(gè)信號(hào)指示燈接一個(gè)對(duì)應(yīng)的I/OI/O的狀態(tài)來指揮交通。在此基礎(chǔ)上按鍵可以觸發(fā)單片機(jī)進(jìn)入中斷,進(jìn)而控制交通信號(hào)燈的狀態(tài)。 2.2 電路的工作原理 本系統(tǒng)的電路較簡單,實(shí)物圖如附錄一所示。共設(shè)有12個(gè)LED,其中紅色的4個(gè),綠色的4個(gè),黃色的4個(gè)。 所

16、有LED陽極接+5V電源,陰極與對(duì)應(yīng)的I/O口相連。當(dāng)單片機(jī)上電后,系統(tǒng)對(duì)其初始化,所有燈滅。當(dāng)給任何一個(gè)I/O口賦值0時(shí),與其對(duì)應(yīng)的LED點(diǎn)亮。這樣,通過對(duì)P1的合理賦值并控制其延時(shí)時(shí)間就可以實(shí)現(xiàn)基本的交通控制。 主支干道圖2.2 圖圖中,t表示時(shí)間,MG表示主干道綠燈,MY表示主干道黃燈,MR表示主干道紅燈,SG表示支干道綠燈,SY表示支干黃道燈,SR表示支干道紅燈, 由交通燈工作時(shí)序流程圖可以看出,交通燈應(yīng)滿足兩個(gè)方向的工作時(shí)序:主干道綠燈和黃燈亮的時(shí)間等于支干道紅燈亮的時(shí)間;支干道綠燈和黃燈亮的時(shí)間等于主干道紅燈亮的時(shí)間。若假設(shè)每個(gè)單位脈沖周期為1秒,則主干道綠燈、黃燈、紅燈分別亮的時(shí)

17、間為20秒、4秒、16秒,支干道紅燈、綠燈、黃燈分別亮的時(shí)間為24秒、12秒、4秒。一次循環(huán)為40秒。 主干道黃燈亮?xí)r,支干道紅燈以1Hz的頻率閃爍;支干道黃燈亮?xí)r,主干道紅燈以1Hz的頻率閃爍。 主、支干道各信號(hào)燈亮?xí)r,需配合有時(shí)間提示,以數(shù)字顯示出來,方便行人與機(jī)”的計(jì)數(shù)方式工作,直至減到1動(dòng)車觀察。主、支干道信號(hào)燈亮的時(shí)間均以每秒減“0”后主、支干道個(gè)信號(hào)燈自動(dòng)轉(zhuǎn)換。 2.3 本章小結(jié) 本章主要介紹了道路交通燈的總體系統(tǒng)的設(shè)計(jì)方案。設(shè)計(jì)出系統(tǒng)機(jī)構(gòu)的總框架,并且對(duì)交通管理的方案進(jìn)行了論證,在發(fā)現(xiàn)現(xiàn)有交通燈控制系統(tǒng)存在不足的基礎(chǔ)上,在本系統(tǒng)中對(duì)其進(jìn)行了改善,設(shè)計(jì)出了能實(shí)現(xiàn)本次設(shè)計(jì)要求的方案。

18、設(shè)計(jì)出本系統(tǒng)的。圖明說步一進(jìn)了行進(jìn)理原作工其對(duì)并,框路電制控第3章硬件設(shè)計(jì) 3.1 MCS-51單片機(jī)介紹 MCS-51單片機(jī)廣泛應(yīng)用在簡單的設(shè)計(jì)中,例如交通燈、遙控器等,在我們的生活中都有應(yīng)用。單片機(jī)已經(jīng)稱為我們生活不可缺少的東西。 3.1.1 簡介 單片機(jī)是微機(jī)的一種,是將單片機(jī)的CPU、存儲(chǔ)器、I/O接口和總線制作在一塊芯片上的大規(guī)模集成電路。由于單片機(jī)具有體積小、功能全、價(jià)格低、開發(fā)應(yīng)用方便等優(yōu)點(diǎn),又可將其嵌入產(chǎn)品的內(nèi)部,因此得到了及其廣泛的應(yīng)用。 (1)單片機(jī)的發(fā)展史 單片機(jī)的發(fā)展大致可分為4個(gè)階段。 a. 初始階段 由于受到技術(shù)發(fā)展的影響,單片機(jī)的制作工藝較差、集成度較低。這個(gè)階段

19、的單片機(jī)多采用雙片結(jié)構(gòu),且功能比較簡單。有些單片機(jī)在應(yīng)用過程中,由于內(nèi)部資源太少,需要外接其他功能的芯片才能實(shí)現(xiàn)應(yīng)用功能。 b. 低性能階段 在此階段,單片機(jī)的功能有了進(jìn)一步發(fā)展、相關(guān)的接口電路、定時(shí)器、計(jì)數(shù)器等都集成到一個(gè)芯片中。同時(shí)單片機(jī)被推向市場,促進(jìn)了單片機(jī)的變革。 c. 高性能階段 在這個(gè)階段,單片機(jī)的品種逐漸增加,功能不斷完善,其內(nèi)部的RAM、ROM都有所增大,尋址范圍也變大,并且增加了串行口和多級(jí)中斷處理。 d. 16位單片機(jī)階段 由于電子元件、系統(tǒng)結(jié)構(gòu)和軟件技術(shù)的不斷進(jìn)步,單片機(jī)的制造工藝和集成度都得到迅速發(fā)展,其內(nèi)部資源得到了較大的發(fā)展,實(shí)時(shí)處理能力更強(qiáng)。 (2)單片機(jī)的內(nèi)部

20、結(jié)構(gòu) 單片機(jī)經(jīng)過幾十年的不斷發(fā)展,其功能和組成結(jié)構(gòu)基本已固定,內(nèi)部結(jié)構(gòu)示意圖 所示。1-1如圖a. 中央處理器(CPU) CPU是單片機(jī)的核心部件,根據(jù)CPU字長可分為1位機(jī)、4位機(jī)、8位機(jī)、16位機(jī)以及32位機(jī),CPU的運(yùn)算速度、處理數(shù)據(jù)能力、實(shí)施控制功能等性能都與CPU的字長有關(guān),因此,字長是衡量CPU功能的主要指標(biāo)。 b. 存儲(chǔ)器 存儲(chǔ)器按功能可分為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,由于單片機(jī)主要面向控制,因此一般需要大容量的程序存儲(chǔ)器和較少的數(shù)據(jù)存儲(chǔ)器,同時(shí)存儲(chǔ)器類型也不一樣。 c. 程序存儲(chǔ)器 單片機(jī)內(nèi)部程序存儲(chǔ)器容量一般為1KB64KB,通常采用只讀存儲(chǔ)器(ROM)。采用只讀存儲(chǔ)器作為程序存

21、儲(chǔ)器,不僅提高了可靠性,而且由于只讀存儲(chǔ)器的集成度較高、價(jià)格較低,降低了成本。 3.1單片機(jī)內(nèi)部結(jié)構(gòu)示意CPUd.數(shù)據(jù)存儲(chǔ)單片機(jī)內(nèi)部的數(shù)據(jù)存儲(chǔ)量一般64B256,通常采用靜態(tài)隨即存儲(chǔ)器RA),ROM并有少數(shù)單片機(jī)內(nèi)采EEPRO作為數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器可分為工作寄存器、堆棧位標(biāo)志和數(shù)據(jù)緩沖器使用RAM串接口及特殊功能部e. I/單片機(jī)內(nèi)部有數(shù)量不等的并行接口,可以作為外界無輸輸出設(shè)備,通常也包含1個(gè)串行口,用于實(shí)現(xiàn)異步串行通信。特殊功能部件通常包括定計(jì)數(shù)器,其他定時(shí)中斷系 A/PWDM等根據(jù)不同類型的單片機(jī),其配置不同 (3)單片機(jī)應(yīng)用系統(tǒng) 根據(jù)單片機(jī)應(yīng)用場合及系統(tǒng)控制的要求不同,在規(guī)模、結(jié)構(gòu)

22、上存在很大不同,根據(jù)使用功能器件的種類和數(shù)量,可分為基本系統(tǒng)和擴(kuò)展系統(tǒng)。 1)基本系統(tǒng) 在此系統(tǒng)中,包含一個(gè)單片機(jī),在該單片機(jī)中含有程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,僅在外部配置了維持系統(tǒng)運(yùn)行的基本部件,例如電源、輸入/輸出,除了這些,還包括不接口以及其他功能部件,因此也被稱為最小系統(tǒng),I/O擴(kuò)充程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、其結(jié)構(gòu)示意圖如圖3.2所示。 復(fù)位電路 輸入/輸出 單片機(jī)電源電路 時(shí)鐘電路 圖3.2 單片機(jī)最小系統(tǒng)示意圖 2)擴(kuò)展系統(tǒng) 在大多數(shù)系統(tǒng)中,由于需要實(shí)現(xiàn)一些特殊的功能,采用最小系統(tǒng)無法滿足系統(tǒng)的控制要求,所以要擴(kuò)展特殊功能部件,彌補(bǔ)單片機(jī)內(nèi)部資源的不足。單片機(jī)擴(kuò)展系統(tǒng)通過并行I/O口或者

23、串行口做總線,在外部擴(kuò)展了程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器、A/D轉(zhuǎn)換等特殊部件,以滿足控制系統(tǒng)的特殊要求,其結(jié)構(gòu)示意圖如3.3所示。 (4)單片機(jī)的發(fā)展趨勢 隨著科學(xué)技術(shù)的不斷發(fā)展,單片機(jī)的工藝和集成度不斷提高,其功能正朝著多功能、高性能的方向發(fā)展,主要體現(xiàn)在一下幾方面。 1)各種等級(jí)的單片機(jī)性能提高 輸輸復(fù)位電單片電源電時(shí)鐘電 EPROM程 并行接口 序存儲(chǔ)器RAM數(shù)據(jù)存儲(chǔ)器 串行接口 A/D D/A 單片機(jī)擴(kuò)展系統(tǒng)鋼3.3 圖結(jié)構(gòu)示意圖 隨著工藝技術(shù)和集成度技術(shù)的發(fā)展,許多低端單片機(jī)的性能有了較大的提高,甚至可以完成部分高端單片機(jī)才能實(shí)現(xiàn)的功能,其運(yùn)算速度、功能和可靠性等方面也得到了快速的發(fā)展。

24、a. CPU功能增強(qiáng) CPU的性能主要體現(xiàn)在數(shù)據(jù)處理的速度和精度上,通過增加CPU的字長、擴(kuò)充硬件、提高總線速度和處理效率等手段,提高CPU的性能。 b. 內(nèi)部資源增加 單片機(jī)除了CPU外還有其他部件,通過增強(qiáng)已有部件的性能和增加特殊功能的部件來提高單片機(jī)的性能。例如增大存儲(chǔ)器的容量,現(xiàn)在一些高端單片機(jī)的程序存儲(chǔ)器的ROM、EPROM、EEPROM或者FLASH都達(dá)到及時(shí)KB,而數(shù)據(jù)存儲(chǔ)器的RAM也已達(dá)到及時(shí)KB。一般的控制系統(tǒng)要求的功能較多,采用較低端的單片機(jī),由于其內(nèi)部資源不夠,無法實(shí)現(xiàn)控制要求,因此需要擴(kuò)展部件,而擴(kuò)展部件又會(huì)造成系統(tǒng)可靠性降低,所以要在工藝水平提高的基礎(chǔ)上,盡量集成較多

25、的部件在單片機(jī)的內(nèi)。單片機(jī)的特殊部件包括I/O口(并行口和串行口兩種)、定時(shí)/計(jì)數(shù)器、AD/DA轉(zhuǎn)換器、PWM輸出等,通過在內(nèi)部集成此類部件,可大大增強(qiáng)單片機(jī)的控制功能。 c. 尋址范圍增加 尋址方式的多少直接反應(yīng)了機(jī)器指令系統(tǒng)功能的強(qiáng)弱,尋址方式越多,其功能越強(qiáng),靈活性越大,這也是衡量單片機(jī)性能的重要指標(biāo)之一?,F(xiàn)在已有部分單片機(jī)對(duì)外部存儲(chǔ)器、I/O口尋址范圍增加到幾MB,甚至有單片機(jī)可以選擇某些I/O口作為系統(tǒng)的擴(kuò)展總線使用。 2)小型化、低功耗 在一些智能控制系統(tǒng)中,其整體系統(tǒng)體積較小,功率不大,因此要求單片機(jī)的體積和功耗都要在一定范圍內(nèi),促使單片機(jī)向小型化、低功耗的方向發(fā)展。例如,199

26、2年美國推出的i80860超級(jí)單片機(jī),運(yùn)算速度為1.2億次每秒,可進(jìn)行32位整數(shù)運(yùn)算、64位浮點(diǎn)運(yùn)算,同時(shí)片內(nèi)集成了一個(gè)三維圖形處理器,可構(gòu)成超級(jí)圖形工作站。 3.1.2 管腳說明 圖3.4 MCS-51引腳圖 MCS-51單片機(jī)是采用40引腳雙列直插封裝的芯片,有些引腳具有兩種功能,引腳如圖3.4所示。引腳功能如下: Vcc :電源+5V。 VSS:接地。 XTAL1和XTAL2:使用內(nèi)部振蕩電路時(shí),用來接石英晶體和電容;使用內(nèi)部時(shí)鐘時(shí),用來輸入時(shí)鐘脈沖。 P0口:雙向I/O口,既可以作地址數(shù)據(jù)總線口,也可作普通I/O口用。 P1口:準(zhǔn)雙向通用I/O口。 P2口:準(zhǔn)雙向口,地址總線口輸出地址

27、高8位口。 P3口:多功能端口,既可以作普通I/O口用,也可以按每位定義的第二功能操作。 ALE/PROG:地址鎖存信號(hào)輸出端。在訪問片外存儲(chǔ)器時(shí),ALE為高電平有效時(shí),P0口輸出地址低8位,用ALE信號(hào)做外部地址鎖存器的鎖存信號(hào)。?ALE =?OSC /6,可以 編程脈沖輸入端。EPROM的8751是對(duì)PROG做系統(tǒng)中跟其他芯片的時(shí)鐘源。第二功能RST/VPD:復(fù)位信號(hào)輸入端。接通電源后,在該引腳施加大于兩個(gè)機(jī)器周期(24個(gè)振蕩周期)的高電平,就可使單片機(jī)完成內(nèi)部的復(fù)位工作。第二功能是Vpd ,即備用電源輸入端。當(dāng)主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時(shí),Vpd 將為RAM提供備用電源,

28、以保證存貯在RAM中的信號(hào)不丟失。 /EA/VPP :/EA=1時(shí)程序先片內(nèi)后片外自動(dòng)連續(xù)運(yùn)行;例如:89C52內(nèi)部有8K字的EEP-ROM就可使/EA=1,先從內(nèi)程序存儲(chǔ)區(qū)開始執(zhí)行程序,當(dāng)PC值超過內(nèi)部8K字節(jié)(0000-1FFF),才會(huì)轉(zhuǎn)到從2000H開始的外程序區(qū)執(zhí)行程序,當(dāng)/EA=0時(shí)程序直接從片外開始執(zhí)行程序。在對(duì)8751的EPROM編程時(shí),此引腳接編程電壓12.5V。 /PSEN:片外程序存儲(chǔ)器選通信號(hào),低電平有效。 3.1.3 時(shí)鐘脈沖電路 MCS-51的時(shí)鐘可以有兩種方式產(chǎn)生,一種是內(nèi)部方式,利用芯片內(nèi)部的震蕩電路;另外一種為外部方式。本文根據(jù)實(shí)際需要和簡便,采用內(nèi)部震蕩方式。

29、MCS=51內(nèi)部有一個(gè)用于構(gòu)成震蕩器的高增益反響放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外警惕或陶瓷諧振器一起構(gòu)成一個(gè)自激振蕩器。 MCS-51雖然有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外接元件,所以實(shí)際構(gòu)成的是振蕩時(shí)鐘電路。外接晶體以及電容Cl和C2構(gòu)成并聯(lián)諧振電路接在放大器的反饋回路中。對(duì)接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。晶體頻率可在12MHz-12MHz之間任選,電容Cl和C2的典型值在20pF-100pF之間選擇,考慮到本系統(tǒng)對(duì)于外接晶體的頻率穩(wěn)定性要求不高,所

30、以采取比較廉價(jià)的陶瓷諧振器。由于本系統(tǒng)應(yīng)用的機(jī)器周期為l?s,所以晶振選擇為12MHz,根據(jù)調(diào)試電容選擇30pF 3.1.4 復(fù)位電路 MCS-51的復(fù)位輸入引腳RST為MCS-51提供了初始化的手段。有了它可以使程序從指定處開始執(zhí)行,即從0000H地址單元開始執(zhí)行程序。在MCS-51的時(shí)鐘電路工作后,只要RST引腳上出現(xiàn)10ms以上的高電平時(shí),單片機(jī)內(nèi)部則出示復(fù)位。只要RST保持高電平,則MCS-51循環(huán)復(fù)位。只有當(dāng)RST由高電平變低電平以后,MCS-5l才從0000H地的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位引腳通過施密特MCS-51址開始執(zhí)行程序。觸發(fā)器與復(fù)位電路相連。施密特觸發(fā)器用來抑制

31、噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。本系統(tǒng)采用兩種方式的復(fù)合方式即上電位按鈕復(fù)位式。 3.1.5 電源電路 由于單片機(jī)工作時(shí)需要的+5v電壓,所以在設(shè)計(jì)電源電路時(shí),需要一個(gè)電子元件能提供+5v電壓,由于7805能夠提供5V電壓的三端穩(wěn)壓電源,在實(shí)際的電路控制中應(yīng)用其作為電源電路較為廣泛,在普通的電子元器件商場都有銷售易于購買,并且技術(shù)相對(duì)成熟。7805一腳為電源輸入段,二腳為公共接地段,三腳即為我們所需要的+5V電壓輸出端。本文采用最典型的7805提供電壓的電路,即在7805的l腳和公共接地端(即2腳)之間接入03?F的電

32、容,在公共接地端和三腳+5V電壓輸出端之間接人0.1?F的電容。 3.2 硬件原理圖 本系統(tǒng)利用89C52芯片對(duì)12個(gè)LED進(jìn)行控制,實(shí)現(xiàn)交通信號(hào)燈的控制。同時(shí),每個(gè)LED串接 一個(gè)阻值為330的電阻,以保證系統(tǒng)上電后通過LED的電流不會(huì)過大,防止其燒毀。 圖3.5 硬件原理圖 本章小結(jié)3.3 本章主要是關(guān)于本系統(tǒng)用到的硬件設(shè)計(jì)的介紹。文中對(duì)MCS-51單片機(jī)進(jìn)行了介紹,系統(tǒng)闡述了本設(shè)計(jì)用到的89C52芯片各管腳功能,并且對(duì)時(shí)鐘脈沖電路、復(fù)位電路和電源電路進(jìn)行了一一解釋。重點(diǎn)介紹了本系統(tǒng)的硬件原理圖,對(duì)其進(jìn)行了較為。明說的致細(xì)第4章軟件設(shè)計(jì) 4.1 主程序設(shè)計(jì) 設(shè)計(jì)出程序的流程圖以及初始、延時(shí)

33、程序及源程序。 4.1.1 主程序流程圖 本系統(tǒng)在一般情況下循環(huán)執(zhí)行信號(hào)燈狀態(tài)流程,流程圖如圖4.1所示。 圖4.1 信號(hào)燈狀態(tài)流程圖 主、支干道交替通行,主干道每次放行20秒,支干道每次放行12秒;每次綠燈變紅燈前,黃燈先亮4秒,此時(shí)另一干道上的紅燈亮并閃爍。 它們的工作方式,有些必須是同時(shí)進(jìn)行的:主干道綠燈亮、支干道紅燈亮;主干道黃燈亮、支干道紅燈亮并閃爍;主干道紅燈亮、支干道綠燈亮;主干道紅燈亮并閃爍、支干道黃燈亮。 4.2 初始化程序 單片機(jī)上電時(shí)I/O口默認(rèn)為高點(diǎn)平,需要在進(jìn)入主函數(shù)時(shí)對(duì)P1進(jìn)行附初值。因本系統(tǒng)中LED低電平時(shí)點(diǎn)亮,故給P1都賦值0xff,使LED全滅。 程序中用到外

34、部中斷0和外部中斷1,需要初始化,開總中斷、開外部中斷0和外部中斷1,還需要選擇觸發(fā)方式,本系統(tǒng)中斷中選擇下降沿觸發(fā)。 延時(shí)程序4.3 延時(shí)可有兩種途徑實(shí)現(xiàn):軟件延時(shí)和單片機(jī)內(nèi)部的定時(shí)/計(jì)數(shù)器延時(shí)。軟件延時(shí)不占用硬件資源,但占用了CPU時(shí)間,降低了CPU的利用率。定時(shí)/計(jì)數(shù)器延時(shí)不占用CPU時(shí)間,但占用了硬件資源。本系統(tǒng)采用定時(shí)器延時(shí),單次延時(shí)時(shí)間為50ms,晶振12MHz。 4.4 源程序 源程序參考附錄一。 4.5 本章小結(jié) 本章主要介紹本論文中的軟件設(shè)計(jì)部分。文中詳細(xì)介紹了本系統(tǒng)的主程序設(shè)計(jì)、初始化程序、外部中斷及延時(shí)程序,并附有程序中的各種流程圖,使讀者對(duì)本系統(tǒng)的。解了步一進(jìn)了有計(jì)設(shè)第

35、5章調(diào)試分析 5.1 KEIL51軟件簡介 單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。 Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器

36、等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(?Vision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。 5.1.1 系統(tǒng)概述 Keil C51是美國Keil Software公司出

37、品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。 Keil51的編譯環(huán)境如圖5-1所示。 圖中: 標(biāo)題欄:顯示當(dāng)前編譯的文件 菜單條:有十項(xiàng)菜單可供選擇,相應(yīng)的所有操作命令均可在此菜單中查找; 工具欄:常用命令的快捷圖標(biāo)按鈕;管理窗口:顯示工程文件的工程、各個(gè)寄存器值的變化、參考資料等; 信息窗口:顯示當(dāng)前文件編譯、運(yùn)行等相關(guān)信息; 工作窗口:各種文件的顯示窗口。 圖5.1 Keil51的編譯環(huán)境 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windo

38、ws界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 5.1.2 KeilC51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) C51工具包的整體結(jié)構(gòu),其中?Vision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51創(chuàng)建生成庫文件,也可以與庫LIB

39、51。目標(biāo)文件可由(.OBJ)編譯器編譯生成目標(biāo)文件文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 使用獨(dú)立的Keil仿真器時(shí),注意事項(xiàng) * 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時(shí)只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的

40、31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。 5.2 調(diào)試步驟 進(jìn)行邏輯調(diào)試、模擬電路的調(diào)試,還有解決在調(diào)試中出現(xiàn)的問題 5.2.1 邏輯的調(diào)試 Keil 51 編譯指南: 第1步: 打開Keil51軟件,首先彈出一個(gè)開機(jī)啟動(dòng)畫面。 第2步: 然后進(jìn)入Keil51的開發(fā)界面。下面簡要介紹一下Keil51開發(fā)環(huán)境中各個(gè)區(qū)域的功能。 Keil51開發(fā)環(huán)境可以分為四個(gè)區(qū)域,分別為:菜單條、工程文件管理窗口、代碼編譯窗口和代碼編譯信息窗口四個(gè)部分。菜單條分為十項(xiàng),所有的命令都可以在這里找到。下面的命令是一些常用的菜單命令,如

41、文件的打開、關(guān)閉及保存。其中編譯命令最為常用。 中間靠左是工程文件管理窗口,這里可以看到當(dāng)前工程中所包含的所有帶編譯的文件。工程文件管理窗口的右側(cè)是代碼編譯窗口,這事我們最主要的工作區(qū)域。 最底層顯示了代碼編譯的信息。當(dāng)代碼有語法錯(cuò)誤時(shí),可以在這里輕松的找到問題的所在。 開發(fā)工程的一般方法。Keil51步:下面以建立一個(gè)簡單的工程為例,來說明3第單擊Project菜單項(xiàng),選擇New Project項(xiàng)。 第4步:此時(shí)彈出Create New Project對(duì)話框,選擇合適的路徑口,在文件名一欄中填入新工程的名字。單擊保存。 第5步: 根據(jù)所用的器件,選擇CPU的型號(hào),單擊確定。 第6步:Keil

42、51詢問是否生成默認(rèn)的配置文件,這個(gè)可選可不選,這里選定。單擊Yes,觀察工程文件管理窗口的變化。 第7步:在File菜單下單擊New選項(xiàng),新建文件。此時(shí)在代碼窗口出現(xiàn)一“Text1”空白文檔。 第8步: 在“Text1”中編輯完代碼后,單擊File菜單中的保存項(xiàng),彈出保存對(duì)話框。保存名寫為text.c。單擊保存。注意在對(duì)文件命名時(shí)必須加擴(kuò)展名。 第9步: 在工程導(dǎo)航欄中Source Group 上單擊右鍵,選Add File to Group Source Group 1'。 第10步: 此時(shí)彈出Add File 對(duì)話框。選中剛才保存的text.c文件。單擊Add。 此時(shí)在工程文件管

43、理窗口中就會(huì)出現(xiàn)剛才所添加的文件text.c。 單擊快捷菜單欄中的編譯按鈕,可以編譯程序。步: 第11第12步: 單擊Project菜單項(xiàng),選擇Option for Target Target 1'選項(xiàng)。 在彈出的對(duì)話框中可以對(duì)Project進(jìn)行總體配置。 第13步: 選擇Output 選項(xiàng)卡,單擊Create HEX File ,代碼輸出格式應(yīng)為HEX-80 。 第14步: 單擊確定后,并重新編譯??梢钥吹骄幾g成功之后,Build 選項(xiàng)卡里又多了一項(xiàng)。這是生成的HEX 文件。 命令或工具欄中的進(jìn)菜單項(xiàng)中的Start/Stop Debug Session 15步: 單擊Debug 第入

44、調(diào)試界面。 命令或工具欄中的運(yùn)行程序,單Debug 菜單項(xiàng)中的Go 第16步:單擊調(diào)試界面 來結(jié)束程序。觀察運(yùn)行結(jié)果,若結(jié)果正確,便可通過下載軟命令或Stop 擊Running 件將它燒寫到目標(biāo)板上去。 這樣,一個(gè)簡單的Keil 51下的工程就完成了。 語言的編譯調(diào)試基本上是一C對(duì)匯編語言文件的編譯調(diào)試步驟和對(duì)Keil 51 注:樣的,只是在第八步中用匯編語言進(jìn)行代碼的編寫,并在保存文件時(shí)將擴(kuò)展名加成 . asm。 本系統(tǒng)中,最初采用把9個(gè)狀態(tài)分別設(shè)置成一個(gè)子函數(shù)的方法。在每個(gè)子函數(shù)中對(duì)在此狀態(tài)中需要點(diǎn)亮的LED單獨(dú)賦值,延時(shí)程序采用定時(shí)器延時(shí),在主函數(shù)中設(shè)置調(diào)用子函數(shù)。但是在調(diào)試過程中遇到很

45、多問題,比如,LED并未按照理想的方式點(diǎn)亮或熄滅,也沒有狀態(tài)變化。在經(jīng)過分析后,采用了另一種更為簡單的方法,即給P1口和P2口整體賦值,如P1=0xff、P2=0xff即表示所有LED不點(diǎn)亮。每個(gè)狀態(tài)只需賦一個(gè)或兩個(gè)值,需要延時(shí)時(shí)只需調(diào)用延時(shí)程序。此外,對(duì)延時(shí)程序也進(jìn)行了修改,把原有方案改為用CPU延時(shí),這樣,程序變得較為簡單易行。 5.2.2 模擬電路板的調(diào)試 通過查找資料選擇了合適的LED和電阻,合適阻值的電阻和LED串聯(lián)能保證在通上電后LED的內(nèi)部電流在允許范圍內(nèi),防止LED因內(nèi)部電流過大而被燒毀。 調(diào)試過程中,因不慎短路造成一個(gè)LED燒毀,相應(yīng)的面包板的孔也燒毀。經(jīng)過分析發(fā)現(xiàn),LED和

46、電阻兩端的引線都過長,在調(diào)試過程中如果不慎碰一下會(huì)造成LED被燒毀。所以,剪短陰線后重新安插面包板,消除了隱患。 5.3調(diào)試中的問題及解決方案 調(diào)試過程中遇到不少問題 問題一:上文邏輯調(diào)試中提到的問題,即LED并未按照預(yù)期的流程點(diǎn)亮,而且也沒有狀態(tài)變化。 解決方案:經(jīng)過進(jìn)一步分析后,發(fā)現(xiàn)把每個(gè)狀態(tài)設(shè)置成一個(gè)獨(dú)立的子函數(shù)然后在主函數(shù)中調(diào)用的方法并不能很好的按照理想狀態(tài)執(zhí)行。所以,對(duì)程序進(jìn)行了整體修改,在主函數(shù)中直接給P1口賦值,如P1=0xff即表示所有LED不點(diǎn)亮。這樣,程序變得精簡而且易行,不用調(diào)用太多子函數(shù),減少出錯(cuò)。 問題二:個(gè)別狀態(tài)LED的點(diǎn)亮狀態(tài)和理想的狀態(tài)并不相符。個(gè)別不該點(diǎn)亮的卻點(diǎn)亮了,而該

溫馨提示

  • 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)論