單片機(jī)課設(shè) 電梯樓層顯示器設(shè)計(jì)(共15頁)_第1頁
單片機(jī)課設(shè) 電梯樓層顯示器設(shè)計(jì)(共15頁)_第2頁
單片機(jī)課設(shè) 電梯樓層顯示器設(shè)計(jì)(共15頁)_第3頁
單片機(jī)課設(shè) 電梯樓層顯示器設(shè)計(jì)(共15頁)_第4頁
單片機(jī)課設(shè) 電梯樓層顯示器設(shè)計(jì)(共15頁)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄(ml)TOC o 1-3 h u HYPERLINK l _Toc5131 1、題目(tm)設(shè)計(jì)要求1 HYPERLINK l _Toc30040 2、系統(tǒng)(xtng)的組成及設(shè)計(jì)方案1 HYPERLINK l _Toc29394 2.1系統(tǒng)組成1 HYPERLINK l _Toc24435 2.1.1 晶振電路(時(shí)鐘電路)1 HYPERLINK l _Toc20181 2.1.2 復(fù)位電路1 HYPERLINK l _Toc29583 2.1.3 51單片機(jī)2 HYPERLINK l _Toc13486 2.1.4 顯示電路2 HYPERLINK l _Toc2973 2.1.5 驅(qū)動(dòng)

2、電路2 HYPERLINK l _Toc32605 2.1.6 5V電源3 HYPERLINK l _Toc9250 2.2設(shè)計(jì)方案3 HYPERLINK l _Toc14520 3、器件的功能和作用3 HYPERLINK l _Toc10616 3.1硬件系統(tǒng)實(shí)現(xiàn)3 HYPERLINK l _Toc26141 3.1.1工作原理及原理圖3 HYPERLINK l _Toc29744 3.1.2設(shè)計(jì)元器件說明4 HYPERLINK l _Toc27615 3.2系統(tǒng)軟件設(shè)計(jì)6 HYPERLINK l _Toc5450 3.2.1程序流程圖及主程序6 HYPERLINK l _Toc17679

3、3.2.2 子程序功能實(shí)現(xiàn)10 HYPERLINK l _Toc22878 4、 系統(tǒng)仿真調(diào)試過程及結(jié)果11 HYPERLINK l _Toc31370 4.1 Proteus下的仿真原理圖設(shè)計(jì) PAGEREF _Toc31370 11 HYPERLINK l _Toc25072 4.2仿真運(yùn)行過程及結(jié)果 PAGEREF _Toc25072 12 HYPERLINK l _Toc23408 5、 總結(jié) PAGEREF _Toc23408 12 HYPERLINK l _Toc28292 6、參考文獻(xiàn) PAGEREF _Toc28292 121、題目設(shè)計(jì)(shj)要求利用(lyng)51單片機(jī)和

