版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 信息技術系</b></p><p><b> 畢業(yè)設計論文</b></p><p> 題 目: 12864液晶顯示漢字 </p><p> 專 業(yè): 電子信息工程 </p><p
2、> 班 級: </p><p> 姓 名: </p><p> 學 號: </p><p> 指導老師
3、: </p><p> 20 年 月 日 </p><p><b> 目 錄</b></p><p><b> 摘要1 </b></p><p> 一、液晶顯示控制電路與程序方案設計2</p
4、><p> 1.1系統(tǒng)設計思路與框圖2</p><p> 1.2框圖模塊功能描述及技術指標分析3</p><p> 1.3 電路原理圖4</p><p> 1.4 相關芯片介紹5</p><p> 1.5程序主流程圖以及子流程圖7</p><p> 二、ST7920指令說明1
5、1</p><p> 三、具體功能程序及硬件實現(xiàn)15</p><p> 3.1主要功能程序實現(xiàn)14</p><p> 3.2實驗步驟17</p><p> 3.3畢業(yè)設計結果19</p><p> 3.4試驗中遇到的問題20</p><p> 四、總結與體會21</
6、p><p><b> 附錄22</b></p><p><b> 參考文獻25</b></p><p><b> 摘要</b></p><p> 因為漢字本身的特點,顯示漢字始終是計算機在我國應用普及的一個障礙。隨著單片機和顯示技術的發(fā)展,加上人們不滿足單片機系統(tǒng)采用L
7、ED數(shù)碼管的簡單顯示,利用單片機控制液晶顯示成為當前顯示系統(tǒng)的主流。本文主要介紹了89C51單片機為控制設備,液晶顯示器為顯示設備。實現(xiàn)的一個可以顯示漢字、字符和動態(tài)顯示漢字的液晶顯示器設備。通過漢字顯示程序的地址,接著運行相應的程序取漢字機內(nèi)碼和西文字符的ASCII碼,并在存儲器中進行尋址找出相對應的顯示代碼或漢字字模,提取后作為陣顯示信息送液晶顯示器顯示。再者通過按鍵控制可以實現(xiàn)顯示的漢字左右移動。利用液晶顯示器顯示漢字操作靈活,漢
8、字顯示果可以大大提高。</p><p> 關鍵詞 液晶顯示 點陣顯示 按鍵控制</p><p> Because of the characteristics of Chinese characters, displaying Chinese characters itself is always computer is applied in our count
9、ry popularity of an obstacle. With single-chip microcomputer and display technology development, and people don't satisfy SCM system using LED digital display, use simple tube of single-chip microcomputer control LCD
10、 display currently become the mainstream of the display system. This article mainly introduced the 89C51 of control equipment, LCD monitors for display</p><p> Keywords LCD dot matrix display button contr
11、ol</p><p> 一、 液晶顯示控制電路與程序方案設計</p><p> 1.1系統(tǒng)設計思路與框圖</p><p> 液晶顯示器YM12864R 的控制器ST7920 可以顯示字母、數(shù)字符號、中文字型及自定圖形顯示,只要一個最小的微處理系統(tǒng),將液晶顯示模塊的接口作為I/O 設備直接與之連接,就可以進行控制液晶顯示器和數(shù)據(jù)傳輸,從而達到理想的顯示效果。使用
12、P3 口給液晶顯示器提供控制信號,P0 口給液晶顯示器傳送數(shù)據(jù)。YM12864R 液晶顯示器的控制信號有PSB、RS、R/W、E,其中RS、R/W、E分別對應接在AT89C51 的P3.0、P3.1、P3.2、P2.3 上,在本次設計中采用并行接口,故PSB接高電平,而8位數(shù)據(jù)口DB0~ DB7對應接在P0 口上。背光燈的電源正極、液晶顯示器模塊的電源正極以及LCD 驅動電壓輸入端都接在+5V 的穩(wěn)壓電源上。背光燈負極和模塊的電源負極統(tǒng)
13、一接地。液晶顯示器模塊的復位腳連接開關按紐與地相連。選擇按鍵接高電平,即可實現(xiàn)單片機對液晶顯示漢字的控制。</p><p> 系統(tǒng)設計圖框如下圖2.1所示,主要由單片機的最小系統(tǒng)AT89C51、YM12864R 液晶顯示電路及外圍電路構成。</p><p> 圖2.1 系統(tǒng)設計框圖</p><p> 1.2框圖模塊功能描述及技術指標分析</p>
14、<p><b> 時鐘振蕩器模塊:</b></p><p> 利用晶體本身的特性,可以利用晶振與電容搭建振蕩電路與AT89C51引腳XTAL1及XTAL2相連,向單片機提供一個頻率定度較高的時鐘脈沖,具體連接見原理圖。</p><p><b> 開關復位電路模塊:</b></p><p> AT89C5
15、1 的復位引腳RST 外接開關復位電路,當電路工作后,閉合開關,只要在RST 引腳上出現(xiàn)2 個機器周期以上的高電平,單片機即可復位。若RST始終保持高電平,則可對AT89C51 循環(huán)復位。開關復位電路的組成如原理圖——電阻R2和開關S1串聯(lián)后與電容C3并聯(lián),然后與R1串聯(lián)對+5V電壓進行分壓,R1一端接地另一端接復位信號引腳RST。</p><p> AT89C51模塊:</p><p>
16、; 作為核心組成部件之一,AT89C51單片機給YM12864R液晶顯示提供控制信號和進行數(shù)據(jù)傳輸,從整體上實現(xiàn)液晶顯示控制。</p><p> AT89C51片內(nèi)ROM全都采用Flash ROM,具有在線編程可擦除技術,當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,不需要對芯片多次拔插,所以不會對芯片造成損壞。</p><p> AT89C51片內(nèi)具有計
17、算機正常運行所必需的部件,片外有很多供擴展用的(總線,并行和串行的輸入/輸出)管腳,便于擴展,很容易組成一定規(guī)模的計算機應用系統(tǒng)。具有豐富的控制指令,控制功能強。此外其體積小,功耗低,價格便宜。</p><p> YM12864R液晶顯示模塊:</p><p> YM12864R液晶顯示模塊,在其控制芯片ST7920調控下用來顯示最終結果。除顯示液晶塊外,還包含兩個重要外圍電路——開關
18、復位電路及電源控制電路,具體如原理圖所示。YM12684的復位引腳RET 外接開關復位電路,當開關閉合時,RET引腳接地,模塊復位;當開關斷開時,復位信號無效。此外,外接電源電路利用滑動變阻器分壓分別給YM12864R的電源地引腳VSS和LCD驅動電壓輸入端引腳V0供電。</p><p><b> 1.3 電路原理圖</b></p><p> 電路原理圖如圖2.2
19、所示,其中單片機AT89C51引腳P3.0-P3.2與YM12864R中RS、R/W、E的連接在圖中以網(wǎng)絡標簽的形式給出。此外,相較于系統(tǒng)設計框圖在液晶顯示模塊控制芯片的調控上,對復位引腳處以簡單開關復位電路控制,而電壓地VSS及LCD的操作電壓以變阻器控制。</p><p> 圖2.2 電路原理圖</p><p> 1.4 相關芯片介紹</p><p>&l
20、t;b> AT89C51:</b></p><p> AT89C51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結構,芯片內(nèi)集成了通用8位中央處理器和ISP Flash存
21、儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。AT89S51引腳圖如圖2.3,其內(nèi)部I/O部件包括:</p><p> 1、 四個8位通用I/O端口,對應引腳P0、P1、P2和P3; </p><p> 2、 兩個16位定時計數(shù)器;(TMOD,TCON,TL0,TH0,TL1,TH1)</p><p> 3、
22、 一個串行通信接口;(SCON,SBUF) </p><p> 4、 一個中斷控制器;(IE,IP)</p><p> 圖2.3 AT89C51引腳圖</p><p> 128X64HZ 引腳說明:</p><p> 引腳號 引腳名稱方向 功能說明</p><p> 1 VSS - 模塊的電源地</p
23、><p> 2 VDD - 模塊的電源正端</p><p> 3 V0 - LCD 驅動電壓輸入端</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 并
24、行的使能信號;串行的同步時鐘</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> 1
25、2 DB5 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
26、 H/L 復位低電平有效</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>
27、 電源地(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個中文漢字(
28、16*16點陣)、128個字符的ASCII字符庫(8*16點陣)及64*256點陣顯示RAM(GDRAM)。為了能夠簡單、有效地顯示漢字和圖形,該模塊內(nèi)部設計有2MB的中文字型CGROM和64*256點陣的GDRAM繪圖區(qū)域;同時,該模塊還提供有4組可編程控制的16*16點陣造字空間;除此之外,為了適應多種微處理器和單片機接口的需要,該模塊還提供了4位并行、8位并行、2線串行以及3線串行等多種接口方式。</p><p
29、> 利用上述功能可方便地實現(xiàn)漢字、ASCII碼、點陣圖形、自造字體的同屏顯示,所有這些功能(包括顯示RAM、字符產(chǎn)生器以及液晶驅動電路和控制器)都包含在集成電路芯片里,因此,只要一個最基本的微處理系統(tǒng)就可以通過ST7920芯片來控制其它的芯片。ST7920的主要技術參數(shù)和顯示特性如下:</p><p> 電源:VDD (-2.7~+5.5V)+5V(內(nèi)置升壓電路,一般無需負壓);</p>
30、<p> 功耗:正常模式: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&g
31、t; 與MCU接口:8位并行/3位串行;</p><p> 配置有LED背光顯示功能;</p><p> 帶有自動啟動復位按鈕(RESET);</p><p> 在對ST7920讀或寫時,會用到兩個8位的寄存器,一個是數(shù)據(jù)寄存器DR,另一個是指令寄存器IR。通過數(shù)據(jù)寄存器DR可以存取DDRAM、CGRAM、CGROM及IRAM的值。待存取的目標RAM的地址可
32、通過命令來選擇,每次數(shù)據(jù)寄存器DR的操作應以上次選擇的目標RAM為主體來進行讀出或寫入。通過RS和RW的狀態(tài)可以選擇不同的讀寫模式,具體配置方法如表1所列。</p><p> 表1 ST7920的寄存器讀寫狀態(tài)</p><p> 1.5程序主流程圖以及子流程圖</p><p> 整個程序除主函數(shù)外包含以下幾個子函數(shù): ST7920初始化、寫指令、寫數(shù)據(jù)、漢字顯
33、示、延時、按鍵控制子程序。ST7920初始化子函數(shù)用來完成液晶顯示模塊的初始化操作并設置顯示的方式及必要的參數(shù),為顯示操作做好必要的準備;寫指令函數(shù)向指令寄存器寫入不同的命令從而控制液晶顯示芯片的顯示。寫數(shù)據(jù)函數(shù)向數(shù)據(jù)寄存器寫入數(shù)據(jù)從而在液晶顯示屏上顯示相應的或字符字符或此外寫指令操作與寫數(shù)據(jù)操作的過程基本一致,區(qū)別在于寫狀態(tài)對RS及RW的狀態(tài)選擇不同;漢字顯示函數(shù)包含設置所要顯示的漢字或字符的顯示的地址,向顯示RAM(DDRAM)寫入
34、所要顯示漢字區(qū)碼的高八位及低八位三個操作,從而實現(xiàn)在液晶屏上顯示字符的功能;延時函數(shù)進行一定時間的等待,代替判斷忙標志函數(shù),使得上一個指令可以執(zhí)行完畢,液晶屏處于空閑狀態(tài),以便于執(zhí)行下一條指令;按鍵控制子程序是用按鍵控制單片機從而實現(xiàn)漢字的左右移動;漢字顯示主程序包含初始化和調用漢字顯示函數(shù)顯示漢字,判斷是或有按鍵安下而讓漢字移動,三個操作,其完成整個漢字送液晶顯示的調度。</p><p> 漢字顯示子函數(shù)流程
35、、ST7920初始化、寫指令、寫數(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為漢字顯示主流程,其完成整個漢字送液晶顯示的調度。</p><p> 2.8按鍵子程序 圖2.9 漢字顯示主流程</p><p
36、> 二、ST7920指令說明</p><p> ST7920的指令集包括基本指令和擴充指令,其中基本指令有11條,擴充指令有7條。每一個指令的長度都為8位。16×8點陣的ASCII字符代碼也是8位。但是16×16點陣中文字符的代碼為16位,必須分為兩次傳送,先傳送高8位,再傳送低8位。具體指令如下:</p><p><b> 1、清除顯示</
37、b></p><p><b> CODE: </b></p><p> 功能:清除顯示屏幕,把DDRAM 位址計數(shù)器調整為“00H”。</p><p><b> 2、位址歸位</b></p><p><b> CODE:</b></p><p&
38、gt; 功能:把DDRAM 位址計數(shù)器調整為“00H”,游標回原點,該功能不影響顯示DDRAM。</p><p><b> 3、進入設定點</b></p><p><b> CODE: </b></p><p> 功能:把DDRAM 位址計數(shù)器調整為“00H”,游標回原點,該功能不影響顯示DDRAM 功能:執(zhí)行該命
39、令后,所設置的行將顯示在屏幕的第一行。顯示起始行是由Z 地址計數(shù)器控制的,該命令自動將A0-A5 位地址送入Z 地址計數(shù)器,起始地址可以是0-63 范圍內(nèi)任意一行。Z 地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當掃描完一行后自動加一。</p><p> 4、顯示狀態(tài) 開/關</p><p><b> CODE:</b></p><p>
40、; 功能: D=1;整體顯示ON C=1;游標ON B=1;游標位置ON。</p><p> 5、游標或顯示移位控制</p><p><b> CODE: </b></p><p> 功能:設定游標的移動與顯示的移位控制位:這個指令并不改變DDRAM 的內(nèi)容。</p><p><b> 6、功能設定&
41、lt;/b></p><p><b> CODE: </b></p><p> 功能:DL=1(必須設為1) RE=1;擴充指令集動作 RE=0:基本指令集動作。</p><p> 7、設定CGRAM 位址</p><p><b> CODE:</b></p><p
42、> 功能:設定CGRAM 位址到位址計數(shù)器(AC)。</p><p> 8、設定DDRAM 位址</p><p><b> CODE:</b></p><p> 功能:設定DDRAM 位址到位址計數(shù)器(AC)。</p><p> 9、讀取忙碌狀態(tài)(BF)和位址。</p><p>&
43、lt;b> CODE: </b></p><p> 功能:讀取忙碌狀態(tài)(BF)可以確認內(nèi)部動作是否完成,同時可以讀出位址計數(shù)器(AC)的值。</p><p> 10、寫資料到RAM</p><p><b> CODE: </b></p><p> 功能:寫入資料到內(nèi)部的RAM(DDRAM/CG
44、RAM/TRAM/GDRAM)。</p><p> 11、讀出RAM 的值</p><p><b> CODE:</b></p><p> 功能:從內(nèi)部RAM 讀取資料(DDRAM/CGRAM/TRAM/GDRAM)。</p><p> 12、 待命模式(12H)</p><p><
45、b> CODE: </b></p><p> 功能:進入待命模式,執(zhí)行其他命令都可終止待命模式。</p><p> 13、卷動位址或IRAM 位址選擇(13H)</p><p><b> CODE:</b></p><p> 功能:SR=1;允許輸入卷動位址 SR=0;允許輸入IRAM 位址。
46、</p><p> 14、反白選擇(14H)</p><p><b> CODE:</b></p><p> 功能:選擇4 行中的任一行作反白顯示,并可決定反白的與否。</p><p> 15、睡眠模式(015H)</p><p><b> CODE: </b>&l
47、t;/p><p> 功能:SL=1;脫離睡眠模式 SL=0;進入睡眠模式。</p><p> 16、擴充功能設定(016H)</p><p><b> CODE: </b></p><p> 功能:RE=1;擴充指令集動作 RE=0;基本指令集動作 G=1;繪圖顯示ON G=0;繪圖顯示OFF。</p>
48、<p> 17、設定IRAM 位址或卷動位址(017H)</p><p><b> CODE: </b></p><p> 功能:SR=1;AC5~AC0 為垂直卷動位址 SR=0;AC3~AC0 寫ICONRAM 位。址</p><p> 18、設定繪圖RAM 位址(018H)</p><p>&l
49、t;b> CODE:</b></p><p> 功能:設定GDRAM 位址到位址計數(shù)器(AC)。</p><p> 當ST7920在接收指令前,MCU必須先確認ST7920處于空閑狀態(tài)。即讀取BF=0,才能接收新的指令;如果在送出一條指令前不檢查BF狀態(tài),則需要延時一段時間,確保上一條指令執(zhí)行完畢。"RE"是基本指令集與擴充指令集的選擇控制位,當
50、更改"RE"的狀態(tài)后,后續(xù)指令維持在最后狀態(tài)。除非再次更改"RE"狀態(tài),否則使用相同指令集時,無需要重新設置"RE"。</p><p> 三、具體功能程序及硬件實現(xiàn)</p><p> 3.1主要功能程序實現(xiàn)</p><p> 將要顯示的漢字及字符在YM12864R數(shù)據(jù)手冊中一一查出,定義于顯示數(shù)據(jù)數(shù)組
51、以便用于調用顯示。具體如下:</p><p><b> P2=0X00;</b></p><p><b> P2^1=key;</b></p><p> unsigned char mx[32] [2]= //定義漢字字符數(shù)組</p><p> {0xb3,0xa5,
52、 //第一行</p><p> 0xd4,0xbb, </p><p> 0x20,0x20,0xb5,0xe7, //第二行顯示數(shù)據(jù)</p><p> 0xd0,0x
53、c5,0xd2,0xbb,0xb0,0xe0,0xd0,0xa1, //電信一班小組畢</p><p> 0xd7,0xe0,0xb1,0xcf,</p><p> 0xd2,0xb5, //第三行顯示數(shù)據(jù)</p><p> 0xc9,0xe8,0xbc,0xc6,0xab,0xac,0xbb,0xb6,0xd3,
54、0xad,0xc0,0xcf, //業(yè)設計,歡迎老師</p><p> 0xca,0xa6, </p><p> 0xb2,0xce, //第四行顯示數(shù)據(jù)</p><p> 0xb9,0xdb,0xa1,0xa3,0xd6,0xb8,0xb5,0xbc,0xa1,0xa4,0x20,0x20, //參觀,指導。&l
55、t;/p><p> 0x20,0x20};</p><p> 通過改變RS和RW的狀態(tài)選擇不同的讀寫模式,定義寫指令及寫數(shù)據(jù)子函數(shù),以便調用來完成數(shù)據(jù)在液晶顯示器上的顯示,其中,通過延時調用來避開向液晶送數(shù)據(jù)的忙狀態(tài)。子函數(shù)定義如下:</p><p> void wcom(unsigned char d) //寫指令子函數(shù)</p><
56、p><b> {</b></p><p><b> delay(2);</b></p><p> RW=0;//寫選通</p><p> RS=0;//寫指令</p><p> P0=d;//將要寫的數(shù)據(jù)送給P1口</p>
57、<p> E=1;//使能有效</p><p> E=0;//關閉使能信號</p><p> delay(10);</p><p><b> }</b></p><p> void dat(unsigned char d) //寫數(shù)據(jù)子函數(shù)</p>
58、;<p><b> {</b></p><p> delay(2); </p><p> RS=1; //數(shù)據(jù)操作 </p><p> RW=0; //寫選通</p><p> P0=d; //將要寫的數(shù)據(jù)送給P1口</p>
59、<p> E=1; //使能有效</p><p> E=0; //關閉使能信號</p><p> delay(10);</p><p><b> }</b></p><p><b> 清屏以便重新顯示:</b></p><
60、;p> void clearlcd()//清屏</p><p><b> {</b></p><p> wcom(0x01);//清除顯示 </p><p><b> }</b></p><p> 對硬件端口及液晶顯示器初始化:</p>
61、<p> void init() //初始化子函數(shù)</p><p><b> {</b></p><p> E=0; //關閉使能信號</p><p> wcom(0x38); //功能設定</p><p> wcom(0x08); //關
62、顯示指令</p><p> wcom(0x06); //游標右移</p><p> wcom(0x0c); //開顯示指令</p><p> clearlcd();//清屏</p><p><b> }</b></p><p> 定義漢字顯示子
63、程序,以便調用向液晶顯示器送顯示數(shù)據(jù):</p><p> void hanzi (unsigned char w, unsigned char wb1,unsigned char wb2 ) </p><p> { wcom(w);//設置起始地址</p><p> dat(wb1);//數(shù)據(jù)送液晶顯示</p><
64、p><b> dat(wb2);</b></p><p><b> }</b></p><p> While(key)</p><p><b> {</b></p><p> Delay(); //去抖,延時
65、</p><p> While(key) //計算A的值</p><p><b> {</b></p><p><b> K++;</b></p><p><b> A=K;</b></p><p&
66、gt;<b> }</b></p><p> 編寫主函數(shù)以完成最終整個實現(xiàn)程序過程的調度:</p><p> void main()</p><p><b> { </b></p><p><b> int i;</b></p><p>
67、init(); //調用初始化函數(shù)進行初始化操作</p><p><b> while(1)</b></p><p><b> { </b></p><p> for(i=0;i<32;i++)</p><p><b> { </b></
68、p><p> hanzi(addr[i],mx[i][0],mx[i][1] );;//調用漢字顯示,向液晶送數(shù)據(jù)顯示</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>
69、;<b> 3.2實驗步驟</b></p><p> 完成硬件電路的設計及焊接</p><p> 完成軟件的設計并編寫具體程序</p><p><b> 1、新建工程 </b></p><p> 在菜單Project-New Project中新建工程my1.uv2;</p>
70、<p><b> 2、選擇CPU </b></p><p> 根據(jù)對話框選擇CPU類型(公司、型號等)本次課程設計采用 ATMEL公司的AT89S51,點擊確定按鈕后出現(xiàn)如下對話框,選擇“否”。</p><p><b> 3、新建文件 </b></p><p> 點擊File-New,新建文件,并保存為l
71、cm.c;</p><p><b> 4、添加源文件 </b></p><p> 點擊Project-Window中Target1文件夾右邊的“+”號,顯示子文件夾Source Group 1,選中Source Group 1文件夾并點擊鼠標“右鍵”,出現(xiàn)快捷菜單。點擊Add Files To Group ‘Source Group 1’,在對話框中完成源文件向工
72、程的添加。 </p><p> 添加完成后,在Project Workspace窗口的Source Group 1項前多了“+”號,點擊“+”號即可看到所添加的文件“l(fā)cm.c”</p><p><b> 5、編譯 </b></p><p> 用快捷按鈕Build target對工程進行編譯,在Output Window中有編譯提示信息,
73、可根據(jù)該信息對源文件進行修改。</p><p><b> 6、軟件仿真 </b></p><p> 點擊Strat/Stop Debug Session,可對程序進行設置斷點、單步、連續(xù)等執(zhí)行操作。</p><p> 7、HEX文件設置 </p><p><b> 調試 </b></p
74、><p> 調試主要分為硬件調試和軟件調試: </p><p> 硬件調試:主要是檢測硬件電路是否有短路、斷路、虛焊等。在焊接電路板的時候,應該從最基本的最小系統(tǒng)開始,分模塊,逐個進行焊接測試。在對各個硬件模塊進行測試時,要保證軟件正確的情況下去測試硬件,要不然發(fā)生錯誤時,不知道到底是哪一方出錯了。當然,在設計的過程中也存在著失誤和不足。具體步驟及測試結果如下:</p>&l
75、t;p> 1、檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導</p><p> 線是否完全連接,測試結果所有連接線都已連接好;</p><p> 2、單片機的晶振是否起振,用示波器觀察波形,測試結果波形都很好;</p><p> 3、檢查各芯片的功能是否正常,檢測按鍵的導通情況,測試結果正常。</p><p>&l
76、t;b> 軟件調試:</b></p><p> 軟件部分是先參考書上的例子,然后自己根據(jù)硬件電路寫程序,由于以前所學是C語言,所以這個系統(tǒng)在編寫程序過程中都采用C語言編寫。剛剛開始,編寫不會一次性通過,經(jīng)過仔細分析修改最后編譯成功。軟件調試主要是程序調試,將整個顯示程序按照實現(xiàn)功能分為各子模塊進行調試。 </p><p> ISPlay 1.3燒寫軟件使用 <
77、/p><p> 1、ISP JTAG硬件連接 </p><p> 將ISP JTAG分別與并口和目標板連接。</p><p> 2、ISPlay 1.3 JTAG類型設置(BYTEBLASTER II JTAG) </p><p><b> ?。?)、主界面 </b></p><p> 點擊
78、“ISPlay 1.3”快捷圖標,進入ISPlay 1.3軟件界面:</p><p><b> ?。?)、 設置 </b></p><p> 點擊程序界面左下角的“程序設置”按鈕,彈出“設置”對話框,點擊“<<”按鈕,選擇Alter_BYTEBLASTLE類型JTAG配置文件后打開。按“確定”按鈕后回到ISPlay1.3主界面,退出ISPlay 1.3程
79、序后重啟設置才有效。</p><p> 3、ISPlay 1.3使用 </p><p> 重啟ISPlay 1.3后即可對AT89S51/52單片機進行在系統(tǒng)(ISP)編程。</p><p> ?。?)、選擇芯片(AT89S51/AT89S52),按檢測按鈕,會提示檢測信息。</p><p> ?。?)、打開“文件”按鈕,載入所需燒寫的*
80、.hex文件。 </p><p> ?。?)、先“擦除”芯片原數(shù)據(jù),后“寫”數(shù)據(jù),寫完后可“讀”、“校驗”數(shù)據(jù)。 </p><p> 也可以在“設置”對話框中設定自動執(zhí)行流程。</p><p><b> 3.3畢業(yè)設計結果</b></p><p> 經(jīng)過一個多月的緊張作業(yè),我們不僅將實物電路圖焊接完畢,并經(jīng)仔細檢
81、查確定連接無誤,而且成功的將程序寫入來51單片機,并將其功能實現(xiàn),(即能顯示漢字,并能顯示符號,圖形,且能實現(xiàn)其的左右移動)。雖然有顯示時有閃動,經(jīng)過我們的再次修正,檢查,亦差不多將其解決。</p><p> 總的來說,這次畢業(yè)設計是成功的。</p><p> 3.4試驗中遇到的問題</p><p> 整個畢業(yè)設計中我們遇到如下問題:</p>&
82、lt;p><b> 1、器件方面.</b></p><p> 在為選課題之前,我們就很期待我們的畢業(yè)設計,當選好了這個題目后,我們便著手于課題的準備,從買元件器件,一回、兩回、做著做著發(fā)現(xiàn)有缺乏東西了,經(jīng)過幾番努力以及在實驗室伍老師的幫助下我們的元器件準備完備,我們也得以將實驗板子焊接好、外接電路連接好。</p><p><b> 2、課題資料方
83、面.</b></p><p> 書本知識是我們的主要來源、翻閱以前的書本、發(fā)掘大腦里面那殘留的記憶、一點一點的將知識復習、歸納、組合、然后將它們應用到課題中。</p><p> 互聯(lián)網(wǎng)也是我們資料的來源之一,它資源豐富,卻也讓我們絞盡腦汁、多方查找,網(wǎng)吧、實驗室、寢室、從百度、714e、51C51、hificat到各種論壇、求教電腦另一頭的高手、在為畢業(yè)設計做準備的同時也收
84、獲頗多、在專業(yè)知識得到鞏固的同時也結識了不少的良師益友。</p><p><b> 3.設計方面.</b></p><p> 仔細回憶,翻書查找51單片機的工作原理,上網(wǎng)查找液晶模塊的驅動,在實驗教繪制原理圖,并仿真,期間遇到的最大問題是所學的東西忘記了,一點一點的回憶,一條條的溫習,慢慢的我們在左右奔波中選好了元器件,焦頭爛額的繪制好了原理圖、然后修改、燒入、再
85、修改、再燒入,我們五人一起,共同作業(yè),逐條程序一一解讀、逐個錯誤一一修改、用什么方式、用什么定時器、漢字要往哪個方向移動,經(jīng)過我們的一一修改,漢字左右移動顯示終于實現(xiàn)成功。</p><p><b> 3.5總結與體會</b></p><p> 畢業(yè)設計已經(jīng)做好、實驗教里有我們太多,既有我們的喜悅的笑臉,也有我們失望的無賴,既有我們的愁眉苦臉,也有我們的喜笑顏開,淚
86、水與汗水交織在一起,并且將持續(xù)很長時間。一個多月的設計,使我們小組五人共同努力的結果,也是我們學有所成的一點見證吧。</p><p><b> 設計心得:</b></p><p> 1、 購置元件時要慎重選擇,充分考慮到其材料、特性、型號、適用范圍等方面。不要等實驗時出故障后在到處找原因,既浪費時間又耗費精力。而且購買材料之前要做好計劃,必要元件多準備幾份,避免
87、來回購買帶來的不便。</p><p> 2、 實驗最關鍵是要有耐心,有時實驗電路和程序并不能一次成功,所以要有良好的心理素質,有克服一切困難的勇氣,勇于尋找問題的根源,一次次反復的實驗,才能達到目的。這同時也是一個學習與進步的過程,可以幫助我們自主尋找問題的根源,自主學習尋找解決問題的辦法,最終實實在在地學到知識,提高本領,掌握技能。</p><p> 3、 要做好一個課程設計,最
88、最關鍵的還是要自己真正的掌握技術與理論知識,加上熟練的操作技術,和好的合作團隊,才能事半功倍。所以我們要積極主動地學習,并請教有關專業(yè)人士,以提高自己的能力。</p><p> 做畢業(yè)設計設計時我們五個人雖然投入很多時間和精力,但在動手操作的過程中我們提高了很多方面的能力,像動手操作、程序改錯、故障查找等,幾乎將我們大學三年的所學全部像過篩子一樣的過了一遍。及復習了以前的知識又在設計的同時開拓的自己的視野,真可
89、謂一舉多得。希望我們在以后的工作中能繼續(xù)保持這種緊張的氛圍,為自己的以后過得精彩而打算。</p><p> 管理方面的心得體會:</p><p> 1、 俗話說三個臭皮匠抵得上一個諸葛亮。我們這個小團隊中的每一個人都能將整個團隊的事當作自己的事來做,積極的出謀劃策,你一個計,我一個策,匯合在一起,我們的設計就成功了一半。</p><p> 2、 實驗的過程中,
90、任何一個人都不可能單獨的順利且高效地完成任務,團隊成員中的合理分工,可以充分發(fā)揮每個人的能力,也能大大提高整個團隊的工作效率。如硬件、軟件和論文等工作要根據(jù)個人擅長的情況進行分工,同時一個團隊最好能同時工作,或者經(jīng)常交流,做好不同部分之間的銜接工作,才能使整個實驗設計工作順利完成。</p><p> 3、 一個團隊的合作精神會創(chuàng)造很大的力量,因為我們快畢業(yè)了,在以后的路上肯定是在一個團隊里面生存,這也為我們即將
91、走出去做一個鋪墊吧。相信我們在這個五人小團隊里所解決的問題,我們在社會上碰到了也一樣的能從容的解決。</p><p> 生活就是這樣,汗水預示著結果也見證著收獲。勞動是人類生存生活永恒不變的話題。通過畢業(yè)設計,我又一次領略到“艱苦奮斗”這一詞的含義,讓我們帶著最真誠的心,走向我們的工作崗位走向明天,相信我們明天會更美好,同時也感謝我們的指導老師王老師給以我們的細心指導,原我們所有老師們心想事成。</p&g
92、t;<p><b> 附錄:</b></p><p> #include<reg51.h> //引用頭文件</p><p> #include<stdio.h></p><p> unsigned char mx[32][2]= //定義漢字字符的去碼數(shù)組
93、</p><p> {0xb3,0xa5, //第一行</p><p> 0xc9,0xb3,0xc4,0xce,0xb7,0xbd,0xb6,0xb0,0xd2,0xb5,0xd1,0xa7, //長沙南方職業(yè)學院</p><p> 0xd4,0xbb,
94、 </p><p> 0x20,0x20,0xb5,0xe7, //第二行顯示數(shù)據(jù)</p><p> 0xd0,0xc5,0xd2,0xbb,0xb0,0xe0,0xd0,0xa1, //電信一班小組畢</p><p> 0xd7,0xe0
95、,0xb1,0xcf,</p><p> 0xd2,0xb5, //第三行顯示數(shù)據(jù)</p><p> 0xc9,0xe8,0xbc,0xc6,0xab,0xac,0xbb,0xb6,0xd3,0xad,0xc0,0xcf, //業(yè)設計,歡迎老師</p><p> 0xca,0xa6, </p><
96、p> 0xb2,0xce, //第四行顯示數(shù)據(jù)</p><p> 0xb9,0xdb,0xa1,0xa3,0xd6,0xb8,0xb5,0xbc,0xa1,0xa4,0x20,0x20, //參觀,指導。</p><p> 0x20,0x20};</p><p> unsigned char addr[32]=
97、 //定義地址</p><p> {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,</p><p> 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
98、0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f};</p><p> sbit E=P3^2; //定義讀寫使能信號,高電平有效 </p><p> sbit RW=P3^1; //定義讀寫選擇信號,1為讀選通,0為寫選通</p><p> sbit RS=P3^0;
99、 //數(shù)據(jù)指令選擇信號,1為數(shù)據(jù)操作,0為寫指令或讀狀態(tài)</p><p> sbit P1^2=0xff;</p><p> sbit k1=P2^4;</p><p> void delay (int n) //延時子程序</p><p><b> { int j;</b><
100、/p><p> while(n--)</p><p><b> {</b></p><p> for(j=0;j<120;j++);</p><p> } </p><p><b> }</b></p><p>
101、void wcom(unsigned char d) //寫指令</p><p><b> {</b></p><p><b> delay(2);</b></p><p> RW=0;//寫選通</p><p> RS=0;//寫指令</p&
102、gt;<p> P0=d;//將要寫的數(shù)據(jù)送給P1口</p><p> E=1;//使能有效</p><p> E=0;//關閉使能信號</p><p> delay(10);</p><p><b> }</b></p><p&
103、gt; void dat(unsigned char d) //寫數(shù)據(jù)</p><p><b> {</b></p><p> delay(2); </p><p> RS=1; //數(shù)據(jù)操作 </p><p> RW=0; //寫選通</p>&
104、lt;p> P0=d; //將要寫的數(shù)據(jù)送給P1口</p><p> E=1; //使能有效</p><p> E=0; //關閉使能信號</p><p> delay(10);</p><p><b> }</b></p><
105、p> void clearlcd()//清屏</p><p><b> {</b></p><p> wcom(0x01);//清除顯示 </p><p><b> }</b></p><p> void init() //初始化子函
106、數(shù)</p><p><b> {</b></p><p> E=0; //關閉使能信號</p><p> wcom(0x38); //功能設定</p><p> wcom(0x08); //關顯示指令</p><p> wcom(0x06);
107、 //游標右移</p><p> wcom(0x0c); //開顯示指令</p><p> clearlcd();//清屏</p><p><b> }</b></p><p> void hanzi (unsigned char w, unsigned char wb1
108、,unsigned char wb2 ) </p><p> { wcom(w);//設置起始地址</p><p> dat(wb1);//數(shù)據(jù)送液晶顯示</p><p><b> dat(wb2);</b></p><p><b> }</b></p>
109、<p> void main()</p><p><b> { </b></p><p><b> int i;</b></p><p> init(); //調用初始化函數(shù)進行初始化操作</p><p><b> while(1)</b>
110、;</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] );//調用漢字顯示,向液晶送數(shù)據(jù)顯示</p>
111、<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 參考文獻</b></p><p> [1] 鐘承堯.嚴世勝. 單片機漢字顯示系統(tǒng)的設計[J]. 學術
112、探討應用技術與研究,2006:70-71.</p><p> [2] 深圳市耀宇科技有限公司.YM12864R 圖形點陣液晶顯示模塊使用手冊[EB/OL].</p><p> [3] 彭偉. 單片機C語言程序設計實訓100例:基于 8051+Proteus仿真 北京:電子工業(yè)出版社,2009.06</p><p> [4] 洪家平. 中文圖形顯示控制芯片ST7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計---12864液晶顯示漢字
- 畢業(yè)論文-液晶顯示模塊及其應用電路
- 測控技術與儀器 畢業(yè)論文范文——漢字液晶顯示屏應用與實踐
- 液晶顯示
- 液晶顯示85422
- 畢業(yè)設計---字符液晶顯示
- 單片機課程設計--漢字液晶顯示器顯示
- 液晶顯示原理
- 基于單片機的液晶顯示數(shù)字鐘設計【畢業(yè)論文】
- 畢業(yè)設計-lcd液晶顯示設計
- 通信工程畢業(yè)論文_基于fpga 的并行液晶顯示系統(tǒng)設計
- 液晶顯示資料3
- 液晶顯示器
- 外文翻譯--液晶顯示器玻璃基板或液晶顯示模塊
- 液晶顯示原理84750
- 液晶顯示原理84902
- 畢業(yè)設計---車載液晶顯示系統(tǒng)設計
- 液晶顯示屏介紹
- 鍵盤掃描與液晶顯示
- 單片機課設報告基于單片機的液晶顯示畢業(yè)論文
評論
0/150
提交評論