單片機原理與接口技術(shù)課程設(shè)計報告88點陣顯示的設(shè)計_第1頁
單片機原理與接口技術(shù)課程設(shè)計報告88點陣顯示的設(shè)計_第2頁
單片機原理與接口技術(shù)課程設(shè)計報告88點陣顯示的設(shè)計_第3頁
單片機原理與接口技術(shù)課程設(shè)計報告88點陣顯示的設(shè)計_第4頁
單片機原理與接口技術(shù)課程設(shè)計報告88點陣顯示的設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、xx 學院單片機原理與接口技術(shù)課程設(shè)計報告題 目: 8×8點陣顯示的設(shè)計 班 級: 級電子信息工程 姓 名: 學 號: 指導教師: 日 期:2010年 月 日摘 要隨著現(xiàn)代電子技術(shù)的迅速發(fā)展,各種各樣的led顯示屏、廣告牌樣式層出不窮,它們已被廣泛地應(yīng)用于商業(yè)市場的各個鄰域,如顯示器、戶外大屏幕、招牌廣告、電子公告欄等等,給我印象最深的還有公交車上的車載橫向拉幕單行顯示屏,它可以實時地顯示時間、站點、天氣和“東莞因你而文明”等信息。led顯示屏因其亮度高、方便維護和應(yīng)用靈活等優(yōu)點,給我們的生活帶來很大便利,同時它也具有很大的開發(fā)價值。本次設(shè)計任務(wù)是使led點陣實現(xiàn)橫向拉幕的數(shù)字字符顯

2、示,以at89c51單片機為控制器,8×8led點陣為顯示器件構(gòu)成的數(shù)字顯示系統(tǒng)。在程序中還可以相應(yīng)地改變顯示字符的樣式和顯示的個數(shù)。本設(shè)計所介紹的8×8led點陣顯示器可以橫向自右向左地循環(huán)拉幕顯示09這十個數(shù)字和空字符。在程序中可以相應(yīng)地改變顯示字符的樣式和顯示的個數(shù)。此顯示系統(tǒng)也可用于不同的場合顯示信息。關(guān)鍵詞:8×8 led點陣;at89c51;顯示器;拉幕顯示目 錄(一)設(shè)計的任務(wù)與要求 4(二)硬件電路設(shè)計 4l 芯片介紹 4l 電路原理 6(三)軟件設(shè)計流程及描述 7(四)設(shè)計調(diào)試過程 7(五)源程序代碼 8(六)收獲體會 10(七)參考文獻 10一

3、、設(shè)計的任務(wù)與要求 led顯示屏(led panel)介紹:led英文全稱就是light emitting diode ,為發(fā)光二極管的英文縮寫,簡稱led。它是一種通過控制半導體發(fā)光二極管的顯示方式,它通常是由很多個紅色的發(fā)光二極管組成,靠燈的亮滅來顯示字符。大規(guī)模集成的led顯示屏是由led點陣組成,是可以用來顯示文字、圖形、圖像、動畫、視頻、錄像信號等各種信息的顯示屏幕,又叫電子顯示屏或者飄字屏幕。led顯示屏不僅可以用于室內(nèi)環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點,內(nèi)容還可以隨時更換,且各部分組件都是模塊化結(jié)構(gòu)。led之所以受到廣泛重視而得到迅速發(fā)展,是與它

4、本身所具有的優(yōu)點分不開的。這些優(yōu)點概括起來是:亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定。led的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。本次設(shè)計采用單片機at89c51驅(qū)動8×8點陣led顯示屏,輪流顯示09的數(shù)字。顯示方式采用自左向左拉幕式顯示。二、硬件電路設(shè)計l 芯片介紹1. at89c51單片機:at89c51是一種低電壓、高性能cmos 8位微處理器,它自帶4k字節(jié)閃存可編程可擦除只讀存儲器(fperomflash programmable and erasable read only

5、memory),俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃存存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器。at89c系列單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。它的部分引腳功能介紹如下。p0口:p0口為一個8位漏級開路雙向i/o口。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0口能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,

6、p0輸出原碼,此時p0外部必須被拉高。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,當p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)

7、存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。 p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸出,由于外部下拉為低電平,它將輸出電流。rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間。at89c51單片機的外形及引腳排列說明如后頁圖示。at89c51單片機的外形及引腳排列如右圖。2. 74ls245芯片:74ls245能用來驅(qū)動led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。74ls245還具有雙向三態(tài)功能,

