版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中南大學(xué)課程設(shè)計(jì)報(bào)告十字路口交通燈控制系統(tǒng)設(shè)計(jì)學(xué) 院 : 地球科學(xué)與信息物理學(xué)院專業(yè)班級(jí) : 生醫(yī)0902班 姓 名: 學(xué) 號(hào): 9 同 組 者: 學(xué) 號(hào): 指導(dǎo)老師: 目 錄一、內(nèi)容摘要2二、設(shè)計(jì)內(nèi)容及要求2三、總設(shè)計(jì)原理2 1. 設(shè)計(jì)思想圖及設(shè)計(jì)說(shuō)明22. 硬件原理框圖334. 程序流程圖45. 源程序清單46設(shè)計(jì)總結(jié)67參考文獻(xiàn)6四、系統(tǒng)硬件設(shè)計(jì)6678五、系統(tǒng)軟件設(shè)計(jì)9六、設(shè)計(jì)總電路圖及時(shí)間安排11七、硬件簡(jiǎn)介13八、設(shè)計(jì)過(guò)程中發(fā)現(xiàn)的問(wèn)題及解決方案17九、心得體會(huì)18附錄19一、內(nèi)容摘要近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自
2、動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。在城鎮(zhèn)街道的十字交叉路口,為了保證交通秩序和行人安全,一般在每條道路上各有一組紅、黃、綠交通信號(hào)燈,其中紅燈亮,表示該條道路禁止通行;黃燈亮表示該條道路上未過(guò)停車線的車輛停止通行,已過(guò)停車線的車輛繼續(xù)通行;綠燈亮表示該條道路允許通行。交通燈控制電路自動(dòng)控制十字路口兩組紅、黃、綠交通燈的狀態(tài)轉(zhuǎn)換,指揮各種車輛和行人安全通行,實(shí)現(xiàn)十字路口交通管理的自動(dòng)化。本系統(tǒng)采用MSC-51系列單片機(jī)AT89C51為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了紅綠燈循環(huán)點(diǎn)亮,綠燈變紅燈中間5秒為
3、黃燈閃爍警示的功能。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。 二、設(shè)計(jì)內(nèi)容及要求:設(shè)計(jì)一個(gè)十字路口的交通燈定時(shí)控制系統(tǒng),基本要求如下: 利用單片機(jī)的定時(shí)器產(chǎn)生秒信號(hào),控制十字路口的紅、綠、黃燈交替點(diǎn)亮和熄滅,并且利用4只LED數(shù)碼管顯示十字路口兩個(gè)方向通行或禁止的剩余時(shí)間。要求能用按鍵設(shè)置兩個(gè)方向的通行時(shí)間(紅、綠燈點(diǎn)亮的時(shí)間)和暫緩?fù)ㄐ袝r(shí)間(黃燈點(diǎn)亮的時(shí)間)。在課程設(shè)計(jì)時(shí)完成如下文檔資料:三、總設(shè)計(jì)原理:1、設(shè)計(jì)思路圖及設(shè)計(jì)說(shuō)明 系統(tǒng)開始運(yùn)行后,首先東西紅燈亮30秒,南北先先綠燈亮25秒,再黃燈閃爍亮5秒,黃燈每隔0.5秒亮一次。然后南北紅燈亮30秒,東西先綠燈亮25秒,再黃燈閃爍亮5秒,黃燈
4、每隔0.5秒亮一次。最后,回到開始狀態(tài)顯示,照此循環(huán)往復(fù),控制十字路口的交通通行。同時(shí),以倒計(jì)數(shù)的方式將剩余時(shí)間顯示在每隔干線對(duì)應(yīng)的兩位數(shù)碼管顯示器上。再增加4個(gè)按鈕,還可以對(duì)每個(gè)干線的車輛通行時(shí)間進(jìn)行調(diào)整。交通燈狀態(tài)轉(zhuǎn)換表: 東西 南北 順序 時(shí)間 綠燈 黃燈 紅燈 綠燈 黃燈 紅燈 1 25s 0 0 1 1 0 02 5s 0 0 1 0 1 (閃爍) 03 25s 1 0 0 0 0 14 5s 0 1(閃爍) 0 0 0 1 設(shè)計(jì)說(shuō)明:每四個(gè)狀態(tài)為一個(gè)周期,T(綠)+T(黃)=T(紅)=30s。這張表用1表示亮,0表示滅是為了理解上的方便而這樣設(shè)計(jì)的,而實(shí)際仿真時(shí)用單片機(jī)P1口輸出控
5、制6盞交通燈亮滅,由于交通燈為共陽(yáng)極解法,所以實(shí)際上輸出為1時(shí)燈是滅的,為0時(shí)燈才亮,特此說(shuō)明。2、硬件原理框圖時(shí)鐘電路單片機(jī)AT89C51紅綠燈裝置驅(qū)動(dòng)裝置倒計(jì)時(shí)裝置3、存儲(chǔ)器的單元分配各存儲(chǔ)單元中的存放的數(shù)據(jù)內(nèi)容和意義:P0:輸出數(shù)字段碼P1:輸出交通燈亮滅控制碼P2:輸出位顯碼R0:用數(shù)碼管顯示的一位BCD碼數(shù)字R1:位顯碼,控制數(shù)碼管顯示哪位數(shù)字 R2:東西干線時(shí)間R3:南北干線時(shí)間R4:記錄5ms中斷次數(shù),控制黃燈閃爍R5:記錄5ms中斷次數(shù),累加形成1秒信號(hào)R6:用于延時(shí)子程序R7:用于延時(shí)子程序70H:南北時(shí)間高位 71H:南北時(shí)間低位 72H:東西時(shí)間高位 73H:東西時(shí)間低位
6、 開始4、程序流程圖東西黃燈閃爍5s狀態(tài)1南北綠燈亮,東西紅燈亮狀態(tài)4南北紅燈亮,東西黃燈閃延時(shí)25s延時(shí)25s狀態(tài)2南北黃燈閃,東西紅燈亮狀態(tài)3南北紅燈亮,東西綠燈亮南北黃燈閃爍5s5、源程序清單ORG 0000HAJMP MAINORG 000BHAJMP INTMAIN:MOV SP,#50H MOV IE,#82H ;允許T0中斷 MOV TMOD,#01H ;T0定時(shí)方式1 MOV TL0,#78H MOV TH0,#0ECH ;晶振12Mhz,定時(shí)5ms MOV R5,#00H SETB TR0N0: MOV R2,#30 ;東西紅燈亮30s,R2存東西時(shí)間 MOV R3,#25
7、;南北綠燈25s,R3存南北時(shí)間 MOV P1,#1EHN01: CJNE R3,#00,$ MOV R3,#5 ;南北黃燈5sN02: MOV P1,#1DHN1: MOV R4,#00H ;R4記錄5ms中斷次數(shù) CJNE R3,#00,N1 ;黃燈是否閃爍5sN2: MOV R3,#30 MOV R2,#25 MOV P1,#33H CJNE R2,#00,$ MOV P1,#2BH MOV R2,#5N3: MOV R4,#00HN31: CJNE R4,#64H,$ CJNE R2,#00,N3 MOV R2,#30 MOV R3,#25 SJMP N0INT: MOV TL0,#7
8、8H ;每5ms中斷一次,顯示一次時(shí)間(四位輪流顯示一次) MOV TH0,#0ECH INC R4 INC R5 ;R5記錄5ms中斷次數(shù) CJNE R5,#0C8H,T01;每1s減小一次R2,R3 MOV R5,#00H DEC R2 DEC R3T01: ACALL DISP ;轉(zhuǎn)顯示程序 RETIDISP:MOV B,#0AH MOV A,R3 DIV AB ;將時(shí)間轉(zhuǎn)換成兩位BCD碼 MOV 70H,A ;南北時(shí)間高位 MOV 71H,B ;南北時(shí)間低位 MOV B,#0AH MOV A,R2 DIV AB MOV 72H,A ;東西時(shí)間高位 MOV 73H,B ;東西時(shí)間低位 M
9、OV R0,#70H ;R0存要顯示的數(shù)字 MOV DPTR,#TAB MOV R1,#01HDISP0:MOV P2,R1 ;R1存位顯碼,從南北時(shí)間高位開始顯示,依次顯示南北低位、東西高位、東西低位 MOV A,R0 MOVC A,A+DPTR ;A存數(shù)字段碼 MOV P0,A INC R0 MOV A,R1 JB ACC.3,DISP1 ;四位輪流顯示是否完畢 RL A MOV R1,A SJMP DISP0DISP1:RETDL: MOV R6,#0FFHDL1: DJNZ R6,DL1 DJNZ R7,DL RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
10、,82H,0F8H,80H,90H,88H ;字形碼表,共陽(yáng)極段碼END6、設(shè)計(jì)總結(jié) 本設(shè)計(jì)思路清晰,設(shè)計(jì)簡(jiǎn)潔,功能實(shí)用?;就瓿闪嗽O(shè)計(jì)要求,能夠很好得實(shí)現(xiàn)預(yù)期的效果。7、參考文獻(xiàn)單片機(jī)原理及應(yīng)用 高等教育出版社 張毅剛主編單片機(jī)原理及應(yīng)用教程(第2版) 機(jī)械工業(yè)出版社 趙全利,肖興達(dá)主編四、系統(tǒng)硬件設(shè)計(jì) 1、時(shí)鐘電路設(shè)計(jì)用12Mhz石英晶體振蕩器,兩個(gè)30pF的電阻,如圖連接,接到AT89C51的XTAL1和XTAL2兩端便構(gòu)成了時(shí)鐘電路設(shè)計(jì),在芯片內(nèi)部產(chǎn)生1us的時(shí)鐘脈沖信號(hào)。實(shí)際上使用proteus仿真,軟件自動(dòng)設(shè)置使AT89C51自帶時(shí)鐘脈沖,默認(rèn)頻率為12Mhz。所以不需要在電路圖上
11、對(duì)單片機(jī)外接時(shí)鐘電路,如此設(shè)計(jì)是為了強(qiáng)調(diào)時(shí)鐘信號(hào)的產(chǎn)生原理和過(guò)程,不可被忽視。2、交通燈電路的設(shè)計(jì)如圖所示,用P1口輸出交通燈亮滅控制碼,LED交通燈為共陽(yáng)極解法,所以輸出為高電平時(shí)燈滅,為低電平時(shí)燈亮。交通燈布局為東西南北兩方向,便于仿真運(yùn)行時(shí)觀察理解。本實(shí)驗(yàn)采用7SEG-MPX4-CC顯示器,4位共陰極7段數(shù)碼顯示器。使用動(dòng)態(tài)顯示方式。用P0口輸出數(shù)字段碼,由于PO口本身驅(qū)動(dòng)不足,需要接反相器(74LS04)以增強(qiáng)驅(qū)動(dòng)力,使數(shù)碼管亮起來(lái),輸出反向了,所以采用共陽(yáng)極數(shù)字的段碼。用P2口輸出位顯碼,顯示器接口1對(duì)應(yīng)最左邊數(shù)碼管,接口2、3、4依次對(duì)應(yīng)右邊數(shù)碼管。因?yàn)轱@示器是共陰極的,所以位顯碼
12、為高電平時(shí)不顯示數(shù)字,為低電平時(shí)顯示數(shù)字。在動(dòng)態(tài)顯示時(shí),輸出位顯碼,主要是用0001中的1循環(huán)左移位更為方便,但輸出1時(shí)不顯示數(shù)字,輸出0時(shí)顯示數(shù)字,不符合動(dòng)態(tài)顯示同一時(shí)刻只顯示一位的方式,所以對(duì)P0輸出也要采用取反,變?yōu)?110中的0循環(huán)左移位,就能實(shí)現(xiàn)動(dòng)態(tài)顯示效果了。由于proteus軟件中沒有找到成塊的74LS04,只好采用11個(gè)單個(gè)原件連接電路,實(shí)際連電路時(shí)可采用下面的兩塊74LS04就行。芯片74LS04如圖所示: 五、系統(tǒng)軟件設(shè)計(jì) 我們使用proteus軟件進(jìn)行電路仿真,芯片AT89C51還需要載入代碼文件來(lái)支持其正常工作以實(shí)現(xiàn)預(yù)期功能要求。程序代碼編寫是整塊設(shè)計(jì)的核心內(nèi)容,下面簡(jiǎn)
13、要介紹下各段程序代碼的意義和功能。初始賦值ORG 0000HAJMP MAINORG 000BH ;T0中斷入口AJMP INTMAIN:MOV SP,#50HMOV IE,#82H ;允許T0中斷 MOV TMOD,#01H ;T0定時(shí)方式1 MOV TL0,#78H MOV TH0,#0ECH ;晶振12Mhz,定時(shí)5msT0定時(shí)方式1為16為定時(shí)器,T0初始值為0EC78H(60536),終值為0FFFFH(65536)所以定時(shí)為(6553660536) 1/12Mhz12= 5000us=5ms,即系統(tǒng)每5ms中斷一次,程序跳轉(zhuǎn)到INT處執(zhí)行程序。2、交通燈循環(huán)顯示代碼N0: MOV
14、R2,#30 ;東西紅燈亮30s,R2存東西時(shí)間 MOV R3,#25 ;南北綠燈25s,R3存南北時(shí)間 MOV P1,#1EHN01: CJNE R3,#00,$程序用R2存儲(chǔ)東西向的時(shí)間,R3存儲(chǔ)南北的時(shí)間,P1的初值為1EH,即初始時(shí)東西紅燈亮,南北綠燈亮。CJNE R3,#00,$不停跳轉(zhuǎn)自己,是為了等待R3變?yōu)?,此時(shí)時(shí)間過(guò)了25s。MOV R3,#5 ;南北黃燈5sN02: MOV P1,#1DHN1: MOV R4,#00H ;R4記錄5ms中斷次數(shù) CJNE R3,#00,N1 ;黃燈是否閃爍5然后東西依然是紅燈,南北的綠燈變?yōu)辄S燈,用R4記錄5ms中斷的次數(shù),當(dāng)R4為100時(shí)
15、,即時(shí)間過(guò)了5msX100=0.5s,CPL P1.1使南北黃燈亮或滅一次。最后當(dāng)R3為0時(shí),即黃燈閃爍5s后繼續(xù)執(zhí)行下面的程序。之后程序與上面相似,只是南北和東西的時(shí)間與交通燈亮滅對(duì)換了一次,再用SJMP N0跳轉(zhuǎn)回初始狀態(tài),主程序依此循環(huán),不再累述。3、T0定時(shí)器中斷程序INT: MOV TL0,#78H ;每5ms中斷一次,顯示一次時(shí)間(四位輪流顯示一次) MOV TH0,#0ECH INC R4 INC R5 ;R5記錄5ms中斷次數(shù) CJNE R5,#0C8H,T01;每1s減小一次R2,R3 MOV R5,#00H DEC R2 DEC R3T01: ACALL DISP ;每5m
16、s顯示一次倒計(jì)時(shí)數(shù)字 RETI程序每5ms中斷一次,進(jìn)入中斷后,繼續(xù)給TO賦值初值,使T0繼續(xù)定時(shí)循環(huán)。每次中斷,使R4和R5加1。R4最大為100,控制黃燈每0.5s亮或滅依次,R5最大為200,形成1s信號(hào)。系統(tǒng)每5ms顯示一次當(dāng)前倒計(jì)時(shí)數(shù)字,每1s減小一次R2,R3,即南北東西的時(shí)間減1,同時(shí)顯示出來(lái)。顯示完畢后,RETI返回中斷口繼續(xù)執(zhí)行主程序。4、顯示子程序DISP:MOV B,#0AH MOV A,R3 DIV AB ;將時(shí)間轉(zhuǎn)換成兩位BCD碼 MOV 70H,A ;南北時(shí)間高位 MOV 71H,B ;南北時(shí)間低位 MOV B,#0AH MOV A,R2 DIV AB MOV 72
17、H,A ;東西時(shí)間高位 MOV 73H,B ;東西時(shí)間低位 MOV R0,#70H ;R0存要顯示的數(shù)字用70H、71H、72H、73H依次存南北時(shí)間高位、南北低位、東西高位、東西低位。MOV DPTR,#TAB MOV R1,#01HDISP0:MOV P2,R1 MOV A,R0 MOVC A,A+DPTR ;A存數(shù)字段碼 MOV P0,A INC R0 MOV A,R1 JB ACC.3,DISP1 ;四位輪流顯示是否完畢 RL A MOV R1,A SJMP DISP0DISP1:RET用R0存儲(chǔ)要顯示的數(shù)字的地址,MOV A,R0,將值送A,再用MOVC A,A+DPTR和MOV P
18、0,A將要顯示的數(shù)字的段碼送出PO口。ACALL DLAY調(diào)用延時(shí)子程序使每個(gè)數(shù)字顯示0.5ms,再顯示下一位數(shù)字,在同一時(shí)刻只顯示四位中的一位數(shù)字。由于顯示器的余輝和人眼的視覺暫留作用,造成多位同時(shí)顯示的表面現(xiàn)象。用R1存儲(chǔ)位顯碼,初值為0001B,取反后為1110B。R1的值傳送給A,A中1位置不停左移,取反后為0依次左移,以控制同一時(shí)刻顯示一位數(shù)字,顯示順序依次為南北時(shí)間高位、南北低位、東西高位、東西低位。當(dāng)R1為1000B時(shí),一輪顯示完畢,返回中斷程序調(diào)用處,而后執(zhí)行RETI,返回中斷口。所以為每5ms中斷一次,輪流顯示各位數(shù)字一次。六、總設(shè)計(jì)電路圖及時(shí)間安排1、時(shí)間安排時(shí)間進(jìn)度(20
19、11年12月12日2011年12月26日) 時(shí)間 設(shè)計(jì)內(nèi)容12日14日 共同合作,查閱資料,構(gòu)想思路,方案比較,設(shè)計(jì)與論證, 理論分析與計(jì)算15日19日 確定設(shè)計(jì)思路,分工合作,完成硬件原理框架圖,完成硬件調(diào)試,19日初步交給老師檢查20日22日 完成仿真,檢查電路,排除故障,實(shí)現(xiàn)基本功能要求, 實(shí)現(xiàn)創(chuàng)新,提交檢查。23日25日 完成實(shí)驗(yàn)日記、報(bào)告和總結(jié)。 2、總設(shè)計(jì)電路圖完整proteus仿真電路圖如下:七、硬件簡(jiǎn)介 AT89C51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)
20、在我們具體說(shuō)明:1、AT89C51 引腳說(shuō)明 引腳說(shuō)明如下:VCCAT89C51 電源正極輸入,接+5V 電壓。GND電源接地端。XTAL1接外部晶振的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一反相放大器輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。它采用外部振蕩器時(shí),些引腳應(yīng)接地。XTAL2接外部晶振的一個(gè)引腳。在片內(nèi)接至振蕩器的反相放大器輸出端和內(nèi)部時(shí)鐘發(fā)生器輸入端。當(dāng)采用外部振蕩器時(shí),則此引腳接外部振蕩信號(hào)的輸入。RSTAT89C51 的復(fù)位信號(hào)輸入引腳,高電位工作,當(dāng)要對(duì)芯片又時(shí),只要將此引腳電位提升到高電位,并持續(xù)兩個(gè)機(jī)器周期以上的時(shí)間,AT89C51 便能完成系統(tǒng)復(fù)位的各項(xiàng)工作,使得內(nèi)部特殊功能寄存器的
21、內(nèi)容均被設(shè)成已知狀態(tài)。ALE/PROGALE 是英文ADDRESS LATCH ENABLE的縮寫,表示允許地址鎖存允許信號(hào)。當(dāng)AT89C51訪問(wèn)外部存儲(chǔ)器時(shí),ALE 信號(hào)負(fù)跳變來(lái)觸發(fā)外部的8 位鎖存器 (如74LS373),將端口P0 的地址總線(A0-A7)鎖存進(jìn)入鎖存器中。在非訪問(wèn)外部存儲(chǔ)器期間,ALE 引腳的輸出頻率系統(tǒng)工作頻率的 1/16,因此可以用來(lái)驅(qū)動(dòng)其他外圍芯片的時(shí)鐘輸入。當(dāng)問(wèn)外部存儲(chǔ)器期間,將以1/12 振蕩頻率輸出。EA/VPP該引腳為低電平時(shí),則讀取外部的程序代碼 (存于外部EPROM 中)來(lái)執(zhí)行程序。使用AT89C51,此引腳接成高電平使程序運(yùn)行時(shí)訪問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng)
22、程序指針PC 值超過(guò)片內(nèi)程序存儲(chǔ)器地址(如8051/8751/89C51 的PC 超過(guò)0FFFH)時(shí),將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器繼續(xù)運(yùn)行。PSEN此為Program Store Enable的縮寫。訪問(wèn)外部程序存儲(chǔ)器選通信號(hào),低電平有效。在訪問(wèn)外部程序存儲(chǔ)器讀取指令碼時(shí),每個(gè)機(jī)器周期產(chǎn)生二次PSEN 信號(hào)。在執(zhí)行片內(nèi)程序存儲(chǔ)器指令時(shí),不產(chǎn)生PSEN 信號(hào),在訪問(wèn)外部數(shù)據(jù)時(shí),亦不產(chǎn)生PSEN 信號(hào)。P0P0 口(P0.0P0.7)是一個(gè)8 位漏極開路雙向輸入輸出端口,當(dāng)訪問(wèn)外部數(shù)據(jù)時(shí),它是地址總線(低8 位)和數(shù)據(jù)總線復(fù)用。外部不擴(kuò)展而單片應(yīng)用時(shí),則作一般雙向IO 口用。P0 口每一個(gè)引腳可以推動(dòng)
23、8 個(gè)LSTTL 負(fù)載。P2P2 口(P2.0P2.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準(zhǔn)雙向并行I/O口),當(dāng)訪問(wèn)外部程序存儲(chǔ)器時(shí),它是高8 位地址。外部不擴(kuò)展而單片應(yīng)用時(shí),則作一般雙向IO 口用。每一個(gè)引腳可以推動(dòng)4 個(gè)LSTL 負(fù)載。P1P1 口(P1.0P1.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準(zhǔn)雙向并行I/O口),其輸出可以推動(dòng)4 個(gè)LSTTL 負(fù)載。僅供用戶作為輸入輸出用的端口。P3P3 口(P3.0P3.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準(zhǔn)雙向并行I/O口),它還提供特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部隨機(jī)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频?/p>
24、功能。其特殊功能引腳分配如下:P3.0 RXD 串行通信輸入P3.1 TXD 串行通信輸出P3.2 INT0 外部中斷0 輸入,低電平有效P3.3 INT1 外部中斷1 輸入,低電平有效P3.4 T0 計(jì)數(shù)器0 外部事件計(jì)數(shù)輸入端P3.5 T1 計(jì)數(shù)器1 外部事件計(jì)數(shù)輸入端P3.6 WR 外部隨機(jī)存儲(chǔ)器的寫選通,低電平有效P3.7 RD 外部隨機(jī)存儲(chǔ)器的讀選通,低電平有效2、AT89C51 內(nèi)存空間(1)內(nèi)部程序存儲(chǔ)器(FLASH)4K 字節(jié)。(2)外部程序存儲(chǔ)器(ROM)64K 字節(jié)。(3)內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)256 字節(jié)。(4)外部數(shù)據(jù)存儲(chǔ)器(RAM)64K 字節(jié)。3、主要特殊功能寄存
25、器說(shuō)明PSW(Program Status Word)程序狀態(tài)字位地址 D7 D6 D5 D4 D3 D2 D1 D0符號(hào) CY AC F0 RS1 RS0 OV PCY() :高位進(jìn)位標(biāo)志位。常用“C”表示。AC() :輔助進(jìn)位木標(biāo)志。F0() :用戶標(biāo)志位。RS1() :寄存器組選擇位1。RS0() :寄存器組選擇位0。OV() :溢出標(biāo)志位。() :保留位,無(wú)定義。P() :奇偶校驗(yàn)位,在每一個(gè)指令周期中,若累加器(A)中的“1”的位個(gè)數(shù)是奇數(shù)個(gè)則P1,偶數(shù)個(gè)則P0。寄存器組的選擇:RS1 RS0 寄存器組 RAM 中的地址0 0 0 00H07H0 1 1 08H0FH1 0 2 10
26、H17H1 1 3 18H1FHIE 中斷允許寄存器位地址 AF AD AC AB AA A9 A8符號(hào) EA ET2 ES ET1 EX1 ET0 EX0EA() :EA0 時(shí),所有中斷停用(禁止中斷)。EA1 時(shí),各中斷的產(chǎn)生由個(gè)別的允許位決定。() :保留位,無(wú)定義。ET2() :允許計(jì)時(shí)器2 溢出的中斷(8052 使用)。ES() :允許串行端口的中斷(ES1 允許,ES0 禁止)。ET1() :允許計(jì)時(shí)器1 中斷(ET11 允許,ET10 禁止)。EX1() :允許外部中斷INT1 的中斷(EX11 允許,EX10 禁止)。ET0() :允許計(jì)時(shí)器0 中斷(ET01 允許,ET00
27、禁止)。EX0() :允許外部中斷INT0 的中斷(EX01 允許,EX00 禁止)。IP 中斷優(yōu)先次序寄存器位地址 BD BC BB BA B9 B8符號(hào) PT2 PS PT1 PX1 PT0 PX0() :保留位,無(wú)定義。() :保留位,無(wú)定義。PT2() :設(shè)定計(jì)時(shí)器2 的優(yōu)先次序(8052 使用)。PS() :設(shè)定串行端口的中斷優(yōu)先次序。PT1() :設(shè)定時(shí)計(jì)時(shí)器1 的優(yōu)先次序。PX1() :設(shè)定外部中斷INT1 的優(yōu)先次序。PT0() :設(shè)定計(jì)時(shí)器0 的優(yōu)先次序。PX0() :設(shè)定外部中斷INT0 的優(yōu)先次序。上述每位IP.*1 時(shí),則定義為高優(yōu)先級(jí)中斷,IP.*0 時(shí),則定義為低優(yōu)
28、先級(jí)中斷。如果同時(shí)有兩個(gè)或兩個(gè)以上優(yōu)先級(jí)相同的中斷請(qǐng)求時(shí),則由內(nèi)部按查詢優(yōu)先順序來(lái)確定該響應(yīng)的中斷請(qǐng)求,其優(yōu)先順序由高向低順序排列。優(yōu)先順序排列如下:順序 中斷請(qǐng)求標(biāo)志中斷源優(yōu)先圖示1 IE0 外部中斷0(INT0) 最高2 TF0 定時(shí)計(jì)數(shù)器0 溢出中斷3 TE1 外部中斷1(INT1)4 TF1 定時(shí)計(jì)數(shù)器1 溢出中斷5 RITI 串行通訊中斷 最低TMOD 定時(shí)計(jì)數(shù)器工作方式控制寄存器位地址 不 可 位 尋 址符號(hào) GATE CT M1 M0 GATE CT M1 M0類別 定時(shí)計(jì)數(shù)器1 定時(shí)計(jì)數(shù)器2GATE :當(dāng)GATE1 時(shí),INT0 或INT1 引腳且為高電平,同時(shí)TCON 中的T
29、R0或TR1 控制位如為1 時(shí),定時(shí)計(jì)數(shù)器0 或1 才會(huì)工作。若 GATE0,同時(shí)只要TCON 中的TR0 或TR1 控制位如為1 時(shí),定時(shí)計(jì)數(shù)器0 或1 即可工作。CT :選擇定時(shí)或計(jì)數(shù)器模式。當(dāng)CT1 為計(jì)數(shù)器,由外部引腳T0 或T1 輸入計(jì)數(shù)脈沖。CT0 時(shí)為計(jì)時(shí)器,由內(nèi)部系統(tǒng)時(shí)鐘提供計(jì)時(shí)工作脈沖。M1 :方式選擇位1。M0 :方式選擇位0。M1、M2 的操作方式選擇定義如下:M1 M0 操作方式 功 能 說(shuō) 明0 0 方式0 13 位定時(shí)計(jì)數(shù)器0 1 方式1 16 位定時(shí)計(jì)數(shù)器1 0 方式2 自動(dòng)再裝入的8 位定時(shí)計(jì)數(shù)器1 1 方式3 定時(shí)計(jì)時(shí)器1 無(wú)效,將定時(shí)計(jì)數(shù)器0 分成兩個(gè)8 位
30、計(jì)數(shù)器4、定計(jì)器初值計(jì)算公式:TCM(TT 計(jì)數(shù))其中 TC 為初值,M 為計(jì)數(shù)器模值,T 定時(shí)器定時(shí)時(shí)間,T 計(jì)數(shù)為fosc/12工作方式 M模值 T計(jì)數(shù) 最大定時(shí)時(shí)間方式 0 213 213fosc/12方式 1 216 fosc/12 216fosc/12方式 2 28 28fosc/12方式 3 28 28fosc/12八、設(shè)計(jì)過(guò)程中發(fā)現(xiàn)的問(wèn)題及解決方案1、設(shè)計(jì)剛開始時(shí),我們不清楚十字路口交通燈的亮滅轉(zhuǎn)換情況,于是我們?cè)趤?lái)去學(xué)校的路上仔細(xì)觀察路口交通燈,經(jīng)過(guò)研究思考最終得到了上述的交通燈狀態(tài)轉(zhuǎn)換表。2、在眾多MCS-51系列單片機(jī)中,不確定用那塊更好,經(jīng)過(guò)反復(fù)比較衡量,我們選擇用AT8
31、9C51這塊功能強(qiáng)大實(shí)用的單片機(jī),同時(shí)根據(jù)實(shí)際管腳分布分配好各存儲(chǔ)單元的內(nèi)容,使得連線時(shí)方便美觀。在電路圖中對(duì)交通燈采用共陽(yáng)極接法,對(duì)顯示器使用共陰極的7段數(shù)碼管顯示器,并采用動(dòng)態(tài)顯示的方式顯示時(shí)間數(shù)字。最后完成了整個(gè)硬件設(shè)計(jì)。3、連接顯示電路時(shí),我們發(fā)現(xiàn)直接用P0輸出口輸出數(shù)字段碼無(wú)法使數(shù)碼管顯示。經(jīng)過(guò)上網(wǎng)查閱資料,得知P0口驅(qū)動(dòng)不足,于是增加反相器以增強(qiáng)其驅(qū)動(dòng),所以原本是共陰極的數(shù)字段碼這時(shí)要修改為共陽(yáng)極的段碼。4、在設(shè)計(jì)軟件代碼時(shí),我們很好得完成了延時(shí)系統(tǒng)和控制交通燈亮滅的循環(huán)系統(tǒng),實(shí)現(xiàn)了預(yù)期的效果。但是無(wú)法正常顯示交通燈倒計(jì)時(shí)數(shù)字,是編寫控制動(dòng)態(tài)顯示倒計(jì)時(shí)數(shù)字的代碼時(shí)出了問(wèn)題,我們發(fā)現(xiàn)
32、原設(shè)計(jì)簡(jiǎn)單且錯(cuò)誤明顯。通過(guò)對(duì)教科書和參考資料上面的數(shù)碼管動(dòng)態(tài)顯示原理的研究學(xué)習(xí),結(jié)合硬件的搭設(shè),我們創(chuàng)造性地實(shí)現(xiàn)了僅使用7位輸出就能夠顯示4位數(shù)字的功能,這個(gè)問(wèn)題最為復(fù)雜,調(diào)整耗時(shí)也最多。5、整體設(shè)計(jì)基本完成后,運(yùn)行時(shí)發(fā)現(xiàn)倒計(jì)時(shí)時(shí)間走得太快,于是檢查代碼設(shè)計(jì)是否出現(xiàn)了問(wèn)題,仔細(xì)檢查后發(fā)現(xiàn)完全正確,于是試著修改晶振的頻率,卻發(fā)現(xiàn)無(wú)論如何修改倒計(jì)時(shí)速率沒變。經(jīng)過(guò)觀察研究發(fā)現(xiàn)了proteus軟件會(huì)自動(dòng)給單片機(jī)帶上時(shí)鐘脈沖,默認(rèn)的是12Mhz,沒1us產(chǎn)生一次脈沖,所以外連的時(shí)鐘電路實(shí)際上不起效果。而我們本來(lái)的程序代碼設(shè)計(jì)是使用6Mhz的晶振,比proteus默認(rèn)的小,所以電路圖上時(shí)間倒計(jì)時(shí)速率為正常的兩倍(每0.5s減1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)培訓(xùn)保密協(xié)議及成果轉(zhuǎn)化協(xié)議書4篇
- 二零二五年度文化產(chǎn)業(yè)投資出資協(xié)議范本4篇
- 2025年度門窗行業(yè)新材料研發(fā)與采購(gòu)合同4篇
- 2025年度房屋買賣委托協(xié)議書標(biāo)的物評(píng)估及出售合同4篇
- 二零二五民爆物品裝卸作業(yè)環(huán)境保護(hù)與監(jiān)測(cè)合同4篇
- 二零二五年度農(nóng)業(yè)休閑農(nóng)業(yè)農(nóng)資化肥定制合同4篇
- 循環(huán)設(shè)計(jì)生命周期評(píng)價(jià)-深度研究
- 工業(yè)無(wú)線網(wǎng)絡(luò)安全防護(hù)-深度研究
- 2025年度荒山土地承包權(quán)租賃與農(nóng)業(yè)保險(xiǎn)配套合同4篇
- 2025年度大型活動(dòng)安全保障合作協(xié)議4篇
- 2025年度公務(wù)車輛私人使用管理與責(zé)任協(xié)議書3篇
- 經(jīng)濟(jì)學(xué)基礎(chǔ)試題及答案 (二)
- 售后工程師述職報(bào)告
- 綠化養(yǎng)護(hù)難點(diǎn)要點(diǎn)分析及技術(shù)措施
- 2024年河北省高考?xì)v史試卷(含答案解析)
- 車位款抵扣工程款合同
- 小學(xué)六年級(jí)數(shù)學(xué)奧數(shù)題100題附答案(完整版)
- 高中綜評(píng)項(xiàng)目活動(dòng)設(shè)計(jì)范文
- 英漢互譯單詞練習(xí)打印紙
- 2023湖北武漢華中科技大學(xué)招聘實(shí)驗(yàn)技術(shù)人員24人筆試參考題庫(kù)(共500題)答案詳解版
- 一氯二氟甲烷安全技術(shù)說(shuō)明書MSDS
評(píng)論
0/150
提交評(píng)論