交通燈匯編語言課程設(shè)計(jì)_第1頁
交通燈匯編語言課程設(shè)計(jì)_第2頁
交通燈匯編語言課程設(shè)計(jì)_第3頁
交通燈匯編語言課程設(shè)計(jì)_第4頁
交通燈匯編語言課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計(jì) 題 目 名 稱 交通燈系統(tǒng)設(shè)計(jì) 課 程 名 稱 單片機(jī) 學(xué) 院 信息學(xué)院 專 業(yè) 電子信息科學(xué)與技術(shù) 班 級(jí) 姓 名 學(xué) 號(hào) 指 導(dǎo) 教 師 2012年12月 一、設(shè)計(jì)內(nèi)容及要求假設(shè)一個(gè)十字路口為東西南北走向。開始為四個(gè)路口的紅燈全部亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時(shí)一段時(shí)間后(20秒),東西路口的綠燈,閃爍若干次后(3秒),東西路口的綠燈熄滅,同時(shí)東西路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),東西路口的紅燈亮,南北路口的綠燈亮,南北路口方向通車,延時(shí)一段時(shí)間后(20秒),南北路口的綠燈閃爍若干次后(3秒),南北路口的綠燈熄滅,同時(shí)南北路口的黃燈亮,延時(shí)

2、一段時(shí)間后(2秒),再切換到東西路口的綠燈亮,南北路口的紅燈亮,之后重復(fù)以上過程。擴(kuò)展部分:用LED數(shù)碼管顯示時(shí)間、緊急情況下全部紅燈時(shí)間暫停、行人闖紅燈報(bào)警、車流量計(jì)數(shù)設(shè)計(jì)要求有具體的硬件電路和軟件實(shí)現(xiàn),方案切實(shí)可行,使用簡單方便。二、設(shè)計(jì)原始資料單片機(jī)實(shí)驗(yàn)十八-交通燈控制實(shí)驗(yàn);為我們開始完成相應(yīng)的單片機(jī)設(shè)計(jì)提供了思路。利用系統(tǒng)提供的雙色LED顯示電路。單片機(jī)實(shí)驗(yàn)九-串行靜態(tài)數(shù)碼顯示實(shí)驗(yàn)使用四只74LS164組成四位靜態(tài)數(shù)碼管顯示電路,在數(shù)碼管上滾動(dòng)顯示“0”到“F”十六進(jìn)制字符。三、設(shè)計(jì)完成后提交的文件和圖表1計(jì)算說明書部分說明具體實(shí)現(xiàn)過程,方案等,相關(guān)計(jì)算等2圖紙部分:相關(guān)電路原理圖、軟

3、件流程圖、系統(tǒng)框圖和源程序等五、主要參考資料 李念強(qiáng) 王玉泰 張魯 張羽.單片機(jī)原理及應(yīng)用機(jī)械工業(yè)出版社 童詩白 華成英 .模擬電子技術(shù)基礎(chǔ)(第四版).高等教育出版社 目錄一、設(shè)計(jì)任務(wù)與要求.11、設(shè)計(jì)任務(wù)與要求的分析1二、軟件設(shè)計(jì)21、顯示原理22、計(jì)數(shù)器初值計(jì)算23、每秒鐘的設(shè)定24、控制系統(tǒng)、時(shí)間顯示模塊3三、硬件電路設(shè)計(jì)51、74LS164的應(yīng)用52、LED顯示器件工作原理 5四、安裝與調(diào)試5五、結(jié)論與心得7六、參考文獻(xiàn)7附錄:1、源程序2、系統(tǒng)原理圖摘 要本系統(tǒng)由單片機(jī)系統(tǒng)、鍵盤、LED 顯示、數(shù)碼管顯示、交通燈演示系統(tǒng)組成。系統(tǒng)除基本交通燈功能外,還具有倒計(jì)時(shí)、時(shí)間設(shè)置、信號(hào)燈閃爍

4、、信號(hào)燈顏色分時(shí)亮、分時(shí)段調(diào)整信號(hào)燈的點(diǎn)亮?xí)r間、緊急情況、車流量等功能。同時(shí)給出了軟硬件設(shè)計(jì)方法,設(shè)計(jì)過程包括硬件電路設(shè)計(jì)和程序設(shè)計(jì)兩大步驟, 關(guān)鍵詞:AT80C51單片機(jī)、交通燈控制系統(tǒng)、定時(shí)循環(huán)、數(shù)碼管顯示、延時(shí)。一、設(shè)計(jì)任務(wù)與要求假設(shè)一個(gè)十字路口為東西南北走向。開始為四個(gè)路口的紅燈全部亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時(shí)一段時(shí)間后(20秒),東西路口的綠燈,閃爍若干次后(3秒),東西路口的綠燈熄滅,同時(shí)東西路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),東西路口的紅燈亮,南北路口的綠燈亮,南北路口方向通車,延時(shí)一段時(shí)間后(20秒),南北路口的綠燈閃爍若干次后(3秒),

