版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 數(shù)理與信息工程學(xué)院</b></p><p> 《單片機(jī)原理及應(yīng)用》期末課程設(shè)計</p><p> 題 目: 基于單片機(jī)的電子課程表系統(tǒng) </p><p> 專 業(yè): 計算機(jī)科學(xué)與技術(shù) </p><p> 班
2、級: 計算機(jī)072班 </p><p> 姓 名: </p><p> 學(xué) 號: </p><p> 指導(dǎo)老師: </p
3、><p> 成 績: </p><p> ( 2010.1 )</p><p><b> 目 錄</b></p><p> 第1節(jié) 引 言……………………………………………………………………………3</p><p> 1
4、.1 電子課表系統(tǒng)概述……………………………………………………………3</p><p> 1.2 本設(shè)計任務(wù)和主要內(nèi)容………………………………………………………4</p><p> 第2節(jié) 系統(tǒng)主要硬件電路設(shè)計………………………………………………………5</p><p> 2.1 單片機(jī)控制系統(tǒng)原理…………………………………………………………5<
5、/p><p> 2.2 單片機(jī)主機(jī)系統(tǒng)電路…………………………………………………………6</p><p> 2.2.1時鐘電路………………………………………………………………7</p><p> 2.3 七段數(shù)碼管顯示電路…………………………………………………………7</p><p> 2.4 LED顯示系統(tǒng)電路…………………………
6、…………………………………8</p><p> 2.5 漢字顯示硬件電路……………………………………………………………9</p><p> 第3節(jié) 系統(tǒng)軟件設(shè)計…………………………………………………………………10</p><p> 3.1 系統(tǒng)主程序設(shè)計………………………………………………………………10</p><p> 3
7、.2 漢字的點陣顯示原理及字庫代碼獲取方法…………………………………15</p><p> 第4節(jié) 結(jié)束語…………………………………………………………………………18</p><p> 參考文獻(xiàn)…………………………………………………………………………19</p><p> 附錄…………………………………………………………………………20</p>
8、<p> 基于單片機(jī)的電子課程表系統(tǒng)</p><p> 數(shù)理與信息工程學(xué)院 計算機(jī)科學(xué)與技術(shù) 梁姣</p><p> 指導(dǎo)教師:余水寶 </p><p><b> 引 言 </b></p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Pr
9、ogrammable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 </p><p> LED
10、因其體積小,耗電量低,高亮度及環(huán)保等優(yōu)點而被廣泛應(yīng)用于公共場所的大屏顯示上,LED點陣大屏可應(yīng)用于戶外廣告,交通導(dǎo)航,大廳公告,比賽的多媒體實時顯示等領(lǐng)域。學(xué)校新建體育館內(nèi)就置有大幅LED顯示,校運會時為賽事信息實時顯示提供了便捷。</p><p> 我們的課程設(shè)計是基于AT89C51單片機(jī),用16*16點陣顯示滾動的課程名稱,至于教室門口,可即時顯示該教室內(nèi)正在上的課程名稱,方便師生選擇合適的教室學(xué)習(xí)。所作的
11、點陣屏具有可移植性強(qiáng),功能簡單,可以簡單繼續(xù)添加更多相關(guān)功能的模型,也可以擴(kuò)展成多塊點陣屏的組合,以改良顯示效果。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高。</p><p> 1.1 電子課表系統(tǒng)概述 </p><p> 經(jīng)過一段時間的觀察,我們發(fā)現(xiàn),同學(xué)們上自習(xí)是經(jīng)常遇到一個問題。教室中有很多人,但不能確定里面是不是準(zhǔn)備要上課,能不能到里面去自習(xí)。有時候坐下沒多久剛剛進(jìn)入學(xué)習(xí)狀態(tài),就有人
12、進(jìn)來說此教室將被班級活動占用或臨時調(diào)整為上課教室。所以我們設(shè)想,能不能設(shè)計一個電子課表,放在每個教室的門口,顯示當(dāng)前在上的課程,并可以通過一定的按鍵來及時改變課程,以應(yīng)對臨時變化。我首先想到的是設(shè)計一種有控制終端的課程顯示系統(tǒng)。即每個教室門口都有一個電子課表,通過終端的控制完成所有課表的顯示。但后來發(fā)現(xiàn),以我們的能力做這樣的工作太過復(fù)雜,所以選擇了更容易的方式:單一的放在教室門口的電子課表,只顯示當(dāng)前的課程。于是現(xiàn)在的作品應(yīng)運而生。&l
13、t;/p><p> 發(fā)光二極管具有亮度高、體積小、單色性好、響應(yīng)速度快、驅(qū)動簡單、壽命長等優(yōu)點,LED顯示屏由發(fā)光二極管陣列構(gòu)成并通過一定的控制方式,用于顯示文字、圖像、行情等各種信息以及電視、錄像信號,由于由LED器件陣列組成的顯示屏幕成本低,安裝方便靈活,正受到社會各界尤其是商業(yè)界、廣告界的極大重視。在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用LED點陣顯示圖形和漢字。顯然,LED顯示已
14、成為城市亮化、現(xiàn)代化和信息化社會的一個重要標(biāo)志。</p><p> 本文基于單片機(jī)(AT89C51)講述了16×16 LED漢字點陣顯示的基本原理、硬件組成與設(shè)計、程序編譯與下載等基本環(huán)節(jié)和相關(guān)技術(shù),根據(jù)點陣屏和七段數(shù)碼管的基本原理,做出了方便實用的電子課表!</p><p> 本設(shè)計任務(wù)和主要內(nèi)容</p><p> 本課程設(shè)計的主要任務(wù)是以AT89
15、C51為核心芯片設(shè)計16 ×16 L ED 漢字點陣顯示電路。硬件電路主要由AT89C51 單片機(jī)控制器、L ED 顯示屏行列驅(qū)動電路以及L ED 點陣顯示屏,六位七段數(shù)碼管4 部分組成。通過漢字字模點陣數(shù)據(jù)批量生成軟件來實現(xiàn)漢字點陣,采用匯編語言對單片機(jī)進(jìn)行控制操作。完成實物電路并在Proteus 軟件的基礎(chǔ)上對結(jié)果進(jìn)行仿真,得到了漢字點陣效果圖。</p><p> 預(yù)計設(shè)計完成的電子課程表有如下功
16、能:</p><p> 1.實現(xiàn)LED點陣屏漢字名稱的滾動顯示。</p><p> 2.實現(xiàn)不通課程漢字名稱的自動切換。</p><p> 3.實現(xiàn)按鍵控制課程名稱的臨時更改。</p><p> 4.實現(xiàn)節(jié)日動畫的顯示。</p><p> 5.實現(xiàn)6位七段數(shù)碼管顯示時分秒。</p><p&
17、gt; 6.實現(xiàn)按鍵控制時間的調(diào)整。</p><p> 系統(tǒng)主要硬件電路設(shè)計</p><p><b> 2.1 組成框圖</b></p><p> 硬件設(shè)計思想:通過按鍵輸入控制信號,由單片機(jī)進(jìn)行處理,并將行列信號分別通過顯示驅(qū)動輸入點陣屏和數(shù)碼管,控制點陣和數(shù)碼管的顯示.</p><p> 圖2-1 電子
18、課表系統(tǒng)原理框圖</p><p> 圖2-2 系統(tǒng)主要硬件電路圖</p><p> 2.2 單片機(jī)主機(jī)系統(tǒng)電路</p><p> 本產(chǎn)品采用以AT89C51單片機(jī)為核心芯片的電路來實現(xiàn),主要由AT89C51芯片、時鐘電路、復(fù)位電路、列掃描驅(qū)動電路(74HCl54)、16×16LED點陣5部分組成,如圖2-1所示。</p><p&
19、gt; 其中,AT89C51單片機(jī)是51系列單片機(jī)的一個成員,是8051單片機(jī)的簡化版。內(nèi)部自帶2K字節(jié)可編程FLASH存儲器的低電壓、高性能COMS八位微處理器,與Intel MCS-51系列單片機(jī)的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲器結(jié)合在單個芯片中,因此,AT89C2051構(gòu)成的單片機(jī)系統(tǒng)是具有結(jié)構(gòu)最簡單、造價最低廉、效率最高的微控制系統(tǒng),省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節(jié)省了成本,提高
20、了系統(tǒng)的性價比。</p><p> 圖2-3 AT89C51引腳圖</p><p><b> 2.2.1時鐘電路</b></p><p> 時鐘電路由AT89C5l的18,19腳的時鐘端(XTAI l及XTAL2)以及12 MHz晶振X、電容C2、C3組成,采用片內(nèi)振蕩方式。復(fù)位電路采用簡易的上電復(fù)位電路,主要由電阻R,R2,電容C,開
21、關(guān)K組成,分別接至AT89C51的RST復(fù)位輸入端。</p><p> 2.3七段數(shù)碼管顯示電路</p><p> 用74HC164實現(xiàn)8路并口輸出的擴(kuò)展,占用單片機(jī)的兩個端口。程序控制PD6作為數(shù)據(jù)線,將一字節(jié)由高位到低位,依次輸出,輸出時先根據(jù)該位的數(shù)值置PD6為“1”或“0”,然后控制PA7輸出“1”,再輸出“0”,模擬時鐘信號,將PD6數(shù)據(jù)打入74HC164。循環(huán)移位8次后,將
22、1字節(jié)的數(shù)據(jù)由低位到高位串行輸入到74HC164中,即可在74hc164的輸出端得到并行的8位數(shù)據(jù),即七段數(shù)碼管的段碼值。</p><p> 用74LS138實現(xiàn)6路并口輸出的擴(kuò)展,將位選的段碼值依次打入74LS138,74LS138任一時刻只有一個輸出口輸出低電平,對應(yīng)的一位數(shù)碼管被選中,掃描6次后可以實現(xiàn)六位數(shù)碼管的顯示。電阻起限流的作用。</p><p> 該模塊可以實現(xiàn)時分秒的
23、顯示,補(bǔ)充并強(qiáng)化了電子課表的功能,為了節(jié)省單片機(jī)布局有些不合理的端口,用了兩處串入并出的擴(kuò)展。</p><p> 圖2-4六位七段數(shù)碼管顯示結(jié)構(gòu)圖</p><p><b> LED顯示系統(tǒng)電路</b></p><p> LED點陣顯示屏采用16×16共256個象素的點陣,可通過萬用表檢測發(fā)光二極管的方法測試判斷出該點陣的引腳分布
24、。我們把行列總線接在單片機(jī)的I/0口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入AT89C51單片機(jī),則需要使用32條I/0口,這樣會造成I/0口資源的耗盡,系統(tǒng)也再無擴(kuò)充的余地。因此,我們在實際應(yīng)用中只是將LED點陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由4—16線譯碼器74HCl54來選擇控制,這樣一來列選控制只使用了單片機(jī)的4個I/O口,節(jié)約了很多I/O口
25、資源,為單片機(jī)系統(tǒng)擴(kuò)充使用功能提供了條件??紤]到P0口必需設(shè)置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。</p><p> 漢字掃描顯示的基本過程是這樣的:通電后由于電阻R,電容c1的作用,使單片機(jī)的RST復(fù)位腳電平先高后低,從而達(dá)到復(fù)位;之后,在C、C3、X以及單片機(jī)內(nèi)部時鐘電路的作用下,單片機(jī)89C51按照設(shè)定的程序在P0和P2接口輸出與內(nèi)部漢字對應(yīng)的代碼電平送至LED點陣的行選線(高電平驅(qū)動),同
26、時在P1.1,P1.2,P1.3,P1.4接口輸出列選掃描信號(低電平驅(qū)動),從而選中相應(yīng)的象素LED發(fā)光,并利用人眼的視覺暫留特性合成整個漢字的顯示。再改變?nèi)”淼刂穼崿F(xiàn)漢字的滾動顯示。</p><p> 圖2-5 LED顯示原理框圖</p><p> 2.5 漢字顯示硬件電路</p><p> 本文所設(shè)計的目標(biāo)是在16 ×16 L ED 點陣上
27、實現(xiàn)漢字顯示。漢字點陣控制電路選用A T89C51 。硬件電路分為單片機(jī)控制器、L ED 顯示屏行列驅(qū)動電路、L ED 點陣顯示屏3 部分,完整的硬件電路如圖2-2 所示。選用4216 譯碼器74154 作為行選址邏輯控制端,A T89C51 的P0 、P2 口作為列數(shù)據(jù)輸入端。</p><p> 圖2-6 16*16LED漢字顯示仿真圖</p><p> 第3節(jié) 系統(tǒng)的軟件設(shè)
28、計</p><p> 軟件程序主要由開始、初始化、主程序、字庫組成。其中主程序的流程圖如圖2-7所示。</p><p> 圖2-7 漢字輸出流程圖</p><p> 3.1 系統(tǒng)主程序設(shè)計 </p><p><b> ORG 0000H</b></p><p> ST:
29、 MOV A,#0FFH ;初始化</p><p><b> MOV P1,A</b></p><p><b> MOV P2,A</b></p><p><b> MOV P3,A</b></p><p><b> MOV P0,A</b>&l
30、t;/p><p><b> CLR A</b></p><p> MOV R0,#50H ;顯示緩存清0</p><p> MOV R1,#20H ;控制清0的次數(shù)</p><p> ST0: MOV @R0,A</p><p><b> INC R0</b>&
31、lt;/p><p> DJNZ R1,ST0</p><p><b> ;正文顯示</b></p><p> CHINESE: MOV DPTR,#TAB1 ;查表指針指向TAB1</p><p><b> LCALL HZ</b></p><p><b>
32、;結(jié)束動畫</b></p><p><b> SCREE:</b></p><p> MOV DPTR,#TAB2;查表指針指向TAB2</p><p><b> ACALL DD</b></p><p> MOV DPTR,#TAB3;查表指針指向TAB3</p>
33、<p><b> ACALL DD</b></p><p> MOV DPTR,#TAB4;查表指針指向TAB4</p><p><b> ACALL DD</b></p><p> LJMP CHINESE</p><p> ;顯示8幅畫面子程序,SCREE專用,用字模軟件字
34、要倒置(表必須深256字節(jié))</p><p> DD: MOV B,#00H</p><p> MOV R0,#08H ;顯示8幅畫面</p><p><b> AJMP CC</b></p><p> CC0: MOV A,B</p><p> ADD A,#20H
35、;指向下一幅畫面</p><p><b> MOV B,A</b></p><p> CC: MOV R7,#08H ;畫面停留時間</p><p><b> MOV R3,B</b></p><p> MOV 37H,R0</p><p> LCALL
36、ENTER</p><p> DIS00: LCALL DISPLAY</p><p> DJNZ R7,DIS00</p><p> MOV R0,37H</p><p> DJNZ R0,CC0</p><p><b> RET</b></p><p>
37、 ;漢字上移子程序,可顯示8個漢字,(表必須深256字節(jié))</p><p> HZ: MOV R3,#00H ;查表偏移量</p><p> MOV R5,#81H ;查表128次</p><p> MOVBACK: MOV R4,#10H ;使顯示完一個漢字</p><p> MOVBACK0:MOV R7,#02H ;一
38、楨畫面顯示時間</p><p> MOV R0,#6DH ;低8位R0指向顯示緩存倒數(shù)第3個字節(jié),以備與最后1個字節(jié)交換</p><p> MOV R1,#6CH ;高8位R1指向顯示緩存倒數(shù)第4個字節(jié),以備與倒數(shù)第2個字節(jié)交換</p><p> MOV R2,#10H ;內(nèi)存后移的次數(shù)</p><p> DJNZ R5,MOVBAC
39、K1</p><p> RET ;顯示完該表,返回</p><p> MOVBACK1:MOV A,@R0 ;低8位被后移的內(nèi)存單元數(shù)據(jù)暫存入A</p><p> INC R0 ;后移兩字節(jié)</p><p><b> INC R0</b></p><p> MOV @R0,A ;放入要移
40、的低8位數(shù)據(jù)</p><p> MOV A,R0 ;R0指向下一個要后移的內(nèi)存單元</p><p> SUBB A,#04H</p><p><b> MOV R0,A</b></p><p> MOV A,@R1 ;高8位被后移的內(nèi)存單元數(shù)據(jù)暫存入A</p><p> INC R1 ;
41、后移兩字節(jié)</p><p><b> INC R1</b></p><p> MOV @R1,A ;放入要移高8位的數(shù)據(jù)</p><p> MOV A,R1 ;R1指向下一個要后移的內(nèi)存單元</p><p> SUBB A,#04H</p><p> MOV R1,A ;R1指向下一個要
42、后移的內(nèi)存單元</p><p> DJNZ R2,MOVBACK1 ;顯示緩存數(shù)據(jù)依次后移</p><p> MOV A,R3 ;從表TAB1讀入要移進(jìn)50H,51H的數(shù)據(jù)</p><p> MOVC A,@A+DPTR;先給50H讀數(shù)據(jù)</p><p><b> MOV 50H,A</b></p>
43、<p> MOV A,R3 ;指向下一字節(jié)</p><p><b> INC A</b></p><p><b> MOV R3,A</b></p><p> MOVC A,@A+DPTR;再給51H讀數(shù)據(jù)</p><p><b> MOV 51H,A</b&g
44、t;</p><p> MOV A,R3 ;指向下一字節(jié)</p><p><b> INC A</b></p><p><b> MOV R3,A</b></p><p> MOV 30H,R3 ;保護(hù)數(shù)據(jù)</p><p> MOV 31H,R4</p>
45、<p> MOV 32H,R5</p><p> DISMOV: LCALL DISPLAY ;顯示當(dāng)前數(shù)據(jù)</p><p> DJNZ R7,DISMOV</p><p> MOV R3,30H</p><p> MOV R4,31H</p><p> MOV R5,32H</p&g
46、t;<p> DJNZ R4,MOVBACK0</p><p> MOV 30H,R3 ;保護(hù)數(shù)據(jù)</p><p> MOV 32H,R5</p><p> MOV R7,#24H ;顯示當(dāng)前數(shù)據(jù)延時</p><p> DISMOV0: LCALL DISPLAY</p><p> DJNZ
47、R7,DISMOV0</p><p> MOV R3,30H</p><p> MOV R5,32H</p><p> LJMP MOVBACK</p><p> ;放進(jìn)一幅顯示數(shù)據(jù)到顯示緩存子程序,要先設(shè)好指針DPTR和R3,影響R1,R2,R3</p><p> ENTER: MOV R1,#50H
48、;從50H單元起把表存入</p><p> MOV R2,#20H ;查表次數(shù)</p><p><b> MOV A,R3</b></p><p> CLLOOP_: MOVC A,@A+DPTR ;查表</p><p> MOV @R1,A ;將表放進(jìn)5X,6X單元</p><p>
49、INC R1 ;R1指向下一個地址空間</p><p> MOV A,R3 ;查表指針后移</p><p><b> INC A</b></p><p> MOV R3,A ;將指針修改結(jié)果存入R3</p><p> DJNZ R2,CLLOOP_;沒查完轉(zhuǎn)CLLOOP_</p><p>
50、<b> RET</b></p><p> ;15MS,顯示子程序,一楨32個字節(jié),影響A,R0,R1,R3,R4,R5,R6;</p><p> ;http://www.51hei.com單片機(jī)網(wǎng)提供漢字取模工具,可顯示任意漢字</p><p> DISPLAY: MOV A,#0FFH</p><p><
51、;b> MOV P0,A</b></p><p><b> MOV P1,A</b></p><p><b> MOV P2,A</b></p><p><b> MOV P3,A</b></p><p><b> SETB C</b
52、></p><p> MOV R6,#7FH ;賦掃描字初值,左移后初值為0FEH</p><p> MOV R5,#00H ;列掃描低8位控制</p><p> MOV R0,#50H ;行的高8(p1)位要顯示的數(shù)據(jù)起始地址</p><p> MOV R1,#10H ;掃描次數(shù)</p><p> D
53、ISLOOP: MOV A,@R0 ;從內(nèi)存讀數(shù)據(jù)</p><p> MOV P2,#0FFH ;裝入數(shù)據(jù)時不顯示任何東西</p><p> MOV P3,#0FFH</p><p> CPL A ;數(shù)據(jù)取反以適合顯示</p><p> MOV P1,A ;送入行的高8(p1)位要顯示的數(shù)據(jù)</p><p>
54、 INC R0 ;修改R0指向低8位要顯示的數(shù)據(jù)</p><p> MOV A,@R0 ;讀低8位要顯示的數(shù)據(jù)</p><p> CPL A ;數(shù)據(jù)取反以適合顯示</p><p> MOV P0,A ;送入行的低8(p0)位要顯示的數(shù)據(jù)</p><p> INC R0 ;R0指向下一個高8(p0)位要顯示的數(shù)據(jù)</p>
55、<p> LCALL NEXT ;調(diào)用列掃描程序</p><p> LCALL DELAY1MS ;顯示延時</p><p> DJNZ R1,DISLOOP;一楨顯示完返回</p><p> MOV P3,#0FFH ;全滅</p><p><b> RET</b></p><p
56、> ;列掃描子程序DISLOOP專用</p><p> NEXT: JNC NEXT1 ;C=0轉(zhuǎn)掃描高8(p3)位行</p><p> MOV A,R6 ;修改掃描字</p><p><b> RL A</b></p><p><b> MOV R6,A</b></p&
57、gt;<p><b> INC R5</b></p><p> CJNE R5,#09H,NEXT0 ;R6=#0FEH時C=0</p><p> AJMP NEXT1</p><p> BACK: RET</p><p> NEXT0: MOV P2,R6 ;掃描低8(p2)位行<
58、;/p><p><b> AJMP BACK</b></p><p> NEXT1: MOV P2,#0FFH</p><p> MOV P3,R6 ;掃描高8(p3)位行</p><p> MOV A,R6 ;修改掃描字</p><p><b> RL A</b>
59、</p><p><b> MOV R6,A</b></p><p><b> AJMP BACK</b></p><p><b> ;延時1MS子程序</b></p><p> DELAY1MS:MOV R3,#10</p><p> D0:
60、 MOV R4,#50</p><p> D1: DJNZ R4,D1</p><p> DJNZ R3,D0</p><p><b> RET</b></p><p><b> TAB1:</b></p><p> DB 01FH,0F8H,0
61、01H,000H,07FH,0FEH,041H,004H,01DH,070H,001H,000H,01DH,070H,000H,000H</p><p> DB 01FH,0F0H,011H,010H,01FH,0F0H,011H,010H,01FH,0F2H,001H,002H,001H,002H,000H,0FEH;電</p><p> DB 000H,000H,03FH,0F0H
62、,000H,020H,000H,040H,000H,080H,001H,000H,001H,000H,001H,004H</p><p> DB 0FFH,0FEH,001H,000H,001H,000H,001H,000H,001H,000H,001H,000H,005H,000H,002H,000H;子 其余字略</p><p> ; 當(dāng)前所選字體下一個漢字對
63、應(yīng)的點陣為: 寬度x高度=16x16, 調(diào)整后為: 16x16</p><p><b> END</b></p><p> 3.2漢字的點陣顯示原理及字庫代碼獲取方法</p><p> 我們以UCDOS中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標(biāo)漢字庫中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個象素,而
64、把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256象素范圍內(nèi)的任何圖形。如查用8位的AT89C51單片機(jī)控制,由于單片機(jī)的總線由8位,一個字需要拆分為2個部分,如圖2-7所示</p><p> 圖2-7 漢字輸出點陣圖</p><p> 為了弄清楚漢字的點陣組成規(guī)律,首先通過列掃描方法獲取漢字的代碼。漢字可拆分為上部和下部,上部由8×16
65、點陣組成,下部也由8×16點陣組成。本例通過列掃描方法首先顯示左上角的第一列的上半部分,即第0列的P00~P07口,方向為P00到P07,顯示漢字“我”時,為全滅,第一列的下半部分也為全滅。第二列的上半部分P06、點亮,由上往下排列,為:PO.0滅,PO.1滅,P0.2滅PO.3滅,PO.4滅,P0.5滅,P0.6亮,P0.7滅。即二進(jìn)制00000010,轉(zhuǎn)換為十六進(jìn)制為02h。上半部第二列完成后,繼續(xù)掃描下半部的第二列,為了
66、接線的方便,我們?nèi)栽O(shè)計成由上往下掃描,即從P27向P20方向掃描,從圖3可以看到,這一列P23亮,即為00001000,十六進(jìn)制則為08h。依照這個方法轉(zhuǎn)向第三列、第四列,……,直至第十六列的掃描,一共掃描32個8位,可以得出漢字“我”的掃描代碼為: 00H,02H,08H,06H,28H,02H,24H,22H 0FCH,3FH,24H,2 1H,20H,10
67、H,3CH,08H 0E2H,07H,20H,0AH,0E4H,11H,0A8H</p><p> 圖2-8 字庫提取程序</p><p> 可見,漢字點陣顯示一般有點掃描、行掃描和列掃描3種。為了符合視覺暫留要求,點掃描方法的掃描頻率必須大于16×64—1 024 Hz,周期小于1 ms即可。行掃描和列掃描方法的掃描頻率必須大于16
68、×8一128 Hz,周期小于7.8 ms即可,但是一次驅(qū)動一列或一行(8顆LED)時需外加驅(qū)動電路提高電流,否則LED亮度會不足。</p><p><b> 結(jié) 束 語 </b></p><p> 首先,通過這次應(yīng)用系統(tǒng)設(shè)計,在很大程度上提高了自己的獨立思考能力和單片機(jī)的專業(yè)知識,也深刻了解寫一篇應(yīng)用系統(tǒng)的步驟和格式,有過這樣的一次訓(xùn)練,相信在接下來的日
69、子我們都會了,而且會做得更好。</p><p> 因為對期末將近自習(xí)教室管理混亂的狀況有所感觸,所以選擇了書寫這個系統(tǒng),如果設(shè)計一個電子課表,放在每個教室的門口,顯示當(dāng)前在上或者將要上的課程,并可以通過一定的按鍵來及時改變課程,以應(yīng)對臨時變化,一定可以給廣大復(fù)習(xí)學(xué)習(xí)的同學(xué)帶來便利,于是現(xiàn)在的作品應(yīng)運而生。</p><p> 雖然本設(shè)計只使用了一塊16×16 LED點陣,電路簡
70、單,但是已經(jīng)包涵了LED顯示屏的電路基本原理和基本程序,只要擴(kuò)展單片機(jī)的IO接口,并增加一些LED點陣和相關(guān)芯片,就能設(shè)計出更大面積、更多花樣的LED顯示屏。因此本文對同類設(shè)計具有一定的理論和實踐參考價值。</p><p> 我所寫的系統(tǒng)主要根據(jù)目前節(jié)水灌溉技術(shù)的發(fā)展趨勢和國內(nèi)實際的應(yīng)用特點和要求,采用了自動化的結(jié)構(gòu)形式,實現(xiàn)對土壤濕度的自動檢測和控制。</p><p> 系統(tǒng)基于單片
71、機(jī)(AT89C51)講述了16×16 LED漢字點陣顯示的基本原理、硬件組成與設(shè)計、程序編譯與下載等基本環(huán)節(jié)和相關(guān)技術(shù),根據(jù)點陣屏和七段數(shù)碼管的基本原理,做出了方便實用的電子課表!利用MCS51匯編語言編制,運行程序該系統(tǒng)的主要特點是:</p><p> 1) LED點陣屏漢字名稱的滾動顯示,醒目了然。</p><p> 2) 不通課程漢字名稱的自動切換,簡明易懂。</
72、p><p> 3) 按鍵控制課程名稱的臨時更改,為班會等班級活動臨時占用教室提供方便。</p><p> 4) 節(jié)日動畫的顯示,喜慶歡快,帶給同學(xué)們好心情。</p><p> 5) 6位七段數(shù)碼管顯示時分秒,以便老師和同學(xué)們隨時獲知準(zhǔn)確時間。</p><p> 6) 按鍵控制時間的調(diào)整,確保時間的準(zhǔn)確性。</p><p
73、> 另外,該系統(tǒng)適用性強(qiáng),成本低廉,操作非常簡單,在現(xiàn)實中的推廣使用具有十分重要的意義:</p><p><b> 參考文獻(xiàn)</b></p><p> [ 1 ] 王飛,靳桅,鄔芝權(quán). L ED 大屏幕輸出電路的優(yōu)化設(shè)計[J ] . 液晶與顯示, 2008 ,23 (1) :1022105.</p><p> [ 2 ] 劉飛,田
74、承雷. 單片機(jī)控制液晶顯示器[J ] . 礦業(yè)科學(xué)技術(shù),2005 , (2) :9212.</p><p> [ 3 ] 張平均,黃家駿. 點陣式液晶顯示模塊的旋轉(zhuǎn)式菜單設(shè)計[J ] . 液晶與顯示,2005 , 20 (4) :3422345.</p><p> [ 4 ] 陳偉鋒,高寶建,汪俊,等. 基于點陣圖形液晶模塊的多菜單設(shè)計[J ] . 液晶與顯示,2007 ,22 (5)
75、 :6342638.</p><p> [ 5 ] 鄭喜鳳,鄧春健,馮永茂,等. 一種實現(xiàn)L ED 顯示屏顯示信息的方法[J ] . 液晶與顯示,2007 ,22 (3) :3312335.</p><p> [ 6 ] 馮道寧,王念春. 地鐵列車L ED 顯示屏的設(shè)計[J ] . 液晶與顯示,2007 ,22 (1) :992103.</p><p> [
76、7 ] 吳金戌,沈慶陽,郭庭吉. 8051 單片機(jī)實踐與應(yīng)用[M] . 北京:清華大學(xué)出版社,2006 :15.</p><p> [ 8 ] 石長華,周杰. 基于Proteus 的單片機(jī)漢字點陣顯示設(shè)計與仿真[J ] . 景德鎮(zhèn)高專學(xué)報,2007 ,22 (4) :223.</p><p> [ 9 ] 鐘蔚,袁臣虎,林志貴,等. 點陣式L ED 滾動漢字顯示屏的Proteus 仿真
77、設(shè)計[J ] . 微計算機(jī)信息,2008 ,24 (622) :</p><p><b> 1062107.</b></p><p> [ 10 ] 陽進(jìn). 基于單片機(jī)的L ED 顯示屏的漢字顯示[J ] . 中國科技信息,2005 , (12) :112.</p><p><b> 附 錄</b></p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計-單片機(jī)課程設(shè)計---電子時鐘
- 單片機(jī)課程設(shè)計-- 基于51單片機(jī)的電子時鐘系統(tǒng)
- 單片機(jī)原理及系統(tǒng)課程設(shè)計--基于單片機(jī)的電子鬧鐘設(shè)計
- 單片機(jī)課程設(shè)計---基于單片機(jī)的電子琴設(shè)計
- 單片機(jī)課程設(shè)計—基于單片機(jī)的電子琴
- 單片機(jī)課程設(shè)計報告--基于單片機(jī)的電子時鐘
- 基于單片機(jī)的電子鬧鐘設(shè)計-單片機(jī)原理及系統(tǒng)課程設(shè)計報告
- 單片機(jī)課程設(shè)計--基于單片機(jī)的電子鐘的設(shè)計
- 基于單片機(jī)的電子密碼鎖設(shè)計 單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計--基于單片機(jī)的秒表系統(tǒng)設(shè)計
- 單片機(jī)課程設(shè)計---基于單片機(jī)的電子密碼鎖設(shè)計
- 單片機(jī)課程設(shè)計(電子鬧鐘)
- 單片機(jī)課程設(shè)計--基于單片機(jī)的數(shù)字電子鐘
- 單片機(jī)課程設(shè)計---基于51單片機(jī)的電子鐘設(shè)計
- 單片機(jī)課程設(shè)計---基于單片機(jī)的電子密碼鎖設(shè)計
- 單片機(jī)課程設(shè)計---基于單片機(jī)溫度測量系統(tǒng)設(shè)計
- 單片機(jī)課程設(shè)計--電子門鈴
- 單片機(jī)課程設(shè)計--電子秒表
- 單片機(jī)課程設(shè)計——電子秒表
- 單片機(jī)課程設(shè)計報告-- 基于單片機(jī)的電子時鐘設(shè)計
評論
0/150
提交評論