基于單片機(jī)80C51設(shè)計(jì)地下車庫車位顯示與控制_第1頁
基于單片機(jī)80C51設(shè)計(jì)地下車庫車位顯示與控制_第2頁
基于單片機(jī)80C51設(shè)計(jì)地下車庫車位顯示與控制_第3頁
基于單片機(jī)80C51設(shè)計(jì)地下車庫車位顯示與控制_第4頁
基于單片機(jī)80C51設(shè)計(jì)地下車庫車位顯示與控制_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE15 / NUMPAGES18課 題 制 作 論 文設(shè)計(jì)題目名稱:基于單片機(jī)80C51設(shè)計(jì)地下車庫車位顯示與控制自動(dòng)化專業(yè)名稱:_班 級(jí):_姓 名:_學(xué) 號(hào):_指導(dǎo)教師:_TOC o 1-3 h z uHYPERLINK l _Toc375046243摘要 PAGEREF _Toc375046243 h 1HYPERLINK l _Toc375046244一說明 PAGEREF _Toc375046244 h 2HYPERLINK l _Toc375046245二硬件組成 PAGEREF _Toc375046245 h 2HYPERLINK l _Toc3750462462.1、80

2、C51 PAGEREF _Toc375046246 h 2HYPERLINK l _Toc3750462472.2、74LS164 PAGEREF _Toc375046247 h 4HYPERLINK l _Toc3750462482.3、LED數(shù)碼管 PAGEREF _Toc375046248 h 5HYPERLINK l _Toc375046249三、流程圖 PAGEREF _Toc375046249 h 7HYPERLINK l _Toc3750462503.1、中斷流程圖 PAGEREF _Toc375046250 h 7HYPERLINK l _Toc3750462513.2、主程序

3、流程圖 PAGEREF _Toc375046251 h 7HYPERLINK l _Toc375046252總結(jié) PAGEREF _Toc375046252 h 8HYPERLINK l _Toc375046253參考文獻(xiàn) PAGEREF _Toc375046253 h 9HYPERLINK l _Toc375046254附錄1 程序 PAGEREF _Toc375046254 h 10HYPERLINK l _Toc375046255附錄2 Proteus仿真圖 PAGEREF _Toc375046255 h 14摘要隨著經(jīng)濟(jì)的發(fā)展、社會(huì)的進(jìn)步,越來越多的土地被用來建設(shè),隨之而來的就是合理利

4、用資源的一系列問題。本實(shí)驗(yàn)課題就基于合理利用土地資源而進(jìn)行的簡(jiǎn)單設(shè)計(jì)。本次課題設(shè)計(jì)應(yīng)用的是80C51芯片實(shí)現(xiàn)地下停車位的控制顯示,利用串行口通信,外加74LS164擴(kuò)展芯片。由80C51的兩個(gè)中斷實(shí)現(xiàn)燈閃爍以與緊急情況中斷和清除緊急情況中斷。車位顯示由兩個(gè)共陽極七段數(shù)碼管顯示,外加74LS164實(shí)現(xiàn)數(shù)碼管的靜態(tài)顯示。檢測(cè)原件用按鈕開關(guān)代替。關(guān)鍵詞:80C51、74LS164、數(shù)碼管、中斷一 說明本次設(shè)計(jì)的思路大致是:(1)當(dāng)進(jìn)車無出車 進(jìn)車指示燈閃爍,提醒此時(shí)有進(jìn)車,出車的等待。等進(jìn)車過程結(jié)束,方可出車;(2)當(dāng)出車無進(jìn)車 出車指示燈閃爍,提醒此時(shí)有出車,進(jìn)車的等待。等出車過程結(jié)束,方可進(jìn)車;