5、南北路口的綠燈熄滅,同時(shí)南北路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),再切換到東西路口的綠燈亮,南北路口的紅燈亮,之后重復(fù)以上過程。擴(kuò)展部分:用LED數(shù)碼管顯示時(shí)間、緊急情況下全部紅燈時(shí)間暫停、行人闖紅燈報(bào)警、車流量計(jì)數(shù)。1、設(shè)計(jì)任務(wù)與要求的分析對(duì)于具體過程的分析:東西南北紅燈(2S)東西綠南北紅(20S)東西綠燈閃爍(3S)東西黃燈亮(1S)南北綠燈亮(20S)南北綠燈閃爍(3S)南北黃燈亮(2S).上述思路可分為兩個(gè)循環(huán):一個(gè)是在南北綠燈亮之前,南北紅燈一直亮著(25S)隨后是南北燈亮的過程中東西紅燈一直亮著(25S)。分別用數(shù)碼管定時(shí)20S,25S記錄紅燈和綠燈持續(xù)時(shí)間。25秒后南北方向的持

6、續(xù)情況與東西對(duì)調(diào)這樣就完成了一次整體循環(huán)。二、軟件設(shè)計(jì)1、顯示原理交通信號(hào)燈控制邏輯如下:假設(shè)一個(gè)十字路口為東西南北走向。開始為四個(gè)路口的紅燈全部亮之后,東西路口的綠燈亮,南北路口的紅燈亮,延時(shí)一段時(shí)間后,東西路口的綠燈,閃爍若干次后(3秒),東西路口的綠燈熄滅,同時(shí)東西路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),東西路口的紅燈亮,南北路口的綠燈亮,延時(shí)一段時(shí)間后,南北路口的綠燈閃爍若干次后(3秒),南北路口的綠燈熄滅,同時(shí)南北路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),再切換到東西路口的綠燈亮,南北路口的紅燈亮,之后重復(fù)以上過程。靜態(tài)數(shù)碼管顯示電路由四只74LS164、四只共陰極LED數(shù)碼管組成。輸入只

7、有兩個(gè)信號(hào),它們是串行數(shù)據(jù)線DIN和移位信號(hào)CLK。四只74LS164首尾相連,每只74LS164的并行輸出作為LED數(shù)碼管的段碼。雙色LED是由一個(gè)紅色LED管芯和一個(gè)綠色LED管芯封裝在一起,共用負(fù)極,當(dāng)紅色正端加高電平,綠色正端加低電平時(shí),紅燈亮;紅色正端加低電平,綠色正端加高電平時(shí),綠燈亮;兩端都加高電平時(shí),黃燈亮。2、計(jì)數(shù)器初值計(jì)算該實(shí)驗(yàn)采用定時(shí)/計(jì)數(shù)器T0定時(shí),循環(huán)一秒的子程序。首先采用定時(shí)50ms,然后再計(jì)數(shù)20次的方法實(shí)現(xiàn)。(1)T0工作在定時(shí)方式1時(shí),控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字01H.(2)計(jì)算計(jì)數(shù)初值X:晶振為12MHz,所

8、以機(jī)器周期1us。計(jì)算后將3CH送入TH0中,0E1H送入TL0中。2、計(jì)數(shù)器初值計(jì)算該實(shí)驗(yàn)采用定時(shí)/計(jì)數(shù)器T0定時(shí),循環(huán)一秒的子程序。首先采用定時(shí)50ms,然后再計(jì)數(shù)20次的方法實(shí)現(xiàn)。(1)T0工作在定時(shí)方式1時(shí),控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字01H.(2)計(jì)算計(jì)數(shù)初值X:晶振為12MHz,所以機(jī)器周期1us。計(jì)算后將3CH送入TH0中,0E1H送入TL0中。3、控制系統(tǒng)、時(shí)間顯示模塊源程序如下: DISPLAY: ;數(shù)碼顯示MOV A, SECOND1;東西秒寄存器MOV B, #10;拆成兩個(gè)10進(jìn)制數(shù)DIV ABMOV DBUF+1,AMO