8、既可以輸出,也可以輸入數(shù)據(jù)。片選端ce非是低電平有效,數(shù)據(jù)傳輸控制口ab/ba非=“0”時,信號由 b 向 a 傳輸;反之當該口為高電平“1”輸入時,信號由 a 向 b 傳輸;當ce非端口為高電平時,a、b均為高阻態(tài),關(guān)斷數(shù)據(jù)傳輸。當8051單片機的p0口總線負載達到或超過p0最大負載能力時,必須接入74ls245作總線驅(qū)動器。引腳說明:aa總線端bb總線端oe非三態(tài)允許端 ab/ba非 方向控制端74ls245電路符號和內(nèi)部結(jié)構(gòu)圖: 3. 8×8led點陣8×8led點陣可作為信息輸出器件。它是由發(fā)光二極管陣列按8排8列的方式排列起來,由x和y引腳輸入的電信號對其進行選通

9、,使不同位置的二極管被點亮,相應(yīng)地顯示出文字或圖案等信息來。led點陣的元件符號及內(nèi)部結(jié)構(gòu)圖:設(shè)計原理:單片機利用外部晶振作為時鐘信號輸入,rst端口接入上電復位信號使它加電后自動進行復位操作。將要顯示的字符碼表編入單片機的程序中,由單片機控制時序輸出相應(yīng)的掃描數(shù)據(jù)和字符數(shù)據(jù)。行碼數(shù)據(jù)由單片機p0口輸出,經(jīng)一個雙向總線收發(fā)器控制傳輸方向后進入led點陣,點亮相應(yīng)的發(fā)光二極管。列碼掃描信號由p3口輸出后,直接輸入led點陣控制8列的掃描,每列選通時間為5ms,看上去就像8列同時顯示的效果一樣。加上行中相應(yīng)的led燈被點亮,就能看到顯示的字符了。l 電路原理原理框圖:雙向總線收發(fā)器時鐘輸入行碼數(shù)據(jù)

10、復位信號at89c518×8led點陣列碼掃描硬件設(shè)計原理圖:三、軟件設(shè)計流程及描述單片機在上電后能自動執(zhí)行一次復位操作,同時開始接收外部晶振的信號輸入。從程序中的列掃描序列中讀取列碼的地址,并從碼字表中反復讀取行碼的地址,由i/o口輸出信號對led點陣進行選通點亮,然后判斷拉幕次數(shù),顯示出相應(yīng)的字符來。顯示一幕后拉幕次數(shù)加1,再送新的幕次和行碼地址。程序流程圖如下所示。開始初始化端口設(shè)定掃描時間拉幕時序清0取列掃描地址取行數(shù)據(jù)地址數(shù)據(jù)輸出yes幕次數(shù)計滿?no幕次數(shù)加1送新的行碼地址四、設(shè)計調(diào)試過程將電路按原理圖連接好之后,把匯編程序編譯產(chǎn)生的十六進制文件下載到單片機內(nèi)。第一次做時

11、是在實驗箱上直接連接硬件電路,可是由于沒有74ls245雙向總線收發(fā)器,所以在led點陣和單片機i/o口之間就直接跳線連接了,因此沒有將電平上拉,結(jié)果在實驗箱上的led顯示屏無法顯示單片機輸出的結(jié)果,所有的led燈都不亮??磥碇苯犹€時單片機i/o口輸出的信號不足以驅(qū)動8乘8點陣工作。由于硬件條件的各種限制,因此本小組考慮改用軟件仿真的方法來實現(xiàn)電路的設(shè)計與調(diào)試。在pc機上運行proteus軟件,將電路原理圖中的元件找出并相應(yīng)地連接好線;在keil匯編軟件中輸入設(shè)計的程序,編譯通過后生成十六進制文件,并再把該文件下載到虛擬的at89c51單片機內(nèi)。因為單片機的rst引腳經(jīng)電容接到了vcc電源上

12、,同時并聯(lián)接地,所以系統(tǒng)可以上電后自動執(zhí)行一次復位操作。仿真開始。此時可能會看到led點陣中有字顯示的地方(前景)燈是滅的,無字顯示的地方(背景)燈是亮的,這種狀態(tài)叫做“陰文”顯示狀態(tài)。產(chǎn)生這種顯示的原因是因為點陣的列碼掃描信號線ah與單片機的p3.0p3.7口相應(yīng)的順序接反了,把對應(yīng)的接線順序倒過來,即可看到正確的“陽文”方式顯示出的數(shù)字。此顯示系統(tǒng)最終實現(xiàn)了將數(shù)字從0到9向左拉幕顯示的功能。部分顯示效果如圖。 五、源程序代碼r_cnt equ 31h;列碼r_nct=31h單元numb equ 32h;行碼numb=32h單元tcount equ 33h;拉幕計數(shù)值tcount=33h單元

