單片機課程設(shè)計交通燈_第1頁
單片機課程設(shè)計交通燈_第2頁
單片機課程設(shè)計交通燈_第3頁
單片機課程設(shè)計交通燈_第4頁
單片機課程設(shè)計交通燈_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設(shè) 計課程名稱 單片機原理與應(yīng)用 課題名稱 交通燈 專 業(yè) 班 級 學 號 姓 名 任課教師 課 程 設(shè) 計 任 務(wù) 書課程名稱 單片機原理與應(yīng)用 課 題 交通燈 專業(yè)班級 學生姓名 學 號 指導老師 審 批 任務(wù)書下達日期 年 月 日任務(wù)完成日期 年 月 日設(shè)計內(nèi)容與設(shè)計要求設(shè)計內(nèi)容:本課題以mcs-51系列單片機為核心,有兩個功能:1、設(shè)計一個交通燈系統(tǒng),分東西、南北四個方向上的紅、黃、綠燈并且在燈亮時有計時顯示。設(shè)計要求:1)確定系統(tǒng)設(shè)計方案; 2)進行系統(tǒng)的硬件設(shè)計;3)完成必要的參數(shù)計算與元器件選擇;4)完成應(yīng)用程序設(shè)計;5)應(yīng)用程序的調(diào)試。主 要 設(shè) 計 條 件單片機開發(fā)板

2、,12個led燈:4個紅色、4個綠色、4個黃色,2個9012,10個100電阻,1塊萬用板。說 明 書 格 式1. 課程設(shè)計任務(wù)書2. 目錄3. 總體方案確定4. 各單元硬件電路設(shè)計說明及計算方法5. 軟件設(shè)計與說明(包括流程圖)6. 調(diào)試結(jié)果與必要的調(diào)試說明7. 使用說明8. 總結(jié)9參考文獻附錄附錄a 程序清單附錄b 系統(tǒng)原理圖進 度 安 排設(shè)計時間為兩周第一周星期一、上午:布置課題任務(wù),講課及課題介紹 下午:借閱有關(guān)資料,總體方案討論星期二、總體方案星期三、系統(tǒng)設(shè)計及調(diào)試星期四、系統(tǒng)設(shè)計及調(diào)試星期五、軟件設(shè)計及調(diào)試第二周星期一、軟件設(shè)計及調(diào)試星期二、寫說明書星期三、寫說明書星期四、上午:寫

3、說明書,整理資料 下午:交設(shè)計資料,答辯目錄目錄6第1章 前言7第2章 基本原理7第3章 總體設(shè)計思路83.1 設(shè)計方案8第4章 硬件電路的設(shè)計方案84.1 led顯示部分的電路設(shè)計94.2 按鍵電路設(shè)計10第5章 軟件設(shè)計方案115.1交通燈工作設(shè)計115.2交通燈數(shù)碼管顯示時間設(shè)計12第6章 系統(tǒng)調(diào)試146.1 軟件模擬仿真146.2 硬件調(diào)試14第7章 使用說明15第9章 參考文獻15附錄16第1章 前言目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。例如計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種卡,民用豪華轎車的安全保障系統(tǒng)

4、,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。還有就是我們自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械等等。因此,學好單片機非常重要。第2章 基本原理利用at89s51作為主控器組成一個交通燈控制系統(tǒng)和電子時鐘。交通燈采用普通led燈,用+5v的電源來驅(qū)動6個led燈,在+5v電源與led燈之間加了9012三極管一個,起到開關(guān)的作用。電子時鐘的設(shè)計只用開發(fā)板上的電路即可。進入的是交通燈系統(tǒng),先是東西方向上的綠燈亮,南北方向上的紅燈亮,數(shù)碼管由30開始遞減計時,當計時顯示到00時,東西方向上的黃燈亮,而南北方向上仍是紅燈亮,這時數(shù)碼管由05開始遞減計時,減到0

5、0后,東西方向開始亮紅燈,南北方向開始亮綠燈,數(shù)碼管由30開始遞減計時,當計時顯示到00時,南北方向上的黃燈亮,而東西方向上仍是紅燈亮,這時數(shù)碼管由05開始遞減計時,減到00后,東西方向開始亮紅燈,南北方向開始亮綠燈,這樣循環(huán)。第3章 總體設(shè)計思路3.1 設(shè)計方案該系統(tǒng)的功能概括起來就是實現(xiàn)簡單的交通燈系統(tǒng)和電子時鐘。要完成交通燈系統(tǒng)功能,關(guān)鍵在于用單片機選通9012及l(fā)ed燈讓其紅、黃、綠燈亮滅交替的變化,數(shù)碼管的顯示用軟件延時程序控制。要完成電子時鐘功能,需要編寫硬件定時程序。交通燈系統(tǒng)采用單片機開發(fā)板作為基本元件。在89s51單片機的p1 口的p1.2p1.4口接東西方向上的led燈,在

