基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)設(shè)計(jì)
《基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的交通燈設(shè)計(jì)畢業(yè)設(shè)計(jì)(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 目錄 摘要 2 第一章 緒論 4 1.1單片機(jī)交通燈電路概述 4 1.2方案介紹 4 1.2.1方案1設(shè)計(jì)思想 4 1.2.2方案2 設(shè)計(jì)思想 6 1.2.3方案比較 6 第二章 交通燈系統(tǒng)硬件設(shè)計(jì) 8 2.1 單片機(jī)概述 8 2.2 系統(tǒng)構(gòu)成 9 2.3 單元電路的分析與介紹 10 2.3.1 MSC-51芯片簡(jiǎn)介 10 2.3.2 晶體振蕩器 13 2.4 工作原理 14 第三章 交通燈系統(tǒng)軟件設(shè)計(jì) 15 3.1 程序設(shè)計(jì)流程圖 15 3.2 控制器的軟件設(shè)計(jì) 15 3.2.1定時(shí)器中斷 15 3.3 延時(shí)程序 16 3.3.1 中斷程
2、序及P1口控制燈循環(huán)程序 16 第四章 整機(jī)工作原理 18 結(jié)論 20 致 謝 21 參考文獻(xiàn) 22 附錄 23 附錄1:整機(jī)電路圖 23 附錄2:程序源代碼 24 摘要 當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。 1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻
3、璃提燈組成,紅色表示“停止”,綠色表示“注意”。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í),它就能察覺到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。 信
4、號(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)入交叉路口。 隨著經(jīng)濟(jì)的發(fā)展,交通運(yùn)輸中出現(xiàn)了一些傳統(tǒng)方法難以解決的問(wèn)題。道路擁擠現(xiàn)象日趨嚴(yán)重,造成的經(jīng)濟(jì)損失越來(lái)越大,
5、并一直保持大比例的增長(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)度。 中國(guó)車輛數(shù)量不斷增加,交通控制在未來(lái)的交通管理中起著越來(lái)越重要的作用。智能交通燈的管理比重修一條馬路無(wú)論在經(jīng)濟(jì)、交通運(yùn)行速率上都有很好的效益、更加節(jié)約資源。使交管人員有更多的精力投入到管理整個(gè)城市交通控制,帶來(lái)更大的經(jīng)濟(jì)和社會(huì)效益,為創(chuàng)造美好的城市交通形象發(fā)揮更多的作
6、用。 關(guān)鍵詞:?jiǎn)纹瑱C(jī) 闖紅燈 檢測(cè)車流量 第一章 緒論 1.1單片機(jī)交通燈電路概述 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。 十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)AT89C51
7、為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)8051芯片的P2口設(shè)置紅、綠燈燃亮?xí)r間的功能,紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)為5秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)P3口輸出,顯示時(shí)間直接通過(guò)P0和P2口輸出至雙位數(shù)碼管);外加緊急事件中斷處理。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。 1.2方案介紹 1.2.1方案1設(shè)計(jì)思想 采用分模塊設(shè)計(jì)的思想,程序設(shè)計(jì)實(shí)現(xiàn)的基本思想是一個(gè)計(jì)數(shù)器 , 選擇一個(gè)單片機(jī),其內(nèi)部為一個(gè)計(jì)數(shù),是十六進(jìn)制計(jì)數(shù)器,模塊化后,通過(guò)設(shè)置或程序清除來(lái)實(shí)現(xiàn)狀態(tài)的轉(zhuǎn)換, 由于每一個(gè)模塊的計(jì)數(shù)多不是相同, 這里的各模塊是以預(yù)置數(shù)和計(jì)數(shù)器計(jì)數(shù)共同來(lái)實(shí)現(xiàn)的,所以要考慮增加一個(gè)置數(shù)
8、模塊,其主要功能細(xì)分為,對(duì)不同的狀態(tài)輸入要產(chǎn)生相應(yīng)狀態(tài)的下一個(gè)狀態(tài)的預(yù)置數(shù), 如圖中A道和B道,分別為次干道的置數(shù)選擇和主干道的置數(shù)選擇。以主干道為例,簡(jiǎn)述其設(shè)計(jì)思想。如前分析,已經(jīng)確定該系統(tǒng)有四個(gè)狀態(tài),而置數(shù)子模塊可定要將下一狀態(tài)的預(yù)置數(shù)準(zhǔn)備好,所以很容易得到主干道的置數(shù)表: 狀態(tài) 主干道預(yù)置數(shù) 次干道預(yù)置數(shù) 00 40 34 01 不要置數(shù) 5(黃燈) 10 34 40 11 5(黃燈) 不要置數(shù) 由該表,就可以通過(guò)程序循環(huán)的方法設(shè)計(jì)該模塊,主要思想是通過(guò)數(shù)據(jù)判斷指令、跳轉(zhuǎn)指令實(shí)現(xiàn),由主控制器計(jì)時(shí)和中斷產(chǎn)生的四個(gè)狀態(tài)去譯碼,從而得到不同的輸出,即預(yù)置數(shù),由上
9、分析可用一個(gè)計(jì)數(shù)器和跳轉(zhuǎn)指令去完成的預(yù)置數(shù)。 而紅綠燈的顯示也是一樣,由狀態(tài)分析可以得出紅綠燈的變化表 狀態(tài) 主干道燈顯示 次干道燈顯示 00 紅燈 綠燈 01 紅燈 黃燈 10 綠燈 紅燈 11 黃燈 紅燈 通過(guò)這張表就可以用組合電路實(shí)現(xiàn)該功能了,可以用數(shù)據(jù)選擇器的思想,在本系統(tǒng)中,直接通過(guò)門電路的譯碼,接下來(lái)就是計(jì)數(shù)模塊了,其主要的功能細(xì)分為,要從預(yù)置數(shù)開始遞減計(jì)數(shù),一個(gè)狀態(tài)結(jié)束,通過(guò)判斷,通知主控制模塊,使之進(jìn)入下一模塊。還有一個(gè)必須考慮到的就是,預(yù)置數(shù)必須在下一個(gè)狀態(tài)來(lái)之前準(zhǔn)備好,而紅綠燈的狀態(tài)變化,必須和計(jì)數(shù)狀態(tài)同步,于是引起預(yù)置數(shù)變化的程序要超前于
10、系統(tǒng)本身的狀態(tài)變化,所以,系統(tǒng)中的兩個(gè)狀態(tài)轉(zhuǎn)換時(shí),在上一狀態(tài)結(jié)束時(shí)設(shè)置預(yù)置數(shù),而控制紅綠燈的是隨著系統(tǒng)本身狀態(tài)的變化而變化,體現(xiàn)在本子電路中就是有兩組電路去判斷符合的狀態(tài)。 1.2.2方案2 設(shè)計(jì)思想 東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表1。 10s 5s 10s 5s 東西道路 綠燈亮 黃燈亮 紅燈亮 紅燈亮 南北道路 紅燈亮
11、 紅燈亮 綠燈亮 黃燈亮 表1 由上圖可以看出交通燈的點(diǎn)亮只有4種狀態(tài); (1) 東西綠燈亮,南北紅燈亮,為10s。 (2) 東西黃燈亮,南北紅燈亮,為5s。 (3) 南北綠燈亮,東西紅燈亮,為10s。 (4) 南北黃燈亮,東西紅燈亮,為5s。 通過(guò)以上4種狀態(tài)的循環(huán),就可以用來(lái)控制十字路口上的車輛和行人的安全通過(guò)。 另外,還有一點(diǎn),緊急通道的使用,也就是當(dāng)有110,120,119等緊急事件發(fā)生時(shí),需要使十字路口的紅燈全部點(diǎn)亮,等緊急車輛通行過(guò)后,交通燈恢復(fù)到正常狀態(tài)。 1.2.3方案比較 方案1(以下稱1)用了模塊設(shè)計(jì),而方案2(以下稱2)采用的是一般設(shè)計(jì),相比
12、之下1有較強(qiáng)的可讀性和較強(qiáng)的可修改性,而2則在設(shè)計(jì)上顯得較簡(jiǎn)單,設(shè)計(jì)純樸,便于測(cè)試,它的優(yōu)勢(shì)則在于提供了一條較為便捷的解決方案。2首先將許多邏輯關(guān)系簡(jiǎn)化到極點(diǎn),而后將其一起集成用較少的芯片去完成所需功能。 我們從中可以得出的是,方案1優(yōu)先于方案2。對(duì)工程設(shè)計(jì)人員來(lái)說(shuō),將來(lái)的產(chǎn)品無(wú)論從修改還是升級(jí)考慮對(duì)有好處,但我們只是初學(xué)者,還達(dá)不到這種模塊化設(shè)計(jì),因此我覺得在設(shè)計(jì)初期盡可能的簡(jiǎn)單化設(shè)計(jì),一旦自我有所成就后,在有可能的條件下將設(shè)計(jì)模塊化,所以本設(shè)計(jì)以第二方案為主進(jìn)行。 第二章 交通燈系統(tǒng)硬件設(shè)計(jì)
13、 2.1 單片機(jī)概述 單片機(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ī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引腳的多功能化,以及低電壓、低功耗。 可以說(shuō),二十世紀(jì)跨越了三個(gè)“電
14、”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞——“智能型”,如智能型洗衣
15、機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來(lái)的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡(jiǎn)單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。 目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。它主要是作為控制部分的核心部件。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與
16、應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 2.2 系統(tǒng)構(gòu)成 電路板一塊,AT89S52單片機(jī)一片,八段LED數(shù)碼管四個(gè)。發(fā)光二極管16個(gè)(4個(gè)綠的,4個(gè)紅,8個(gè)黃的),12個(gè)電阻,2個(gè)電容,1個(gè)晶振,1個(gè)電解電容,2個(gè)按鍵開關(guān)。(系統(tǒng)結(jié)構(gòu)框圖:圖2.1) AT89S52 外部中斷電路 復(fù)位電路 緊急通道模擬通行狀態(tài) 交通燈 圖2.1 系統(tǒng)結(jié)構(gòu)框圖 2.3 單元電路的分析與介紹 2.3.1 MSC-51芯片簡(jiǎn)介 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu) 8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。 8051單片機(jī)
17、包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明: 中央處理器: 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。 數(shù)據(jù)存儲(chǔ)器(RAM) 8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè)
18、,可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 圖2.2數(shù)據(jù)存儲(chǔ)器 程序存儲(chǔ)器(ROM): 8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。 定時(shí)/計(jì)數(shù)器(ROM): 8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。 并行輸入輸出(I/O)口: 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。 全雙工串行口: 8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。 中斷系統(tǒng): 8051具備較完善的
19、中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。 時(shí)鐘電路: 8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。 下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2.3。 圖2.3單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖 MCS-51的引腳說(shuō)明: MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位
20、共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明: MCS-51的引腳說(shuō)明: MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:如圖2.4 圖2.4 引腳的功能圖 引腳9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后
21、,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。 8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見下圖2.5。此外,RESET/Vpd還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。 圖2.5 復(fù)位電路及時(shí)鐘方式圖 引腳30:ALE/當(dāng)訪問(wèn)外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí),ALE端將
22、有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問(wèn)外部程序存儲(chǔ)器,ALE會(huì)跳過(guò)一個(gè)脈沖。 如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。 引腳29:當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口上,由CPU讀入并執(zhí)行。 引腳31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過(guò)4kB地址則讀取外部指令數(shù)據(jù)。如EA為低
23、電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無(wú)程序存儲(chǔ)器的8031,EA端必須接地。 2.3.2 晶體振蕩器 石英晶體振蕩器的特點(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)過(guò)程一直持續(xù)到晶體的機(jī)械強(qiáng)度限制時(shí),才達(dá)到最后穩(wěn)定,這種壓電諧振的頻率即為晶體振蕩器的固有頻率。 振蕩器特性,XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反晶體向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。
24、如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。 在XTAL1和XTAL2引腳上外接定時(shí)元件就能構(gòu)成自激振蕩電路。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振電路。電容器C1和C2主要起頻率微調(diào)作 用。 圖2.6 晶振電路 2.4 工作原理 (1)打開開關(guān)進(jìn)入交通燈初始化狀態(tài),由P0口輸出,P0.0控制南北綠燈;P0.1控制南北黃燈;P0.2控制南北紅燈;P0.3控制東西綠燈;P0.4控制東西黃燈;P0.4控制東西紅燈。 (2)按下接在P3^2引腳的按鈕后(此引腳為外
25、部中斷INT0),P1口和P0口同時(shí)輸出信號(hào),P1口控制的等從右向左進(jìn)行點(diǎn)亮位移;P0口交通燈紅燈全亮。 (3)斷開按鈕,P1口結(jié)束輸出信號(hào),并且所接燈熄滅;P0口繼續(xù)輸出,恢復(fù)到正常工作狀態(tài)下。 (4)9號(hào)引腳為復(fù)位電路,按下按鈕,交通燈的顯示回到初始狀態(tài) 第三章 交通燈系統(tǒng)軟件設(shè)計(jì) 3.1 程序設(shè)計(jì)流程圖 緊急中斷,南北 東西都亮紅燈 結(jié)束 設(shè)定初值 初始化 開始 東西綠燈,南北紅燈亮10秒 東西黃燈,南北紅燈燈亮5秒 東西紅燈,南北綠燈亮10秒 東西紅燈,南北黃燈亮5秒 3.
26、1 程序流程圖 3.2 控制器的軟件設(shè)計(jì) 3.2.1定時(shí)器中斷 定時(shí)器計(jì)數(shù)初值 若定時(shí)器為計(jì)數(shù)方式,操作方式為1,則計(jì)數(shù)器初值X0=216-t0fosc/12。式中fosc為振蕩器的振蕩頻率。t0為需要定時(shí)的時(shí)間,也為中斷的間隔時(shí)間。X0為定時(shí)器原計(jì)數(shù)初值。在對(duì)定時(shí)器溢出中斷與CPU響應(yīng)中斷時(shí)間誤差進(jìn)行補(bǔ)償時(shí),定時(shí)器的計(jì)數(shù)初值X1為: X1=216-t3 fosc/12 t3=t0+t1+t2 式中t0為中斷間隔時(shí)間。t1為定時(shí)器停止計(jì)數(shù)時(shí)間,該時(shí)間為定時(shí)器停止計(jì)數(shù)到重新啟動(dòng)計(jì)數(shù)之間所有程序指令周期數(shù)的總和。t2為定時(shí)器溢出中斷后,重新從OOH開始直至計(jì)數(shù)器停止時(shí)計(jì)的值。在誤差補(bǔ)
27、償中,若將定時(shí)器計(jì)數(shù)初值X1取代X0,則可使定時(shí)器下次的溢出中斷與CPU響應(yīng)中斷實(shí)現(xiàn)同步。 延時(shí)方法可以有兩種一中是利用MCS-51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。 3.3 延時(shí)程序 void deply(uint z) //延時(shí)程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--) {} } 3.3.1 中斷程序及P1口控制燈循環(huán)程序 void int0_suspend() interrupt 0 //外部INT0中斷 { DX_GR
28、EEN=1; DX_YELLOW=1; DX_RED=0; NB_RED=0; NB_YELLOW=1; NB_GREEN=1; LED_xunhuan(); //調(diào)用緊急通行模擬狀態(tài) } void LED_xunhuan() //救護(hù)車緊急通行模擬狀態(tài) { while(1) { deply(500); //延時(shí)0.5秒 P1=P1_paomadeng[i]; //把數(shù)組中的元素賦給P1口 i++; //自加1 if(i==4) //i自加到4時(shí)把數(shù)組第一個(gè)元素賦給i {
29、i=0; } if(P3_2==1) //外部中斷為高電平時(shí)結(jié)束循環(huán) { i=0; //返回到數(shù)組第一個(gè)元素 break; } } P1=0xff; //P1口全置1 flog=0; //為flog賦初值(交通燈從頭開始循環(huán)顯示) } 第四章 整機(jī)工作原理 東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為
30、東西、南北兩干道的公共停車時(shí)間。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案如表1。 10s 5s 10s 5s 東西道路 綠燈亮 黃燈亮 紅燈亮 紅燈亮 南北道路 紅燈亮 紅燈亮 綠燈亮 黃燈亮 表1 由上圖可以看出交通燈的點(diǎn)亮只有4種狀態(tài); (5) 東西綠燈亮,南北紅燈亮,為10s。 (6) 東西黃燈亮,南北紅燈亮,為5s。 (7) 南北綠燈亮,東西紅燈亮,為10s。 (8) 南北黃燈亮,東西紅燈亮,為5s。 通過(guò)以上4種狀態(tài)的循環(huán),就可以用來(lái)控制十字路口上的車輛和行人的安全通過(guò)。 另外,還有一點(diǎn),緊急通道的使用,也就是當(dāng)有110
31、,120,119等緊急事件發(fā)生時(shí),需要使十字路口的紅燈全部點(diǎn)亮,等緊急車輛通行過(guò)后,交通燈恢復(fù)到正常狀態(tài)。 可執(zhí)行文件說(shuō)明: ⑴ 打開Keil軟件,新建工程; ⑵ 選擇芯片; ⑶ 新建文檔,把編寫好代碼寫入文檔并保存了ASM文件; ⑷ 把保存的文檔加載到Source Group; ⑸編譯程序; ⑹設(shè)置轉(zhuǎn)換成16進(jìn)制; ⑺運(yùn)行程序的結(jié)果; 把編寫好的16進(jìn)制文件(jtd.hex) 輸入單片機(jī)AT89S52仿真器和對(duì)其進(jìn)行初始化。 給實(shí)驗(yàn)板進(jìn)行通電,觀察運(yùn)行結(jié)果,不一致則跳到第一步進(jìn)行反復(fù)調(diào)試,直到與預(yù)定目的一致。 通電以后,東西、南北方向的時(shí)間均遞減,5秒以后,東西方向的
32、5秒用完,變成東西左轉(zhuǎn)、南北各10秒,此后,時(shí)間顯示和紅綠燈不再變化,一直保持這一狀態(tài)。 結(jié)論 本系統(tǒng)就是充分利用了89S52 I/O引腳。系統(tǒng)采用MSC-51系列單片機(jī)為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)通過(guò)89C51芯片的P0口控制紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示。系統(tǒng)不足之處不能控制車的左、右轉(zhuǎn)、以及自動(dòng)根據(jù)車流改變紅綠燈時(shí)間等。這是由于本身地理位置以及車流量情況所定,如果有需要可以設(shè)計(jì)擴(kuò)充原系統(tǒng)來(lái)實(shí)現(xiàn) 。
33、通過(guò)這次設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是C語(yǔ)言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。 第 21 頁(yè) 致 謝 在這里,我首先向我的指導(dǎo)老師吳浩然表示深深的感謝,同時(shí)感謝我的同學(xué)在畢業(yè)設(shè)計(jì)中給我的幫助和鼓勵(lì)。 在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中,他們都給予了我極大的關(guān)心和幫助,并對(duì)我的畢業(yè)設(shè)計(jì)進(jìn)行了悉心的指導(dǎo)。使我獲得了豐富的理論知識(shí),極大地提高了實(shí)踐能力,并對(duì)當(dāng)前電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,單片機(jī)領(lǐng)域這對(duì)我今后進(jìn)一步學(xué)習(xí)計(jì)算機(jī)
34、方面的知識(shí)有極大的幫助。 我感謝大學(xué)三年來(lái)所有教過(guò)我的計(jì)算機(jī)工程系的老師們,是他們傳授了有用的專業(yè)知識(shí)給我,使我在整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中能游刃有余的發(fā)揮,同時(shí)也感謝我們計(jì)算機(jī)工程系為我們提供了良好的上機(jī)環(huán)境,在此向他們致以深深的謝意!最后,我忠心地感謝單片機(jī)老師吳浩然以及其他同學(xué)的指導(dǎo)和支持,在未來(lái)的工作和學(xué)習(xí)中,我將以更好的成績(jī)來(lái)回報(bào)各位領(lǐng)導(dǎo)、老師和同學(xué)。 最后,特別感謝我的父母多年來(lái)在學(xué)習(xí)上、生活上的理解與大力支持,讓我圓滿的完成了學(xué)業(yè)。向百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱,評(píng)議和參與本人論文答辯的各位老師表示感謝。 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(論文) 參考文獻(xiàn) [
35、1]、李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版)1998。
[2]、李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994
[3]、胡文金,單片機(jī)應(yīng)用技術(shù)實(shí)訓(xùn)教程,重慶大學(xué)出版社,2005年2月。
[4]、胡輝《單片機(jī)原理與應(yīng)用》,中國(guó)水利出版社,2007。
[5]、劉守義《單片機(jī)應(yīng)用技術(shù)》, 西安電子科技大學(xué)出版社,2006。
附錄
附錄1:整機(jī)電路圖
附錄2:程序源代碼
#include
36、int unsigned int #define uchar unsigned char sbit NB_GREEN=P0^0; sbit NB_YELLOW=P0^1; sbit NB_RED=P0^2; sbit DX_GREEN=P0^3; sbit DX_YELLOW=P0^4; sbit DX_RED=P0^5; sbit P3_2=P3^2; uchar P1_paomadeng[]={0xf7,0xfb,0xfd,0xfe}; //字符型一維數(shù)組(包含了4個(gè)元素) uint i,flog,flog1; //自定義變量 void
37、 deply(uint z) //延時(shí)程序 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--) {} } void LED_xunhuan(); void main() { EA=1; IT0=0; EX0=1; PX0=1; DX_GREEN=1;DX_YELLOW=0;DX_RED=1; //初始化南北,東西黃燈亮1秒 NB_RED=1;NB_YELLOW=0;NB_GREEN=1; eply(1000); while(1) { flog++; i
38、f(flog==1) { DX_GREEN=0;DX_YELLOW=1;DX_RED=1; NB_RED=0;NB_YELLOW=1;NB_GREEN=1; deply(10000); //東西綠燈,南北紅燈亮10秒 } else { if(flog==2) { DX_YELLOW=0;DX_GREEN=1;DX_RED=1; NB_RED=0;NB_YELLOW=1;NB_YELLOW=1; deply(5000); //東西黃燈,南北紅燈燈亮5秒 } else { if(flog==3) { DX_RED=0;DX_YELLOW=1;DX_
39、GREEN=1; NB_GREEN=0;NB_RED=1;NB_YELLOW=1; deply(10000); //東西紅燈,南北綠燈亮10秒 } else { if(flog==4) { DX_RED=0;DX_YELLOW=1;DX_GREEN=1; NB_YELLOW=0;NB_RED=1;NB_GREEN=1; deply(5000); //東西紅燈,南北黃燈亮5秒 flog=0; //flog重新置0 } } } } } } void int0_suspend() interrupt
40、0 //外部INT0中斷 { DX_GREEN=1; DX_YELLOW=1; DX_RED=0; NB_RED=0; NB_YELLOW=1; NB_GREEN=1; LED_xunhuan(); //調(diào)用緊急通行模擬狀態(tài) } void LED_xunhuan() //救護(hù)車緊急通行模擬狀態(tài) { while(1) { deply(500); //延時(shí)0.5秒 P1=P1_paomadeng[i]; //把數(shù)組中的元素賦給P1口 i++; //自加1 if(i==4) //i自加到4時(shí)把數(shù)組第一個(gè)元素賦給i { i=0; } if(P3_2==1) //外部中斷為高電平時(shí)結(jié)束循環(huán) { i=0; //返回到數(shù)組第一個(gè)元素 break; } } P1=0xff; //P1口全置1 flog=0; //為flog賦初值(交通燈從頭開始循環(huán)顯示) } 第 26 頁(yè)
- 溫馨提示:
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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際人力資源管理研討從明棋電腦探討課件
- 國(guó)文詩(shī)歌多媒體教學(xué)課件
- 古詩(shī)詞中愁的意象課件
- 十依財(cái)政經(jīng)費(fèi)所產(chǎn)生的弱勢(shì)族群課件
- 六條法律的新解釋發(fā)怒奸淫休妻課件
- 六書理論-大學(xué)古代漢語(yǔ)復(fù)習(xí)資料課件
- 7足太陽(yáng)膀胱經(jīng)2課件
- 莫內(nèi)和他的朋友們一劇描寫印象派畫家的故事課件
- 海上貨物運(yùn)輸保險(xiǎn)講義ppt課件
- 資訊技術(shù)革命課件
- 北師大版必修二§213兩條直線的位置關(guān)系
- 專案采購(gòu)計(jì)劃之準(zhǔn)則建立課件
- 常見惡性腫瘤的早期診斷和治療對(duì)策課件
- 干部管理職責(zé)與執(zhí)行技巧課件
- 將地方圖案插入此投影片課件