5、(3)同時(shí)有進(jìn)車和出車 當(dāng)同時(shí)有進(jìn)車和出車,或者在第一個(gè)進(jìn)車未結(jié)束時(shí),又有出車等待,同時(shí)有另一個(gè)進(jìn)車等待,則第一個(gè)進(jìn)車結(jié)束后,優(yōu)先出車,出車結(jié)束后才允許等待進(jìn)車的進(jìn)車;(4)緊急情況中斷0 設(shè)置中斷0為緊急情況中斷,當(dāng)出現(xiàn)緊急情況時(shí),按下緊急情況按鈕,此時(shí)中斷0響應(yīng),進(jìn)車、出車口黃燈常亮;(5)清除緊急情況中斷1 設(shè)置中斷1為高優(yōu)先級(jí)中斷,當(dāng)緊急情況清除后,按下清除緊急情況按鈕,中斷1響應(yīng),并把緊急情況中斷0清除。二 硬件組成課題設(shè)計(jì)所用到的硬件主要有:80C51芯片一個(gè),74LS164擴(kuò)展芯片一個(gè),七段數(shù)碼管兩個(gè),LED燈三個(gè),按鈕開關(guān)和刀閘開關(guān)若干,電阻若干,電容三個(gè),晶振一個(gè)。2.1、8

6、0C51(1)80C51的硬件結(jié)構(gòu)圖圖2-1-1(2)組成51單片機(jī)部含有一個(gè)8位CPU,4個(gè)8位并行口,一個(gè)串行口,兩個(gè)16位定時(shí)器,5個(gè)中斷源,128 Byte RAM,4K ROM,21 Byte SFR。(3)引腳80C51表面貼裝有44個(gè)引腳,其中4個(gè)是空引腳。電源與時(shí)鐘引腳:Vcc、Vss、XTAL1、XTAL2控制引腳:PSEN、ALE、EA、RSTI/O口引腳P0、P1、P2、P3 圖2-1-2(4)中斷 MCS51單片機(jī)的5個(gè)中斷源分為兩種類型:一類是外部中斷源,包括INT0和INT1:另一類是部中斷源,包括兩個(gè)定時(shí)/計(jì)數(shù)器(T0和T1)的溢出中斷和串行口的發(fā)送/接受中斷。1

7、圖2-1-3 本次課題設(shè)計(jì)用到了串行口中斷、外部中斷1和外部中斷0、定時(shí)器0中斷。 串行口中斷主要是負(fù)責(zé)把數(shù)碼管要顯示的數(shù)字的代碼通過串行口通信發(fā)送到74LS164,通過串行中斷判斷發(fā)送數(shù)據(jù)是否結(jié)束。 定時(shí)器0中斷主要是負(fù)責(zé)讓LED燈閃爍,有定時(shí)器0定時(shí),每10ms產(chǎn)生一次中斷。產(chǎn)生中斷控制LED點(diǎn)亮和熄滅的時(shí)間,實(shí)現(xiàn)LED燈閃爍。 定時(shí)器0中斷還有一個(gè)作用是判斷進(jìn)車、出車情況。如果進(jìn)車時(shí)間超過設(shè)定值,就會(huì)復(fù)位,返回主函數(shù)中。 外部中斷0和外部中斷1是進(jìn)行緊急情況的中斷。當(dāng)出現(xiàn)緊急情況時(shí),按下緊急按鈕,則外部中斷0響應(yīng),禁止進(jìn)出車,同時(shí)控制LED長(zhǎng)亮。等緊急情況清除后,按下清除緊急按鈕,則外部

