課程設(shè)計(jì)-單片機(jī)控制的十字路口交通燈及撞紅燈報(bào)警_第1頁
課程設(shè)計(jì)-單片機(jī)控制的十字路口交通燈及撞紅燈報(bào)警_第2頁
課程設(shè)計(jì)-單片機(jī)控制的十字路口交通燈及撞紅燈報(bào)警_第3頁
課程設(shè)計(jì)-單片機(jī)控制的十字路口交通燈及撞紅燈報(bào)警_第4頁
課程設(shè)計(jì)-單片機(jī)控制的十字路口交通燈及撞紅燈報(bào)警_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄第一章設(shè)計(jì)說明………31.1設(shè)計(jì)內(nèi)容…………………31.2主要設(shè)備與器材…………31.3設(shè)計(jì)要求………3第二章硬件方案………32.1設(shè)計(jì)思路…………32.2原理電路圖………32.3主要元件功能說明………………42.3.18255A的主要功能……………52.3.2ADC0809的主要功能…………52.3.32817A的主要功能…………52.4工作原理闡述……………………5第三章軟件方案………3.1分析論證…………63.1.1顯示模塊……………………63.1.2運(yùn)算模塊……………………63.2程序流程圖………73.3程序清單………10第四章調(diào)試過程及結(jié)果分析………19第五章設(shè)計(jì)總結(jié)……………………20參考文獻(xiàn)………………20第一章設(shè)計(jì)說明1.1設(shè)計(jì)內(nèi)容設(shè)計(jì)用單片機(jī)控制的十字路口交通燈及撞紅燈報(bào)警,并編程實(shí)現(xiàn)這些功能。主要設(shè)備與器材PC機(jī)一臺(tái),TSC實(shí)驗(yàn)箱一個(gè)(或MCS-51單片機(jī)仿真器一臺(tái),并行接口芯片8255A一片,發(fā)光二極管紅、綠、黃三色各4個(gè),E2PROM存儲(chǔ)器2817A一片,ADC0809一片),揚(yáng)聲器或音樂芯片一只,其他器材任選。設(shè)計(jì)要求(1)用8255A驅(qū)動(dòng)三種顏色的12只發(fā)光二極管,用軟件使它們模擬十字路口交通燈的功能。(2)當(dāng)某一方向的紅燈亮?xí)r,若有車輛通過,則用單片機(jī)控制揚(yáng)聲器發(fā)聲報(bào)警。撞紅燈的信號(hào)可用傳感器采集并轉(zhuǎn)換成數(shù)字量,這里以采集到一個(gè)3~5V的模擬電壓表示。第二章硬件方案2.1設(shè)計(jì)思路本系統(tǒng)硬件上采用8051單片機(jī)和并行接口芯片8255A,分別控制圖2所示的四個(gè)組合。8051單片機(jī)具有MCS-51內(nèi)核,片內(nèi)有128字節(jié)的SRAM作為片內(nèi)數(shù)據(jù)存儲(chǔ)器使用,字節(jié)地址為00H~7FH.。還有21個(gè)特殊功能寄存器用于各種編程控制。它還有4KB的片內(nèi)程序存儲(chǔ)器(掩膜ROM),地址為0000H~0FFFH。最高工作頻率可達(dá)24MHz,完全可以滿足本系統(tǒng)的需要;與其他控制方法相比,所用器件可以說是比較簡單經(jīng)濟(jì)的。1、電源提供方案為使模塊穩(wěn)定工作,須有可靠電源。我們考慮了兩種電源方案方案一:采用獨(dú)立的穩(wěn)壓電源。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。方案二:采用單片機(jī)控制模塊提供電源。改方案的優(yōu)點(diǎn)是系統(tǒng)簡明扼要,節(jié)約成本;缺點(diǎn)是輸出功率不高。綜上所述,我們選擇第二種方案。2、顯示界面方案該系統(tǒng)要求完成?;谏鲜鲈?,我們考慮了三種方案:方案一:完全采用數(shù)碼管顯示。這種方案只顯示有限的符號(hào)和數(shù)碼字苻,無法勝任題目要求。方案二:完全采用點(diǎn)陣式LED顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。方案三:采用數(shù)碼管與點(diǎn)陣LED相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時(shí)間與提示信息。這種方案既滿足系統(tǒng)功能要求,又減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。3、輸入方案:題目要求系統(tǒng)能手動(dòng)設(shè)燈亮?xí)r間、緊急情況處理,我們討論了兩種方案:方案一:采用8155擴(kuò)展I/O口及鍵盤,顯示等。該方案的優(yōu)點(diǎn)是:使用靈活可編程,并且有RAM,及計(jì)數(shù)器。若用該方案,可提供較多I/O口,但操作起來稍顯復(fù)雜。方案二:直接在IO口線上接上按鍵開關(guān)。因?yàn)樵O(shè)計(jì)時(shí)精簡和優(yōu)化了電路,所以剩余的口資源還比較多,我們使用四個(gè)按鍵,分別是K1、K2、K3、K4。由于該系統(tǒng)對于交通燈及數(shù)碼管的控制,只用單片機(jī)本身的I/O口就可實(shí)現(xiàn),且本身的計(jì)數(shù)器及RAM已經(jīng)夠用,故選擇方案二。2.2原理電路圖說明:8255A由個(gè)8為的并行的I/O端口,分別是PA口、PB口、PC口,這些端口可以通過控制軟件編程來改變它們的工作方式,并且8255A可以與MCS-51單片機(jī)直接接口。用8255A驅(qū)動(dòng)3種顏色的12只發(fā)光二極管,用軟件使它們模擬十字路口交通燈的功能。而某一輛車的撞紅燈,則用一個(gè)輸入脈沖來實(shí)現(xiàn)。用ADC0809實(shí)現(xiàn)撞紅燈信號(hào)的采集并轉(zhuǎn)換成數(shù)字量。圖1是一個(gè)十字路口示意圖。分別用1、2、3、4表明四個(gè)流向的主車道,用A、B、C、P分別表示各主車道的左行車道、直行車道、右行車道以及人行道。用a、b、c、p分別表示左轉(zhuǎn)、直行、右轉(zhuǎn)和人行道的交通信號(hào)燈,如圖2所示。