4、88點(diǎn)陣顯示屏設(shè)計(jì)(shj)電梯樓層顯示器,實(shí)現(xiàn)6層顯示控制。2、系統(tǒng)的組成及設(shè)計(jì)方案2.1系統(tǒng)組成2.1.1 晶振電路(時(shí)鐘電路)組成:由51單片機(jī)本身時(shí)鐘段和晶振提供,其中電路由兩個(gè)22pF的電容C1和C2與一個(gè)晶體振蕩器X1組成,仿真圖如圖2.1所示。功能:用來給單片機(jī)內(nèi)各種微操作提供時(shí)間基準(zhǔn)信號(hào)的。圖2.1晶振電路2.1.2 復(fù)位電路組成:由一個(gè)10K的電阻和一個(gè)10uF的電容接至51單片機(jī)的復(fù)位端,完成復(fù)位功能,其仿真圖如圖2.2所示。功能:使單片機(jī)內(nèi)部的CPU及其他部件初始化,即處于一種確定的初始狀態(tài),然后從這個(gè)初始狀態(tài)開始工作。圖2.2復(fù)位電路2.1.3 51單片機(jī)組成(z ch

5、n):由P0、P1、P2、P3四個(gè)口以及復(fù)位端RST、電源VCC等多個(gè)功能接口組成,其具體結(jié)構(gòu)如圖2.3所示功能(gngnng):存儲(chǔ)和處理程序。圖2.3 單片機(jī)結(jié)構(gòu)圖2.1.4 顯示(xinsh)電路功能:8*8LED點(diǎn)陣用于顯示電梯樓層,連接點(diǎn)陣顯示器的共陽極r端需經(jīng)驅(qū)動(dòng)三極管與單片機(jī)的P3口相連,而共陰極c端需經(jīng)限流電阻與單片機(jī)的P0口相連。仿真圖如圖2.4所示。圖2.4 8*8LED點(diǎn)陣顯示器2.1.5 驅(qū)動(dòng)電路用于驅(qū)動(dòng)8*8點(diǎn)陣LED顯示設(shè)備,使51單片機(jī)所發(fā)出的信號(hào)的電壓相對(duì)穩(wěn)定(wndng),增加負(fù)載能力。 2.1.6 5V電源(dinyun)提供設(shè)備所需的電壓(diny),功耗

6、。2.2設(shè)計(jì)方案本設(shè)計(jì)是六層電梯的單片機(jī)控制系統(tǒng)。從系統(tǒng)硬件結(jié)構(gòu)上來看,我們主要使用到51系列單片機(jī)、共陽8*8點(diǎn)陣LED屏、開關(guān)鍵盤輸入電路、電源電路等等。將這些硬件電路有機(jī)地結(jié)合起來使之滿足8*8點(diǎn)陣屏仿電梯樓層數(shù)字滾動(dòng)顯示的實(shí)現(xiàn)硬件需要。從系統(tǒng)軟件設(shè)計(jì)角度來看,將8*8點(diǎn)陣屏仿電梯樓層數(shù)字滾動(dòng)顯示的課程設(shè)計(jì)采用程序模塊化設(shè)計(jì)方法,將程序分為主程序、8*8點(diǎn)陣顯示模塊。因此,我們可以綜合上述的方案設(shè)計(jì)原理,從軟件和硬件兩部分進(jìn)行有計(jì)劃有步驟的系統(tǒng)分析和設(shè)計(jì)。3、器件的功能和作用3.1硬件系統(tǒng)實(shí)現(xiàn)3.1.1工作原理及原理圖 8*8點(diǎn)陣屏仿電梯樓層數(shù)字滾動(dòng)顯示的課程設(shè)計(jì)主要為手動(dòng)按鍵顯示樓層。

7、手動(dòng)按鍵顯示樓層是根據(jù)具體的硬件鍵盤設(shè)置功能鍵實(shí)現(xiàn)電梯顯示屏樓層的滾動(dòng)變換,在12MHz晶振的作用下,開關(guān)觸發(fā)I/O口變自動(dòng)調(diào)用相應(yīng)位置中的程序,將對(duì)應(yīng)的振動(dòng)頻率輸出給8*8點(diǎn)陣,實(shí)現(xiàn)點(diǎn)陣顯示屏的不同變化。其原理圖如圖3.1所示。圖3.1 電路(dinl)原理圖3.1.2設(shè)計(jì)(shj)元器件說明1)AT89C51簡介(jin ji)AT89C51是一種帶4K HYPERLINK /view/60408.htm t /_blank 字節(jié)FLASH HYPERLINK /view/87697.htm t /_blank 存儲(chǔ)器(FPEROMFlash Programmable and Erasab

8、le Read Only Memory)的低電壓、高性能CMOS 8位 HYPERLINK /view/1125.htm t /_blank 微處理器,俗稱 HYPERLINK /view/1012.htm t /_blank 單片機(jī)。AT89C2051是一種帶2K HYPERLINK /view/60408.htm t /_blank 字節(jié)閃存可編程可擦除 HYPERLINK /view/132973.htm t /_blank 只讀存儲(chǔ)器的 HYPERLINK /view/1012.htm t /_blank 單片機(jī)。 HYPERLINK /view/1012.htm t /_blank

