模擬交通控制燈設(shè)計_第1頁
模擬交通控制燈設(shè)計_第2頁
模擬交通控制燈設(shè)計_第3頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、模擬交通控制燈設(shè)計1918929303112345678交通燈遠程控制燈的設(shè)計一、總體設(shè)計1、任務(wù)交通燈的任務(wù)要求為:模擬十字路口的交通燈的亮、 滅及閃爍控制及時間顯 示。.基本工作原理:根據(jù)交通燈的亮滅情況,可以分為四種狀態(tài),利用定時計數(shù) 器每5毫秒產(chǎn)生一次中斷,完成對 LED顯示模塊的刷新,紅綠燈的切換。通過串口對交通燈進行遠程控制,實現(xiàn)pc機和單片機之間的通信程序編寫, 學習單片機和pc機之間的串口連接方法和編程技巧。2、要求設(shè)計并實現(xiàn)單片機交通燈控制系統(tǒng),實現(xiàn)以下三種情況下的交通燈控制。(1) 正常情況下雙方向輪流點亮。(2) 特殊情況時A道運行。有緊急車輛通行時,AB道均為紅燈。緊急

2、情況優(yōu)先級高于特殊情況。PPP-9-C1-n22pFC2X112MU1R1C329 303110uF22pFXTAI1P0 0/AD0P0.1/AD1P0 2/AD2XTAI2P0 3/AD3P0 4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2 5/A13P2.6/A14P2.7/A15P1.1P3.1/TXDP1.2P3.2/INT0P1 5P3 5/T1P1.6P1 7P3 6/WRP3 7/RD1918-33 3221f 27283 12817AT89C5167 =15=1

3、6 3938 3736 35 342223124 5 13 14242526p0.0p0.1p0.2p0.3p0.4p0.5p0.0p0.1p0.2LR7220U1XTAL1PO.O/ADOP0.1/AD13938XTAL2P0.2/AD2P0.3/AD3P0.4/AD4373635RSTPSENALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P0.5/AD5P0.6/AD6P0.7/AD7F2.0/ASP2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15F3.0/RXDP3.1/TXDF3.2/INT0F3.

4、3/INT1F3.4/T0F3.5/T1P3.6/WRF3.7/RD343332212223242526272810111213141516173、說明J1627384本任務(wù)實現(xiàn)用pc機作為控制機、單片機控制信號燈為從機的遠程控制系統(tǒng) 主從機雙方除了要有一定的通信格式,波特率外,還要約定一些握手應(yīng)答信號 即通信協(xié)議。通信協(xié)議如下:主機OL (單片桃接業(yè)応答唁懇接衣命號回發(fā)應(yīng)客怕思01HdiHUIHQ3H令含緊總情況,嘆求所有方向均為紅燈,咒捌解毬曲專U2HO2H02H命令舎丈:解除常爭.恢里正常立適捋樂訂狀吉協(xié)議說明;(1) 通過PC鍵盤輸入01H命令 發(fā)送給單片機:單片機收到PC發(fā)來的命令后

5、,進入 緊急情況狀態(tài)卩將兩個方向的交迪指示燈都變?yōu)榧t燈*再炭送QIH柞為應(yīng)答信號,PC收到 應(yīng)答信號并在屛幕I顯示岀來(2) 通過PC鍵盤輸入02UJSJ令,境送給單片機:單片機收到PC發(fā)來的命令后恢復(fù) 正常交通燈指小狀態(tài),并凹送02H作為應(yīng)答信號* PC屏幕上顯示02H.#define uchar unsigned char#define uint unsigned intucharIed=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8, 0x80,0x90;ucharDispX=0xfb,0xf3,0xfb,0xeb,0xde,0xdf,0xde,0x dd

6、;void AFangXing(void); / 函數(shù)聲明void ShanShuo(uchar *PTR);void JingGao(uchar *PTR);void BFangXing(void);void delay_5ms(void) 5ms定時uchar i;for(i=0;i0;x-)for(y=100;y0;y-) P2=0xf5;P0=ledx%10; delay_5ms();P2=0xfa;P0=ledx/10;緊急情況倒計時delay_5ms();EA=0;P1=i;TH1=l;TL1=m;EA=1;void int_1() interrupt 2 / 特殊情況中斷 uin

7、t i,l,m,x,y;EA=0;關(guān)中斷i=P1;l=TH1;m=TL1;EA=1;P1=0xF3;for(x=10;x0;x-)for(y=100;y0;y-) P2=0xf5;P0=ledx%10;delay_5ms();P2=0xfa;P0=ledx/10;特殊情況倒計時delay_5ms();EA=0;P1=i;TH1=l;TL1=m;EA=1;void main ()/主 函數(shù)uchar *PTR=&DispX;TMOD=0x21;工作方式寄存器TMOD用于選擇定時器/計數(shù)器的工作模式和工作方式, 由TMOD可知,定時器T1工作在方式2,定時 器T0工作在方式1TH1=0xf4;/由

