版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 計算機信息系</b></p><p><b> 畢業(yè)設(shè)計論文</b></p><p> 題 目: 12864液晶顯示漢字 </p><p> 專 業(yè): 電子信息工程 </p><
2、p> 班 級: </p><p> 姓 名: </p><p> 學(xué) 號: </p><p> 指導(dǎo)老師:
3、 </p><p> 20 年 月 日 </p><p><b> 目 錄</b></p><p><b> 摘要1</b></p><p><b> 一、引言2</b>&l
4、t;/p><p> 1.1 液晶模塊的國內(nèi)外研究現(xiàn)狀和發(fā)展動態(tài)2</p><p> 1.2 單片機的國內(nèi)外研究現(xiàn)狀和發(fā)展動態(tài)3</p><p> 1.3 基于單片機控制液晶顯示系統(tǒng)的設(shè)計任務(wù)摘要3</p><p> 1.4 系統(tǒng)設(shè)計要求摘要3</p><p> 1.5 系統(tǒng)設(shè)計思路摘要4</
5、p><p> 二、 液晶顯示控制電路與程序方案設(shè)計摘要4</p><p> 2.1系統(tǒng)設(shè)計思路與框圖4</p><p> 2.2框圖模塊功能描述及技術(shù)指標分析5</p><p> 時鐘振蕩器模塊:5</p><p> 2.3 電路原理圖摘要6</p><p> 2.4 相關(guān)芯片
6、介紹摘要7</p><p> 2.5程序主流程圖以及子流程圖10</p><p> 三、ST7920指令說明13</p><p> 四、具體功能程序及硬件實現(xiàn)16</p><p> 4.1主要功能程序?qū)崿F(xiàn)16</p><p> 4.2實驗步驟18</p><p> 4.3
7、畢業(yè)設(shè)計結(jié)果摘要20</p><p> 4.5總結(jié)與體會23</p><p><b> 參考文獻27</b></p><p><b> 摘要</b></p><p> 因為漢字本身的特點,顯示漢字始終是計算機在我國應(yīng)用普及的一個障礙。隨著單片機和顯示技術(shù)的發(fā)展,加上人們不滿足單片機系統(tǒng)
8、采用LED數(shù)碼管的簡單顯示,利用單片機控制液晶顯示成為當前顯示系統(tǒng)的主流。本文主要介紹了89C51單片機為控制設(shè)備,液晶顯示器為顯示設(shè)備。實現(xiàn)的一個可以顯示漢字、字符和動態(tài)顯示漢字的液晶顯示器設(shè)備。通過漢字顯示程序的地址,接著運行相應(yīng)的程序取漢字機內(nèi)碼和西文字符的ASCII碼,并在存儲器中進行尋址找出相對應(yīng)的顯示代碼或漢字字模,提取后作為陣顯示信息送液晶顯示器顯示。再者通過按鍵控制可以實現(xiàn)顯示的漢字左右移動。利用液晶顯示器顯示漢字操作靈
9、活,漢字顯示果可以大大提高。</p><p> 關(guān)鍵詞 液晶顯示 點陣顯示 按鍵控制</p><p><b> 一、引言</b></p><p> 在電子行業(yè)中,越來越多的產(chǎn)品開始重視人機信息交換的輸入輸出設(shè)備。其中高像素液晶屏也越來越被廣泛的采用。手機、GPS、PDA等電子設(shè)備均已使用320*240或更高像素的1
10、8位色屏幕。而目前大學(xué)生設(shè)計電子產(chǎn)品或畢業(yè)論文中常采用的顯示電路卻是LED數(shù)碼管,雖然LED顯示模塊結(jié)構(gòu)簡單,使用也比較方便,價格也很低廉。但是LED顯示效果不夠美觀,不能顯示圖形和漢字等數(shù)據(jù)。液晶顯示則彌補了這個缺點,因此液晶顯示模塊的應(yīng)用越來越廣泛。比如電子表、計算機、數(shù)碼相機、計算機的顯示器和液晶電視等。在現(xiàn)代的電子設(shè)計中,液晶顯示模塊應(yīng)用得越來越多。它是一種集成度比較高的顯示組件,它將液晶顯示器件、控制器、PCB電路板、背光源和
11、外部連接端口等組裝在一起,可以方便地用于需要液晶顯示的場合。它的英文名稱一般為“LCD Module”,可以簡稱LCM。</p><p> MCS-51單片機是美國INTE公司于1980年推出的產(chǎn)品,各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MCS-51單片機作為代表進行理論基礎(chǔ)學(xué)習(xí)。雖然目前51系列單片機已無法滿足目前某些功能或環(huán)境的要求,但是51系列的單片機仍然是最為成功的單片機芯片,它的影響力仍然延續(xù)到現(xiàn)在,以致于被
12、越來越多的人所熟悉。而從目前市場價格及普及程度等多方面因素考慮,決定采用AT89S52單片機作為顯示模塊的控制核心。</p><p> 1.1 液晶模塊的國內(nèi)外研究現(xiàn)狀和發(fā)展動態(tài)</p><p> 目前眾多電子類產(chǎn)品用于顯示功能常用到數(shù)碼管LED與液晶LCD。雖然數(shù)碼管LED的結(jié)構(gòu)簡單、顯示方便,但是功能比較單一,已無法滿足科技進步而產(chǎn)生的顯示要求。并且LED常用到動態(tài)顯示,在復(fù)雜的系
13、統(tǒng)中十分耗費系統(tǒng)資源,已逐漸被淘汰。而在液晶顯示模塊中,最主要的就是LCD液晶屏。根據(jù)LCD液晶屏顯示內(nèi)容的不同,液晶顯示模塊可以分為數(shù)顯液晶模塊、點陣字符液晶模塊和點陣圖型液晶模塊3種。(1)數(shù)顯液晶模塊中的顯示部件是段型LCD液晶顯示器件。其中為了使用的方便,還集成了專用的控制器和其他集成電路,其只能顯示數(shù)字以及一些標識符號。(2)點陣字符液晶模塊的顯示部件是點陣字符液晶顯示器件,同樣,集成有專用的行、列驅(qū)動器,控制器及必要的連接件
14、、結(jié)構(gòu)件。這種液晶模塊可以顯示數(shù)字和西文字符,功能有所提高,但是不能顯示圖形[1]。 (3)點陣圖型液晶模塊的液晶顯示器件是由連續(xù)的點陣像素構(gòu)成的。因此不僅可以顯示字符,而且可以顯示連續(xù)、完整的圖形。常見的型號有LCD1602,LCD12232,LCD12864等。LCD1602可以在LCD顯示屏上完整顯示32個英文字符和日文等一些字符,適合顯示英文文字信息量較小的地</p><p> 1.2 單片機的國內(nèi)外
15、研究現(xiàn)狀和發(fā)展動態(tài)</p><p> 目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機的主要發(fā)展趨勢: 低功耗CMOS化MCS-51系列的8031推出時的功耗達630mW,而現(xiàn)在的單片機普遍都在100mW左右,隨著對單片機功耗要求越來越低,現(xiàn)在的各個單片機制造商基本都采用了CMOS(互補金屬氧化物半導(dǎo)體工藝
16、)。象80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點,這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場合。所以這種工藝將是今后一段時期單片機發(fā)展的主要途徑。微型單片化現(xiàn)在常規(guī)的單片機普遍都是將中央處理器(CPU)、隨機存取數(shù)據(jù)存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信
17、接口,中斷系統(tǒng)、定時電路、時鐘電路集成在一塊單一的芯片上,增強型的單片機集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機將LCD(液晶)驅(qū)動電路都集成在單一的</p><p> 1.3 基于單片機控制液晶顯示系統(tǒng)的設(shè)計任務(wù)</p><p> 設(shè)計一款基于單片機AT89S51液晶滾動顯示系統(tǒng)。</p><p> 1.4 系統(tǒng)設(shè)計要求&
18、lt;/p><p> ?。?)通過單片機的控制使液晶進行滾動顯示學(xué)校。</p><p> ?。?)通過單片機的控制使液晶進行滾動顯示專業(yè)。</p><p> ?。?)通過單片機的控制使液晶進行滾動顯示姓名。</p><p> ?。?)通過單片機的控制使液晶進行滾動顯示學(xué)號。</p><p> 1.5 系統(tǒng)設(shè)計思路<
19、;/p><p> 根據(jù)系統(tǒng)設(shè)計要求,初步思路如下:</p><p> ?。?)通過單片機最小系統(tǒng)的控制使液晶進行滾動顯示。</p><p> ?。?)液晶模塊采用LCD12864。</p><p> (3)系統(tǒng)采用并口連接方式。</p><p> (4)通過驅(qū)動ST7920控制器使用其自帶字庫來提取所需文字。<
20、/p><p> 二、 液晶顯示控制電路與程序方案設(shè)計</p><p> 2.1系統(tǒng)設(shè)計思路與框圖</p><p> 液晶顯示器YM12864R 的控制器ST7920 可以顯示字母、數(shù)字符號、中文字型及自定圖形顯示,只要一個最小的微處理系統(tǒng),將液晶顯示模塊的接口作為I/O 設(shè)備直接與之連接,就可以進行控制液晶顯示器和數(shù)據(jù)傳輸,從而達到理想的顯示效果。使用P3 口給液
21、晶顯示器提供控制信號,P0 口給液晶顯示器傳送數(shù)據(jù)。YM12864R 液晶顯示器的控制信號有PSB、RS、R/W、E,其中RS、R/W、E分別對應(yīng)接在AT89C51 的P3.0、P3.1、P3.2、P2.3 上,在本次設(shè)計中采用并行接口,故PSB接高電平,而8位數(shù)據(jù)口DB0~ DB7對應(yīng)接在P0 口上。背光燈的電源正極、液晶顯示器模塊的電源正極以及LCD 驅(qū)動電壓輸入端都接在+5V 的穩(wěn)壓電源上。背光燈負極和模塊的電源負極統(tǒng)一接地。液晶
22、顯示器模塊的復(fù)位腳連接開關(guān)按紐與地相連。選擇按鍵接高電平,即可實現(xiàn)單片機對液晶顯示漢字的控制。</p><p> 系統(tǒng)設(shè)計圖框如下圖2.1所示,主要由單片機的最小系統(tǒng)AT89C51、YM12864R 液晶顯示電路及外圍電路構(gòu)成。</p><p> 圖2.1 系統(tǒng)設(shè)計框圖</p><p> 2.2框圖模塊功能描述及技術(shù)指標分析</p><p
23、><b> 時鐘振蕩器模塊:</b></p><p> 利用晶體本身的特性,可以利用晶振與電容搭建振蕩電路與AT89C51引腳XTAL1及XTAL2相連,向單片機提供一個頻率定度較高的時鐘脈沖,具體連接見原理圖。</p><p><b> 開關(guān)復(fù)位電路模塊:</b></p><p> AT89C51 的復(fù)位引
24、腳RST 外接開關(guān)復(fù)位電路,當電路工作后,閉合開關(guān),只要在RST 引腳上出現(xiàn)2 個機器周期以上的高電平,單片機即可復(fù)位。若RST始終保持高電平,則可對AT89C51 循環(huán)復(fù)位。開關(guān)復(fù)位電路的組成如原理圖——電阻R2和開關(guān)S1串聯(lián)后與電容C3并聯(lián),然后與R1串聯(lián)對+5V電壓進行分壓,R1一端接地另一端接復(fù)位信號引腳RST。</p><p> AT89C51模塊:</p><p> 作為核
25、心組成部件之一,AT89C51單片機給YM12864R液晶顯示提供控制信號和進行數(shù)據(jù)傳輸,從整體上實現(xiàn)液晶顯示控制。</p><p> AT89C51片內(nèi)ROM全都采用Flash ROM,具有在線編程可擦除技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。</p><p> AT89C51片內(nèi)具有計算機正常運行
26、所必需的部件,片外有很多供擴展用的(總線,并行和串行的輸入/輸出)管腳,便于擴展,很容易組成一定規(guī)模的計算機應(yīng)用系統(tǒng)。具有豐富的控制指令,控制功能強。此外其體積小,功耗低,價格便宜。</p><p> YM12864R液晶顯示模塊:</p><p> YM12864R液晶顯示模塊,在其控制芯片ST7920調(diào)控下用來顯示最終結(jié)果。除顯示液晶塊外,還包含兩個重要外圍電路——開關(guān)復(fù)位電路及電
27、源控制電路,具體如原理圖所示。YM12684的復(fù)位引腳RET 外接開關(guān)復(fù)位電路,當開關(guān)閉合時,RET引腳接地,模塊復(fù)位;當開關(guān)斷開時,復(fù)位信號無效。此外,外接電源電路利用滑動變阻器分壓分別給YM12864R的電源地引腳VSS和LCD驅(qū)動電壓輸入端引腳V0供電。</p><p><b> 2.3 電路原理圖</b></p><p> 電路原理圖如圖2.2所示,其中單
28、片機AT89C51引腳P3.0-P3.2與YM12864R中RS、R/W、E的連接在圖中以網(wǎng)絡(luò)標簽的形式給出。此外,相較于系統(tǒng)設(shè)計框圖在液晶顯示模塊控制芯片的調(diào)控上,對復(fù)位引腳處以簡單開關(guān)復(fù)位電路控制,而電壓地VSS及LCD的操作電壓以變阻器控制。</p><p> 圖2.2 電路原理圖</p><p> 2.4 相關(guān)芯片介紹</p><p><b>
29、; AT89C51:</b></p><p> AT89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能
30、強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51引腳圖如圖2.3,其內(nèi)部I/O部件包括:</p><p> 1、 四個8位通用I/O端口,對應(yīng)引腳P0、P1、P2和P3; </p><p> 2、 兩個16位定時計數(shù)器;(TMOD,TCON,TL0,TH0,TL1,TH1)</p><p> 3、 一個串行通
31、信接口;(SCON,SBUF) </p><p> 4、 一個中斷控制器;(IE,IP)</p><p> 圖2.3 AT89C51引腳圖</p><p> 128X64HZ 引腳說明:</p><p> 引腳號 引腳名稱方向 功能說明</p><p> 1 VSS - 模塊的電源地</p>
32、<p> 2 VDD - 模塊的電源正端</p><p> 3 V0 - LCD 驅(qū)動電壓輸入端</p><p> 4 RS(CS) H/L 并行的指令/數(shù)據(jù)選擇信號;串行的片選信號</p><p> 5 R/W(SID) H/L 并行的讀寫選擇信號;串行的數(shù)據(jù)口</p><p> 6 E(CLK) H/L 并行的使能信號
33、;串行的同步時鐘</p><p> 7 DB0 H/L 數(shù)據(jù)0</p><p> 8 DB1 H/L 數(shù)據(jù)1</p><p> 9 DB2 H/L 數(shù)據(jù)2</p><p> 10 DB3 H/L 數(shù)據(jù)3</p><p> 11 DB4 H/L 數(shù)據(jù)4</p><p> 12 DB5
34、H/L 數(shù)據(jù) 5</p><p> 13 DB6 H/L 數(shù)據(jù)6</p><p> 14 DB7 H/L 數(shù)據(jù)7</p><p> 15 PSB H/L 并/串行接口選擇:H-并行;L-串行</p><p><b> 16 NC 空腳</b></p><p> 17 /RET H/L 復(fù)
35、位低電平有效</p><p><b> 18 NC 空腳</b></p><p> 19 LED_A - 背光源正極(LED+5V)</p><p> 20 LED_K - 背光源負極(LED-OV)</p><p> 邏輯工作電壓(VDD):4.5~5.5V</p><p> 電源地(
36、GND):0V</p><p><b> 128X64引腳圖</b></p><p><b> ST7920:</b></p><p> ST7920是臺灣矽創(chuàng)電子公司生產(chǎn)的中文圖形控制芯片,它是一種內(nèi)置128*64-12漢字圖形點陣的液晶顯示控制模塊,用于顯示漢字及圖形。該芯片共內(nèi)置8192個中文漢字(16*16點
37、陣)、128個字符的ASCII字符庫(8*16點陣)及64*256點陣顯示RAM(GDRAM)。為了能夠簡單、有效地顯示漢字和圖形,該模塊內(nèi)部設(shè)計有2MB的中文字型CGROM和64*256點陣的GDRAM繪圖區(qū)域;同時,該模塊還提供有4組可編程控制的16*16點陣造字空間;除此之外,為了適應(yīng)多種微處理器和單片機接口的需要,該模塊還提供了4位并行、8位并行、2線串行以及3線串行等多種接口方式。</p><p>
38、利用上述功能可方便地實現(xiàn)漢字、ASCII碼、點陣圖形、自造字體的同屏顯示,所有這些功能(包括顯示RAM、字符產(chǎn)生器以及液晶驅(qū)動電路和控制器)都包含在集成電路芯片里,因此,只要一個最基本的微處理系統(tǒng)就可以通過ST7920芯片來控制其它的芯片。ST7920的主要技術(shù)參數(shù)和顯示特性如下:</p><p> 電源:VDD (-2.7~+5.5V)+5V(內(nèi)置升壓電路,一般無需負壓);</p><p&
39、gt; 功耗:正常模式:450μA,睡眠模式:3μA,低功耗模式:30μA;</p><p> 顯示內(nèi)容:128列*64行;</p><p><b> 顯示顏色:黃綠;</b></p><p> 顯示角度:6:00鐘直視;</p><p> LCD類型:STN;</p><p> 與M
40、CU接口:8位并行/3位串行;</p><p> 配置有LED背光顯示功能;</p><p> 帶有自動啟動復(fù)位按鈕(RESET);</p><p> 在對ST7920讀或?qū)憰r,會用到兩個8位的寄存器,一個是數(shù)據(jù)寄存器DR,另一個是指令寄存器IR。通過數(shù)據(jù)寄存器DR可以存取DDRAM、CGRAM、CGROM及IRAM的值。待存取的目標RAM的地址可通過命令來選
41、擇,每次數(shù)據(jù)寄存器DR的操作應(yīng)以上次選擇的目標RAM為主體來進行讀出或?qū)懭?。通過RS和RW的狀態(tài)可以選擇不同的讀寫模式,具體配置方法如表1所列。</p><p> 表1 ST7920的寄存器讀寫狀態(tài)</p><p> 2.5程序主流程圖以及子流程圖</p><p> 整個程序除主函數(shù)外包含以下幾個子函數(shù): ST7920初始化、寫指令、寫數(shù)據(jù)、漢字顯示、延時、按
42、鍵控制子程序。ST7920初始化子函數(shù)用來完成液晶顯示模塊的初始化操作并設(shè)置顯示的方式及必要的參數(shù),為顯示操作做好必要的準備;寫指令函數(shù)向指令寄存器寫入不同的命令從而控制液晶顯示芯片的顯示。寫數(shù)據(jù)函數(shù)向數(shù)據(jù)寄存器寫入數(shù)據(jù)從而在液晶顯示屏上顯示相應(yīng)的或字符字符或此外寫指令操作與寫數(shù)據(jù)操作的過程基本一致,區(qū)別在于寫狀態(tài)對RS及RW的狀態(tài)選擇不同;漢字顯示函數(shù)包含設(shè)置所要顯示的漢字或字符的顯示的地址,向顯示RAM(DDRAM)寫入所要顯示漢字
43、區(qū)碼的高八位及低八位三個操作,從而實現(xiàn)在液晶屏上顯示字符的功能;延時函數(shù)進行一定時間的等待,代替判斷忙標志函數(shù),使得上一個指令可以執(zhí)行完畢,液晶屏處于空閑狀態(tài),以便于執(zhí)行下一條指令;按鍵控制子程序是用按鍵控制單片機從而實現(xiàn)漢字的左右移動;漢字顯示主程序包含初始化和調(diào)用漢字顯示函數(shù)顯示漢字,判斷是或有按鍵安下而讓漢字移動,三個操作,其完成整個漢字送液晶顯示的調(diào)度。</p><p> 漢字顯示子函數(shù)流程、ST792
44、0初始化、寫指令、寫數(shù)據(jù)子函數(shù)流程、按鍵子程序流程圖分別如圖2.4、圖2.5、圖2.6、圖2.7及圖2.8所示。其中,圖2.6流程向ST7920寫各種操作指令,圖2.6流程向ST7920寫各種操作數(shù)據(jù),區(qū)別在于寫狀態(tài)對RS及RW的狀態(tài)選擇不同。圖2.9為漢字顯示主流程,其完成整個漢字送液晶顯示的調(diào)度。</p><p> 2.8按鍵子程序 圖2.9 漢字顯示主流程</p><p>
45、三、ST7920指令說明</p><p> ST7920的指令集包括基本指令和擴充指令,其中基本指令有11條,擴充指令有7條。每一個指令的長度都為8位。16×8點陣的ASCII字符代碼也是8位。但是16×16點陣中文字符的代碼為16位,必須分為兩次傳送,先傳送高8位,再傳送低8位。具體指令如下:</p><p><b> 1、清除顯示</b>&
46、lt;/p><p> 清除顯示(指令代碼為01H)</p><p><b> CODE:</b></p><p> 功能:清除顯示屏幕,把DDRAM 位址計數(shù)器調(diào)整為“00H”</p><p><b> 位址歸位(02H)</b></p><p><b> C
47、ODE:</b></p><p> 功能:把DDRAM 位址計數(shù)器調(diào)整為“00H”,游標回原點,該功能不影響顯示DDRAM</p><p> 點設(shè)定(07H/04H/05H/06H)</p><p><b> CODE:</b></p><p> 功能:設(shè)定光標移動方向并指定整體顯示是否移動。<
48、/p><p> I/D=1 光標右移,I/D=0 光標左移。</p><p> SH=1 且DDRAM 為寫狀態(tài):整體顯示移動,方向由I/D 決定(I/D=1 左移,I/D=0 右移)</p><p> SH=0 或DDRAM 為讀狀態(tài):整體顯示不移動</p><p> 顯示狀態(tài)開/關(guān)(08H/0CH/0EH/0FH)</p>
49、<p><b> CODE:</b></p><p> 功能: D=1;整體顯示ON C=1;游標ON B=1;游標位置ON</p><p> 游標或顯示移位控制(10H/14H/18H/1CH)</p><p><b> CODE:</b></p><p> 功能:10H/
50、14H:光標左/右移動;18H/1CH:整體顯示左右移動,光標跟隨移動,AC 值不變</p><p> 功能設(shè)定(36H/30H/34H)</p><p><b> CODE:</b></p><p> 功能:DL=1(必須設(shè)為1) RE=1;擴充指令集動作 RE=0:基本指令集動作</p><p> 設(shè)定CGR
51、AM 位址(40H-7FH)</p><p><b> CODE:</b></p><p> 功能:設(shè)定CGRAM 位址到位址計數(shù)器(AC)</p><p> 設(shè)定DDRAM 位址(80H-9FH)</p><p><b> CODE:</b></p><p> 功
52、能:設(shè)定 DDRAM 位址到位址計數(shù)器(AC)</p><p> 讀取忙碌狀態(tài)(BF)和位址(BF=1, 狀態(tài)忙)</p><p><b> CODE:</b></p><p> 功能:讀取忙碌狀態(tài)(BF)可以確認內(nèi)部動作是否完成,同時可以讀出位址計數(shù)器(AC)的值</p><p><b> 寫資料到R
53、AM</b></p><p><b> CODE:</b></p><p> 功能:寫入資料到內(nèi)部的 RAM(DDRAM/CGRAM/TRAM/GDRAM)</p><p><b> 讀出RAM 的值</b></p><p><b> CODE:</b>&l
54、t;/p><p> 功能:從內(nèi)部 RAM 讀取資料(DDRAM/CGRAM/TRAM/GDRAM)</p><p><b> 待命模式(01H)</b></p><p><b> CODE:</b></p><p> 功能:進入待命模式,執(zhí)行其他命令都可終止待命模式</p><
55、;p> 卷動位址或IRAM 位址選擇(02H/03H)</p><p><b> CODE:</b></p><p> 功能:SR=1;允許輸入卷動位址 SR=0;允許輸入IRAM 位址</p><p> 反白選擇(04H\05H)</p><p><b> CODE:</b><
56、;/p><p> 功能:選擇一、三行同時作反白顯示,或者二、四行同時作反白顯示</p><p> 睡眠模式(08H/0CH)</p><p><b> CODE:</b></p><p> 功能:SL=1;脫離睡眠模式 SL=0;進入睡眠模式</p><p> 擴充功能設(shè)定(36H/30H/
57、34H)</p><p><b> CODE:</b></p><p> 功能:RE=1;擴充指令集動作 RE=0;基本指令集動作 G=1;繪圖顯示ON G=0;繪圖顯示OFF</p><p> 設(shè)定IRAM 位址或卷動位址(40H-7FH)</p><p><b> CODE:</b>&l
58、t;/p><p> 功能:SR=1;AC5~AC0 為垂直卷動位址 SR=0;AC3~AC0 寫ICONRAM 位址</p><p> 設(shè)定繪圖RAM 位址(80H-FFH)</p><p><b> CODE:</b></p><p> 功能:設(shè)定 GDRAM 位址到位址計數(shù)器(AC)</p><
59、;p> 當ST7920在接收指令前,MCU必須先確認ST7920處于空閑狀態(tài)。即讀取BF=0,才能接收新的指令;如果在送出一條指令前不檢查BF狀態(tài),則需要延時一段時間,確保上一條指令執(zhí)行完畢。"RE"是基本指令集與擴充指令集的選擇控制位,當更改"RE"的狀態(tài)后,后續(xù)指令維持在最后狀態(tài)。除非再次更改"RE"狀態(tài),否則使用相同指令集時,無需要重新設(shè)置"RE&quo
60、t;。</p><p> 四、具體功能程序及硬件實現(xiàn)</p><p> 4.1主要功能程序?qū)崿F(xiàn)</p><p> 將要顯示的漢字及字符在YM12864R數(shù)據(jù)手冊中一一查出,定義于顯示數(shù)據(jù)數(shù)組以便用于調(diào)用顯示。具體如下:</p><p><b> P2=0X00;</b></p><p>&
61、lt;b> P2^1=key;</b></p><p> unsigned char mx[32] [2]= //定義漢字字符數(shù)組</p><p> {0xb3,0xa5, //第一行</p><p> 0xd4,0xbb,
62、 </p><p> 0x20,0x20,0xb5,0xe7, //第二行顯示數(shù)據(jù)</p><p> 0xd0,0xc5,0xd2,0xbb,0xb0,0xe0,0xd0,0xa1, //電信一班小組畢</p><p> 0xd7,0xe0,0xb
63、1,0xcf,</p><p> 0xd2,0xb5, //第三行顯示數(shù)據(jù)</p><p> 0xc9,0xe8,0xbc,0xc6,0xab,0xac,0xbb,0xb6,0xd3,0xad,0xc0,0xcf, //業(yè)設(shè)計,歡迎老師</p><p> 0xca,0xa6, </p><p>
64、; 0xb2,0xce, //第四行顯示數(shù)據(jù)</p><p> 0xb9,0xdb,0xa1,0xa3,0xd6,0xb8,0xb5,0xbc,0xa1,0xa4,0x20,0x20, //參觀,指導(dǎo)。</p><p> 0x20,0x20};</p><p> 通過改變RS和RW的狀態(tài)選擇不同的讀寫模式,定義寫指令及寫數(shù)據(jù)
65、子函數(shù),以便調(diào)用來完成數(shù)據(jù)在液晶顯示器上的顯示,其中,通過延時調(diào)用來避開向液晶送數(shù)據(jù)的忙狀態(tài)。子函數(shù)定義如下:</p><p> void wcom(unsigned char d) //寫指令子函數(shù)</p><p><b> {</b></p><p><b> delay(2);</b></p&g
66、t;<p> RW=0;//寫選通</p><p> RS=0;//寫指令</p><p> P0=d;//將要寫的數(shù)據(jù)送給P1口</p><p> E=1;//使能有效</p><p> E=0;//關(guān)閉使能信號</p>&
67、lt;p> delay(10);</p><p><b> }</b></p><p> void dat(unsigned char d) //寫數(shù)據(jù)子函數(shù)</p><p><b> {</b></p><p> delay(2); </p><
68、;p> RS=1; //數(shù)據(jù)操作 </p><p> RW=0; //寫選通</p><p> P0=d; //將要寫的數(shù)據(jù)送給P1口</p><p> E=1; //使能有效</p><p> E=0; //關(guān)閉使能信號</p&g
69、t;<p> delay(10);</p><p><b> }</b></p><p><b> 清屏以便重新顯示:</b></p><p> void clearlcd()//清屏</p><p><b> {</b></p>
70、<p> wcom(0x01);//清除顯示 </p><p><b> }</b></p><p> 對硬件端口及液晶顯示器初始化:</p><p> void init() //初始化子函數(shù)</p><p><b> {</b><
71、;/p><p> E=0; //關(guān)閉使能信號</p><p> wcom(0x38); //功能設(shè)定</p><p> wcom(0x08); //關(guān)顯示指令</p><p> wcom(0x06); //游標右移</p><p> wcom(0x0c);
72、 //開顯示指令</p><p> clearlcd();//清屏</p><p><b> }</b></p><p> 定義漢字顯示子程序,以便調(diào)用向液晶顯示器送顯示數(shù)據(jù):</p><p> void hanzi (unsigned char w, unsigned char w
73、b1,unsigned char wb2 ) </p><p> { wcom(w);//設(shè)置起始地址</p><p> dat(wb1);//數(shù)據(jù)送液晶顯示</p><p><b> dat(wb2);</b></p><p><b> }</b></p&g
74、t;<p> While(key)</p><p><b> {</b></p><p> Delay(); //去抖,延時</p><p> While(key) //計算A的值</p><p&g
75、t;<b> {</b></p><p><b> K++;</b></p><p><b> A=K;</b></p><p><b> }</b></p><p> 編寫主函數(shù)以完成最終整個實現(xiàn)程序過程的調(diào)度:</p><
76、p> void main()</p><p><b> { </b></p><p><b> int i;</b></p><p> init(); //調(diào)用初始化函數(shù)進行初始化操作</p><p><b> while(1)</b></
77、p><p><b> { </b></p><p> for(i=0;i<32;i++)</p><p><b> { </b></p><p> hanzi(addr[i],mx[i][0],mx[i][1] );;//調(diào)用漢字顯示,向液晶送數(shù)據(jù)顯示</p><
78、;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 4.2實驗步驟</b></p><p> 完成硬件電路的設(shè)計及焊接</p><p>
79、 完成軟件的設(shè)計并編寫具體程序</p><p><b> 1、新建工程 </b></p><p> 在菜單Project-New Project中新建工程my1.uv2;</p><p><b> 2、選擇CPU </b></p><p> 根據(jù)對話框選擇CPU類型(公司、型號等)本次課程設(shè)
80、計采用 ATMEL公司的AT89S51,點擊確定按鈕后出現(xiàn)如下對話框,選擇“否”。</p><p><b> 3、新建文件 </b></p><p> 點擊File-New,新建文件,并保存為lcm.c;</p><p><b> 4、添加源文件 </b></p><p> 點擊Projec
81、t-Window中Target1文件夾右邊的“+”號,顯示子文件夾Source Group 1,選中Source Group 1文件夾并點擊鼠標“右鍵”,出現(xiàn)快捷菜單。點擊Add Files To Group ‘Source Group 1’,在對話框中完成源文件向工程的添加。 </p><p> 添加完成后,在Project Workspace窗口的Source Group 1項前多了“+”號,點擊“+”號即
82、可看到所添加的文件“l(fā)cm.c”</p><p><b> 5、編譯 </b></p><p> 用快捷按鈕Build target對工程進行編譯,在Output Window中有編譯提示信息,可根據(jù)該信息對源文件進行修改。</p><p><b> 6、軟件仿真 </b></p><p>
83、 點擊Strat/Stop Debug Session,可對程序進行設(shè)置斷點、單步、連續(xù)等執(zhí)行操作。</p><p> 7、HEX文件設(shè)置 </p><p><b> 調(diào)試 </b></p><p> 調(diào)試主要分為硬件調(diào)試和軟件調(diào)試: </p><p> 硬件調(diào)試:主要是檢測硬件電路是否有短路、斷路、虛焊等。在焊
84、接電路板的時候,應(yīng)該從最基本的最小系統(tǒng)開始,分模塊,逐個進行焊接測試。在對各個硬件模塊進行測試時,要保證軟件正確的情況下去測試硬件,要不然發(fā)生錯誤時,不知道到底是哪一方出錯了。當然,在設(shè)計的過程中也存在著失誤和不足。具體步驟及測試結(jié)果如下:</p><p> 1、檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導(dǎo)</p><p> 線是否完全連接,測試結(jié)果所有連接線都已連接好
85、;</p><p> 2、單片機的晶振是否起振,用示波器觀察波形,測試結(jié)果波形都很好;</p><p> 3、檢查各芯片的功能是否正常,檢測按鍵的導(dǎo)通情況,測試結(jié)果正常。</p><p><b> 軟件調(diào)試:</b></p><p> 軟件部分是先參考書上的例子,然后自己根據(jù)硬件電路寫程序,由于以前所學(xué)是C語言,
86、所以這個系統(tǒng)在編寫程序過程中都采用C語言編寫。剛剛開始,編寫不會一次性通過,經(jīng)過仔細分析修改最后編譯成功。軟件調(diào)試主要是程序調(diào)試,將整個顯示程序按照實現(xiàn)功能分為各子模塊進行調(diào)試。 </p><p> ISPlay 1.3燒寫軟件使用 </p><p> 1、ISP JTAG硬件連接 </p><p> 將ISP JTAG分別與并口和目標板連接。</p&g
87、t;<p> 2、ISPlay 1.3 JTAG類型設(shè)置(BYTEBLASTER II JTAG) </p><p><b> (1)、主界面 </b></p><p> 點擊 “ISPlay 1.3”快捷圖標,進入ISPlay 1.3軟件界面:</p><p><b> ?。?)、 設(shè)置 </b>&l
88、t;/p><p> 點擊程序界面左下角的“程序設(shè)置”按鈕,彈出“設(shè)置”對話框,點擊“<<”按鈕,選擇Alter_BYTEBLASTLE類型JTAG配置文件后打開。按“確定”按鈕后回到ISPlay1.3主界面,退出ISPlay 1.3程序后重啟設(shè)置才有效。</p><p> 3、ISPlay 1.3使用 </p><p> 重啟ISPlay 1.3后即可
89、對AT89S51/52單片機進行在系統(tǒng)(ISP)編程。</p><p> ?。?)、選擇芯片(AT89S51/AT89S52),按檢測按鈕,會提示檢測信息。</p><p> ?。?)、打開“文件”按鈕,載入所需燒寫的*.hex文件。 </p><p> ?。?)、先“擦除”芯片原數(shù)據(jù),后“寫”數(shù)據(jù),寫完后可“讀”、“校驗”數(shù)據(jù)。 </p><
90、p> 也可以在“設(shè)置”對話框中設(shè)定自動執(zhí)行流程。</p><p><b> 4.3畢業(yè)設(shè)計結(jié)果</b></p><p> 經(jīng)過一個多月的緊張作業(yè),我們不僅將實物電路圖焊接完畢,并經(jīng)仔細檢查確定連接無誤,而且成功的將程序?qū)懭雭?1單片機,并將其功能實現(xiàn),(即能顯示漢字,并能顯示符號,圖形,且能實現(xiàn)其的左右移動)。雖然有顯示時有閃動,經(jīng)過我們的再次修正,檢查,
91、亦差不多將其解決。</p><p> 總的來說,這次畢業(yè)設(shè)計是成功的。</p><p> 4.4試驗中遇到的問題</p><p> 整個畢業(yè)設(shè)計中我們遇到如下問題:</p><p><b> 1、器件方面.</b></p><p> 在為選課題之前,我們就很期待我們的畢業(yè)設(shè)計,當選好了這
92、個題目后,我們便著手于課題的準備,從買元件器件,一回、兩回、做著做著發(fā)現(xiàn)有缺乏東西了,經(jīng)過幾番努力以及在實驗室伍老師的幫助下我們的元器件準備完備,我們也得以將實驗板子焊接好、外接電路連接好。</p><p><b> 2、課題資料方面.</b></p><p> 書本知識是我們的主要來源、翻閱以前的書本、發(fā)掘大腦里面那殘留的記憶、一點一點的將知識復(fù)習(xí)、歸納、組合、
93、然后將它們應(yīng)用到課題中。</p><p> 互聯(lián)網(wǎng)也是我們資料的來源之一,它資源豐富,卻也讓我們絞盡腦汁、多方查找,網(wǎng)吧、實驗室、寢室、從百度、714e、51C51、hificat到各種論壇、求教電腦另一頭的高手、在為畢業(yè)設(shè)計做準備的同時也收獲頗多、在專業(yè)知識得到鞏固的同時也結(jié)識了不少的良師益友。</p><p><b> 3.設(shè)計方面.</b></p>
94、;<p> 仔細回憶,翻書查找51單片機的工作原理,上網(wǎng)查找液晶模塊的驅(qū)動,在實驗教繪制原理圖,并仿真,期間遇到的最大問題是所學(xué)的東西忘記了,一點一點的回憶,一條條的溫習(xí),慢慢的我們在左右奔波中選好了元器件,焦頭爛額的繪制好了原理圖、然后修改、燒入、再修改、再燒入,我們五人一起,共同作業(yè),逐條程序一一解讀、逐個錯誤一一修改、用什么方式、用什么定時器、漢字要往哪個方向移動,經(jīng)過我們的一一修改,漢字左右移動顯示終于實現(xiàn)成功。
95、</p><p><b> 4.5總結(jié)與體會</b></p><p> 畢業(yè)設(shè)計已經(jīng)做好、實驗教里有我們太多,既有我們的喜悅的笑臉,也有我們失望的無賴,既有我們的愁眉苦臉,也有我們的喜笑顏開,淚水與汗水交織在一起,并且將持續(xù)很長時間。一個多月的設(shè)計,使我們小組五人共同努力的結(jié)果,也是我們學(xué)有所成的一點見證吧。</p><p><b&g
96、t; 設(shè)計心得:</b></p><p> 1、 購置元件時要慎重選擇,充分考慮到其材料、特性、型號、適用范圍等方面。不要等實驗時出故障后在到處找原因,既浪費時間又耗費精力。而且購買材料之前要做好計劃,必要元件多準備幾份,避免來回購買帶來的不便。</p><p> 2、 實驗最關(guān)鍵是要有耐心,有時實驗電路和程序并不能一次成功,所以要有良好的心理素質(zhì),有克服一切困難的勇
97、氣,勇于尋找問題的根源,一次次反復(fù)的實驗,才能達到目的。這同時也是一個學(xué)習(xí)與進步的過程,可以幫助我們自主尋找問題的根源,自主學(xué)習(xí)尋找解決問題的辦法,最終實實在在地學(xué)到知識,提高本領(lǐng),掌握技能。</p><p> 3、 要做好一個課程設(shè)計,最最關(guān)鍵的還是要自己真正的掌握技術(shù)與理論知識,加上熟練的操作技術(shù),和好的合作團隊,才能事半功倍。所以我們要積極主動地學(xué)習(xí),并請教有關(guān)專業(yè)人士,以提高自己的能力。</p&
98、gt;<p> 做畢業(yè)設(shè)計設(shè)計時我們五個人雖然投入很多時間和精力,但在動手操作的過程中我們提高了很多方面的能力,像動手操作、程序改錯、故障查找等,幾乎將我們大學(xué)三年的所學(xué)全部像過篩子一樣的過了一遍。及復(fù)習(xí)了以前的知識又在設(shè)計的同時開拓的自己的視野,真可謂一舉多得。希望我們在以后的工作中能繼續(xù)保持這種緊張的氛圍,為自己的以后過得精彩而打算。</p><p> 管理方面的心得體會:</p>
99、;<p> 1、 俗話說三個臭皮匠抵得上一個諸葛亮。我們這個小團隊中的每一個人都能將整個團隊的事當作自己的事來做,積極的出謀劃策,你一個計,我一個策,匯合在一起,我們的設(shè)計就成功了一半。</p><p> 2、 實驗的過程中,任何一個人都不可能單獨的順利且高效地完成任務(wù),團隊成員中的合理分工,可以充分發(fā)揮每個人的能力,也能大大提高整個團隊的工作效率。如硬件、軟件和論文等工作要根據(jù)個人擅長的情況進
100、行分工,同時一個團隊最好能同時工作,或者經(jīng)常交流,做好不同部分之間的銜接工作,才能使整個實驗設(shè)計工作順利完成。</p><p> 3、 一個團隊的合作精神會創(chuàng)造很大的力量,因為我們快畢業(yè)了,在以后的路上肯定是在一個團隊里面生存,這也為我們即將走出去做一個鋪墊吧。相信我們在這個五人小團隊里所解決的問題,我們在社會上碰到了也一樣的能從容的解決。</p><p> 生活就是這樣,汗水預(yù)示著結(jié)
101、果也見證著收獲。勞動是人類生存生活永恒不變的話題。通過畢業(yè)設(shè)計,我又一次領(lǐng)略到“艱苦奮斗”這一詞的含義,讓我們帶著最真誠的心,走向我們的工作崗位走向明天,相信我們明天會更美好,同時也感謝我們的指導(dǎo)老師xx老師給以我們的細心指導(dǎo),原我們所有老師們心想事成。</p><p><b> 參考文獻</b></p><p> [1] 鐘承堯.嚴世勝. 單片機漢字顯示系統(tǒng)的設(shè)
102、計[J]. 學(xué)術(shù)探討應(yīng)用技術(shù)與研究,2006:70-71.</p><p> [2] 深圳市耀宇科技有限公司.YM12864R 圖形點陣液晶顯示模塊使用手冊[EB/OL].</p><p> http://www.yaoyu-lcm.com.</p><p> [3] 彭偉. 單片機C語言程序設(shè)計實訓(xùn)100例:基于 8051+Proteus仿真 北京:電子工業(yè)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 液晶顯示漢字畢業(yè)論文
- 畢業(yè)設(shè)計---字符液晶顯示
- 畢業(yè)設(shè)計-lcd液晶顯示設(shè)計
- 畢業(yè)設(shè)計---車載液晶顯示系統(tǒng)設(shè)計
- 單片機課程設(shè)計--lcd12864液晶顯示
- msp430在12864液晶顯示屏上計數(shù)
- 液晶顯示器后殼模具畢業(yè)設(shè)計
- 單片機課程設(shè)計--漢字液晶顯示器顯示
- 液晶顯示
- 液晶顯示85422
- 1602液晶顯示仿真設(shè)計
- 1602液晶顯示仿真設(shè)計
- 液晶顯示原理
- [5] 遠飛.基于單片機和MGLS12864顯示模塊的液晶顯示系統(tǒng)設(shè)計.pdf
- 液晶顯示課程設(shè)計報告
- 液晶顯示資料3
- 液晶顯示器
- 液晶顯示終端與單片機接口的研究畢業(yè)設(shè)計
- 外文翻譯--液晶顯示器玻璃基板或液晶顯示模塊
- 51單片機1602液晶顯示頻率計畢業(yè)設(shè)計
評論
0/150
提交評論