9、V A,BMOV DBUF, AMOV A, SECOND2MOV B, #10 ;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制DIV ABMOV DBUF+3, AMOV A,BMOV DBUF+2, AMOV R0,#DBUFMOV R7,#4DP10:MOV DPTR,#LEDMAPMOV A,R0MOVC A,A+DPTRMOV R1,AINC R1DJNZ R7,DP10MOV R0,#TEMPMOV R1,#4DP12:MOV R7,#8MOV A,R0DP13:RLC AMOV DIN,CCLR CLKSETB CLKDJNZ R7,DP13INC R0DJNZ R1,DP12RETLEDMAP:

10、 DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,BDB 58H,5EH,7BH,71H,0,40H ;C,D,E,F(xiàn), , -三 硬件電路設(shè)計(jì)1、74LS164的應(yīng)用對(duì)于74IS164,我們用來聯(lián)系單片機(jī)與數(shù)碼管,將單片機(jī)的P1.6與P1.7口輸出信號(hào)顯示在數(shù)碼管中。2、LED數(shù)碼管顯示器件工作原理即為我們選擇的led工作原理圖。P10同時(shí)接G1、G3;P11同時(shí)接R1、R3;P12同時(shí)接G2、G4;P13同時(shí)接R2、R4;P16、P17分別接靜態(tài)數(shù)碼顯示的DIN、CLK。四安裝與調(diào)試1)系統(tǒng)各

11、跳線器處在初始設(shè)狀態(tài)。P2.1同時(shí)接G1、G3;P11同時(shí)接R1、R3;P12同時(shí)接G2、G4;P13同時(shí)接R2、R4;P16、P17分別接靜態(tài)數(shù)碼顯示的DIN、CLK。2)啟動(dòng)PC機(jī),打開Keil uVision4軟件,加載程序,編譯,下載,運(yùn)行。3)開啟protues觀察十字路口交通燈效果 可見開始為四個(gè)路口的紅燈全部亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時(shí)一段時(shí)間后(20秒),東西路口的綠燈,閃爍若干次后(3秒),東西路口的綠燈熄滅,同時(shí)東西路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),東西路口的紅燈亮,南北路口的綠燈亮,南北路口方向通車,延時(shí)一段時(shí)間后(20秒),南北

12、路口的綠燈閃爍若干次后(3秒),南北路口的綠燈熄滅,同時(shí)南北路口的黃燈亮,延時(shí)一段時(shí)間后(2秒),再切換到東西路口的綠燈亮,南北路口的紅燈亮(4)車流量計(jì)數(shù)(用開關(guān)代替紅外設(shè)備進(jìn)行模擬)(5)闖紅燈報(bào)警系統(tǒng)(用開關(guān)代替紅外設(shè)備進(jìn)行模擬)五、結(jié)論與心得通過這次課程設(shè)計(jì),加深了對(duì)很多知識(shí)的理解,自己做一個(gè)東西的時(shí)候,才會(huì)知道理論與實(shí)際的差別。這過對(duì)交通燈的設(shè)計(jì),也學(xué)到了很多原來不熟悉或沒有掌握好的知識(shí),像查詢及其數(shù)碼管的應(yīng)用。對(duì)于肯本上的指令理解的更深入了,原來沒有記住的指令,通過這次設(shè)計(jì),都能熟悉的運(yùn)用。 通過這次設(shè)計(jì),自己更學(xué)到了一些書本之外的知識(shí)。六、參考文獻(xiàn)李念強(qiáng) 王玉泰 張魯 張羽.單片

13、機(jī)原理及應(yīng)用機(jī)械工業(yè)出版社 童詩白 華成英 .模擬電子技術(shù)基礎(chǔ)(第四版).高等教育出版社附錄源程序 SECOND1 EQU 30H ;南北秒寄存器 SECOND2 EQU 31H ;東西秒寄存器 DBUF EQU 40H ;顯示緩沖1 TEMP EQU 44H ;顯示緩沖2 SAVE EQU 45H LED_G1 BIT P2.1 ;東西綠燈 LED_R1 BIT P2.3 ;東西紅 LED_G2 BIT P2.4 ;南北綠燈 LED_R2 BIT P2.6 ;南北紅燈 LED_Y1 BIT P2.2 ;東西黃 LED_Y2 BIT P2.5 ;南北黃 DIN BIT P1.6 ;串行顯示數(shù)據(jù)

