版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《單片機(jī)原理及應(yīng)用》</p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 2013 — 2014 學(xué)年第 2 學(xué)期</p><p> 名 稱: 單片機(jī)原理及應(yīng)用課程設(shè)計(jì)</p><p> 題 目: 簡易十字路口交通燈設(shè)計(jì)
2、 </p><p> 院 系: 控制與計(jì)算機(jī)工程學(xué)院 </p><p> 班 級: 測控1102 </p><p> 日期 :2014年6月16日</p><p><b> 任 務(wù) 書 </b></p><p><b> 一
3、、 目的與要求</b></p><p> 課程設(shè)計(jì)的目的是配合《單片機(jī)與嵌入式系統(tǒng)》課程,通過學(xué)生對一個(gè)具體單片機(jī)功能電路的設(shè)計(jì),使學(xué)生加深理解并掌握單片機(jī)應(yīng)用系統(tǒng)的基本原理與方法,培養(yǎng)學(xué)生實(shí)踐動(dòng)手能力。</p><p> 課程設(shè)計(jì)要求學(xué)生以51單片機(jī)為核心,以電子線路制版軟件為設(shè)計(jì)工具,完成相關(guān)的硬件電路設(shè)計(jì),并編寫相應(yīng)的匯編語言軟件程序,實(shí)現(xiàn)應(yīng)用系統(tǒng)相應(yīng)的功能要求。 &
4、lt;/p><p><b> 二、 主要內(nèi)容</b></p><p> 1.編寫設(shè)計(jì)方案:內(nèi)容包括以51單片機(jī)為核心,并配合一定的外圍電路實(shí)現(xiàn)一個(gè)完整的單片機(jī)應(yīng)用系統(tǒng)功能。擬設(shè)計(jì)的系統(tǒng)要求可從以下方案中任選一個(gè)。</p><p> 2)十字路口交通燈控制</p><p> 要求:利用單片機(jī)的定時(shí)器產(chǎn)生秒信號,控制十字
5、路口的紅、綠、黃燈交替點(diǎn)亮和熄滅,并用4只LED數(shù)碼管顯示十字路口兩個(gè)方向(東西、南北)的剩余時(shí)間。要求能用按鍵設(shè)置兩個(gè)方向的通行時(shí)間(綠、紅燈點(diǎn)亮?xí)r間)和暫緩?fù)ㄐ袝r(shí)間(黃燈點(diǎn)亮?xí)r間)。</p><p><b> 三、 時(shí)間計(jì)劃</b></p><p><b> 一周</b></p><p><b> 四、
6、 設(shè)計(jì)成果要求</b></p><p><b> 1.硬件電路設(shè)計(jì):</b></p><p> 原理圖設(shè)計(jì):可以使用protel 99SE、proteus或word等軟件繪制原理圖,標(biāo)出各元器件的型號、引腳、參數(shù)。</p><p> 制版圖繪制:可以使用protel 99SE、proteus等制版軟件來完成完整的電路。主要包括
7、51單片機(jī)及晶振、電源、復(fù)位電路;與51單片機(jī)接口的其它外圍電路。</p><p><b> 3.軟件設(shè)計(jì):</b></p><p><b> 軟件流程圖;</b></p><p><b> 匯編語言源程序;</b></p><p> 3. 提交完整的課程設(shè)計(jì)報(bào)告,格式
8、按“華北電力大學(xué)課程設(shè)計(jì)(綜合實(shí)驗(yàn))報(bào)告”要求填寫。</p><p><b> 五、 考核方式</b></p><p> 考核方式為個(gè)人答辯。時(shí)間:2014年6月20日上午九點(diǎn),地點(diǎn):主樓E218</p><p> 指導(dǎo)教師:高峰 </p><p> 2014年6月15日</p>
9、<p><b> 一.硬件設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)思想</b></p><p> 單片機(jī)選型:89c51</p><p> 89c51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM
10、),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。AT89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路,8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 F
11、lash ROM。</p><p> P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏 輯電平。對P0端口寫“1”時(shí),引腳用作高阻抗輸入端用。 </p><p> 在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),P0口被分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 </p><p> 在Flash 編程時(shí),P0
12、口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 </p><p> P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。</p><p> 此外
13、,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 </p><p> P1端口引腳號第二功能: </p><p> P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 </p><p> P1.1 T2EX(
14、定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制) </p><p> P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對端口P2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。 </p><p> 在訪
15、問外部程序存儲器或16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI 指令)時(shí),P2 口輸出P2 鎖存器的內(nèi)容。 </p><p> Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號。</p><p> P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3
16、 口輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對P3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。</p><p> P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗(yàn)的控制信號。 </p><p> P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能。</p>
17、<p> P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 </p><p> 在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號。 </p><p> P3端口引腳第二功能:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><
18、p> P3.2 INTO(外中斷0)</p><p> P3.3 INT1(外中斷1)</p><p> P3.4 TO(定時(shí)/計(jì)數(shù)器0)</p><p> P3.5 T1(定時(shí)/計(jì)數(shù)器1)</p><p> P3.6 WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7 RD(外部數(shù)據(jù)存儲器讀選
19、通)</p><p> RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。</p><p> ALE/PROG——當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)
20、ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。</p><p> 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p> PSEN——程序儲存允許(PSEN)輸出是外部程
21、序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p> EA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。</p><
22、;p> 如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。</p><p> FLASH存儲器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。</p><p><b> 系統(tǒng)原理圖</b></p><p> 復(fù)位電路:上電+按鈕</p><p>
23、 。圖中,上電時(shí),接通電源,電容器C相當(dāng)于瞬間短路,+5V加到了RST/VPD端,該高電平使8051全機(jī)復(fù)位。若運(yùn)行過程中,需要程序從頭執(zhí)行,只需按動(dòng)按鈕開關(guān),則直接把+5V加到了RST/VPD端,從而復(fù)位。顯然,該電路即可以上電復(fù)位,也可以手動(dòng)復(fù)位,是常用復(fù)位電路之一。</p><p> 數(shù)碼管顯示:7SEG-MPX2-CC</p><p> 此處采用的數(shù)碼管時(shí)共陰極數(shù)碼管,G、F
24、、E、D、C、B、A七個(gè)端口是輸入端口,對其各位進(jìn)行賦值,置位則亮,復(fù)位則滅,用此來顯示出相應(yīng)的數(shù)字;1、2兩端口用來控制高位和低位的選通顯示,只要對端口置位,便可以選擇該端口,并對其所代表的位進(jìn)行賦值,顯示。</p><p><b> 發(fā)光二極管顯示</b></p><p> 每個(gè)路口都采用了三個(gè)LED燈來顯示,分別代表了紅黃綠三種燈,來模擬路口交通燈的變換。&
25、lt;/p><p> 鍵盤:獨(dú)立鍵盤+中斷</p><p> 采用開關(guān)來控制進(jìn)入中斷,可以在路口出現(xiàn)緊急情況時(shí),拉動(dòng)開關(guān),來使得紅綠燈發(fā)生相應(yīng)的改變,已處理緊急情況下的車輛通行。</p><p><b> 二.軟件設(shè)計(jì)</b></p><p><b> 總體流程圖</b></p>
26、<p> 緊急中斷子程序流程圖</p><p> 4.3循環(huán)流程控制思路:</p><p><b> 源程序</b></p><p> TEMP EQU 60H</p><p><b> ORG0000H</b></p><p><b&g
27、t; LJMPMAIN</b></p><p> ORG 0003H ;外部中斷00 </p><p> LJMP INT00</p><p> org 000bh ; 定時(shí)器T0</p><p> ljmp STA1</p><p> ORG
28、 0040H</p><p><b> MAIN:</b></p><p> MOV SP,#70H</p><p> SETBIT0 ;外部中斷0為跳沿觸發(fā)</p><p> mov tmod,#01h ;設(shè)計(jì)定時(shí)器 T0參數(shù)</p><p>
29、; mov tl0,#0b0h</p><p> mov th0,#3ch</p><p> mov ie,#83h</p><p> setb tr0 ;開定時(shí)器T0</p><p><b> STATUS0:</b></p><p>
30、MOVA,#00H ;設(shè)置所有的燈全滅</p><p><b> MOVP1,A</b></p><p><b> STA: </b></p><p> mov r7,#0 ;顯示總時(shí)間60s</p><p><b> STA8: <
31、;/b></p><p> MOV TEMP,#29</p><p><b> STATUS1:</b></p><p> MOVA,#84H ;南北綠燈,東西紅燈</p><p><b> MOVP1,A</b></p><p
32、> MOV 45H,#02H</p><p> MOV 46H,#01H</p><p> LCALL SHI</p><p> LCALL DELAY</p><p> LCALL GEW</p><p> LCALL DELAY</p><p&g
33、t; cjne r7,#1eh,STATUS1</p><p><b> STATUS2:</b></p><p> MOV R3,#03H ;綠燈閃3次</p><p> FLASH: clr ea</p><p> MOV A,#84H</p><p&
34、gt; MOV P1,A</p><p> MOV R4,#03H</p><p> LCALL DEL</p><p> LCALL DEL</p><p> MOV A,#80H</p><p> MOV P1,A</p><p> MO
35、V R2,#03H</p><p> LCALL DEL</p><p> LCALL DEL</p><p> DJNZ R3,FLASH</p><p> MOV A,#88H ;南北黃燈,東西紅燈</p><p> MOV P1,A</p>&l
36、t;p> LCALL DEL</p><p> LCALL DEL</p><p> MOV R2,#10 ;延時(shí)1毫秒</p><p> LCALL DEL</p><p> setb ea</p><p> STA9: mov TEMP,#29</p
37、><p><b> STATUS3:</b></p><p> MOVA,#30H</p><p><b> MOVP1,A</b></p><p> MOV 45H,#08H</p><p> LCALL SHI;顯示十位</p>
38、<p> LCALL DELAY;延時(shí)</p><p> LCALL GEW;顯示個(gè)位</p><p> LCALL DELAY;延時(shí)</p><p> cjne r7,#3ch,STATUS3</p><p><b> STATUS4:</b></p>&l
39、t;p> MOV R3,#03H ;綠燈閃3次</p><p><b> FLASH1:</b></p><p> clr ea</p><p> MOV A,#30H</p><p> MOV P1,A</p><p> MOV R2,#
40、03H</p><p> LCALL DEL</p><p> MOV A,#10H</p><p> MOV P1,A</p><p> MOV R4,#03H</p><p> LCALL DEL</p><p> DJNZ R3,FLASH
41、1</p><p> MOV A,#50H ;南北紅燈,東西黃燈</p><p> MOV P1,A</p><p> MOV R2,#10 ;延時(shí)1毫秒</p><p> LCALL DEL</p><p> setb ea</p><p>
42、 ljmp STA</p><p> INT00: PUSH PSW ;保護(hù)現(xiàn)場</p><p><b> PUSH 2</b></p><p> PUSH ACC</p><p> MOV A,#90H ;南北,東西都亮紅燈</p><p&
43、gt; MOV P1,A</p><p> MOV R2,#100 ;延時(shí)1毫秒</p><p> acall DELAY</p><p> acall DELAY</p><p> acall DELAY</p><p> acall DELAY</p>&
44、lt;p> POP ACC ;恢復(fù)現(xiàn)場</p><p> MOV P1,A</p><p><b> POP 2</b></p><p> POP PSW</p><p><b> RETI</b></p><p>
45、 LOOP: PUSH DPL</p><p> PUSH DPH</p><p> MOV DPTR,#TAB;查表要顯示的數(shù)據(jù)</p><p> MOVC A,@A+DPTR</p><p> MOV B,A</p><p> MOV DPTR,#8002H
46、;位選</p><p> MOV A,R2</p><p> MOVX @DPTR,A</p><p> MOV DPTR,#8004H;段選</p><p> MOV A,B</p><p> MOVX @DPTR,A;顯示數(shù)據(jù)</p><p
47、> POP DPH</p><p> POP DPL</p><p><b> RET</b></p><p> STA1: ;定時(shí)100ms,中斷10次相當(dāng)與1S</p><p> mov tl0,#0b0h</p><p> mov
48、 th0,#3ch</p><p><b> inc r6</b></p><p> cjne r6,#0ah,OUTS</p><p> mov r6,#0</p><p> STA2: MOV A,TEMP</p><p> MOV B,#10<
49、/p><p> DIV AB</p><p> MOV 40H,A</p><p> MOV 50H,B</p><p> LCALL DELAY</p><p> LCALL SHI</p><p> LCALL DELAY</p><
50、;p> LCALL GEW</p><p> DEC TEMP</p><p> inc r7</p><p> OUTS: clr tf0</p><p><b> RETI</b></p><p><b> SHI:</b>
51、</p><p> MOV R2,45H ;顯示十位子程序</p><p> MOV A,40H</p><p> LCALL LOOP</p><p><b> RET</b></p><p> GEW: ;顯示個(gè)位子程序</p>
52、<p> MOV A,R2</p><p> RR A</p><p> MOV R2,A </p><p> MOV A,50H</p><p> LCALL LOOP</p><p><b> RET</b></p
53、><p> DELAY: ;延時(shí)100ms子程序</p><p><b> PUSH 2</b></p><p><b> PUSH 1</b></p><p><b> PUSH 0</b></p><p
54、><b> DELAY1:</b></p><p> MOV 1,#0FH</p><p><b> DELAY2:</b></p><p> MOV 0,#1FH</p><p> DJNZ 0,$</p><p> DJNZ
55、1,DELAY2</p><p> DJNZ 2,DELAY1</p><p><b> POP 0</b></p><p><b> POP 1</b></p><p><b> POP 2</b></p><p>
56、;<b> RET</b></p><p> DEL: LCALL DELAY</p><p> MOV R0,#0FFH ;延時(shí)10ms子程序</p><p> DEL1: MOV R1,#0FFH</p><p> DJNZ R1,$</p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)---十字路口的交通燈控制電路
- 電子課程設(shè)計(jì)---十字路口的交通燈控制電路
- 基于at89s51單片機(jī)的十字路口單片機(jī)交通燈課程設(shè)計(jì)
- 十字路口交通燈控制器課程設(shè)計(jì)
- 十字路口的交通燈控制電路設(shè)計(jì)(doc28頁)
- plc控制的十字路口交通燈設(shè)計(jì)
- plc控制的十字路口交通燈設(shè)計(jì)
- plc控制的十字路口交通燈設(shè)計(jì)
- 外文翻譯---基于單片機(jī)的十字路口交通燈控制器的設(shè)計(jì)
- 外文翻譯----基于單片機(jī)的十字路口交通燈控制器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---十字路口智能交通燈
- 課程設(shè)計(jì)---基于plc的十字路口智能交通燈控制系統(tǒng)
- plc十字路口帶倒計(jì)時(shí)交通燈課程設(shè)計(jì)
- 全套設(shè)計(jì)_plc控制的十字路口交通燈設(shè)計(jì)
- 實(shí)用十字路口交通燈控制(邏輯控制).doc
- 實(shí)用十字路口交通燈控制(邏輯控制).doc
- 十字路口的交通燈plc控制程序
- PLC控制的十字路口交通燈設(shè)計(jì)論文.doc
- PLC控制的十字路口交通燈設(shè)計(jì)論文.doc
- PLC控制的十字路口交通燈設(shè)計(jì)論文.doc
評論
0/150
提交評論