8、中斷1響應(yīng),將設(shè)備復(fù)位并清除中斷0.(5)定時(shí)器 在MCS-51單片機(jī)中,與定時(shí)器/計(jì)數(shù)器應(yīng)用有關(guān)的控制器有4個(gè),分別為定時(shí)器控制寄存器(TCON)、定時(shí)/計(jì)數(shù)器工作方式控制寄存器(TMOD)、中斷允許控制寄存器(IE)、中斷優(yōu)先級(jí)控制寄存器(IP)。2.2、74LS16474ls164、74lsT164 是高速硅門CMOS器件,與低功耗肖特基型TTL 器件的引腳兼容。74HC164、74HCT164 是 8 位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個(gè)輸入端(DSA 或 DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。兩個(gè)輸入端或者連接在一

9、起,或者把不用的輸入端接高電平,一定不要懸空。圖2-2-1時(shí)鐘 (CP) 每次由低變高時(shí),數(shù)據(jù)右移一位,輸入到 Q0, Q0 是兩個(gè)數(shù)據(jù)輸入端(DSA和 DSB)的邏輯與,它將上升時(shí)鐘沿之前保持一個(gè)建立時(shí)間的長(zhǎng)度。主復(fù)位 (MR) 輸入端上的一個(gè)低電平將使其它所有輸入端都無效,非同步地清除寄存器,強(qiáng)制所有的輸出為低電平。本次課題設(shè)計(jì)是把兩個(gè)74LS164級(jí)聯(lián)進(jìn)行驅(qū)動(dòng)數(shù)碼管靜態(tài)顯示的。兩個(gè)74LS164的級(jí)聯(lián)如圖所示。圖2-2-22.3、LED數(shù)碼管LED數(shù)碼管又分共陰和共陽兩種如圖2-3-1。如果把7段數(shù)碼管的每一段都等效成發(fā)光二極管的正負(fù)兩個(gè)極,那共陰就是把a(bǔ)bcdefg這7個(gè)發(fā)光二極管的負(fù)

10、極連 接在一起并接地;它們的7個(gè)正極接到7段譯碼驅(qū)動(dòng)電路74LS164的相對(duì)應(yīng)的驅(qū)動(dòng)端上(也是abcdefg);共陽就是把 abcdefg的7個(gè)發(fā)光二極管的正極連接在一起并接到5V電源上,其余的7個(gè)負(fù)極接到譯碼驅(qū)動(dòng)集成電路74LS164相應(yīng)的abcdefg輸出端上。無論共陰共陽7段顯示電路,都需要加限流電阻,否則通電后就把7段譯碼管燒壞了。點(diǎn)亮顯示器有靜態(tài)和動(dòng)態(tài)兩種方法。所謂靜態(tài)顯示,就是當(dāng)顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,這種顯示方式每一位都需要有一個(gè)8位的輸出控制;所謂動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮 圖2-3-1顯示器各位,對(duì)于顯示器的每一位來說,每隔一段時(shí)間點(diǎn)亮一次。顯示

11、器的亮度既與導(dǎo)通的電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù),可以實(shí)現(xiàn)亮度較高穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個(gè)I/O口,控制顯示器的各位顯示的字型也需要一個(gè)8位口。圖2-3-2為89C51的顯示接口電路。本設(shè)計(jì)選用靜態(tài)顯示方式。8個(gè)74LS164作為4位七段顯示器的靜態(tài)顯示口,靜態(tài)顯示方式顯示器的亮度大,很容易作到顯示不閃爍。而且靜態(tài)顯示時(shí)CPU不要頻繁地為顯示服務(wù),因而主程序可以不必掃描顯示器,軟件設(shè)計(jì)簡(jiǎn)單,從而使單片機(jī)有更多的機(jī)會(huì)處理其它的事務(wù)。圖2-3-2 數(shù)碼管接口電路三、流程圖3.1、中斷流程圖圖3-1-13.2、主程序流程圖圖

12、3-2-1總結(jié)此次課題制作過程比較長(zhǎng),從構(gòu)思,到畫流程圖,畫原理圖,寫程序,可謂是一波三折。制作過程中也遇到了很多麻煩的問題。比如說控制LED燈的閃爍,剛開始想利用數(shù)組實(shí)現(xiàn)對(duì)不同LED燈的控制,可是寫程序事又遇到了新的問題,就是數(shù)組與對(duì)應(yīng)端口的對(duì)應(yīng)。又進(jìn)行對(duì)數(shù)組和端口的對(duì)應(yīng)定義,因?yàn)閿?shù)組利用的是變量,說以#define的時(shí)候定義未成功。就利用了定時(shí)器進(jìn)行LED燈閃爍的控制。還遇到的問題是判斷進(jìn)出車的函數(shù),怎樣實(shí)現(xiàn)優(yōu)先出車,當(dāng)進(jìn)車函數(shù)進(jìn)行時(shí),又有出車時(shí),怎樣進(jìn)行函數(shù)的優(yōu)先執(zhí)行。74LS164的級(jí)聯(lián),也是通過網(wǎng)上收索相關(guān)信息才得以實(shí)現(xiàn)。通過本次設(shè)計(jì),使我真正認(rèn)識(shí)到所學(xué)知識(shí)的不足和局限性。鞏固了有關(guān)