交通燈閃亮的過程:

路口1的車直行時(shí)的所有指示燈情況為:

3a3b2p綠3c紅+4a4b4c3p全紅+1c綠1a1b4p紅+2c綠2a2b1p紅

路口2的車直行時(shí)的所有指示燈情況為:

4a4b3p綠4c紅+1a1b1c4p全紅+2c綠2a2b1p紅+3c綠3a3b2p紅

故路口3的車直行時(shí)的所有指示燈情況為:

1a1b4p綠1c紅+2a2b2c1p全紅+3c綠3a3b2p紅+4c綠4a4b3p紅

故路口4的車直行時(shí)的所有指示燈情況為:

2a2b1p綠2c紅+3c3a3b2p全紅+4c綠4a4b3p紅+1c綠1a1b4p紅圖1:十字路口交通示意圖圖2:十字路口通行順序示意圖圖3:十字路口交通指示燈示意圖2.3主要元件功能說明2.3.18255A的主要功能8255引腳圖和引腳功能資料8255引腳功能:單片機(jī)系統(tǒng)里常用的8255芯片是一個(gè)典型的可編程通用并行接口芯片,用來擴(kuò)展單片機(jī)的端口,它具有3個(gè)8位的并行口,有三種工作方式,可作為單片機(jī)與各種外部設(shè)備連接的接口電路!下面介紹8255的引腳圖及引腳功能。PA3--140--PA4GND--734--D0PA2--239--PA5A1--833--D1PA1--338--PA6A0--932--D2PA0--437--PA7PC7--1031--D3RD--536--WRPC6--1130--D4PC5--1229--D5PC4--1328--D6PC0--1427--D7PC1--1526--VCCPC2--1625--PB7PC--1724--PB6PB0--1823--PB5PB1--1922--PB4PB2--2021--PB38255引腳功能說明:RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。PA0~PA7:端口A輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個(gè)8位的數(shù)據(jù)輸入鎖存器。PB0~PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器,一個(gè)8位的輸入輸出緩沖器。PC0~PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口,每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。CS:片選信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊。RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),允許CPU將數(shù)據(jù)或控制字寫8255。D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。表48255芯片的引腳信號(hào)說明引腳信號(hào)引腳號(hào)引腳名稱Vcc26電源的+5V端GND7電源的0端RESET35復(fù)位信號(hào)輸入端。使內(nèi)部各寄存器清除,置A,B,C口為輸入口36寫信號(hào)輸入端,使CPU輸出的數(shù)據(jù)或者控制字到8255A5讀信號(hào)輸入端。使8255A輸出數(shù)據(jù)或者狀態(tài)信息到CPU6片選端A1,A08,9地址總線的最低2位。用于決定斷口地址:如A1A0為00,是A口:A1A0為01,是B口:A1A0為10,是C口:A1A0是11,是控制字寄存器D7~D027~34雙向數(shù)據(jù)總線PA7~PA037~401~4A口的8位I/O引腳PB7~PB025~18B口的8位I/O引腳PC7~PC010~1317~14C口的8位I/O引腳數(shù)據(jù)總線緩沖器:是一個(gè)8位的雙向三態(tài)驅(qū)動(dòng)器,用于與單片機(jī)的數(shù)據(jù)總線相連。讀/寫控制邏輯:根據(jù)單片機(jī)的地址信息(A1A0)與控制信息(RDWRRESET),控制片內(nèi)的數(shù)據(jù),CPU控制字,外設(shè)狀態(tài)信息的傳送。控制電路:根據(jù)CPU送來的控制字所管I/O口按一定的方式工作。對C口甚至可按位實(shí)現(xiàn)置位或者復(fù)位??刂齐娐贩譃閮山M:A組控制電路控制A口及C口的高四位(PC7~PC4),B組控制電路控制B口及C口的低四位(PC3~PC0)。三個(gè)并行I/O端口:A口可編程為8位輸入,或者8位輸出,或者雙向輸出:B口可編程為8位輸入,或者8位輸出,但是不可以雙向傳輸;C口分為兩個(gè)4位口,用于輸入或者輸出,也可以用作A口,B口的狀態(tài)控制信號(hào)。3.4.28255的操作方式1)讀/寫控制邏輯操作選擇由單片機(jī)輸出的地址A1,A0及控制信號(hào),來選擇口的操作狀態(tài)??诘牟僮鳡顟B(tài)如表5所示表58255的口操作狀態(tài)A1A0輸入操作(讀)00010A口——數(shù)據(jù)總線01010B口——數(shù)據(jù)總線10010C口——數(shù)據(jù)總線輸出操作(寫)00100數(shù)據(jù)總線——A口01110數(shù)據(jù)總線——B口10100數(shù)據(jù)總線——C口11100數(shù)據(jù)總線——控制口禁止操作————1數(shù)據(jù)總線為三態(tài)11010非法狀態(tài)——010數(shù)據(jù)總線為三態(tài)2)8255的三種工作方式方式0(基本輸入/輸出方式):這種工作方式不需要任何選通信號(hào)。A口,B口及C口的兩個(gè)4位口中任何一個(gè)端口都可以由程序設(shè)定為輸入或者輸出。作為輸出口時(shí),輸出數(shù)據(jù)被鎖存:作為輸入口,輸入數(shù)據(jù)不鎖存。方式1(選通輸入/輸出方式):在這種工作方式下,A,B,C三個(gè)口分為兩組。A組包括A口和C口的高四位,A口可由編程設(shè)定為輸入口或者輸出口,C口的高四位則是用來作為A口輸入/輸出操作的控制和同步信號(hào):B組包括B口和C口的低四位,B口可由編程設(shè)定為輸入口或者輸出口,C口的低四位則是用來作為B口輸入/輸出操作的控制和同步信號(hào)。A口和B口的輸入或者輸出的數(shù)據(jù)都被鎖存。方式2(雙向傳送方式)在這種方式下,A口可以用于雙向傳送,C口的PC3~PC74用來作為輸入/輸出的控制同步信號(hào)。應(yīng)該注意的是,只有A口允許用作雙向傳送,這時(shí)B口和PC0~PC2則可編程為方式0或者方式1工作。3)編程控制字8255A的編程選擇是通過對控制口輸入控制字的方式實(shí)現(xiàn)的??刂谱钟蟹绞竭x擇控制字和C口置位/復(fù)位控制字。方式選擇控制字:其格式如下表6所示:C口置位/復(fù)位控制字:C口具有位操作功能,把一個(gè)置位/復(fù)位控制字送入送入8255A的控制寄存器(控制口)就能把C口的某一位置1或者清0而不影響其他位的狀態(tài)。C口置位/復(fù)位控制的格式與定義如表7所示。表6方式選擇控制字D7D6D5D4D3D2D1D0A組B組控制字標(biāo)志1=方式控制字方式選擇00=方式001=方式11*=方式2A口1=輸入0=輸出上C口1=輸入0=輸出方式選擇00=方式0,01=方式1B口1=輸入0=輸出下C口1=輸入0=輸出8051單片機(jī)與8255的接口邏輯簡單,其接口電路為圖15所示,因?yàn)?255A芯片內(nèi)部沒有地址鎖存能力,所以圖中8255A的片選信號(hào)及口地址選擇線A1,A0分別由8051的P0.7和P0.1經(jīng)由地址鎖存器后提供。如果沒有參入選址的地址的狀態(tài)都看作“1”狀態(tài),則8255的A,B,C口及控制口地址為FF7CH,F(xiàn)F7DH,F(xiàn)F7EH,F(xiàn)F7FH。當(dāng)然各口都有重復(fù)的地址,8255的復(fù)位端與8051的復(fù)位端相連,都接到8051的復(fù)位電路。2.3.2ADC0809的主要功能ADC0809的主要特性1)8路8位A/D轉(zhuǎn)換器,即分辨率8位。2)具有轉(zhuǎn)換起??刂贫?。3)轉(zhuǎn)換時(shí)間為100μs4)單個(gè)+5V電源供電5)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。6)工作溫度范圍為-40~+85攝氏度7)低功耗,約15mW。2.內(nèi)部結(jié)構(gòu)ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖13.22所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型D/A轉(zhuǎn)換器、逐次逼近寄存器、三態(tài)輸出鎖存器等其它一些電路組成。因此,ADC0809可處理8路模擬量輸入,且有三態(tài)輸出能力,既可與各種微處理器相連,也可單獨(dú)工作。輸入輸出與TTL兼容。外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝,如圖所示。下面說明各引腳功能。IN0~I(xiàn)N7:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論