9、單片機(jī)的可擦除 HYPERLINK /view/132973.htm t /_blank 只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失 HYPERLINK /view/87697.htm t /_blank 存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃速 HYPERLINK /view/87697.htm t /_blank 存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51 HYPERLINK /view/1012.htm t /_blank 單片機(jī)

10、為很多 HYPERLINK /view/2613031.htm t /_blank 嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及 HYPERLINK /view/641241.htm t /_blank 引腳排列如圖3.2和3.3所示。 圖3.2 三種(sn zhn)單片機(jī)外形圖 圖3.3 AT89C51的管腳圖部分(b fen)引腳功能:VCC:供電(n din)電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),

11、P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序

12、存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出(shch)4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于(yuy)外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為(zuwi)AT89C51的一些特殊功能口,同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)

13、振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。2)8*8LED點(diǎn)陣顯示器 88點(diǎn)陣LED的

14、引腳圖如圖3.4所示,當(dāng)采用單片機(jī)進(jìn)行控制時(shí),連接點(diǎn)陣顯示器的共陽極r端需經(jīng)驅(qū)動(dòng)三極管9012與單片機(jī)的P3口相連,而共陰極c端需經(jīng)限流電阻與單片機(jī)的P0口相連。在編程控制時(shí),將88點(diǎn)陣LED顯示分成行和列兩部分,字符數(shù)據(jù)從P0口輸出,掃描控制字從P3口輸出,每一列由一個(gè)字節(jié)的數(shù)據(jù)組成,數(shù)據(jù)可一次送入,然后掃描一行,顯示一個(gè)字需要掃描8次。 圖3.4 88點(diǎn)陣LED引腳的排列圖3)晶振簡介晶振全稱為(chn wi)晶體振蕩器(英文Crystal Oscillators),其作用在于產(chǎn)生原始的時(shí)鐘頻率,這個(gè)頻率經(jīng)過頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。圖3.5 晶振外形(wi

15、xn)圖3.2系統(tǒng)軟件(x tn run jin)設(shè)計(jì)3.2.1程序流程圖及主程序程序流程圖介紹:第一類函數(shù)起作用于按鍵按下的時(shí)刻,當(dāng)有按鍵按下時(shí),以中斷的方式發(fā)給單片機(jī),此時(shí),單片機(jī)即對(duì)程序中所有用到的各個(gè)狀態(tài)變量進(jìn)行置位,且點(diǎn)亮相應(yīng)的發(fā)光二極管;第二類函數(shù)起作用與電梯到達(dá)目標(biāo)樓層時(shí),這時(shí)函數(shù)負(fù)責(zé)把相關(guān)發(fā)光二極管熄滅,并且及時(shí)清除相關(guān)狀態(tài)位,以免影響判別函數(shù)做出正確判斷;第三類函數(shù)是程序的核心,它直接負(fù)責(zé)管理電梯下一次所要到達(dá)的樓層,每當(dāng)電梯經(jīng)過一樓層時(shí),此函數(shù)即會(huì)被調(diào)用,即為下一個(gè)電梯要停留的目標(biāo)樓層值。圖3.6 程序(chngx)流程圖#include #include #define

16、uchar unsigned char#define uint unsigned intsbit K1=P25;sbit K2=P24;sbit K3=P23;sbit K4=P22;sbit K5=P21;sbit K6=P20;sbit BE=P27;uchar code NUM=0 x00,0 x10,0 x30,0 x10,0 x10,0 x10,0 x38,0 x00, /點(diǎn)陣顯示(xinsh)數(shù)字10 x00,0 x18,0 x24,0 x04,0 x18,0 x20,0 x3c,0 x00, /點(diǎn)陣(din zhn)顯示數(shù)字20 x00,0 x18,0 x24,0 x04,0 x

