
基于51單片機的交通燈課程設計的全部資料下載:
單片機交通燈課程設計.zip
(38.62 KB, 下載次數: 158)
2016-5-16 01:50 上傳
點擊文件名下載附件
1、任務要求 1 項目名稱 2 功能描述(如果有,需要注明技術指標) 3 交通燈硬件實現方案(一般為框圖+原理圖,本項目簡單,直接給原理圖) 4 軟件流程圖(可做分級流程圖) 5 代碼清單(有必要的注釋) 6 本項目相關技術還可以應用在什么系統中(如洗衣機清洗過程的控制) 7 遇到的主要問題及解決方法(包括解決方案 和 獲得方案的方法、過程) 8 本次工程的主要收獲(技術上的、個人能力、調試手段、資料查尋及閱讀、小組合作等等均可) 9 小組成員的分工 10 對綜合訓練的評價和建議 11 對課程的評價和建議 2、任務分析與設計思路 2.1 設計思路 本次設計的題目是“紅綠燈設計”。目前我們接觸到的交通燈都位于十字路口,而且一般簡單的交通燈為東西方向各三盞燈,南北各三盞燈,一共十二盞燈。東西方向的燈一致,南北方向的燈一致,故只需要按東西為一組,南北為一組,兩組交錯亮滅來設計控制系統即可達到交通燈系統的控制目的。 2.2方案的設計 我們根據一般普通交通燈的變化規律,要求:東西紅燈亮,南北綠燈亮,通行25秒,然后南北綠燈閃爍5秒后南北黃燈閃爍5秒;南北紅燈亮,東西綠燈亮,通行25秒,然后東西綠燈閃爍后東西黃燈閃爍,然后再回到東西紅燈進入循環。 3、總設計 3.1功能求說明 我們用I/O接線口的P1.0到P1.7來控制交通燈以及一個復位裝置。P1.3接一個應急按鈕,按下第一次放開,南北方向綠燈一直亮,東西方向紅燈一直亮,按下放開第二次,南北綠燈閃3秒黃燈亮2秒后變紅燈,東西方向變為綠燈,之后沿著之前的設置一直循環。 具體情況如下: P1.0 東西紅燈
P1.1 東西綠燈
P1.2 東西黃燈
P1.3 應急控制
P1.4
P1.5 南北紅燈
P1.6 南北綠燈
P1.7 南北黃燈
3.2硬件方案設計
3.3軟件方案設計
1.本次單片機交通燈課程設計的程序流程圖如下:
2單片機交通燈電路圖
3.2單片機交通燈代碼清單:
org 0000h ljmp main org 000bh ljmp inti0 org 0030h main:mov tmod,#01h mov ie,#82h mov th0,#4ch mov tl0,#00h mov sp,#60h mov 31h,#30 ;東西綠燈初值30秒 mov 32h,#30 ;南北紅燈初值30秒 clr 4fh ;清標志位 clr p1.1 ;開東西綠燈 clr p1.5 ;開南北紅燈 setb tr0 ;啟動T0 loop:lcall key ;調用應急按鍵判斷 ljmp loop inti0:push psw clr ea mov th0,#4ch mov tl0,#00h inc 35h mov a,35h cjne a,#20,out ;判1秒是否到時 mov 35h,#00 jb 4fh,yi ;判別標志位 dec 31h ;東西時間每秒減1 dec 32h ;南北時間每秒減1 mov a,31h cjne a,#05,out ;判是否到25秒 setb p1.1 ;東西綠燈閃滅3秒 lcall del500ms clr p1.1 lcall del500ms setb p1.1 lcall del500ms clr p1.1 lcall del500ms setb p1.1 lcall del500ms clr p1.1 lcall del500ms setb p1.1 ;滅東西綠燈 sjmp er out:setb ea pop psw reti er:clr p1.2 ;東西黃燈亮2秒 mov 33h,#4 ;延時2秒 loop1:lcall del500ms djnz 33h,loop1 setb p1.2 ;2秒后滅東西黃燈 clr p2.1 mov 31h,#20 ;東西時間賦20秒初值 mov 32h,#20 ;南北時間賦20秒初值 setb 4fh setb p1.5 ;關南北紅燈 clr p1.0 ;點亮東西紅燈 clr p1.6 ;點亮南北綠燈 sjmp out yi:dec 31h ;東西時間每秒減1 dec 32h ;南北時間每秒減1 mov a,31h cjne a,#5,out ;判是否到15秒 setb p2.7 ; setb p1.6 ;南北綠燈閃滅3秒 lcall del500ms clr p1.6 lcall del500ms setb p1.6 lcall del500ms clr p1.6 lcall del500ms setb p1.6 lcall del500ms clr p1.6 lcall del500ms setb p1.6 ;關南北綠燈 clr p1.7 ;南北黃燈亮2秒 mov 34h,#4 ;延時2秒 loop2:lcall del500ms djnz 34h,loop2 setb p1.7 ;2秒后滅南北黃燈 clr p2.7 ; mov 31h,#30 ;東西時間重賦30秒初值 mov 32h,#30 ;南北時間重賦30秒初值 clr p1.1 ;點亮東西綠燈 clr p1.5 ;點亮南北紅燈 setb p1.0 ;關東西紅燈 clr 4fh ljmp out table:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;0-9數字 del1ms:mov r7,#10 ;1ms延時子程序 d1:mov r6,#50 djnz r6,$ djnz r7,d1 ret del500ms:mov r5,#5 ;500ms延時子程序 del3:mov r4,#200 del4:mov r3,#250 djnz r3,$ djnz r4,del4 djnz r5,del3 ret key:jb p1.3,keyout jnb p1.3,$ clr ea inc 36h mov a,36h cjne a,#2,key4 mov 36h,#00 setb p1.6 ;東西綠燈閃滅3秒 lcall del500ms clr p1.6 lcall del500ms setb p1.6 lcall del500ms clr p1.6 lcall del500ms setb p1.6 lcall del500ms clr p1.6 lcall del500ms setb p1.6 ;滅東西綠燈 clr p1.7 ;東西黃燈亮2秒 mov 33h,#4 ;延時2秒 loop3:lcall del500ms djnz 33h,loop3 setb p1.7 ;2秒后滅東西黃燈 setb p1.0 ;關東西紅燈 setb p1.6 ;關南北綠燈 clr p1.1 ;開西綠燈 clr p1.5 ;開南北紅燈 setb ea sjmp keyout key4:clr p1.6 ;開南北綠燈 clr p1.0 ;開東西紅燈 setb p1.1 setb p1.2 setb p1.3 setb p1.4 setb p1.5 setb p1.7 keyout:ret end
4、課題相關問題 1.本次單片機課程設計的項目相關技術
①電飯煲的煮飯過程的控制
②電冰箱冷藏與冷凍的調節過程
③空調的自動調溫過程
④門口的自動控制車輛通行的欄桿
⑤時鐘的自動報時系統
2.遇到的主要問題及解決方法
①剛開始什么都不懂,程序怎么設計,代碼怎么寫,一片 空白無從下手。后來通過網上查閱知識,模仿別人設計的工程琢磨學習,找到門路。
②電腦軟件的使用不熟悉,以及keil3無法將asm文件生成hex文件,以及后來在 proteus軟件中找不到所需的元件。后來我們通過下載keil4解決了生不成hex文件的問題,通過百度找到一個“常用工具檢索表”,通過檢索表在proteus中找到相應的元件。
③代碼看不懂不會寫,不斷的百度搜索了解匯編語言怎么寫 怎么用。
3.本次工程的主要收獲
在這次工程的設計中,首先基本學會了keil和proteus的使用,明白其各自的功能和作用,然后了解匯編語言,掌握了一些簡單的匯編語言。
小組成員的分工
:負責查找資料,代碼.
:負責畫圖和查找工具。
:負責說明文檔的編寫。
注:其余我們共同商量處理
對綜合訓練的評價和建議
這樣的綜合訓練更加有效率比起單單的考試,這樣我們所學的東西才能夠真正的使用在實際生活中,而不是停留在試卷上,我們也不會成為那種高才低能的學生。
6.對課程的評價和建議
教學速度快容量多,一節學了很多東西,有點兒吸收不過來,關鍵是課時短,希望學校能把這門課程的學時延伸些,這樣學的東西更加堅實,將來在生活中工作中更能得心應手。
|