單片機(jī)結(jié)課論文_第1頁
單片機(jī)結(jié)課論文_第2頁
單片機(jī)結(jié)課論文_第3頁
單片機(jī)結(jié)課論文_第4頁
單片機(jī)結(jié)課論文_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 8*8點(diǎn)陣顯示屏的設(shè)計(jì)摘要:本設(shè)計(jì)是基于P89C51的88點(diǎn)陣LED數(shù)碼字符顯示器的設(shè)計(jì),LED點(diǎn)陣顯示屏作為一種新興的顯示器件,是由多個(gè)獨(dú)立的LED發(fā)光二極管封裝而成。LED點(diǎn)陣顯示屏可以顯示數(shù)字或符號,通常用來顯示時(shí)間、速度、系統(tǒng)狀態(tài)等。本文講述了基于P89C51單片機(jī)88LED數(shù)碼字符顯示器的基本原理、硬件組成與設(shè)計(jì),Proteus軟件仿真,程序設(shè)計(jì)等基本環(huán)節(jié)與相關(guān)技術(shù)?!娟P(guān)鍵詞】51單片機(jī),Proteus軟件,顯示屏 LED是發(fā)光二極管LIGHTEMINTTINGDIODE的英文縮寫,是一種直接能將電能轉(zhuǎn)化為可見光的半導(dǎo)體。LED點(diǎn)陣是由發(fā)光二極管排列組成的顯示器件,在日常生活中隨處

2、可見,其發(fā)光類型屬于冷光源,效率及發(fā)熱量是普通發(fā)光器件難以比擬的。它采用低電壓掃描驅(qū)動(dòng),具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠(yuǎn)、可靠耐用、應(yīng)用靈活、安全、響應(yīng)時(shí)間短、綠色環(huán)保、控制靈活等特點(diǎn)。隨著社會(huì)經(jīng)濟(jì)的不斷進(jìn)步,人們對LED顯示器的認(rèn)識不斷加深,其應(yīng)用領(lǐng)域越來越廣。LED電子顯示屏具有所顯內(nèi)容信息量大,外形美觀大方,操作使用方便靈活。適用于火車,汽車站,碼頭,金融證券市場,文化中心,信息中心體育設(shè)施等公共場所。該項(xiàng)目廣泛涉及了計(jì)算機(jī)及電子技術(shù)中的電源技術(shù),單片機(jī)技術(shù),數(shù)據(jù)通訊技術(shù),顯示技術(shù),存儲技術(shù),系統(tǒng)軟件技術(shù),接口及驅(qū)動(dòng)等技術(shù)。本產(chǎn)品采用以P89C51單片機(jī)

3、為核心芯片的電路來實(shí)現(xiàn),主要由P89C51芯片、晶振電路、三極管驅(qū)動(dòng)電路、按鍵控制電路、88LED點(diǎn)陣5部分組成,電路框圖如圖1所示。其中,P89C51是一種帶4kB閃爍可編程可擦除只讀存儲器的低電壓、高性能CMOS型8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,工業(yè)標(biāo)準(zhǔn)的MCS一51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個(gè)芯片中,能夠進(jìn)行1000次寫擦循環(huán),數(shù)據(jù)保留時(shí)間為10年。他是一種高效微控制器,為很多嵌人式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。因此,在智能化電子設(shè)計(jì)與制作過程中經(jīng)常用到P89C51芯片。時(shí)鐘電路由P89C51

4、的18,19腳的時(shí)鐘端(XTAI1及XTAL2)以及12MHz晶振X、電容C2、C3組成,采用片內(nèi)振蕩方式。復(fù)位電路采用簡易的上電復(fù)位電路,主要由電阻R,R2,電容C,開關(guān)K組成,分別接至P89C51的RST復(fù)位輸入端。LED點(diǎn)陣顯示屏采用8x8共64個(gè)象素的點(diǎn)陣,可通過萬用表檢測發(fā)光二極管的方法測試判斷出該點(diǎn)陣的引腳分布。我們把行列總線接在單片機(jī)的I/O口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的字符了。我們在實(shí)際應(yīng)用中是將LED點(diǎn)陣的8條列線通過驅(qū)動(dòng)電路接在P1口,8條行線通過限流電阻接在P0口。單片機(jī)89C51按照設(shè)定的程序在P1和P0接口輸出與內(nèi)部字符對應(yīng)的代碼電平送至LE