14、 CLK BIT P1.7 ;串行顯示時(shí)鐘ORG 0000H LJMP START ORG 0100HORG0003H LJMP DENSTART: LCALL STATE0 ;調(diào)用狀態(tài)0 MOV SECOND1,#00 ;南北秒顯示初值25S MOV SECOND2,#00 ;東西秒顯示初值20S LCALL DISPLAY LCALL DELAY ;調(diào)用延時(shí) MOV TMOD,#01H ;置T0工作方式1 MOV TH0, #3CH ;置T0定時(shí)初值50mS MOV TL0, #0B0H SETB EX0 SETB EA SETB TR0 LOOP: MOV R2,#20 ;置1S計(jì)數(shù)初值

15、 50mS*20=1S MOV R3,#20 ;紅燈20S LCALL ADD_DEC MOV SECOND1,#25 ;南北秒顯示初值25S MOV SECOND2,#20 ;東西秒顯示初值20S LCALL DISPLAY MOV A,R2 /SUBB A,#5 /MOV R3,A /MOV R6,A LCALL STATE1 ;調(diào)用狀態(tài)1WAIT1: JNB TF0,WAIT1 ;查詢50mS到否 CLR TF0 MOV TH0, #3CH ;恢復(fù)T0定時(shí)初值50mS MOV TL0, #0B0H SETB TR0 ;啟動(dòng)T0 DJNZ R2,WAIT1 ;判1S到否?未到繼續(xù)狀態(tài)1 M

16、OV R2,#20 ;置50mS計(jì)數(shù)初值 DEC SECOND1 ;東西秒顯示減一 DEC SECOND2 ;南北秒顯示減一 LCALL DISPLAY DJNZ R3,WAIT1 ;狀態(tài)1維持20SMOV R2,#5 ;置20mS計(jì)數(shù)初值 5*4=20 MOV R3,#3 ;綠燈閃3S MOV R4,#4 ;閃爍間隔200mS MOV SECOND1,#5 ;東西秒顯示初值5S MOV SECOND2,#5 ;南北秒顯示初值5S LCALL DISPLAYWAIT2: LCALL STATE2 ;調(diào)用狀態(tài)2 JNB TF0,WAIT2 ;查詢50mS到否 CLR TF0 MOV TH0, #

17、3CH ;恢復(fù)T0定時(shí)初值50mS MOV TL0, #0B0H DJNZ R4,WAIT2 ;判200mS到否?未到繼續(xù)狀態(tài)2 CPL LED_G1 ;東西綠燈閃 MOV R4,#4 ;閃爍間隔200msDJNZ R2,WAIT2 ;判1S到否?未到繼續(xù)狀態(tài)2 MOV R2,#5 ;置50mS計(jì)數(shù)初值 DEC SECOND1 ;東西秒顯示減一 DEC SECOND2 ;南北秒顯示減一 LCALL DISPLAY DJNZ R3,WAIT2 ;狀態(tài)2維持3SMOV R2,#20 ;置1S計(jì)數(shù)初值 MOV R3,#2 ;黃燈2S MOV SECOND1,#2 ;東西秒顯示初值2S MOV SEC

18、OND2,#2 ;南北秒顯示初值2S LCALL DISPLAYWAIT3: LCALL STATE3 ;調(diào)用狀態(tài)3 JNB TF0,WAIT3 ;查詢30mS到否 CLR TF0 MOV TH0, #3CH ;恢復(fù)T0定時(shí)初值50mS MOV TL0, #0B0H DJNZ R2,WAIT3 ;判1S到否?未到繼續(xù)狀態(tài)3 MOV R2,#20 ;置1S計(jì)數(shù)初值 DEC SECOND1 ;東西秒顯示減一 DEC SECOND2 ;南北秒顯示減一 LCALL DISPLAY DJNZ R3,WAIT3 ;狀態(tài)3維持2SMOV R2,#20 ;置50mS計(jì)數(shù)初值 MOV R3,#20 ;紅燈20S

19、 MOV SECOND1,#20 ;東西秒顯示初值25S MOV SECOND2,#25 ;南北秒顯示初值25S LCALL DISPLAY LCALL STATE4 ;調(diào)用狀態(tài)4WAIT4: JNB TF0,WAIT4 ;查詢50mS到否 東西紅燈SETB P1.3 CLR TF0 MOV TH0, #3CH ;恢復(fù)T0定時(shí)初值50mS MOV TL0, #0B0H SETB TR0 DJNZ R2,WAIT4 ;判1S到否?未到繼續(xù)狀態(tài)4 MOV R2,#20 ;置50mS計(jì)數(shù)初值 DEC SECOND1 ;東西秒顯示減一 DEC SECOND2 ;南北秒顯示減一 LCALL DISPLA

