版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告 交通燈設(shè)計(jì)專 業(yè): 班 級(jí): 姓 名: 學(xué) 號(hào): 2013年5月1.課程設(shè)計(jì)目的1.1鞏固和加深對(duì)單片機(jī)原理和接口技術(shù)知識(shí)的理解;1.2培養(yǎng)根據(jù)課題需要選學(xué)參考書籍、查閱手冊(cè)和文獻(xiàn)資料的能力;1.3學(xué)會(huì)方案論證的比較方法,拓寬知識(shí),初步掌握工程設(shè)計(jì)的基本方法;1.4掌握常用儀器、儀表的正確使用方法,學(xué)會(huì)軟、硬件的設(shè)計(jì)和調(diào)試方法;1.5能按課程設(shè)計(jì)的要求編寫課程設(shè)計(jì)報(bào)告,能正確反映設(shè)計(jì)和實(shí)驗(yàn)成果,能用計(jì)算機(jī)繪制電路圖和流程圖。2.課程設(shè)計(jì)要求1)設(shè)計(jì)一個(gè)十字路口交通燈控制器。用單片機(jī)控制LED燈模擬指示。模擬東西方向的十字路口交通信號(hào)控制情況。東西向通行時(shí)間為80s
2、,南北向通行時(shí)間為60s,緩沖時(shí)間為3s。2)黃燈亮?xí)r,要求每秒閃亮一次。3)東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時(shí)間都用顯示器進(jìn)行顯示(采用計(jì)時(shí)的方法)。4) 當(dāng)有突發(fā)事情發(fā)生時(shí)(如有救護(hù)車通過(guò)時(shí)),可通過(guò)按鍵將各個(gè)路口設(shè)置成紅燈,只讓救護(hù)車通過(guò)。3.硬件設(shè)計(jì)3.1設(shè)計(jì)思想單片機(jī)中斷按鍵復(fù)位電路晶振電路數(shù)碼顯示LED顯示單片機(jī)選型:AT89C52 AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼
3、容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,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級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路,8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash ROM。P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏 輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入端用。 在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),P0口被分時(shí)轉(zhuǎn)換地址(低
4、8 位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。 在Flash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。此外,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
5、口接收低8位地址字節(jié)。 P1端口引腳號(hào)第二功能: P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制) P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL邏輯門電路。對(duì)端口P2 寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。 在訪問(wèn)外部程序存儲(chǔ)器或16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR 指令)時(shí),P2 口送出高8 位地址數(shù)據(jù)。在訪
6、問(wèn)8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX RI 指令)時(shí),P2 口輸出P2 鎖存器的內(nèi)容。 Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。對(duì)P3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流(IIL)。P3 口還接收一些用于Flash 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能。P3口亦作為AT89S52特殊功能(第二功能)使用,
7、如下表所示。 在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。 P3端口引腳第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信
8、號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN
9、信號(hào)。EA/VPP外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。3.2系統(tǒng)原理圖 3.3復(fù)位電路:上電+按鈕 。圖中,上電時(shí),接通電源,電容器C相當(dāng)于瞬間短路,+5V加到了RST/VPD端,該高電平使8051全機(jī)復(fù)位。若運(yùn)行過(guò)程中,需要程序從頭執(zhí)行,只需按動(dòng)按鈕開關(guān),則直接把+5V加到了RST/V
10、PD端,從而復(fù)位。顯然,該電路即可以上電復(fù)位,也可以手動(dòng)復(fù)位,是常用復(fù)位電路之一。3.4數(shù)碼管顯示:7SEG-MPX2-CC 此處采用的數(shù)碼管時(shí)共陰極數(shù)碼管,G、F、E、D、C、B、A七個(gè)端口是輸入端口,對(duì)其各位進(jìn)行賦值,置位則亮,復(fù)位則滅,用此來(lái)顯示出相應(yīng)的數(shù)字;1、2兩端口用來(lái)控制高位和低位的選通顯示,只要對(duì)端口置位,便可以選擇該端口,并對(duì)其所代表的位進(jìn)行賦值,顯示。3.5發(fā)光二極管顯示 每個(gè)路口都采用了三個(gè)LED燈來(lái)顯示,分別代表了紅黃綠三種燈,來(lái)模擬路口交通燈的變換。3.6鍵盤:獨(dú)立鍵盤+中斷 采用開關(guān)來(lái)控制進(jìn)入中斷,可以在路口出現(xiàn)緊急情況時(shí),拉動(dòng)開關(guān),來(lái)使得紅綠燈發(fā)生相應(yīng)的改變,已處
11、理緊急情況下的車輛通行。4.軟件設(shè)計(jì)4.1總體流程圖調(diào)東西方向通行子程序開 始中斷初始化調(diào)南北方向黃燈閃爍子程調(diào)南北方向通行子程序調(diào)東西方向黃燈閃爍子程判斷是否有開關(guān)中斷?中斷處理中斷返回(到子程序處)NOYES 4.2 緊急中斷子程序流程圖斷點(diǎn)入棧保護(hù)狀態(tài)參數(shù)設(shè)置送狀態(tài)字至端口狀態(tài)響應(yīng)斷點(diǎn)返回開 始開 始4.3循環(huán)流程控制思路:中斷東西綠燈南北紅燈東西黃燈閃南北紅燈亮東西紅燈南北綠燈東西紅燈亮南北黃燈閃4.4源程序#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar uns
12、igned charuchar temp,aa,nn;sbit rn=P20; sbit nb=P21;sbit gn=P22;sbit rw=P23;sbit dx=P24;sbit gw=P25;sbit shi=P36;sbit ge=P37; /*對(duì)要使用的單片機(jī)各個(gè)口進(jìn)行定義*/bit flag=0;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /*將數(shù)字0123456789的16進(jìn)制數(shù)定義成數(shù)組用以顯示*/void delay(uin
13、t z);void disp(uint n);void nb_flash(void);void dx_flash(void);void xint0();void timer0();void LED_ON();void xint1();void LED_OFF();void nanbei();void dongxi(); /*將所使用的子函數(shù)定義*/void main()uint num;num=0;aa=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;EX0=1;IT0=0;EX1=1;IT1=1
14、; /*中斷初始化*/while(1)nanbei();nb_flash();dongxi();dx_flash(); /*主函數(shù)中顯示部分*/ void delay(uint z) /*延時(shí)子函數(shù)*/uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void timer0() interrupt 1 /*定時(shí)器初始化*/TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;if(aa=18)aa=0;flag=1;void disp(uint n) /*顯示子函數(shù)*/ while(!flag) ge=0;
15、 P0=tablen%10; delay(50); shi=1;ge=1; shi=0; P0=tablen/10; delay(50); shi=1;ge=1; if(flag=1) flag=0;void nanbei() /*南北方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/uint num;num=60;disp(num);while(num<=60&&num>0) num-; P2=0xde; disp(num);void dongxi() /*東西方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/uint num; num=80;while(num<=80&&
16、num>0)P2=0xf3; disp(num);num-;void nb_flash(void) /*南北方向的黃燈和數(shù)碼管顯示子函數(shù)*/uint a;for(a=3;a>0;a-)P2=0xdd; nb=1; delay(100);nb=0;disp(a);void dx_flash(void) /*東西方向的黃燈和數(shù)碼管顯示子函數(shù)*/uint a;for(a=3;a>0;a-) P2=0xeb; dx=1; delay(100); dx=0; disp(a);void xint0() interrupt 2 /*中斷定義*/TH0=(65536-50000)/256;T
17、L0=(65536-50000)%256; LED_ON(); void LED_ON() /*開關(guān)控制燈的子函數(shù)*/ uint b;rn=0;rw=0;gn=1;gw=1; nb=1;dx=1; for(b=5;b>0;b-)ge=0;shi=1;P0=tableb;delay(1000);ge=1; shi=1;return;5. 調(diào)試運(yùn)行5.1正常運(yùn)行狀態(tài) 5.2 中斷運(yùn)行狀態(tài) 5.3 黃燈閃爍狀態(tài)6. 設(shè)計(jì)心得體會(huì)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)
18、已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。這次的單片機(jī)課程設(shè)計(jì)大概用了一周的時(shí)間,在這一周的時(shí)間當(dāng)中,雖然開始遇到了很多的困難,但是由于合理地進(jìn)行設(shè)計(jì)安排,分工合作,并各自查閱了相關(guān)的資料,最后在大家共同努力下我們順利地完成了本次單片機(jī)課程設(shè)計(jì),同時(shí)也學(xué)到了很多東西?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整一星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過(guò)的知識(shí)。例如我們?cè)谠O(shè)計(jì)
19、數(shù)碼管顯示的時(shí)候,剛開始的時(shí)候,由于對(duì)數(shù)碼管引腳的不熟悉,我們都無(wú)法讓數(shù)字顯示,后來(lái)發(fā)現(xiàn)時(shí)十位和個(gè)位的置位、復(fù)位發(fā)生了問(wèn)題,我們對(duì)此進(jìn)行了修改,可以正確的顯示出十位及個(gè)位的數(shù)值,但是數(shù)字的顯示不穩(wěn)定,不停的跳動(dòng),我們?yōu)榇瞬殚喠撕芏嗟馁Y料,但還是未能解決,最后我們不停地對(duì)程序進(jìn)行修改,終于發(fā)現(xiàn)了問(wèn)題所在,在顯示子程序上存在缺陷未能快速的切換對(duì)十位、個(gè)位的置位和復(fù)位,經(jīng)過(guò)這樣的修改,終于可以完美的顯示時(shí)間了。我們也更好地掌握了對(duì)數(shù)碼管的使用,這都是課堂上學(xué)不到的知識(shí)。 這次的單片機(jī)課程設(shè)計(jì)是通過(guò)實(shí)踐操作和理論相結(jié)合,提高動(dòng)手實(shí)踐能力,提高科學(xué)的思維能力。與此同時(shí),我們也對(duì)分工合作有了進(jìn)一步的認(rèn)識(shí),
20、只有通過(guò)合理的分工合作,我們們才能夠在短短一周的時(shí)間內(nèi)完成設(shè)計(jì)任務(wù),相信這對(duì)以后在社會(huì)上工作和學(xué)習(xí)會(huì)有很多幫助,讓我們能更好的進(jìn)入工作狀態(tài)。最重要的是,這次課程設(shè)計(jì)也增加了我們對(duì)問(wèn)題的研究和探討,們以后的學(xué)習(xí)中會(huì)有更多的幫助。單片機(jī)為我們的主要專業(yè)課之一,對(duì)我們還是很有幫助的,課程設(shè)計(jì)也是為我們以后的工作提前進(jìn)行了一次練手,也是我們學(xué)習(xí)生活之中少有的一次自己探索、研究,發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的機(jī)會(huì)。當(dāng)然要做好一個(gè)課程設(shè)計(jì)也不是很簡(jiǎn)單的,我認(rèn)為有以下幾步:(1) 在設(shè)計(jì)程序之前,對(duì)所用單片機(jī)的內(nèi)部結(jié)構(gòu)有一個(gè)系統(tǒng)的了解,知道該單片機(jī)內(nèi)有哪些資源;(2) 要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖,善于將大的程序段縮小為每個(gè)子函數(shù)來(lái)實(shí)現(xiàn);(3) 在設(shè)計(jì)程序時(shí)
溫馨提示
- 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年度城市街道綠化帶植物更新合同3篇
- 2025年版中英雙語(yǔ)跨境貿(mào)易結(jié)算三方合同模板3篇
- 常州石油化工企業(yè)2025年度消防應(yīng)急演練合同3篇
- 2025年新春晚會(huì)活動(dòng)策劃執(zhí)行合同3篇
- 2025年度智慧城市建設(shè)項(xiàng)目零工計(jì)件勞務(wù)分包合同范本4篇
- 二零二五年酒店式公寓物業(yè)服務(wù)及設(shè)施維護(hù)合同3篇
- 2025年度專業(yè)護(hù)工針對(duì)老年人長(zhǎng)期護(hù)理服務(wù)合同
- 二零二五年度企業(yè)IT運(yùn)維支持合同
- 2025年度二手挖掘機(jī)買賣合同專項(xiàng)條款規(guī)范4篇
- 2025年度食品銷售提成管理合同
- 2025年河北供水有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說(shuō)課稿-2024-2025學(xué)年高中英語(yǔ)人教版(2019)必修第一冊(cè)
- 農(nóng)發(fā)行案防知識(shí)培訓(xùn)課件
- 社區(qū)醫(yī)療抗菌藥物分級(jí)管理方案
- 安徽大學(xué)大學(xué)生素質(zhì)教育學(xué)分認(rèn)定辦法
- 巴布亞新幾內(nèi)亞離網(wǎng)光儲(chǔ)微網(wǎng)供電方案
- 高度限位裝置類型及原理
- 中文版gcs electrospeed ii manual apri rev8v00印刷稿修改版
- 新生兒預(yù)防接種護(hù)理質(zhì)量考核標(biāo)準(zhǔn)
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機(jī)組水輪機(jī)安裝概述與流程
評(píng)論
0/150
提交評(píng)論