5、D點(diǎn)陣的行列線(高電平驅(qū)動(dòng)),從而選中相應(yīng)的象素LED發(fā)光,并利用人眼的視覺暫留特性合成整個(gè)字符的顯示。再改變?nèi)”淼刂穼?shí)現(xiàn)字符的滾動(dòng)顯示。硬件電路組成框圖如圖2-1所示。1.系統(tǒng)各單元的電路設(shè)計(jì) 1.1P89C51單片機(jī)最小系統(tǒng) 最小系統(tǒng)包括晶體振蕩電路、復(fù)位開關(guān)和電源部分。圖2-2為P89C51單片機(jī)的最小系統(tǒng)。1.2按鍵控制電路單片機(jī)開始工作時(shí),P2.0是高電平。當(dāng)按鍵按下時(shí),檢測到一個(gè)低電平信號,改變P0口輸出信號,控制88LED點(diǎn)陣顯示屏顯示不同字符。1.3三極管驅(qū)動(dòng)電路掃描驅(qū)動(dòng)電路的功能主要是有P1口輸出高電平使三極管發(fā)射結(jié)導(dǎo)通,發(fā)射結(jié)輸出足夠大的電流使二極管導(dǎo)通。 1.4字符的點(diǎn)陣

6、顯示原理及字庫代碼獲取方法我們以UCDOS中文宋體字庫為例,每一個(gè)字由8行8列的點(diǎn)陣組成顯示。我們可以把每一個(gè)點(diǎn)理解為一個(gè)象素,而把每一個(gè)字的字形理解為一幅圖像。事實(shí)上這個(gè)漢字屏不僅可以顯示漢字,也可以顯示在64象素范圍內(nèi)的任何圖形。如查用8位的P89C51。2.程序流程圖 開始 初始化 依次顯示0-9 是否按鍵 YES NO 依次顯示0-9 顯示字符 是否按鍵顯示字符 顯示漢字公是否按鍵顯示漢字公 NO YES 主程序流程圖3.程序設(shè)計(jì) 根據(jù)上述所說的程序流程圖,設(shè)計(jì)程序見附錄4.調(diào)試及性能分析 系統(tǒng)調(diào)試首先根據(jù)各單元電路模塊,利用Proteus軟件將總的硬件原理圖繪制好,設(shè)計(jì)好各模塊要使用

7、的I/O口,如:88點(diǎn)陣LED顯示屏?xí)r候插反,先檢測下,無硬件錯(cuò)誤后,再進(jìn)行程序編程。利用C語言的編程方式,將系統(tǒng)要求的基本功能,以及創(chuàng)新功能根據(jù)程序流程圖編寫出來,用Keil軟件調(diào)試無誤后,生成Hex文件,如圖11圖12。雙擊Proteus中的P89C51芯片,將Keil生成的Hex加載到芯片內(nèi),進(jìn)行仿真,經(jīng)調(diào)試后所編寫的程序能夠完美實(shí)現(xiàn)系統(tǒng)所需的各種功能。硬件調(diào)試主要是檢測硬件電路是否有短路、斷路、虛焊等。具體步驟及測試結(jié)果如下:(1)檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導(dǎo)線是否完全連接,對未連接的進(jìn)行修復(fù)。(2)參照原理圖,檢查各個(gè)器件之間的連接是否連接正確,是否存

8、在虛焊,經(jīng)測試,各連接不存在問題。(3)以上兩項(xiàng)檢查并修復(fù)完后,給該硬件電路上電,電源指示燈點(diǎn)亮。(4)將燒錄好程序的最小單片機(jī)系統(tǒng)接入各模塊后,各模塊能過正常工作,如:數(shù)碼管正常發(fā)光。5. 設(shè)計(jì)分析將燒錄好程序的最小單片機(jī)系統(tǒng)與各模塊連接好后,88點(diǎn)陣LED顯示屏顯示初始值。按鍵一次之后,顯示屏顯示滾動(dòng)字符,再按鍵一次,顯示屏顯示漢字“公”。經(jīng)軟件調(diào)試和硬件調(diào)試后,所設(shè)計(jì)的系統(tǒng)完美實(shí)現(xiàn)了所需的控制要求和創(chuàng)新要求。6.總結(jié) 本次課程設(shè)計(jì)到現(xiàn)在有兩個(gè)星期,回顧這些天我感到學(xué)到了很多東西,在寫這個(gè)心得的時(shí)候,我想就這些天的收獲,說一說自己內(nèi)心的想法。本設(shè)計(jì)是一個(gè)8x8的點(diǎn)陣LED數(shù)碼顯示器,能夠在