20、Y DJNZ R3,WAIT4 ;狀態(tài)4維持20SCLR P1.3 MOV R2,#5 ;置20mS計(jì)數(shù)初值 5*4=20 MOV R4,#4 ;閃爍間隔200mS MOV R3,#3 ;綠燈閃3S MOV SECOND1,#5 ;東西秒顯示初值5S MOV SECOND2,#5 ;南北秒顯示初值5S LCALL DISPLAY WAIT5: LCALL STATE5 ;調(diào)用狀態(tài)5 JNB TF0,WAIT5 ;查詢50mS到否 CLR TF0 MOV TH0, #3CH ;恢復(fù)T0定時(shí)初值100mS MOV TL0, #0B0H DJNZ R4,WAIT5 ;判200mS到否?未到繼續(xù)狀態(tài)5

21、 CPL LED_G2 ;南北綠燈閃 MOV R4,#4 ;閃爍200mS DJNZ R2,WAIT5 ;判1S到否?未到繼續(xù)狀態(tài)5 MOV R2,#5 ;置100mS計(jì)數(shù)初值 DEC SECOND1 ;東西秒顯示減一 DEC SECOND2 ;南北秒顯示減一 LCALL DISPLAY DJNZ R3,WAIT5 ;狀態(tài)5維持3S MOV R2,#20 ;置50mS計(jì)數(shù)初值 MOV R3,#2 ;黃燈2S MOV SECOND1,#2 ;東西秒顯示初值2S MOV SECOND2,#2 ;南北秒顯示初值2S LCALL DISPLAYWAIT6: LCALL STATE6 ;調(diào)用狀態(tài)6 JN

22、B TF0,WAIT6 ;查詢100mS到否 CLR TF0 MOV TH0, #3CH ;恢復(fù)T0定時(shí)初值100mS MOV TL0, #0B0H DJNZ R2,WAIT6 ;判1S到否?未到繼續(xù)狀態(tài)6 MOV R2,#20 ;置100mS計(jì)數(shù)初值 DEC SECOND1 ;東西秒顯示減一 DEC SECOND2 ;南北秒顯示減一 LCALL DISPLAY DJNZ R3,WAIT6 ;狀態(tài)6維持2SLJMP LOOP ;大循環(huán) STATE0: ;狀態(tài)0MOV P1,#0CLR LED_G1CLR LED_Y1SETB LED_R1 ;東西紅燈亮CLR LED_G2CLR LED_Y2S

23、ETB LED_R2 ;南北紅燈亮RETSTATE1: ;狀態(tài)1SETB LED_G1 ;東西綠燈亮CLR LED_Y1CLR LED_R1CLR LED_Y2CLR LED_G2SETB LED_R2 ;南北紅燈亮RETSTATE2: ;狀態(tài)2CLR LED_R1CLR LED_G2SETB LED_R2 ;南北紅燈亮RETSTATE3: ;狀態(tài)3SETB LED_Y1 ;東西黃燈亮 CLR LED_G1CLR LED_R1CLR LED_G2CLR LED_Y2SETB LED_R2 ;南北紅燈亮RETSTATE4: ;狀態(tài)4CLR LED_Y1CLR LED_G1SETB LED_R1

24、;東西紅燈亮SETB LED_G2 ;南北綠燈亮CLR LED_Y2CLR LED_R2RETSTATE5: ;狀態(tài)5CLR LED_G1CLR LED_Y1CLR LED_Y2SETB LED_R1 ;東西紅燈亮CLR LED_R2RETSTATE6: ;狀態(tài)6SETB LED_Y2 ;南北黃燈亮CLR LED_R2CLR LED_G2CLR LED_G1CLR LED_Y1SETB LED_R1 ;東西紅燈亮RETDISPLAY: ;數(shù)碼顯示 MOV A, SECOND1 ;東西秒寄存器 MOV B, #10 ;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù) DIV AB MOV DBUF+1,A MOV A,B MOV DBUF, AMOV A, SECOND2 ;南北秒寄存器 MOV B, #10 ;16進(jìn)制數(shù)拆成兩個(gè)10進(jìn)制數(shù) DIV AB MOV DBUF+3, A MOV A,B MOV DBUF+2, AMOV

溫馨提示

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

評(píng)論

0/150

提交評(píng)論