8、波特率為 2400kb/s,晶體頻率為11.0592MHz,可知定時器T1的初值,又 因為定時器T1采用方式2,8位初值自動重裝入的8位定時器/計數(shù)器,故TH1,TL1初值相同TL1=0xf4;TR0=1;TR1=1;/SCON為串行口控制寄1,允許串行接收設(shè)置波特率SMOD/IE為中斷允許寄存器,允許串SCON=0x50;存器,采用方式PCON=0x00;IE=0x95;行口中斷,允許外部中斷1中斷,允許外部中斷 0中斷IP=0x11;/串行口中斷、外部中斷0設(shè)定為高優(yōu)先級中斷IT0=1;/外部中斷0的中斷請求信號為邊沿觸發(fā)(下降沿有效)IT1=1;/外部中斷1的中斷請求信號為邊沿觸發(fā)(下降

9、沿有效)while(1)AFangXing();/A道綠燈B道紅燈ShanShuo(PTR); /A 綠燈閃爍 2 次,B 道 紅燈ShanShuo(+PTR);ShanShuo(+PTR);JingGao(+PTR); A道黃燈 B道紅燈BFangXing(); B道綠燈A道紅燈ShanShuo(+PTR); /B 綠燈閃爍 2 次,A 道紅燈ShanShuo(+PTR);ShanShuo(+PTR);JingGao(+PTR); /B 道黃燈 A 道紅燈PTR=&DispX;void AFangXing(void)uchar i,j;P1=0xf3; /A道綠燈 B道紅燈for(i=55;

10、i0;i-)for(j=50;j0;j-)P2=0xfd;P0=ledi%10;顯示A方向秒個位delay_5ms();P2=0xfe;pollednMOW 和引 Au可啟十 m de5)yl5ms();P2H0X5?polled 口+5)10M/和引 B-mde5)yl5ms();P2uoxfb;polled 口+5)=0w 和引 B十 mde5)yl5ms();void shanshuo(ucha:PTR) 宀uchaLj;for71;ivo;!)宀PEPTRfol-25=v;)宀P2uoxfd;polledn% 和引 Au可-mde5)yl5ms();P2=0xfe;P0=ledi/10

11、;顯示A方向秒十位 delay_5ms();P2=0xf7;P0=ledi%10;顯示B方向個位 delay_5ms();P2=0xfb;P0=ledi/10;顯示B方向十位 delay_5ms();void JingGao(uchar *PTR)uchar i,j;P1=*PTR;for(i=2;i0;i-)for(j=50;j0;j-)P2=0xfd;P0=ledi%10;顯示A方向秒個位delay_5ms();P2=0xfe;P0=ledi/10;顯示A方向秒十位 delay_5ms();P2=0xf7;P0=ledi%10;顯示B方向個位 delay_5ms();P2=0xfb;P0=

12、ledi/10;顯示B方向十位 delay_5ms();void BFangXing(void)uchar i,j;P1=0xde; /A道紅燈 B道綠燈 for(i=55;i0;i-)for(j=50;j0;j-)P2=0xfd;P0=led(i+5)%10;顯示A方向秒個位 delay_5ms();P2=0xfe;P0=led(i+5)/10;顯示A方向秒十位 delay_5ms();P2=0xf7;P0=ledi%10;顯示B方向個位 delay_5ms();P2=0xfb;P0=ledi/10;顯示B方向秒十位 delay_5ms();void serial() interrupt 4

13、uchar i;EA=0;if(RI=1)RI=0;if(SBUF=0x01)SBUF=0x01; while(!TI);TI=0;i=P1 ;P1=0xdb; while(SBUF!=0x02) while(!RI);RI=0;SBUF=0x02; while(!TI);TI=0;P1=i;EA=1; elseEA=1;六、設(shè)計總結(jié)本次實訓運用Keil作為編譯環(huán)境,用Proteus作為仿真軟件。然后將程序 下載到自己焊接的硬件電路中。 由于Proteus軟件功能的局限性,當仿真電路的 數(shù)碼管位選加上三極管作為驅(qū)動放大器時,數(shù)碼管不能成功顯示要顯示的數(shù), 只顯示8888或者9999這兩個數(shù),但為了與硬件電路一致,用 Proteus仿真時改 用非門代替三極管。當老師給我們布置這個課程設(shè)計時,我感到無從下手,不知道該怎樣寫程 序。后來通過讀老師的程序,慢慢明白了,知道了如何去做。對于這樣的課程設(shè)計,應(yīng)該先用

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論