13、org 00h;程序起始地址ljmp start org 0bh;中斷入口地址ljmp int_t0org 30h;子程序入口地址start:;主程序開始mov r0, #00h ;每列的行碼起始序號置0mov r_cnt, #00h;列:初值00送到31h單元mov numb, #00h;行:初值00送到32h單元mov tcount, #00h;計數(shù)單元初值置0mov tmod, #01h;計數(shù)定時器選用16位的計數(shù)器,工作在方式1mov th0, #(65536-5000)/256;定時5ms。定時器高位初值為236mov tl0, #(65536-5000) mod 256;定時器低位

14、初值為120setb tr0;啟動c/t的定時器t0mov ie, #82h;cpu開中斷sjmp $;中斷等待int_t0:mov th0, #(65536-5000)/256 ;定時5ms,設(shè)置定時器t0高位初值為236mov tl0, #(65536-5000)/256; 定時器t0低位初值為120mov dptr, #tab;讀列碼表首地址,放入dptrmov a, r_cnt;讀列碼偏移地址,放入a中movc a, a+dptr;基址變址尋址將尋到的列碼數(shù)據(jù)放入a中mov p3,a ;將列碼數(shù)據(jù)送p3口輸出mov dptr, #nub;裝入顯示數(shù)據(jù)的地址mov a, numb;顯示幕

15、次的偏移地址movc a, a+dptr;尋到數(shù)據(jù)的行碼地址mov p0, a ;將該地址值輸出inc numb;行碼地址加1next1:inc r_cnt ;掃描列碼地址加1mov a, r_cnt;把列地址放入a中cjne a, #8, next2;a不等于8,轉(zhuǎn)子程序next2,否則往下執(zhí)行mov r_cnt, #00h;就把列碼置0mov numb, r0;行碼地址送存儲單元格中next2:inc tcount;拉幕計數(shù)序號加1mov a, tcount;將幕次序號送a中cjne a, #40, next4;此序號不等于40轉(zhuǎn)next4,否則往下執(zhí)行mov tcount, #00h;把

16、拉幕時序歸0inc r0;行碼起始地址加1cjne r0, #88, next3;行碼自加次數(shù)不滿11字符×8行/字符=88行就轉(zhuǎn)next3mov r0, #00h;不然就把行碼置0next3:mov numb, r0;送新的一幕行碼起始位給r0next4:reti;中斷返回tab:;列碼碼表db 0feh, 0fdh, 0fbh, 0f7h, 0efh, 0dfh, 0bfh, 7fh;列掃描從右向左nub:;行碼碼表,字符數(shù)據(jù)db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h ;nulldb 00h, 00h, 3eh, 41h, 41h, 41h

17、, 3eh, 00h ; 0db 00h, 00h, 00h, 00h, 21h, 7fh, 01h, 00h ; 1db 00h, 00h, 27h, 45h, 45h, 45h, 39h, 00h ; 2db 00h, 00h, 22h, 49h, 49h, 49h, 36h, 00h ; 3db 00h, 00h, 0ch, 14h, 24h, 7fh, 04h, 00h ; 4db 00h, 00h, 72h, 51h, 51h, 51h, 4eh, 00h ; 5db 00h, 00h, 3eh, 49h, 49h, 49h, 26h, 00h ; 6db 00h, 00h, 40h

18、, 40h, 40h, 4fh, 70h, 00h ; 7db 00h, 00h, 36h, 49h, 49h, 49h, 36h, 00h ; 8db 00h, 00h, 32h, 49h, 49h, 49h, 3eh, 00h ; 9db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h ;nullend;結(jié)束匯編六、收獲體會在本項目完成的過程中,我們小組遇到了不少困難,不過基本都能順利解決。在全程設(shè)計制作的過程中學到了很多東西,對匯編語言有了更深刻的了解。有一些問題比較值得注意,比如在作品制作的初期,當時我們還不了解電路中所用芯片的要求與實驗箱上的硬件要求是否匹配,后來發(fā)現(xiàn)在實驗箱上沒有所用到的雙向總線收發(fā)器芯片,導致設(shè)計出的電路無法在實驗箱上進行硬件仿真測試;在軟件平臺上連線時,由于不知道8乘8 led顯示屏的引腳結(jié)構(gòu)而盲目接線,使顯示出的實驗結(jié)果和預期的不

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論