6、p1.5p1.7口接南北方向上的led燈,從p3.5和p3.6口引出線連到9012的基極上,作為led燈可以點亮的開關(guān)信號,9012集電極上的100電阻為了給9012限流,在紅燈和黃燈的電路中加入了100的限流電阻,但因為綠燈亮所需壓降較大,所以沒有給綠燈加100 的限流電阻。第4章 硬件電路的設(shè)計方案根據(jù)設(shè)計要求和設(shè)計思路,硬件電路有兩部分組成,即單片機開發(fā)板,led燈組成的模擬交通燈系統(tǒng)。在單片機中,定時功能既可以由硬件(定時/記數(shù)器)實現(xiàn),也可通過軟件定時實現(xiàn)。硬件定時是利用單片機內(nèi)定時器定時,啟動以后定時器可與cpu并行工作,不占用cpu時間,cpu有較高的工作效率。交通燈系統(tǒng)設(shè)計方案

7、采用軟件定時的方式,通過編寫delay函數(shù)來進行軟件延時,可以方便的控制定時時間的長短。4.1 led顯示部分的電路設(shè)計本課題所采用得是由led(數(shù)碼管)作為顯示電路,用以顯示紅、綠、黃燈點亮的時間。數(shù)碼管電路即開發(fā)板上的數(shù)碼管電路。4.2 按鍵電路設(shè)計 本課題用按鍵k3控制交通燈工作的開始,上電后當k3鍵按下,交通燈開始工作,數(shù)碼管開始計時。按鍵電路即采用開發(fā)板上的電路。第5章 軟件設(shè)計方案根據(jù)設(shè)計要求和設(shè)計思路,進行模塊設(shè)計。5.1交通燈工作設(shè)計按k3鍵啟動選通9012,東西綠燈亮,南北紅燈亮,關(guān)閉9012,數(shù)碼管顯示計時30s選通9012,東西黃燈亮,南北紅燈亮,關(guān)閉9012,數(shù)碼管顯示

8、計時5s選通9012,南北綠燈亮,東西紅燈亮,關(guān)閉9012,數(shù)碼管顯示計時30s選通9012,南北黃燈亮,東西紅燈亮,關(guān)閉9012,數(shù)碼管顯示計時5s 圖5-1 交通燈工作圖說明:數(shù)碼管顯示程序中即有延時程序,所以交通燈程序內(nèi)沒有調(diào)用延時程序。5.2交通燈數(shù)碼管顯示設(shè)計顯示程序1:啟動計時個位顯示90,延時,十位保持不變,當個位到0后,十位顯示下一數(shù)據(jù)十位是否顯示3個位只顯示0,延時,十位顯示下一數(shù)據(jù) 是 否 圖5-2 數(shù)碼管顯示程序1顯示程序2:啟動計時個位顯示50,延時,十位保持0不變,當個位計到0后計數(shù)結(jié)束圖5-3數(shù)碼管顯示程序1主程序:啟動當按鍵k3按下,進入死循環(huán),調(diào)用交通燈程序,

9、圖5-5 主程序圖第6章 系統(tǒng)調(diào)試6.1 軟件模擬仿真 試驗所涉及的2個軟件keil和multisim10,以下是仿真步驟。 程序調(diào)試部分keil先新建一個工程,并保存在所建工程彈出的對話框中選擇at89s51處理器。新建一個文檔以編輯程序,將所設(shè)計的程序輸入到新建文檔中,并保存文檔.c(c文件)。將所保存的文檔添加到工程中去,再進行工程配置,點擊project菜單下的options for target ,將create hex file打上勾,再編譯文件。仿真部分multiim10,運行multism10后進入仿真界面將所需元件選擇好,根據(jù)原理圖畫出仿真圖(當選擇了8051單片機后,系統(tǒng)自

10、動提示裝入程序的路徑,并建立工程文件),待仿真圖連好后點擊仿真按鈕仿真即可。 6.2 硬件調(diào)試硬件調(diào)試的步驟如下:接通電源和串口、并口線,打開isplay軟件,進行程序設(shè)置,關(guān)掉isplay,再打開,通過軟件將在keil中生成的.hex文件下載到單片機板子上即可。當程序下載完之后,只有電源指示燈亮,按下k3鍵交通燈開始工作,并且數(shù)碼管同步顯示計時,按復位鍵可是交通燈和數(shù)碼管都停止工作。第7章 使用說明 插上電源,若先按下鍵k3則進入交通燈系統(tǒng):交通燈開始工作并且數(shù)碼管開始計時,若想進入電子時鐘系統(tǒng)則按復位鍵,再按k4;按下鍵k4進入電子時鐘系統(tǒng):按下鍵k1秒數(shù)加1,按下鍵k2分鐘數(shù)加1,按下鍵

