單片機(jī)課程設(shè)計(jì)十字路口的交通燈控制電路_第1頁
單片機(jī)課程設(shè)計(jì)十字路口的交通燈控制電路_第2頁
單片機(jī)課程設(shè)計(jì)十字路口的交通燈控制電路_第3頁
單片機(jī)課程設(shè)計(jì)十字路口的交通燈控制電路_第4頁
單片機(jī)課程設(shè)計(jì)十字路口的交通燈控制電路_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《單片機(jī)原理及應(yīng)用課程設(shè)計(jì)》報(bào)告——交通燈設(shè)計(jì)專 業(yè):班 級:姓 名:學(xué) 號:20135月課程設(shè)計(jì)目的鞏固和加深對單片機(jī)原理和接口技術(shù)知識的理解;培養(yǎng)根據(jù)課題需要選學(xué)參考書籍、查閱手冊和文獻(xiàn)資料的能力;學(xué)會方案論證的比較方法,拓寬知識,初步掌握工程設(shè)計(jì)的基本方法;掌握常用儀器、儀表的正確使用方法,學(xué)會軟、硬件的設(shè)計(jì)和調(diào)試方法;用計(jì)算機(jī)繪制電路圖和流程圖。課程設(shè)計(jì)要求設(shè)計(jì)一個(gè)十字路口交通燈控制器。用單片機(jī)控制 LED燈模擬指示。模擬東西方向的十字路口交通信號控制情況。東西向通行時(shí)間為 80s,南北向通行時(shí)間為60s,緩沖間為3s。黃燈亮?xí)r,要求每秒閃亮一次。行顯示(采用計(jì)時(shí)的方法)。護(hù)車通過。硬件設(shè)計(jì)設(shè)計(jì)思想中斷按鍵 數(shù)碼顯示

LED顯示單片機(jī)選型:AT89C52AT89C52CMOS88kbytes的可反復(fù)擦寫的Flash256bytes器件采用ATMELMCS-518位中央處理器和FlashAT89C52具有以下標(biāo)準(zhǔn)功能:8k字Flash,256RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)628位微控制器8K字節(jié)在系統(tǒng)可編程FlashROM在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),P0口被分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對P0端口寫“1”時(shí),引腳用作高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),P0口被分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/OP1口: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)。4個(gè)TTL邏輯電平。對P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。P1.0P1.2分別作定時(shí)器/計(jì)數(shù)器2(P1.0/T2)和時(shí)器/數(shù)器2(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí),P1收低8位地址字節(jié)。P1端口引腳號第二功能:P1.0T2(/計(jì)數(shù)器T2),時(shí)鐘輸出P1.1T2EX(/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P2P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號。P3P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的 P3口將用上拉電阻輸出電流(IIL)P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號。P3端口引腳第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO(外中斷0)P3.3INT1(外中斷1)P3.4TO(定時(shí)/計(jì)數(shù)器0)P3.5T1(定時(shí)/計(jì)數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG——當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。PSEN——程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))PSEN在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSENEA/VPP——外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFHEA端必須保持低電平(接地)。需注意的是:如果加密位 LB1被編程,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。EA(接Vcc),CPUFLASH存儲器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。系統(tǒng)原理圖復(fù)位電路:上電+按鈕。圖中,上電時(shí),接通電源,電容器CRST/VPD8051+5V到了RST/VPD路之一。數(shù)碼管顯示:7SEG-MPX2-CC、、D、CBA七個(gè)端口是輸入端口,對其各2兩端口用來控制高位和低位的選通顯示,只要對端口置位,便可以選擇該端口,并對其所代表的位進(jìn)行賦值,顯示。發(fā)光二極管顯示每個(gè)路口都采用了三個(gè)LED燈來顯示,分別代表了紅黃綠三種燈,來模擬路口交通燈的變換。鍵盤:獨(dú)立鍵盤+中斷應(yīng)的改變,已處理緊急情況下的車輛通行。軟件設(shè)計(jì)開始中斷初始化開始中斷初始化調(diào)南北方向通行子程序調(diào)南北方向黃燈閃爍子程調(diào)東西方向通行子程序調(diào)東西方向黃燈閃爍子程判斷是否有開關(guān)中斷?NOYES中斷處理中斷處理(到子程序處)緊急中斷子程序流程圖開始始開始始斷點(diǎn)入棧保護(hù)狀態(tài)參數(shù)設(shè)置送狀態(tài)字至端口狀態(tài)響應(yīng)斷點(diǎn)返回循環(huán)流程控制思路:東西綠燈東西綠燈南北紅燈東西黃燈閃南北紅燈亮中斷東西紅燈亮南北黃燈閃東西紅燈南北綠燈源程序#include<reg52.h>#include<intrins.h>#defineuintunsigned#defineucharunsignedcharuchartemp,aa,nn;sbitrn=P2^0;sbitnb=P2^1;sbitgn=P2^2;sbitrw=P2^3;sbitdx=P2^4;sbitgw=P2^5;sbitshi=P3^6;sbitge=P3^7; */bitflag=0;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(uintz);voiddisp(uintn);voidvoidvoid xint0();voidtimer0();void void xint1();void voidnanbei();voiddongxi();voidmain(){