9、目測條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)??偨Y(jié)本文的研究工作,主要做了下面幾點(diǎn)工作:1、 通過查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),明確了研究目標(biāo)。并且通過對單片機(jī)資料的查閱和應(yīng)用,更進(jìn)一步增加了對單片機(jī)知識的理解和運(yùn)用能力。并證實(shí)了自己的思路:“查資料思考總結(jié)運(yùn)用找出差錯(cuò),再查資料和向別人詢問再次運(yùn)用”的正確性。2、 本文設(shè)計(jì)的LE

10、D顯示屏能夠?qū)崿F(xiàn)在目測條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。3、 本文列出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體匯編語言程序設(shè)計(jì)與調(diào)試等方面。四、在這次課程設(shè)計(jì)的過程中學(xué)會(huì)了PROTEUS的基本使用,感到PROTEUS對電子專業(yè)的同學(xué)來說是一個(gè)很有用的軟件。在運(yùn)用PROTEUS時(shí)可以運(yùn)用一些快捷的標(biāo)號,總線的方法畫圖,這樣既能使電路圖清晰,簡單,更能大大提高畫圖速度。五、通過這次課程設(shè)計(jì),重新復(fù)習(xí)并進(jìn)一步增強(qiáng)了動(dòng)手的能力,學(xué)以致用,把只是運(yùn)用到實(shí)際生活中才是根本目的。六、存在問題:沒有考慮仿真軟件是一個(gè)理想的仿真環(huán)境,而實(shí)

11、際連接的電路板會(huì)由于譬如連接不當(dāng),相鄰器件間的干擾等等的問題導(dǎo)致在仿真軟件中能良好運(yùn)行的程序,出現(xiàn)顯示問題,經(jīng)過排查和合理的器件擺放焊接,問題解決??傮w來說這次的科研實(shí)踐很成功,達(dá)到了預(yù)想的目的:學(xué)到了知識,提高了能力,完成了任務(wù)。有點(diǎn)缺憾是時(shí)間有限,不能進(jìn)一步深入和擴(kuò)散學(xué)習(xí)和研究。希望有時(shí)間可以對程序和電路圖作更進(jìn)一步的改進(jìn),譬如實(shí)現(xiàn)點(diǎn)陣的上下移動(dòng),對角線移動(dòng),多色顯示等。 通過課程考核,多少學(xué)習(xí)到了一些專業(yè)知識,改正了很多不曾發(fā)現(xiàn)的問題,為即將的畢業(yè)設(shè)計(jì)打下了基礎(chǔ),很有意義。附錄:#include#defineucharunsignedchar#defineuintunsignedintu

12、chari,j,k,sca n, num,count;sbitkey=P20;ucharcodetable1=0x7f,0xbf,0xc1,0xdf,0xdf,0xdf,0xc1,0xdf;/ucharcodetable2=0xf7,0xdb,0xad,0xb7,0xbe,0xdd,0xbb,0xf7;/公ucharcodetable8= 0xff,0xff,0xc3,0xbd,0xbd,0xc3,0xff,0xff,/00xff,0xbf,0xbb,0x81,0x80,0xbf,0xbf,0xff,/10xff,0xff,0xbb,0x9d,0xad,0xb3,0xff,0xff,/20xf

13、f,0xff,0xdd,0xbe,0xb6,0xc9,0xff,0xff, /30xff,0xef,0xe7,0xeb,0x81,0xef,0xef,0xff,/40xff,0xff,0xd1,0xb5,0xb5,0xcd,0xff,0xff,/50xff,0xff,0xc1,0xb6,0xb6,0xcd,0xff,0xff,/60xff,0xff,0xfd,0xfd,0x8d,0xf5,0xf9,0xff,/70xff,0xff,0xc9,0xb6,0xb6,0xc9,0xff,0xff,/80xff,0xff,0xd9,0xb6,0xb6,0xc1,0xff,0xff;/9voiddela

14、y(uintz)uintx,y;for(x=z;x0;x-)for(y=110;y0;y-);voidmain()key=1;num=0;while(1)if(num=0)for(j=0;j10;j+)if(key=0 delay(10);if(key=0)num=1;while(!key);if(num!=0)break;for(k=0;k30;k+)scan=0x01;for(i=0;i8;i+)P0=tableji;P1=scan;delay(2);scan=1; if(num=1)for(j=0;j8;j+)/8組數(shù)據(jù)if(key=0)delay(10);if(key=0) num=2;while(!key); if(num!=1)break;for(k=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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

提交評論