11、k4分鐘數(shù)、秒數(shù)都清0,計時從新開始。若想進入交通燈系統(tǒng)則按復位鍵,再按k3。第9章 參考文獻參考文獻 :單片機c語言程序設(shè)計實例100例單片機電路設(shè)計、分析與制作附錄a、程序清單:#include /51單片機頭文件#define uchar unsigned char /定義兩個宏定義,就是定義unsigned型的int,char變量#define uint unsigned intuchar code tab1=0xb0,0xa4,0xf9,0xc0; /定義十位顯示數(shù)據(jù)30uchar code tab2=0x90,0x80,0xf8,0x82,0x92,0x99,0xb0,0xa4,0

12、xf9,0xc0; /定義個位顯示數(shù)據(jù)90sbit r1=p12; /綠燈1的控制端sbit y1=p13; /黃燈1的控制端sbit g1=p14; /紅燈1的控制端sbit r2=p15; /紅燈2的控制端sbit y2=p16; /黃燈2的控制端sbit g2=p17; /綠燈2的控制端sbit p10=p10;sbit p11=p11;sbit p23=p23;sbit p26=p26;sbit csdx=p35; /交通燈使能端,低電平有效 sbit csnb=p36;void delay(uint z) /延時函數(shù),就是兩個for循環(huán)uint x;for(;z0;z-)for(x=

13、400;x0;x-);void display1() /顯示程序1:為了給紅燈和綠燈亮定時 uint i,j,k;p10=1;p11=1;for(i=0;i4;i+) for(k=0;k10;k+) for(j=0;j100;j+) if(i=0) /如果十位要顯示3,則個位只顯示0,顯示1s k=9; p23=0;p0=tab1i;delay(3);p23=1; p26=0;p0=tab29;delay(3);p26=1; else /如果十位顯示2、1、0,則個位顯示從90,每個數(shù)據(jù)顯示1s p23=0;p0=tab1i;delay(3);p23=1; p26=0;p0=tab2k;del

14、ay(3);p26=1; void display2() /顯示程序2:為了給黃燈亮定時 uint j,k;p10=1;p11=1; for(k=4;k10;k+) /十位顯示0不變,個位顯示有50,每個數(shù)據(jù)顯示1s for(j=0;j100;j+) p23=0;p0=tab13;delay(3);p23=1; p26=0;p0=tab2k;delay(3);p26=1; void deng() while(1) /死循環(huán),就是程序一直在執(zhí)行這個程序段 csdx=0;csnb=0; /東西綠燈亮,南北紅燈亮r1=1;r2=0;g1=0;g2=1;y1=1;y2=1;display1(); cs

15、dx=1;csnb=1; csdx=0;csnb=0; /東西黃燈亮,南北紅燈亮g1=1;r2=0;y1=0;g2=1;r1=1;y2=1;display2(); csdx=1;csnb=1; csdx=0;csnb=0; /東西紅燈亮,南北綠燈亮 y1=1;r2=1;r1=0;g2=0;g1=1;y2=1;display1(); csdx=1;csnb=1;csdx=0;csnb=0; /東西紅燈亮,南北黃燈亮y1=1;g2=1;r1=0;y2=0;g1=1;r2=1;display2(); csdx=1;csnb=1;void main() /主函數(shù) p3=0xff; if(p3&0x3c)=0x1c) while(1) minite=0; second=0; tcnt=0; tmod=0x01; /定時器0工作在方式1 th0=(65536-25000)/256; /裝入計數(shù)初值,定時50ms tl0=(65536-25000)%256; ie=0x82;

溫馨提示

  • 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

提交評論