17、18,0 x04,0 x24,0 x18, /點(diǎn)陣顯示數(shù)字30 x00,0 x08,0 x18,0 x28,0 x48,0 x7c,0 x08,0 x08, /點(diǎn)陣顯示數(shù)字40 x00,0 x3c,0 x20,0 x38,0 x04,0 x04,0 x38,0 x00,/點(diǎn)陣顯示數(shù)字50 x00,0 x18,0 x24,0 x20,0 x38,0 x24,0 x24,0 x18,/點(diǎn)陣顯示(xinsh)數(shù)字6;uint r;char offset=0;uchar Current_Level=1,Dest_Level=1,x=0,t=0;void delay(uint x) /延遲函數(shù),通過(t

18、nggu)延時(shí)函數(shù)消除抖動(dòng) uchar i; while(x-) for(i=0;i120;i+);void main() /主函數(shù)(hnsh) P3=0 x80; /給P3口賦初值 Current_Level=1; Dest_Level=1; TMOD=0 x01; /定時(shí)器T0工作模式選擇1 TH0=-4000/256; / TL0=-4000%256; TR0=1; /啟動(dòng)T0開始計(jì)時(shí) IE=0 x82; /中斷允許寄存器,其值為82時(shí),二進(jìn)制為1000 0010,IE.7位為1表示CPU開放中斷,IE.1位也為1,表示允許定時(shí)器T0溢出中斷 while(1); /等待中斷void LE

19、D_Screen_Display() interrupt 1 /中斷函數(shù) uchar i; if(P1!=0 xff&Current_Level=Dest_Level) if(P1=0 xfe) Dest_Level=5;K6=0; if(P1=0 xfd) Dest_Level=4;K5=0; if(P1=0 xfb) Dest_Level=3;K4=0; if(P1=0 xf7) Dest_Level=2;K3=0; if(P1=0 xef) Dest_Level=1;K2=0; if(P1=0 xdf) Dest_Level=0;K1=0; TH0=-4000/256; /復(fù)位(f wi

20、)TL0=-4000%256; P3=_crol_(P3,1); /循環(huán)(xnhun)左移一位i=Current_Level*8+r+offset; P0=NUMi; if(Current_LevelDest_Level) if(+r=8) r=0; if(+x=4) x=0; if(-offset=-8) offset=0; Current_Level-; else if(+r=8) r=0; 3.2.2 子程序功能(gngnng)實(shí)現(xiàn)延時(shí)函數(shù)(hnsh)void delay(uint x) uchar i; while(x-) for(i=0;i120;i+);樓層(lu cn)判斷if(

21、Current_LevelDest_Level) if(+r=8) r=0; if(+x=4) x=0; if(-offset=-8) offset=0; Current_Level-; 系統(tǒng)仿真調(diào)試過程(guchng)及結(jié)果4.1 Proteus下的仿真(fn zhn)原理圖設(shè)計(jì)首先利用Proteus中的器件庫完成電路的連接,其中電路由一個(gè)(y )復(fù)位電路和一個(gè)時(shí)鐘電路與單片機(jī)相連,P1口與六個(gè)控制開關(guān)相連,經(jīng)LED顯示屏與限流裝置相連,構(gòu)成一個(gè)完整的系統(tǒng),其仿真圖如圖4.1所示:圖4.1 仿真(fn zhn)原理圖然后(rnhu)雙擊AT89C51,出現(xiàn)(chxin)“Edit Componet ”,在Program File中單擊,出現(xiàn)文件瀏覽對(duì)話框,找到后綴為.hex的文件,單擊確定,完成添加文件。Proteus與程序代碼的鏈

溫馨提示

  • 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)論