13、單片機(jī)的知識(shí),也學(xué)到了很多新的知識(shí)。本次設(shè)計(jì),鍛煉了我理論和實(shí)際結(jié)合的能力,通過不斷的遇到問題解決問題,彌補(bǔ)不足中提高自己。由于能力有限,本次課題制作中不免有設(shè)計(jì)不合理的地方,還有未能實(shí)現(xiàn)的功能。以后還需多加努力。再此,還要感老師,也正是老師授課時(shí)把問題實(shí)際化,易理解化,一遍一遍不厭其煩的重復(fù)單片機(jī)基本容后,才能讓我們更容易接受,了解的更全面。 參考文獻(xiàn)1 志海 艷雷 松 單片機(jī)的C語言程序設(shè)計(jì)與應(yīng)用基于Proteus仿真(第2版) 2012年7月第2次印刷2 齊 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)基于C語言編程M.電子工業(yè),2004。3 永雄 新編單片機(jī)與應(yīng)用M 電子科技大學(xué) 2003年4 周潤(rùn)景 基于

14、Proteus的電路與單片機(jī)系統(tǒng)設(shè)計(jì)與仿真 M 航空航天大學(xué) 2005年附錄1 程序#include#define uint unsigned int#define uchar unsigned charunsigned char table10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;sbit a=P10;sbit b=P11;sbit c=P12;sbit d=P13;sbit LED1=P14;sbit LED2=P15;sbit LED3=P16;uint i,j,e1,e2,m,deng=0,count,

15、time=0,D1,D2;void delay(uint e) /延時(shí)函數(shù) for(j=0;je;j+) for(i=0;i1000) e1=0;e2=0;TR0=0;LED2=1;deng=0;return; count-; /車位減一 e1=0; TR0=0; LED2=1; display(); delay(200);int comeout()/出車操作函數(shù) e2=1; TR0=1; while(d=1); while(c=1) if(deng1000) e1=0;e2=0;TR0=0;LED1=1;deng=0;return; count+;/車位加一 e2=0; TR0=0; LED

16、1=1; display(); delay(200);void main() SCON=0 x00; /串行口方式0工作 /kai zhong duan IE=0 x85; /開中斷0和中斷1 IP=IP|0 x04; /設(shè)中段1為高優(yōu)先級(jí)中斷 IT0=0; IT1=0; /設(shè)置電平觸發(fā)方式 TMOD=0 x01; /設(shè)置定時(shí)器0工作在模式1下 TH0=(65536-10000)/256; TL0=(65536-10000)%256; ET0=1; /開計(jì)數(shù)器中斷 count=3; display(); e1=0;e2=0; while(1) if(count0) LED3=1;if(a=0)&(b=0) comeout(); /出車 if(a=0)&(e2=0) /進(jìn)車以與進(jìn)車判斷 if(count0) comein(); if(count=0) LED3=0; /當(dāng)沒有空車位時(shí),禁止進(jìn)車,紅燈亮 if(b=0)&(e1=0) comeout(); /等待進(jìn)車結(jié)束后優(yōu)先出車 void t0() interrupt 1 /時(shí)間中斷函數(shù), TH0=(65536-10000)/256; TL0=(65536-10000)%256; time+; deng+; if(e1=1) /進(jìn)車指示燈閃爍 if(time50) LED2=1; if(t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論