版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選文庫 機(jī)電工程學(xué)院課程設(shè)計報告 課程名稱: 單片機(jī)課程設(shè)計 專業(yè)班級: 13電本2班 學(xué) 號: 2013041632 7 學(xué)生姓名: 指導(dǎo)教師: 王清輝、何文豐 完成時間: 報告成績: 評閱意見: 評閱教師 日期 交通燈設(shè)計 、設(shè)計任務(wù)與要求 設(shè)計基本要求: (1)車輛通行繁忙的十字交叉路口,設(shè)計一交通燈控制器,設(shè)東西方向通行時間為 30秒,當(dāng)剩余3秒時黃燈亮,南北方向通行時間為 20秒,當(dāng)剩余3秒時黃燈亮。 (2) 東西、南北方向各用三個(綠、黃、紅)LED表示,并用數(shù)碼管顯示東西、南 北方向的剩余時間。 (3)可利用按鍵修改時間參數(shù),可以利用按鍵切換東西南北交通燈的當(dāng)前狀態(tài)(即 立刻東
2、西由紅變綠,南北有綠變紅,并按設(shè)定的時間工作)。 二、方案設(shè)計與論證 交通燈的工作方式及狀態(tài)設(shè)計: 狀態(tài) 東西 南北 通行時間 注 紅黃綠 紅黃綠 1、東西綠燈南北紅燈 110 011 27秒(時間可設(shè)) 交通燈從狀態(tài)1至 4不斷循環(huán),通過 外設(shè)按鈕實現(xiàn)狀 態(tài)1和3的切換 2、東西黃燈南北紅燈 101 011 3秒(黃燈閃爍) 3、東西紅燈南北綠燈 011 110 17秒(時間可設(shè)) 4、東西紅燈南北黃燈 011 101 3秒(黃燈閃爍) 表2-1 :交通燈的工作狀態(tài)表 根據(jù)表2-1所示可將交通燈的工作狀態(tài)設(shè)為以下幾個步驟: 1、初始狀態(tài)時即為東西方向綠燈通行 27秒+3秒黃燈,此時南北紅燈亮
3、。 2、隨后是南北方向綠燈通行17秒+3秒黃燈,此時東西紅燈亮。 3、 通過按模式選擇鍵一次來切換東西南北交通燈的當(dāng)前狀態(tài)。(通過設(shè)置定時計時 器T1實現(xiàn)交通燈的計時) 4、通過按模式選擇鍵第二次切換至南北方向紅綠燈的計時設(shè)置,通過加減按鍵來 確定南北方向紅綠燈的計時數(shù)。 5、確定南北方向計數(shù)值后,通過按模式選擇鍵第三次切換至東西方向紅綠燈的計 時設(shè)置,通過加減按鍵來確定東西方向紅綠燈的計時數(shù)。 6、確定交通燈計時數(shù)后再按下模式選擇鍵后,交通燈便進(jìn)入工作狀態(tài)。 時間計時的實現(xiàn):采用定時中斷實現(xiàn)秒的精確計時(詳細(xì)方案入下列程序設(shè)計所 示)。 按鍵輸入的實現(xiàn):通過編寫按鍵讀取函數(shù),來實現(xiàn)交通燈的狀
4、態(tài)以及時間值得設(shè)定 (詳細(xì)方案入下列程序設(shè)計所示) te a 下產(chǎn)蓋 ittr- - T ; -說散 fcS- 宜咸一 嘻北方旬訐 曲直設(shè)E 怎北亡蓉,京S還r 下 一才曲問 3 5 if 3*5J 施琵繞ME 穆芟柴上| 5ZZ 巾斷包回 圖2-1程序設(shè)計流程框圖 三、硬件電路設(shè)計 1、倒計時顯示 該系統(tǒng)要求完成倒計時的功能。因只需顯示數(shù)字,基于上述原因,我完全采用數(shù)碼 管顯示,四個路口分別采用一個二位共陰極數(shù)碼管即可。 2、狀態(tài)燈顯示 該系統(tǒng)要求完成狀態(tài)燈顯示的功能。采用紅綠黃三種LED燈一個路口只需三個個 狀態(tài)燈,綠燈通行,紅燈停止,黃燈閃爍。 3、輸入方案 該系統(tǒng)要求能手動改變東西與南
5、北的通行時間、紅綠燈狀態(tài)緊急交換處理。運用單 片機(jī)中四個IO 口設(shè)置三個按鍵,三個按鍵的功能分別為:增加、減少、狀態(tài)切換和暫 停。 4、復(fù)位電路與晶振電路 復(fù)位電路:復(fù)位方式有多種,本設(shè)計采用按鍵復(fù)位。接線圖如圖3-1所示,當(dāng)按 下復(fù)位按鍵時,RST端產(chǎn)生高電平,使單片機(jī)復(fù)位。復(fù)位后,其片內(nèi)各寄存器狀態(tài)改 變,片內(nèi)RAM內(nèi)容不變。 C2 圖3-1程序仿真接線圖 晶振電路(如圖3-2所示):結(jié)合單片機(jī)內(nèi)部產(chǎn)生單片機(jī)所需的時鐘頻率。 II X4 crystal 細(xì)- C3 _IH ;2uF 圖3-2程序仿真接線圖 TWIT 5、AT89S51的簡介 AT89S51是一個低功耗,高性能CMOS 8位
6、單片機(jī),片內(nèi)含4k Bytes ISP(ln-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用 ATMEL公司 的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu), 芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,AT89S51在眾多嵌入式控制 應(yīng)用系統(tǒng)中得到廣泛應(yīng)用。 四、軟件設(shè)計 Men r t # wri * *0 07 : 母 H-ff UP.-ID *iarrra farT Pri-Bld PJill 921 pavv FlhP *x-aMii fI*T h 已 b 1 rzTn n Ml T
7、iJ*ra 料AH TTKATr 27砂 TiiTwn 1 1 衛(wèi) LOAN昔即話 阻? -儲-T- i fi L *5+11* 辺訓(xùn)嶇衛(wèi).盧ah ABg叭M訶旳 PR s聲薦 律氏EJ=U CC-CL_iJU 圖3-3程序仿真接線圖 ir-iE-JW IK 5 R4 Ib1, i以1刖4 根據(jù)設(shè)計要求得完整的交通燈程序源代碼包含有:1.定時2.數(shù)碼管顯示3LED狀 態(tài)切換.4按鍵讀取。 #in elude reg51.h #define uint un sig ned int #define uchar un sig ned char uchar code num=0 x3f,0 x06,0
8、 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/數(shù)碼管顯示數(shù)組 uchar T0_Count=0,East_time=0,North_time=0;/定時變量,東西倒計時變量,南北倒計時變量 sbit DXD_Red=卩3人0; /東西方向紅燈 sbit DXD_Yellow=卩3人1; 東西方向黃燈 sbit DXD_Gree n=P 3人2; /東西方向綠燈 sbit NBD_Red=卩3人3; /南北方向紅燈 sbit NBD_Yellow=卩3人4; /南北方向黃燈 sbit NBD_Gree n=P 3人6; /南北方向綠燈 sbit
9、DXKZ_GE=卩2人4; 東西方向個位數(shù)碼管公共端 sbit DXKZ_SHI=卩2人5; 東西方向十位數(shù)碼管公共端 sbit NBKZ_GE=卩2人6; /南北方向個位數(shù)碼管公共端 sbit NBKZ_SHI=卩2人7; /南北方向十位數(shù)碼管公共端 sbit Key_Add=PIT; /增加按鍵 sbit Key_Dec=卩1人2; /減少按鍵 sbit Key_OK=卩1人3; /確定按鍵,兼具狀態(tài)切換 sbit LE=PIP; void delayms( uint i) /毫秒級延時 uint x,y; for(x=i;x0;x-) for(y=110;y0;y-); void t0_
10、i nit() TMOD=0X01; /16位定時器 TH0=(65536-50000)/256; TL0=(65536-50000)%256; /定時50ms ET0=1; 開啟中斷1 EA=1; 開啟總中斷 TR0=1; 開啟定時器 void state1() 東西綠燈亮, 南北紅燈亮 DXD_Red=1; DXD_Yellow=1; DXD_Gree n=0; NBD_Red=0; 精選文庫 13 NBD_Yellow=1; NBD_Gree n=1; void state2() 東西黃燈閃爍 DXD_Red=1; DXD_Yellow=0; DXD_Gree n=1; void sta
11、te3() 東西紅燈亮,南北綠燈亮 DXD_Red=0; DXD_Yellow=1; DXD_Gree n=1; NBD_Red=1; NBD_Yellow=1; NBD_Gree n=0; void state4() /南北黃燈閃爍 NBD_Red=1; NBD_Yellow=0; NBD_Gree n=1; void Display(uchar num1,num2)/功能:數(shù)碼管掃描顯示函數(shù) /參數(shù):nu m1,東西方向數(shù)碼管顯示值;nu m2,南北方向數(shù)碼管顯示值 P 0=numn um1%10;/LE=1;LE=0; /寫入個位數(shù) DXKZ_GE=0;delayms(10);/開啟一個
12、數(shù)碼管公共端,顯示一段時間 DXKZ_GE=1; /關(guān)閉公共端 P 0=num num1/10;/LE=1;LE=0; /寫入十位數(shù) DXKZ_SHI=0;delayms(10); DXKZ_SHI=1; P 0=numn um2%10;/LE=1;LE=0; 寫入個位數(shù) NBKZ_GE=0;delayms(10); NBKZ_GE=1; P 0=num num2/10;/LE=1;LE=0; /寫入十位數(shù) NBKZ_SHI=0;delayms(10); NBKZ_SHI=1; uchar key_read() /功能:按鍵讀取 參數(shù):back,1,按下增加按鍵;2,減少按鍵;3確定鍵 uch
13、ar back=0; /按鍵延時消抖 if(P 1!=0 xff) delayms(10); if(Key_Add=0) back=1; else if(Key_Dec=0) back=2; else if(Key_OK=0) back=3; while( P1!=0 xff); retur n back; void Clear_Dis play() /關(guān)閉所有數(shù)碼管顯示 P O=OxOO;/LE=1;LE=O; DXKZ_GE=1; DXKZ_SHI=1; NBKZ_GE=1; NBKZ_SHI=1; void mai n() uchar Tab=1,key,East_TimeNum=30,
14、North_TimeNum=20; tO_i nit(); Clear_Dis play(); 開機(jī)初始化關(guān)閉所有數(shù)碼管 /設(shè)置東西方向倒計時 while(key!=3) 按下確定鍵,退出while key=key_read(); /按鍵讀取函數(shù) /按下增加按鍵 else if(key=2) /按下減少按鍵 if(key=1) East_TimeNum+; /數(shù)碼管同步顯示東西方向設(shè)定的值 if(East_TimeNum3)East_TimeNum-; Dis play(East_TimeNum,O); key=0; /設(shè)置南北方向倒計時 while(key!=3) /按下確定鍵,退出whil
15、e key=key_read(); /按鍵讀取函數(shù) /按下增加按鍵 else if(key=2) /按下減少按鍵 if(key=1) North_TimeNum+; if(North_TimeNum3)North_TimeNum-; 精選文庫 /數(shù)碼管同步顯示南北方向設(shè)定的值 case 1: Tab=2; /切換至下一紅綠燈狀態(tài) Dis play(0,North_TimeNum); key=0; while(1) switch(Tab) 紅綠燈狀態(tài)1 East_time=East_TimeNum; 填充東西倒計時值,大小為已設(shè)置好的East_TimeNum 21 state1(); while
16、(East_time!=3)/ 數(shù)碼管顯示 key=key_read(); if(key=3) key=0;East_time=0; 東西倒計時立刻清零 Tab=3; /按下切換按鍵,直接跳到狀態(tài)3 break; case 2: /紅綠燈狀態(tài)2 state2();Tab=3; /切換至下一紅綠燈狀態(tài) while while(East_time!=0) key=key_read(); DXD_Yellow=DXD_Yellow; if(key=3) key=0;Tab=3; /按下切換按鍵,直接跳到狀態(tài)3 East_time=0; 東西倒計時立刻清零 break; case 3: II紅綠燈狀態(tài)
17、3 II切換至下一紅綠燈狀態(tài) North_time=North_TimeNum;Tab=4; state3(); while(North_time!=3) key=key_read(); if(key=3) key=0;Tab=1;North_time=0; break; case 4: 紅綠燈狀態(tài)4 切換至下一紅綠燈狀態(tài) state4();Tab=1; while(North_time!=0) key=key_read(); NBD_Yellow=NBD_Yellow; if(key=3) key=0;Tab=1;North_time=0; break; void Timer_0() in
18、terr upt 1 T0_Cou nt+; TH0=(65536-50000)/256; /每50ms進(jìn)入一次中斷函數(shù) TL0=(65536-50000)%256; if(T0_Cou nt=20) /定時 20*50ms=1S 清零重新計時 East_time-; /東西方向按秒間隔倒計時 T0_Cou nt=0; if(East_time=0) East_time=0; else if(North_time=0) North_time=0; else North_time-; /南北方向按秒間隔倒計時 五、仿真過程與仿真結(jié)果 運用ISIS 7 Professional仿真軟件進(jìn)行程序仿真,按程序要求設(shè)置 好程序仿真圖(圖3-1所示),把Keil uVision4生成交通
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飼料行業(yè)安全管理工作總結(jié)
- 2025年高考?xì)v史一輪復(fù)習(xí)之人民當(dāng)家作主
- 醫(yī)療器械行業(yè)市場推廣活動總結(jié)
- 兒科門診護(hù)理工作總結(jié)
- 網(wǎng)絡(luò)行業(yè)運營員培訓(xùn)心得
- 音樂行業(yè)客服工作總結(jié)
- 美容美發(fā)店前臺服務(wù)感悟
- 2024年美術(shù)教案(匯編9篇)
- 力瓦工程合同(2篇)
- 沖刺班協(xié)議書(2篇)
- 2024版珠寶鑒定技師勞動合同范本3篇
- GA/T 1740.2-2024旅游景區(qū)安全防范要求第2部分:湖泊型
- 2023年開封糧食產(chǎn)業(yè)集團(tuán)有限公司招聘筆試真題
- 2024年全國“紀(jì)檢監(jiān)察”業(yè)務(wù)相關(guān)知識考試題庫(附含答案)
- 2025年社區(qū)工作者考試試題庫及答案
- 期末檢測卷(三)2024-2025學(xué)年人教PEP版英語四年級上冊(含答案無聽力原文無聽力音頻)
- 2024-2030年中國兒童內(nèi)衣行業(yè)運營狀況及投資前景預(yù)測報告
- 吉首大學(xué)《高等數(shù)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 打印和復(fù)印服務(wù)協(xié)議
- 針灸習(xí)題庫(附參考答案)
- 前置胎盤手術(shù)配合
評論
0/150
提交評論