




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、單片機原理及應(yīng)用課程設(shè)計報告交通燈設(shè)計專 業(yè):班 級:姓 名:學(xué) 號:2013年5月1 .課程設(shè)計目的1.1 鞏固和加深對單片機原理和接口技術(shù)知識的理解;1. 2培養(yǎng)根據(jù)課題需要選學(xué)參考書籍、查閱手冊和文獻資料的能力;1.3 學(xué)會方案論證的比較方法,拓寬知識,初步掌握工程設(shè)計的基本方法;1.4 掌握常用儀器、儀表的正確使用方法,學(xué)會軟、硬件的設(shè)計和調(diào)試方法;1.5 能按課程設(shè)計的要求編寫課程設(shè)計報告,能正確反映設(shè)計和實驗成果,能 用計算機繪制電路圖和流程圖。2 .課程設(shè)計要求1)設(shè)計一個十字路i1交通燈控制器。用單片機控制led燈模擬指示。模擬東西方向 的十字路口交通信號控制情況。東西向通行時
2、間為80s,南北向通行時間為60s,緩沖時 間為3so2)黃燈亮?xí)r,要求每秒閃亮一次。3)東西方向、南北方向車道除了有紅、黃、綠燈指示外,每一種燈亮的時間都用顯示器進 行顯示(采用計時的方法)。4)當(dāng)有突發(fā)事情發(fā)生時(如有救護車通過時),可通過按鍵將各個路口設(shè)置成紅燈,只讓救 護車通過。3 .硬件設(shè)計3.1 設(shè)計思想單片機選型:at89c523sz都引記j4mm 平個鴻平汩冶冶冶陪zcd 02 部 貪& ua dsc os 3d zsf awrzd b nluysdd ;d : ;dd:mddddldat89c52是一個低電壓,高性能cmos 8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的f
3、lash 只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、 非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲 單元,at89c52單片機在電子行業(yè)中有著廣泛的應(yīng)用。at89c52具有以下標(biāo)準(zhǔn)功能:8k字 節(jié)flash, 256字節(jié)ram, 32位i/o 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路,8位 微控制器8k字節(jié)在系統(tǒng)可編程flash romopo : p0 口是一個8位漏極開路的雙向i/o i io作為輸出口,每位能驅(qū)
4、動8個ttl 邏 輯電平。對p0端口寫“1”時,引腳用作高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,p0 口被分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總 線更用,在訪問期間激活內(nèi)部上拉電阻。在flash編程時,po ii接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時, 要求外接上拉電阻。p1 口: p1 口是一個具有內(nèi)部上拉電阻的8位雙向i/o i i, p1輸出緩沖器能驅(qū)動 4個ttl邏輯電平。對p1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為 輸入口使用。作為輸入使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會 輸出一個電流(iil)。此外,p1.0和pl 2分別作定時器/
5、計數(shù)器2的外部計數(shù)輸入(pl0/t2)和時器/計 數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表所示。在flash編程和校驗時,p1 口接 收低8位地址字節(jié)。p1端口引腳號第二功能:p1.0 t2 (定時器/計數(shù)器t2的外部計數(shù)輸入),時鐘輸出pl. 1 t2ex (定時器/計數(shù)器t2的捕捉/重載觸發(fā)信號和方向控制)p2 口: p2是一個帶有內(nèi)部上拉電阻的8位雙向i/o d, p2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對端口 p2寫“1”,通過內(nèi)部的上拉電阻把 端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引 腳被外部信號拉低時會輸出一個電流
6、(iil)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行movxdptr指令) 時,p2 口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行movxri 指令)時,p2 口輸出p2鎖存器的內(nèi)容。flash編程或校驗時,p2亦接收高位地址和一些控制信號。p3 口: p3 口是一組帶有內(nèi)部上拉電阻的8位雙向i/o pl p3 口輸出緩沖級可驅(qū) 動(吸收或輸出電流)4個ttl邏輯門電路。對p3 口寫入“1”時,它們被內(nèi)部上拉 電阻拉高并可作為輸入端口。此時,被外部拉低的p3 門將用上拉電阻輸出電流(iil)。p3 口還接收一些用于flash閃速存儲器編程和程序校驗的控制信號。
7、p3 口除了作為一般的i/o 口線外,更重要的用途是它的第二功能。p3i亦作為at89s52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,p3 口也接收一些控制信號。p3端口引腳第二功能:p3. 0 rxd (串行輸入口)p3. 1 txd (串行輸出口)p3. 2 into (外中斷 0)p3. 3 int1(外中斷 1)p3.4 t0 (定時/計數(shù)器0)p3.5 t1 (定時/計數(shù)器1)p3.6 wr(外部數(shù)據(jù)存儲器寫選通)p3.7 rd(外部數(shù)據(jù)存儲器讀選通)rst一一復(fù)位輸入。當(dāng)振蕩器工作時,rst引腳出現(xiàn)兩個機器周期以上高電平將是單 片機兔位。ale/prog一一當(dāng)
8、訪問外部程序存儲器或數(shù)據(jù)存儲器時,ale (地址鎖存允許)輸出脈 沖用于鎖存地址的低8位字節(jié)。一般情況下,ale仍以時鐘振蕩頻率的1/6輸出固定的 脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存 儲器時將跳過一個ale脈沖。對flash存儲器編程期間,該引腳還用于輸入編程脈沖 (prog)。如有必要,可通過對特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位,可禁止 ale操作。該位置位后,只有一條movx和m0vc指令才能將ale激活。此外,該引腳會 被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ale禁止位無效。psen一一程序儲存允許(psen)輸出是外部程序存
9、儲器的讀選通信號,當(dāng)at89c52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次psen有效,即輸出兩個脈沖, 在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次psen信號。ea/vpp外部訪問允許,欲使cpu僅訪問外部程序存儲器(地址為ooooh-ffffh), ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,更位時內(nèi)部會鎖 存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲器的指令。flash存儲器編程時,該引腳加上+12v的編程允許電源vpp,當(dāng)然這必須是該器件 是使用12v編程電壓vpp。3. 2系統(tǒng)原理圖3. 3復(fù)位電路:上電+按鈕1uf 3f
10、rst1k29r2 30 1k apsen ale eap1.0p1.1p1.2。圖中,上電時,接通電源,電容器c相當(dāng)于瞬間短路,+5v加到了 rst/vpd端,該高電 平使8051全機復(fù)位。若運行過程中,需要程序從頭執(zhí)行,只需按動按鈕開關(guān),則直接把+5v加 到了 rst八td端,從而復(fù)位.顯然,該電路即可以上電更位,也可以手動復(fù)位,是常用復(fù)位電 路之一。si t8kxipxzcc ,3.4數(shù)碼管顯示:7seg-mpx2-cc5此處采用的數(shù)碼管時共陰極數(shù)碼管,g、f、e、d、c、b、a七個端口是輸入端口,對其各 位進行賦值,置位則亮,復(fù)位則滅,用此來顯示出相應(yīng)的數(shù)字;1、2兩端ii用來控制高位
11、和低 位的選通顯示,只要對端ii置位,便可以選擇該端口,并對其所代表的位進行賦值,顯示。3. 5發(fā)光二極管顯示每個路i i都采用了三個led燈來顯示,分別代表了紅黃綠三種燈,來模擬路ii交通燈的變換。3 . 6鍵盤:獨立鍵盤+中斷采用開關(guān)來控制進入中斷,可以在路口出現(xiàn)緊急情況時,拉動開關(guān),來使得紅綠燈發(fā)生相 應(yīng)的改變,己處理緊急情況下的車輛通行。4 .軟件設(shè)計4. 1總體流程圖4.2緊急中斷子程序流程圖4. 3循環(huán)流程控制思路:5. 4源程序#include#include#define unit unsigned mt#define uchar unsigned char uchar tem
12、p.aa.mi;sbit rn=p2a0;sbit nb=p2al;sbit gn=p2a2;sbit rw=p2 八3;sbit dx=p2a4;sbit gw=p2 八 5;sbit shi=p3a6;sbit ge=p3八7;/*對要使用的單片機各個口進行定義*/bit flag=o;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71);/*將數(shù)字0123456789的16進制數(shù)定義成數(shù)組用以顯示*/void delay(umt z);void
13、disp(uint n);void nb_flash(void);void dx_flash(void);void xintoq;void tiinero();void led_onq;void xintlq;void led_off();void nanbei();void dongxio;/*將所使用的子函數(shù)定義*/void main。 (umt num;num=0;aa=0;tmod=0x01;th0=(65536-50000)/256;tl0=(65536-50000)%256;ea=1;et0=l;tr0=l;ex0=l;it0=0;ex1=1;it1=1;/*中斷初始化*/10na
14、iibeiq;nb_flash();dongxiq; dx_flash();)void delay(umt z)umt x,y;fbr(x=z;x0;x-)for(y=u0;y0;y-);)/*主函數(shù)中顯示部分*/*延時子函數(shù)*/void tiiiiero() interrupt 1th0=(65536-50000)/256;tl0=(65536-50000)%256;aa+;if(aa=18)aa=0;flag=l;)void disp(uint n)while(lflag)ge=0;p0=tablen%10;delay(50);shi=l;ge=l;slii=0;po=tableivlo;
15、delay(50);shi=l;ge=l;if(flag=l) flag=o;)void nanbei()/*顯示子函數(shù)*/*南北方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/ uiiit num;num=60;disp(num);wlule(num0) num;p2=0xde;disp(num); )void dongxi()/*東西方向的紅綠燈和數(shù)碼管顯示子函數(shù)*/ uiiit num;num=80;wlule(num0) p2=oxf3;disp(num);num-; )void nb_flash(void)/*南北方向的黃燈和數(shù)碼管顯示子函數(shù)*/(uint a;fbr(a=3;ao;a) p2=o
16、xdd;nb=l;delay(loo);nb=o;disp(a);)void dx_flash(void)/*東西方向的黃燈和數(shù)碼管顯示子函數(shù)*/(uint a;fbr(a=3;ao;a) p2=0xeb;dx=l;delay(100);dx=0:disp(a);) )void xintoq mtenupt 2/* 中斷定義*/th0=(65536-50000)/256;tl0=(65536-50000)%256;led.onq;產(chǎn)開關(guān)控制燈的子函數(shù)*/void led_on() uiiit b;rn=0;rw=0; gn=l; gw=l; nb=l; dx=l;fbr(b=5;bo;b) (
17、 ge=o;shi=l; po=tableb;delay(looo); ge=l;shi=l; xeturn;5 .調(diào)試運a5.1 正常運行狀態(tài)5.2中斷運行狀態(tài)5.3黃燈閃爍狀態(tài)6 .設(shè)計心得體會課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重 要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的口新口異,單片機已 經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世 紀(jì)的大學(xué)來說掌握單片機的開發(fā)技術(shù)是十分重要的。這次的單片機課程設(shè)計大概用了一周的時間,在這一周的時間當(dāng)中,雖然開始遇到了很多 的困難,但是由于合
18、理地進行設(shè)計安排,分工合作,并各自查閱了相關(guān)的資料,最后在大家共 同努力下我們順利地完成了本次單片機課程設(shè)計,同時也學(xué)到了很多東西?;仡櫰鸫舜螁纹瑱C課程設(shè)計,至今我仍感慨頗多,的確,從選題到定稿,從理論到實踐, 在整整一星期的口子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可 以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。例如我們在設(shè)計 數(shù)碼管顯示的時候,剛開始的時候,由于對數(shù)碼管引腳的不熟悉,我們都無法讓數(shù)字顯示,后 來發(fā)現(xiàn)時十位和個位的置位、兔位發(fā)生了問題,我們對此進行了修改,可以正確的顯示出十位 及個位的數(shù)值,但是數(shù)字的顯示不穩(wěn)定,不停的跳動,我們
19、為此查閱了很多的資料,但還是未 能解決,最后我們不停地對程序進行修改,終于發(fā)現(xiàn)了問題所在,在顯示子程序上存在缺陷未 能快速的切換對十位、個位的置位和復(fù)位,經(jīng)過這樣的修改,終于可以完美的顯示時間了。我 們也更好地掌握了對數(shù)碼管的使用,這都是課堂上學(xué)不到的知識。這次的單片機課程設(shè)計是通過實踐操作和理論相結(jié)合,提高動手實踐能力,提高科學(xué)的思 維能力。與此同時,我們也對分工合作有了進一步的認(rèn)識,只有通過合理的分工合作,我們們 才能夠在短短一周的時間內(nèi)完成設(shè)計任務(wù),相信這對以后在社會上工作和學(xué)習(xí)會有很多幫助, 讓我們能更好的進入工作狀態(tài)。最重要的是,這次課程設(shè)計也增加了我們對問題的研究和探討, 們以后的學(xué)習(xí)中會有更多的幫助。單片機為我們的主要專業(yè)課之一,對我們還是很有幫助的,課程設(shè)計也是為我們以后的工 作提前進行了一次練手,也是我們學(xué)習(xí)生活之中少有的一次自己探索、研究,發(fā)現(xiàn)問題、解決 問題的機會。當(dāng)然要做好一個課程設(shè)計也不是很簡單的,我認(rèn)為有以下幾步:(1)在設(shè)計程序之前,對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪 些資源;(2)要有一個清晰的思路和一個完整的的軟件流程圖,善于將大的程序段縮小為每個子函 數(shù)來實現(xiàn);(3)在設(shè)計程序時,不能妄想一次就將整個程
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Module6Unit2教學(xué)設(shè)計2024-2025學(xué)年外研版英語八年級上冊
- 2024四川雅安城投規(guī)劃設(shè)計有限公司招聘1名合同制員工考察事宜閱讀模式筆試參考題庫附帶答案詳解
- 幼兒保教知識與能力-教師資格考試《幼兒保教知識與能力》模考試卷4
- 第二單元第10課《小型網(wǎng)絡(luò)的搭建》教學(xué)設(shè)計 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級上冊
- 第18課 科技文化成就(教學(xué)設(shè)計)2023-2024學(xué)年八年級歷史下冊同步教學(xué)設(shè)計(統(tǒng)編版)
- 2025至2030年中國水相風(fēng)扇電機總成數(shù)據(jù)監(jiān)測研究報告
- 第八單元健康地生活單元教學(xué)設(shè)計2023-2024學(xué)年人教版生物八年級下冊
- Unit 1 Knowing Me,Knowing You Understanding ideas Absolute agony!教學(xué)設(shè)計-2023-2024學(xué)年高中英語外研版(2019)必修第三冊
- 山東省部分學(xué)校2023-2024學(xué)年高三上學(xué)期10月聯(lián)考地理試題(解析版)
- 2025至2030年中國有機玻璃密封罐數(shù)據(jù)監(jiān)測研究報告
- Mysql 8.0 OCP 1Z0-908 CN-total認(rèn)證備考題庫(含答案)
- 三年級下冊音樂教學(xué)計劃含教學(xué)進度安排活動設(shè)計word表格版
- STEM教學(xué)設(shè)計與實施PPT完整全套教學(xué)課件
- 門窗加工制作合同
- 項目邊坡護坡工程施工組織設(shè)計
- 2023年全國各省高考詩歌鑒賞真題匯總及解析
- 四年級上冊音樂《楊柳青》課件PPT
- 安徽省廬陽區(qū)小升初語文試卷含答案
- 全國2017年4月自考00043經(jīng)濟法概論(財經(jīng)類)試題及答案
- 東鄉(xiāng)族學(xué)習(xí)課件
- 蘇教版六年級數(shù)學(xué)下冊《解決問題的策略2》優(yōu)質(zhì)教案
評論
0/150
提交評論