/*將數(shù)字0123456789的16進(jìn)制數(shù)定義成數(shù)組用以顯示*//*將所使用的子函數(shù)定義*/uintnum=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;

/*中斷初始化*/while(1){nanbei();nb_flash();dongxi();dx_flash(); /**/}}voiddelay(uint{

/*延時(shí)子函數(shù)*/uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidtimer0()interrupt{

/*定時(shí)器初始化*/TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;if(aa==18){aa=0;flag=1;}}voiddisp(uintn){

/*顯示子函數(shù)*/while(!flag){ge=0;P0=table[n%10];delay(50);shi=1;ge=1;shi=0;P0=table[n/10];delay(50);shi=1;ge=1;}if(flag==1)flag=0;}voidnanbei() */{ uintnum;num=60;disp(num);while(num<=60&&num>0){ num--;P2=0xde;disp(num);}}voiddongxi() /**/{ uintnum=80;while(num<=80&&num>0){ P2=0xf3;disp(num);num--;}}voidnb_flash(void) */{uinta;for(a=3;a>0;a--){ P2=0xdd;nb=1;delay(100);nb=0;disp(a);}}voiddx_flash(void) */{uinta;for(a=3;a>0;a--){ P2=0xeb;dx=1;delay(100);dx=0;disp(a);}}void xint0() interrupt2 /*中斷定義*/{TH0=(65536-50000)/256;TL0=(65536-50000)%256;LED_ON();}voidLED_ON() */{ uintb;rn=0;rw=0;gn=1;gw=1;nb=1;dx=1;for(b=5;b>0;b--){ge=0;shi=1;P0=table[b];delay(1000);ge=1;shi=1;}return;}調(diào)試運(yùn)行正常運(yùn)行狀態(tài)中斷運(yùn)行狀態(tài)黃燈閃爍狀態(tài)設(shè)計(jì)心得體會發(fā)現(xiàn)提出,,.隨著科學(xué)技術(shù)發(fā)展的日新日異紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。同努力下我們順利地完成了本次單片機(jī)課程設(shè)計(jì),同時(shí)也學(xué)到了很多東西。們也更好地掌握了對數(shù)碼管的使用,這都是課堂上學(xué)不到的知識。這次的單片機(jī)課程設(shè)計(jì)是通過實(shí)踐操作和理論相結(jié)合,提高動(dòng)手實(shí)踐能力,提高科學(xué)的思維能力。與此同時(shí),我們也對分工合作有了進(jìn)一步的認(rèn)識,只有通過合理的分工合作,我們們才能夠在短短一周的時(shí)間內(nèi)完成設(shè)計(jì)任務(wù),相信這對以后在社會上工作和學(xué)習(xí)會有很多幫助,們以后的學(xué)習(xí)中會有更多的幫助。問題的機(jī)會。當(dāng)然要做好一個(gè)課程設(shè)計(jì)也不是很簡單的,我認(rèn)為有以下幾步:些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖數(shù)來實(shí)現(xiàn);的必經(jīng)之路;白你的思路,方便資料的保存和交流;的;力才得

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論