![基于80C51交通燈控制課題_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/f820e915-ec4c-4f6e-9f52-b94946ab1b8f/f820e915-ec4c-4f6e-9f52-b94946ab1b8f1.gif)
![基于80C51交通燈控制課題_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/f820e915-ec4c-4f6e-9f52-b94946ab1b8f/f820e915-ec4c-4f6e-9f52-b94946ab1b8f2.gif)
![基于80C51交通燈控制課題_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/f820e915-ec4c-4f6e-9f52-b94946ab1b8f/f820e915-ec4c-4f6e-9f52-b94946ab1b8f3.gif)
![基于80C51交通燈控制課題_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/f820e915-ec4c-4f6e-9f52-b94946ab1b8f/f820e915-ec4c-4f6e-9f52-b94946ab1b8f4.gif)
![基于80C51交通燈控制課題_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/f820e915-ec4c-4f6e-9f52-b94946ab1b8f/f820e915-ec4c-4f6e-9f52-b94946ab1b8f5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于80C51交通燈控制一、 課程設計功能描述題目描述:請設計一個交通燈控制電路,并且編寫相應的軟件,完成交通燈的管理任務。題目要求:該控制任務應該完成下列功能:1.控制LED燈,完成交通燈的管理任務;2. 按照分析、設計、調試和測試的軟、硬件開發(fā)過程完成這個控制任務。功能描述:要先了解實際交通燈的控制變化規(guī)律。假設一個十字路口為東西南北走向。初始狀態(tài)0為東西紅燈,南北紅燈。然后轉狀態(tài)1南北綠燈通車,東西紅燈。過20秒鐘轉狀態(tài)2,南北綠燈閃幾次轉亮黃燈,延時幾秒,東西仍然紅燈。再轉狀態(tài)3,東西綠燈通車,南北紅燈。過20秒鐘轉狀態(tài)4,東西綠燈閃幾次轉亮黃燈,延時幾秒,南北仍然紅燈。最后循環(huán)至狀態(tài)
2、1.二、 課程設計分析設計1、80C51內部結構與外部引腳80C51的40個引腳可分為:電源引腳2根、時鐘引腳2根、控制引腳4根和I/O引腳32根。80C51單片機內部結構圖如圖所示。引腳功能:Vss:接地端。Vcc:電源端,接+5V。XTAL1:接外部晶體的一個引腳。CHMOS單片機采用外部時鐘信號時,外部時鐘信號由此引入。XTAL2:接外部晶體的一個引腳。HMOS單片機采用外部時鐘信號時,外部時鐘信號由此引入。RST:復位信號輸入。Vcc掉電后,此引腳可接備用電源,低功耗條件下保證內部RAM中的數據。ALE:地址鎖存允許。當單片機訪問外部存儲器時,該引腳的輸出信號ALE用于鎖存P0端口的低
3、8位地址。ALE輸出的頻率為時鐘振蕩頻率的1/6。對8751單片機片內EPROM編程時,編程脈沖由此引腳接入。PSEN:程序存儲器允許。輸出讀外部程序存儲器的選通信號。取指令操作期間,PSEN的頻率為振蕩頻率的1/6;但若此期間有訪問外部數據存儲器的操作時,則有一個機器周期中的PSEN信號將不會出現(xiàn)。EA:EA=0,單片機只訪問外部程序存儲器。對于8031單片機此引腳必須接地。EA=1,單片機訪問內部程序存儲器。對于內部有程序存儲器的8xx51單片機,此引腳應接高電平,但若地址超過4KB范圍(0fffh),單片機將自動訪問外部程序存儲器。在8751單片機片內EPROM編程期間,此引腳接入21V
4、編程電源Vpp。P0.0P0.7:P0數據/低8位地址復用總線端口。P1.0P1.7:P1靜態(tài)通用端口。P2.0P2.7:P2高八位地址總線動態(tài)端口。P3.0P3.7:雙功能靜態(tài)端口。2.LED數碼顯示器數碼管在單片機應用系統(tǒng)中主要用于顯示單片機的輸出數據和狀態(tài)等。LED顯示器為發(fā)光二極管構成的顯示器件。常用的LED顯示器有兩種供應狀態(tài),既共陰極LED與共陽極LED。3.7405非門電路4.雙色LED.雙色LED是由一個紅色LED管芯和一個綠色LED管芯封裝在一起,公用負端。當紅色正端加高電平,綠色正端加低電平時,紅燈亮;紅色正端加低電平,綠色正端加高電平時,綠燈亮;兩端都加高電平時,黃燈亮。
5、5.程序設計程序設計時,首先對東西南北路口計時寄存器進行地址分配、對路口紅黃綠燈分配引腳、設置顯示碼緩沖區(qū)、設置定時器初始時間。然后對各個狀態(tài)進行編程,編程過程中應注意各個狀態(tài)計時初值和顯示初值的設置,以及各個狀態(tài)LED燈編程和調用。最后,數碼顯示的編程。三、 繪制硬件電路圖(用Protel軟件)并對硬件電路進行說明;80c51的引腳:P2.1p2.6分別控制東西路口綠燈、黃燈、紅燈和南北路口綠燈、黃燈、紅燈。P3.0和p3.1控制LED數碼顯示。四、繪制軟件流程圖(用VISIO軟件)并對軟件流程進行說明;開始 四個路口紅燈亮 南北綠燈亮,東西紅燈亮,延時 南北黃燈閃爍,東西紅燈亮,延時 南北
6、紅燈亮,東西綠燈亮,延時 南北紅燈亮,東西黃燈閃爍,延時 流程說明:程序開始進入狀態(tài)0四個路口紅燈亮;然后進入狀態(tài)1南北綠燈亮,東西紅燈亮,延時;然后進入狀態(tài)2南北黃燈閃爍,東西紅燈亮,延時;然后進入狀態(tài)3南北紅燈亮,東西綠燈亮,延時;然后進入狀態(tài)4南北紅燈亮,東西黃燈閃爍,延時;循環(huán)至狀態(tài)1。五、程序的源代碼清單及注釋(匯編語言或C51程序);SECOND1EQU30H ;東西路口計時寄存器SECOND2EQU31H;南北路口計時寄存器 DBUFEQU40H;顯示碼緩沖區(qū)1TEMPEQU44H;顯示碼緩沖區(qū)2LED_G1BITP2.1;東西路口綠燈LED_Y1BITP2.2;東西路口黃燈LE
7、D_R1BITP2.3;東西路口紅燈LED_G2BITP2.4;南北路口綠燈LED_Y2BITP2.5;南北路口黃燈LED_R2BITP2.6;南北路口紅燈ORG0000HLJMP STARTORG0100HSTART:MOVTMOD,#01H;置T0為工作方式1MOVTH0,#3CH;置T0定時初值50msMOVTL0,#0B0HCLRTF0SETB TR0;啟動T0CLRAMOVP1,A;關閉不相關的LED;*MOVR2,#20;置1s計數初值,50ms*20=1sMOVR3,#5;紅燈亮5sMOVSECOND1,#5;東西路口計時顯示初值5sMOVSECOND2,#5;南北路口計時顯示初
8、值5sLCALL DISPLAYWAIT0:LCALL STATE0;調用狀態(tài)0JNBTF0,WAIT0;查詢50ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值50msMOVTL0,#0B0HDJNZ R2,WAIT0;判斷1s到否?未到繼續(xù)狀態(tài)0MOVR2,#20;置50ms計數初值 DECSECOND1;東西路口顯示時間減1sDECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT0;狀態(tài)0維持5s;*LOOP:MOVR2,#20;置50ms計數初值MOVR3,#20;紅燈閃20sMOVSECOND1,#25;東西路口計時顯示初值25sM
9、OVSECOND2,#25;南北路口計時顯示初值25sLCALL DISPLAYWAIT1:LCALL STATE1;調用狀態(tài)1JNBTF0,WAIT1;查詢100ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值100msMOVTL0,#0B0HDJNZ R2,WAIT1;判斷1s到否?未到繼續(xù)狀態(tài)1MOVR2,#20;置100ms計數初值DECSECOND1;東西路口顯示時間減1sDECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT1;狀態(tài)1維持20s;* MOV R2,#5;置50ms計數初值5*4=20MOVR3,#3;綠燈閃3sMO
10、VR4,#4;閃爍間隔200msMOVSECOND1,#5;東西路口計時顯示初值5sMOVSECOND2,#5;南北路口計時顯示初值5sLCALL DISPLAYWAIT2:LCALL STATE2;調用狀態(tài)2JNBTF0,WAIT2;查詢50ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值50msMOVTL0,#0B0HDJNZ R4,WAIT2;判斷200ms到否?未到繼續(xù)狀態(tài)2CPLLED_G2;南北綠燈閃MOVR4,#4;閃爍間隔200msDJNZ R2,WAIT2;判1s到否?未到繼續(xù)狀態(tài)2MOVR2,#5;置50ms計數初值DECSECOND1;東西路口顯示時間減1sD
11、ECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT2;狀態(tài)2維持3s;*MOVR2,#20;置50ms計數初值MOVR3,#2;黃燈閃2sMOVSECOND1,#2;東西路口計時顯示初值2sMOVSECOND2,#2;南北路口計時顯示初值2sLCALL DISPLAYWAIT3:LCALL STATE3;調用狀態(tài)3JNBTF0,WAIT3;查詢100ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值100msMOVTL0,#0B0HDJNZ R2,WAIT3;判斷1s到否?未到繼續(xù)狀態(tài)3MOVR2,#20;置100ms計數初值DECSECON
12、D1;東西路口顯示時間減1sDECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT3;狀態(tài)3維持2s;*MOVR2,#20;置50ms計數初值MOVR3,#20;紅燈閃20sMOVSECOND1,#25;東西路口計時顯示初值25sMOVSECOND2,#25;南北路口計時顯示初值25sLCALL DISPLAYWAIT4:LCALL STATE4;調用狀態(tài)4JNBTF0,WAIT4;查詢100ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值100msMOVTL0,#0B0HDJNZ R2,WAIT4;判斷1s到否?未到繼續(xù)狀態(tài)4MOVR2,#
13、20;置100ms計數初值DECSECOND1;東西路口顯示時間減1sDECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT4;狀態(tài)4維持20s;*MOVR2,#5;置50ms計數初值MOVR4,#4;紅燈閃20msMOVR3,#3;綠燈閃3sMOVSECOND1,#5;東西路口計時顯示初值5sMOVSECOND2,#5;南北路口計時顯示初值5sLCALL DISPLAYWAIT5:LCALL STATE5;調用狀態(tài)5JNBTF0,WAIT5;查詢100ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值100msMOVTL0,#0B0HDJNZ
14、 R4,WAIT5;判斷200ms到否?未到繼續(xù)狀態(tài)5CPLLED_G1;東西綠燈閃MOVR4,#4;閃爍200msDJNZ R2,WAIT5;判斷1s到否?未到繼續(xù)狀態(tài)5MOVR2,#5;置100ms計數初值DECSECOND1;東西路口顯示時間減1sDECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT5;狀態(tài)5維持3s;*MOVR2,#20;置50ms計數初值MOVR3,#2;紅燈閃2sMOVSECOND1,#2;東西路口計時顯示初值2sMOVSECOND2,#2;南北路口計時顯示初值2sLCALL DISPLAYWAIT6:LCALL STATE
15、6 ;調用狀態(tài)6JNBTF0,WAIT6;查詢100ms到否CLRTF0MOVTH0,#3CH;恢復T0定時初值100msMOVTL0,#0B0HDJNZ R2,WAIT6;判斷1s到否?未到繼續(xù)狀態(tài)6MOVR2,#20;置100ms計數初值DECSECOND1;東西路口顯示時間減1sDECSECOND2;南北路口顯示時間減1sLCALL DISPLAYDJNZ R3,WAIT6;狀態(tài)6維持2sLJMP LOOP;大循環(huán);*STATE0:;狀態(tài)0SETB LED_R1;東西路口紅燈亮CLRLED_Y1CLRLED_G1CLRLED_G2CLRLED_Y2SETB LED_R2;南北路口紅燈亮R
16、ETSTATE1:;狀態(tài)1 SETB LED_R1 ;東西路口紅燈亮CLRLED_Y1CLRLED_G1CLRLED_R2CLRLED_Y2SETB LED_G2;南北路口綠燈亮RETSTATE2:;狀態(tài)2CLRLED_Y2CLRLED_R2CLRLED_G1CLRLED_Y1SETB LED_R1;東西路口紅燈亮RETSTATE3:;狀態(tài)3CLRLED_G2CLRLED_R2CLRLED_G1CLRLED_Y1SETB LED_R1;東西路口紅燈亮SETB LED_Y2 ;南北路口黃燈亮RETSTATE4:;狀態(tài)4CLRLED_G2CLRLED_Y2SETB LED_R2;南北路口紅燈亮SE
17、TB LED_G1;東西路口綠燈亮CLRLED_Y1CLRLED_R1RETSTATE5:;狀態(tài)5CLRLED_G2CLRLED_Y2SETB LED_R2;南北路口紅燈亮CLRLED_Y1CLRLED_R1RETSTATE6:;狀態(tài)6CLRLED_G2CLRLED_Y2SETB LED_R2 ;南北路口紅燈亮CLRLED_G1CLRLED_R1SETB LED_Y1;東西路口黃燈亮RETDISPLAY:;數碼顯示MOVA,SECOND1;東西路口計時寄存器MOVB,#10;16進制數拆成兩個10進制數DIVABMOVDBUF+3,AMOVA,BMOVDBUF+2,AMOVA,SECOND2;
18、南北路口計時寄存器MOVB,#10;16進制數拆成兩個10進制數DIVABMOVDBUF+1,AMOVA,BMOVDBUF,AMOVR0,#DBUFMOVR1,#TEMPMOVR7,#4DP10:MOVDPTR,#LEDMAPMOVA,R0MOVC A,A+DPTRMOVR1,AINCR0INCR1DJNZ R7,DP10MOVR0,#TEMPMOVR1,#4DP12:MOVR7,#8MOVA,R0DP13:RLCAMOVP3.0,CCLRP3.1SETB P3.1DJNZ R7,DP13INCR0DJNZ R1,DP12RETLEDMAP:DB 3FH,06H,5BH,4FH,66H,6DH;0,1,2,3,4,5DB 7DH,07H,7FH,6FH,77H,7CH;6,7,8,9,A,BDB 58H,5EH,7BH,71H,0,40H;C,D,E,F(xiàn), ,-END六、上機調試運行結果及分析;1.硬件調試硬件調試可分為脫機調試與聯(lián)機調試兩步進行。脫機調試是在用戶系統(tǒng)未工作時的一種硬件檢測。第一步:目測。檢查外部的各種元件或者是電路是否有斷點。目測結果:電路及各元件正常。第二步是通電檢查。通電后發(fā)現(xiàn)各個交通燈均能發(fā)光,證明電路線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年抽紗刺繡工藝品項目效益評估報告
- 怎樣寫家庭困難申請書
- 入宣傳部申請書
- 提高Web服務可用性的手段
- 2024-2025學年山東省昌邑市高三上學期階段性調研監(jiān)測(期中)物理試題
- 線下體驗店推廣合同(2篇)
- 簽訂物資合同范本(2篇)
- 陜西省漢中市2024-2025學年高二上學期11月期中聯(lián)考物理試題(解析版)
- 短視頻與辦公用品行業(yè)的產品推廣策略
- 江蘇省2025年普通高中學業(yè)水平合格性考試調研物理試題(五)(解析版)
- 八年級美術下冊第1課文明之光省公開課一等獎新名師課獲獎課件
- GB/T 4706.30-2024家用和類似用途電器的安全第30部分:廚房機械的特殊要求
- 食品安全管理制度可打印【7】
- 2024年山東省東營市中考數學試題 (原卷版)
- 2024全國能源行業(yè)火力發(fā)電集控值班員理論知識技能競賽題庫(多選題)
- 2024年山東新華書店集團限公司臨沂市縣分公司招聘錄取人員(高頻重點提升專題訓練)共500題附帶答案詳解
- 公司員工外派協(xié)議書范文
- 2024年四川省南充市中考物理試卷真題(含官方答案)
- 信息科技重大版 七年級上冊 互聯(lián)網應用與創(chuàng)新 第二單元教學設計 互聯(lián)網原理
- 【基于PLC的停車場車位控制系統(tǒng)設計11000字(論文)】
- 手術患者手術部位標識制度
評論
0/150
提交評論