單片機(jī)交通燈實驗報告.doc_第1頁
單片機(jī)交通燈實驗報告.doc_第2頁
單片機(jī)交通燈實驗報告.doc_第3頁
單片機(jī)交通燈實驗報告.doc_第4頁
單片機(jī)交通燈實驗報告.doc_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

南京曉莊學(xué)院2012屆本科畢業(yè)設(shè)計學(xué)校代碼:11460南京曉莊學(xué)院本科生畢業(yè)綜合設(shè)計交通燈控制系統(tǒng)設(shè)計traffic light control system design院 系:物理與電子工程學(xué)院專 業(yè): 電子信息科學(xué)與技術(shù) 成 員:郁艇妹 (08409244)周緯璐 (08409247)交通燈控制系統(tǒng)設(shè)計實驗一設(shè)計目的1. 通過本次課程設(shè)計進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理,鞏固和加深“單片機(jī)原理與應(yīng)用”課程的基本知識,掌握電子設(shè)計知識在實際中的簡單應(yīng)用。2. 綜合運用“單片機(jī)原理與應(yīng)用”課程和先修課程的理論及生產(chǎn)實際知識去分析和解決電子設(shè)計問題,進(jìn)行電子設(shè)計的訓(xùn)練。3. 學(xué)習(xí)電子設(shè)計的一般方法,掌握at89c52芯片以及簡單電子設(shè)計過程和運行方式,培養(yǎng)正確的設(shè)計思想和分析問題、解決問題的能力,特別是總體設(shè)計能力。4. 通過計算和繪制原理圖、布線圖和流程圖,學(xué)會運用標(biāo)準(zhǔn)、規(guī)范、手冊、圖冊和查閱有關(guān)技術(shù)資料等,培養(yǎng)電子設(shè)計的基本技能。5. 通過完成一個包括電路設(shè)計和程序開發(fā)的完整過程,了解開發(fā)單片機(jī)應(yīng)用系統(tǒng)全過程,為今后從事的工作打基礎(chǔ)。二設(shè)計要求1.利用單片機(jī)的定時器定時,實現(xiàn)道路的紅綠燈交替點亮和熄滅。2.以at89c52單片機(jī)為核心,設(shè)計一個十字路口交通燈控制系統(tǒng)。用單片機(jī)控制led燈模擬交通信號燈顯示。假定東西、南北方向方向通行(綠燈)時間為25秒,緩沖(黃燈)時間5秒,停止(紅燈)時間35秒。3.南北方向、東西方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進(jìn)行顯示(采用計時的方法)。三實驗原理1.基本原理主體電路:交通燈自動控制模塊。這部分電路主要由80c51單片機(jī)的i/o端口、定時計數(shù)器、外部中斷擴(kuò)展等組成。本設(shè)計先是從普通三色燈的指示開始進(jìn)行設(shè)計,用p1口作為輸出。程序的初始化是東西南北方向的紅燈全亮。然后南北方向紅燈亮,東西方向綠燈亮,60秒后東西方向黃燈閃亮5秒后南北方向綠燈亮,東西方向紅燈亮。重復(fù)執(zhí)行。倒計時用到定時器t0,用p2口作為led的顯示。二位一體的led重復(fù)執(zhí)行60秒的倒計時。作為突發(fā)事件的處理,本設(shè)計主要用到外部中斷ex0。用一模擬開關(guān)作為中斷信號。實際中可以接其它可以產(chǎn)生中斷信號的信號源。2. 芯片at89c52 at89c52是一個低電壓,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,功能強(qiáng)大的at89c52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。at89c52有40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,at89c52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的flash存儲器可有效地降低開發(fā)成本。主要功能特性: 兼容mcs51指令系統(tǒng) 8k可反復(fù)擦寫(1000次)flash rom 32個雙向i/o口 256x8bit內(nèi)部ram 3個16位可編程定時/計數(shù)器中斷 時鐘頻率0-24mhz 2個串行中斷 可編程uart串行通道 2個外部中斷源 共6個中斷源 2個讀寫中斷口線 3級加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能四 實驗流程圖(一)實現(xiàn)方法(1)在設(shè)計中利用軟件程序延時的方法來控制紅(綠)的亮的時間??紤]延時時間較長所以先用t0產(chǎn)生終端然后通過計數(shù)的方法來實現(xiàn)延時。利用口的p1.1、p1.2、p1.3作為紅綠燈控制端口。(2)南北向的綠燈連在一塊,東西向的紅燈連在一塊,他們一塊與p1.1相連。同樣南北向的紅燈連在一塊,東西向的綠燈連在一塊,他們一塊與p1. 2相連,四個黃燈連在一塊與p1.3相連。(二)流程圖 開 始南北紅東西綠30s倒計時顯示黃燈亮5s南北綠東西紅黃燈亮5s25s倒計時顯示五硬件設(shè)計1單片機(jī)的結(jié)構(gòu) 單片微機(jī)(single-chip microcomputer)簡稱為單片機(jī)。它在一塊芯片上集中成了中央處理單元cpu、隨機(jī)存儲器ram、只讀存儲器rom、定時/計數(shù)和多功能輸入/輸出i/o口,如并行口i/o、串行口i/o和轉(zhuǎn)換a/d等。就其組成而言,一塊單片機(jī)就是一臺計算機(jī)。由于它具有體積小、功能強(qiáng)和價格便宜等優(yōu)點,因而被廣泛地應(yīng)用于產(chǎn)品智能化和工業(yè)控制自動化上。2主要元器件選擇(1). 開關(guān)管的選擇:button按鈕(2). led發(fā)光二極管 ledred, ledyellow ,ldegreen(3). 二位一體數(shù)碼管 7seg-mpx2-cat-red:共陽數(shù)碼管(紅色)(4). pn4249:驅(qū)動三極管(5). at89s51系列單片機(jī) 3設(shè)計顯示部分led數(shù)碼顯示部分。led數(shù)碼顯示部分由七段數(shù)碼顯示管組成。發(fā)光二極管顯示原理:發(fā)光二極管是采用砷化鎵、鎵鋁砷和磷化鎵等材料制成,其內(nèi)部結(jié)構(gòu)為一個pn結(jié),具有單向?qū)щ娦?。發(fā)光二極管在制作時,使用的材料不同,那么就可以發(fā)出不同顏色的光。當(dāng)定時器定時為1秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進(jìn)入循環(huán)。六軟件設(shè)計 1單片機(jī)中斷系統(tǒng)基本結(jié)構(gòu) 中斷是一項重要的計算機(jī)技術(shù),是處理正常工作與緊急狀態(tài)的好辦法,是實現(xiàn)人機(jī)實時交互的重要途徑,在單片機(jī)應(yīng)用系統(tǒng)中,中斷技術(shù)得到了廣泛應(yīng)用。下面詳細(xì)介紹單片機(jī)中斷系統(tǒng)基本結(jié)構(gòu)、與中斷相關(guān)的特殊寄存器的設(shè)置及中斷應(yīng)用系統(tǒng)編程方法。當(dāng)cpu查詢到系統(tǒng)有中斷請求時,如果系統(tǒng)處于中斷允許狀態(tài),cpu將停止當(dāng)前的工作,響應(yīng)中斷請求,轉(zhuǎn)向中斷服務(wù),中斷服務(wù)完成后,返回原程序繼續(xù)執(zhí)行當(dāng)前任務(wù),這叫單片機(jī)中斷。8051系列單片機(jī)中斷系統(tǒng)結(jié)構(gòu)如圖3.7所示。能讓cpu產(chǎn)生中斷的信號源叫中斷源。8051單片機(jī)有nt0、int1、t0、t1、ti、ri六個中斷源,但只有ex0、et0、ex1、et1、es五個向量,下面簡要介紹六個中斷源。圖:單片機(jī)中斷系統(tǒng)基本結(jié)構(gòu)int0、int1:外部中斷源,由p3.2和p3.2引腳輸入。具有低電平和脈沖兩種觸發(fā)方式,在每個機(jī)器周期的s5p2采樣引腳信號,如有效則由硬件將它的中斷請求標(biāo)志ie置1,請求中斷。當(dāng)cpu響應(yīng)中斷時,由硬件復(fù)位。t0、t1:定時/計數(shù)器中斷,當(dāng)定時/計數(shù)器產(chǎn)生溢出時,置位中斷請求標(biāo)志tf請求中斷處理。ri、ti:串行中斷,ri是接收,ti為發(fā)送。單片機(jī)串行口接收到一個字符后ri置1,發(fā)送完一個字符ti置1。值得注意的是,ri、ti在響應(yīng)中斷后,必須由用指令將其復(fù)位。 中斷響應(yīng):cpu在執(zhí)行程序的過程中,在每個機(jī)器周期的s5p2對中斷標(biāo)志位按中斷優(yōu)先級進(jìn)行查詢,一旦查詢到有中斷請求,cpu只要不在執(zhí)行同級或高級的中斷服務(wù)程序和當(dāng)前指令(reti指令或訪問ie、ip的指令除外)執(zhí)行完畢兩種情況,則響應(yīng)中斷。如果當(dāng)前正在執(zhí)行的指令是reti或訪問ie、ip的指令,則當(dāng)前指令執(zhí)行完畢后,cpu才可響應(yīng)中斷。中斷響應(yīng)時間可以從中斷信號被查詢開始算起,中斷響應(yīng)時間在以下三種情況下,響應(yīng)時間還會更長: cpu正在執(zhí)行一個比要響應(yīng)的中斷源優(yōu)先級相等或更高的中斷源的中斷服務(wù)程序,此時須等到中斷服務(wù)程序執(zhí)行完畢才可中斷響應(yīng)。 正在執(zhí)行的當(dāng)前指令不是在最后一個機(jī)器周期,只有指令執(zhí)行完后才響應(yīng)中斷。 如果當(dāng)前執(zhí)行的是reti或訪問ie、ip的指令,則當(dāng)前指令執(zhí)行完畢后,cpu需再執(zhí)行一條指令才可以中斷響應(yīng),因此附加等待響應(yīng)時間不會超過5個機(jī)器周期。中斷入口:單片機(jī)響應(yīng)中斷后,將轉(zhuǎn)向特定的入口進(jìn)行中斷服務(wù),單片機(jī)的中斷入口地址如表3.2所示。中 斷 源入 口 地 址ie0(外部中斷0)0003htf0(定時器0溢出中斷)000bhie1(外部中斷1)0013htf1(定時器1溢出中斷)001bhri+ti(串行口中斷)0023h表3.2 mcs-51單片機(jī)中斷服務(wù)程序入口地址表從表中可以看出,兩相鄰中斷源的入口地址間隔為8個單元。這意味著如果要把中斷源對應(yīng)的中斷服務(wù)程序從入口地址開始存放,則程序的長度不能超過8個字節(jié),否則會影響到下一個中斷源的入口地址的使用。而通常的情況下,中斷服務(wù)程序的長度不止8個字節(jié),因此,常見的處理方法是:在入口地址處存放一條無條件轉(zhuǎn)移指令,通過這條轉(zhuǎn)移指令轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序入口,中斷服務(wù)程序以reti為結(jié)束。中斷請求的撤銷:cpu響應(yīng)中斷請求,在中斷返回(reti)之前,該中斷請求應(yīng)被撤除,否則會引發(fā)另一次中斷。定時/計數(shù)器中斷請求撤銷:cpu在響應(yīng)中斷后,由硬件自動清除中斷請求標(biāo)志tf。外部中斷請求撤銷:如果采用脈沖觸發(fā)方式,cpu在響應(yīng)中斷后,由硬件自動清除中斷請求標(biāo)志ie;對于電平觸發(fā)方式的外部中斷請求,中斷標(biāo)志的撤銷是自動的,由于造成中斷請求的低電平繼續(xù)存在,所以在響應(yīng)中斷后再次會產(chǎn)生中斷請求,為此響應(yīng)中斷后要撤銷外部信號。2.每秒鐘的設(shè)定 延時方法可以有兩種一中是利用mcs-51內(nèi)部定時器才生溢出中斷來確定1秒的時間,另一種是采用軟延時的方法。 3.計數(shù)器初值計算 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到th和tl中的。我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為c和計數(shù)初值設(shè)定為tc 可得到如下計算通式: tc=m-c七實驗程序#include #define uchar unsigned char#define uint unsigned intsbit r1=p20; /東西紅燈sbit y1=p21; /東西黃燈sbit g1=p22; /東西綠燈sbit r2=p23; /南北紅燈sbit y2=p24; /南北黃燈sbit g2=p25; /南北綠燈sbit z1=p26; /南北人行道綠燈sbit z2=p27; /東西人行道綠燈sbit k0=p30; /全部禁行開關(guān)sbit k1=p32; /主干道通行開關(guān)sbit k2=p33; /支道通行開關(guān)sbit jg=p36; /全部禁行警報uchar a=0,m,k,h;uchar code dis= 0xc0, 0xf9, 0xa4, 0xb0, 0x99,0x92, 0x82, 0xf8, 0x80, 0x90, 0xff; /斷碼void delay(uchar x)/延時uchar j;while(x-)for(j=0;j120;j+);xianshi() /顯示部分while(1)while(1)g1=1;r1=0;y1=1;jg=0;g2=0;r2=1;y2=1;z2=0;z1=1;k=35;h=30;while(1)/主干道通行35sif(k0=0) break;/判斷k0是否被按下,如果按下跳出本循環(huán)p0=0x01;p1=disk/10;delay(2);p0=0x02;p1=disk%10;delay(2);p0=0x04;p1=dish/10;delay(2);p0=0x08;p1=dish%10;delay(2);if(k=0) break;if(h=0) h=5;g2=1;r2=1;y2=0;if(k0=0) break;/再判斷一次k0,跳出本循環(huán)g1=0;r1=1;y1=1;jg=0;g2=1;r2=0;y2=1;z2=1;z1=0;k=20;h=25;while(1)/支道通行25sif(k0=0) break;p0=0x01;p1=disk/10;delay(2);p0=0x02;p1=disk%10;delay(2);p0=0x04;p1=dish/10;delay(2);p0=0x08;p1=dish%10;delay(2);if(h=0) break;if(k=0)k=5;g1=1;r1=1;y1=0;if(k0=0) break;if(k0=0)while(1)/全部禁止通行g(shù)1=1;r1=0;y1=1;jg=1;p0=0x00;g2=1;r2=0;y2=1;z2=1;z1=1;if(k0!=0) break;void zhutong() interrupt 0/主干道通行,支道禁止通行ex0=0;m=p2;if(k1=0)while(1)g1=1;r1=0;y1=1;jg=0;p0=0x00;g2=0;r2=1;y2=1;z2=0;z1=1;if(k1!=0)break;p2=m;ex0=1;void zhitong() interrupt 2/支道通行,主干道禁止通行ex1=0;m=p2;if(k2=0)while(1)g1=0;r1=1;y1=1;jg=0;p0=0x00;g2=1;r2=0;y2=1;z2=1;z1=0;if(k2!=0)break;p2=m;ex1=1;void dss() interrupt 1 /1s的定時 a=a+1;if(a=10)k-;h-; a=0;th0=0x3c; tl0=0xb0;void main() tmod=0x01;th0=0x3c; tl0=0xb0; /6m晶振,100ms初值et0=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論