液晶顯示控制電路與程序_第1頁
液晶顯示控制電路與程序_第2頁
液晶顯示控制電路與程序_第3頁
液晶顯示控制電路與程序_第4頁
液晶顯示控制電路與程序_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄一、 選題分析1二、 液晶顯示控制電路與程序方案設(shè)計22.1系統(tǒng)設(shè)計思路與框圖22.2框圖模塊功能描述及技術(shù)指標分析32.3 電路原理圖42.4 相關(guān)芯片介紹52.5程序主流程圖以及子流程圖7三、ST7920指令說明10四、具體功能程序及硬件實現(xiàn)144.1主要功能程序?qū)崿F(xiàn)144.2實驗步驟174.3硬件電路實現(xiàn)與顯示結(jié)果194.4試驗中遇到的問題20五、總結(jié)與體會21參考文獻22附錄2326 一、 選題分析題目:液晶顯示控制電路與程序設(shè)計內(nèi)容:完成單片機液晶接口的電路和程序設(shè)計,實現(xiàn)文本顯示功能。(1)液晶顯示器為圖形點陣液晶,型號YM12864R,控制芯片為ST7920(2)正確連接液晶

2、顯示器與單片機(3)編寫液晶顯示控制程序,顯示如下內(nèi)容:分析:隨著計算機及相關(guān)的微電子光電子技術(shù)的迅猛發(fā)展,液晶顯示模塊在各種場合得到了越來越廣泛的應(yīng)用。目前,液晶顯示主要有段式和點陣式兩種,其中,點陣式更為廣泛,其又可分為文本型顯示和圖形型顯示。YM12864R作為漢字圖形點陣液晶顯示模塊,可以顯示漢字及圖形,內(nèi)置8192 個中文漢字、128 個字符及64X256點陣顯示RAM,另外還提供四組16×16 點的自定義圖像空間。YM12864R采用的控制芯片為ST7920,它是一種內(nèi)置128×64 漢字圖形點陣的液晶顯示控制模塊, ST7920 系列芯片由于內(nèi)置了漢字庫而無須

3、人工取字模,在程序控制上簡潔明。為完成YM12864R控制和數(shù)據(jù)傳輸,單片機最小系統(tǒng)選擇AT89S51,因為AT89S51片內(nèi)ROM全都采用Flash ROM,具有在線編程可擦除技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。綜上,硬件電路搭建可由YM12864R 液晶顯示電路、單片機的最小系統(tǒng)AT89S51、及外圍電路構(gòu)成。二、 液晶顯示控制電路與程序方案設(shè)計2.1系統(tǒng)設(shè)計思路與框圖液晶顯示器YM12864R 的控制器ST7920 可以顯示字母、數(shù)字符號、中文字型及自定圖形顯示,只要一個最小的微處理系統(tǒng),將液晶顯示

4、模塊的接口作為I/O 設(shè)備直接與之連接,就可以進行控制液晶顯示器和數(shù)據(jù)傳輸,從而達到理想的顯示效果。使用P3 口給液晶顯示器提供控制信號,P0 口給液晶顯示器傳送數(shù)據(jù)。YM12864R 液晶顯示器的控制信號有PSB、RS、R/W、E,其中RS、R/W、E分別對應(yīng)接在AT89S51 的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)一接地。液晶顯示器模塊的復(fù)位腳連接開關(guān)按紐與地相連。即可實

5、現(xiàn)單片機對液晶顯示漢字的控制。系統(tǒng)設(shè)計圖框如下圖2.1所示,主要由單片機的最小系統(tǒng)AT89S51、YM12864R 液晶顯示電路及外圍電路構(gòu)成。圖2.1 系統(tǒng)設(shè)計框圖2.2框圖模塊功能描述及技術(shù)指標分析時鐘振蕩器模塊:利用晶體本身的特性,可以利用晶振與電容搭建振蕩電路與AT89S51引腳XTAL1及XTAL2相連,向單片機提供一個頻率穩(wěn)定度較高的時鐘脈沖,具體連接見原理圖。此外,采用24M晶振獲得較高的刷新率,可使屏幕顯示更穩(wěn)定。開關(guān)復(fù)位電路模塊:AT89S51 的復(fù)位引腳RST 外接開關(guān)復(fù)位電路,當電路工作后,閉合開關(guān),只要在RST 引腳上出現(xiàn)2 個機器周期以上的高電平,單片機即可復(fù)位。若R

6、ST始終保持高電平,則可對AT89S51 循環(huán)復(fù)位。開關(guān)復(fù)位電路的組成如原理圖電阻R2和開關(guān)S1串聯(lián)后與電容C3并聯(lián),然后與R1串聯(lián)對+5V電壓進行分壓,R1一端接地另一端接復(fù)位信號引腳RST。AT89S51模塊:作為核心組成部件之一,ATS8951單片機給YM12864R液晶顯示提供控制信號和進行數(shù)據(jù)傳輸,從整體上實現(xiàn)液晶顯示控制。AT89S51片內(nèi)ROM全都采用Flash ROM,具有在線編程可擦除技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。AT89S51片內(nèi)具有計算機正常運行所必需的部件,片外有很多供擴展用

7、的(總線,并行和串行的輸入/輸出)管腳,便于擴展,很容易組成一定規(guī)模的計算機應(yīng)用系統(tǒng)。具有豐富的控制指令,控制功能強。此外其體積小,功耗低,價格便宜。YM12864R液晶顯示模塊:YM12864R液晶顯示模塊,在其控制芯片ST7920調(diào)控下用來顯示最終結(jié)果。除顯示液晶塊外,還包含兩個重要外圍電路開關(guān)復(fù)位電路及電源控制電路,具體如原理圖所示。YM12684的復(fù)位引腳RET 外接開關(guān)復(fù)位電路,當開關(guān)閉合時,RET引腳接地,模塊復(fù)位;當開關(guān)斷開時,復(fù)位信號無效。此外,外接電源電路利用滑動變阻器分壓分別給YM12864R的電源地引腳VSS和LCD驅(qū)動電壓輸入端引腳V0供電。2.3 電路原理圖電路原理圖

8、如圖2.2所示,其中單片機AT89S51引腳P3.0-P3.2與YM12864R中RS、R/W、E的連接在圖中以網(wǎng)絡(luò)標簽的形式給出。此外,相較于系統(tǒng)設(shè)計框圖在液晶顯示模塊控制芯片的調(diào)控上,對復(fù)位引腳處以簡單開關(guān)復(fù)位電路控制,而電壓地VSS及LCD的操作電壓以變阻器控制。外接電源電路時鐘振蕩器開關(guān)復(fù)位電路圖2.2 電路原理圖2.4 相關(guān)芯片介紹AT89S51:AT89S51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼

9、容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51引腳圖如圖2.3,其內(nèi)部I/O部件包括:1、 四個8位通用I/O端口,對應(yīng)引腳P0、P1、P2和P3; 2、 兩個16位定時計數(shù)器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、 一個串行通信接口;(SCON,SBUF)4、 一個中斷控制器;(IE,IP)圖2.3 AT89S51引腳圖ST7920:【4】ST7920是臺灣矽創(chuàng)電子公司生產(chǎn)的中文圖形控制芯片,它是一種內(nèi)置128*

10、64-12漢字圖形點陣的液晶顯示控制模塊,用于顯示漢字及圖形。該芯片共內(nèi)置8192個中文漢字(16*16點陣)、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線串行等多種接口方式。利用上述功能可方便地實現(xiàn)漢字、ASCII碼、點陣圖形、自造字體的同屏顯示,所有這些功能(包括顯示RA

11、M、字符產(chǎn)生器以及液晶驅(qū)動電路和控制器)都包含在集成電路芯片里,因此,只要一個最基本的微處理系統(tǒng)就可以通過ST7920芯片來控制其它的芯片。ST7920的主要技術(shù)參數(shù)和顯示特性如下:電源:VDD (2.75.5V)5V(內(nèi)置升壓電路,一般無需負壓);功耗:正常模式:450A,睡眠模式:3A,低功耗模式:30A;顯示內(nèi)容:128列*64行;顯示顏色:黃綠;顯示角度:6:00鐘直視;LCD類型:STN;與MCU接口:8位并行/3位串行;配置有LED背光顯示功能;帶有自動啟動復(fù)位按鈕(RESET);在對ST7920讀或?qū)憰r,會用到兩個位的寄存器,一個是數(shù)據(jù)寄存器DR,另一個是指令寄存器IR。通過數(shù)據(jù)

12、寄存器DR可以存取DDRAM、CGRAM、CGROM及IRAM的值。待存取的目標RAM的地址可通過命令來選擇,每次數(shù)據(jù)寄存器DR的操作應(yīng)以上次選擇的目標RAM為主體來進行讀出或?qū)懭?。通過RS和RW的狀態(tài)可以選擇不同的讀寫模式,具體配置方法如表1所列。表1 ST7920的寄存器讀寫狀態(tài)RSRW功能說明低電平0低電平0MPU 寫指令到指令寄存器IR低電平0高電平1讀出忙標志及地址計數(shù)器的狀態(tài)高電平1低電平0MPU 寫指令到數(shù)據(jù)寄存器DR高電平1高電平1MPU從數(shù)據(jù)寄存器DR 讀出指令2.5程序主流程圖以及子流程圖整個程序除主函數(shù)外包含以下幾個子函數(shù): ST7920初始化、寫指令、寫數(shù)據(jù)、漢字顯示、

13、延時、清屏。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)寫入所要顯示漢字區(qū)碼的高八位及低八位三個操作,從而實現(xiàn)在液晶屏上顯示字符的功能;延時函數(shù)進行一定時間的等待,代替判斷忙標志函數(shù),使得上一個指令可以執(zhí)行完畢,液晶屏處于空閑狀態(tài),以

14、便于執(zhí)行下一條指令;清屏函數(shù)用來清除屏幕,進行新的顯示;漢字顯示主程序包含初始化和調(diào)用漢字顯示函數(shù)顯示漢字兩個操作,其完成整個漢字送液晶顯示的調(diào)度。漢字顯示子函數(shù)流程、ST7920初始化、寫指令、寫數(shù)據(jù)子函數(shù)流程分別如圖2.4、圖2.5、圖2.6及圖2.7所示。其中,圖2.6流程向ST7920寫各種操作指令,圖2.6流程向ST7920寫各種操作數(shù)據(jù),區(qū)別在于寫狀態(tài)對RS及RW的狀態(tài)選擇不同。延時子函數(shù)流程如圖2.8所示,圖2.9為漢字顯示主流程,其完成整個漢字送液晶顯示的調(diào)度。 圖2.4 漢字顯示子函數(shù) 圖2.5 ST7920初始化 圖2.6 寫指令子函數(shù)圖2.7 寫數(shù)據(jù)子函數(shù) 圖2.8 延時

15、子函數(shù)圖2.9 漢字顯示主流程三、ST7920指令說明ST7920的指令集包括基本指令和擴充指令,其中基本指令有11條,擴充指令有7條。每一個指令的長度都為8位。16×8點陣的ASCII字符代碼也是8位。但是16×16點陣中文字符的代碼為16位,必須分為兩次傳送,先傳送高8位,再傳送低8位。具體指令如下:1、清除顯示CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB00000000001功能:清除顯示屏幕,把DDRAM 位址計數(shù)器調(diào)整為“00H”。2、位址歸位CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0000000001 X功能:把DD

16、RAM 位址計數(shù)器調(diào)整為“00H”,游標回原點,該功能不影響顯示DDRAM。3、進入設(shè)定點CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS功能:把DDRAM 位址計數(shù)器調(diào)整為“00H”,游標回原點,該功能不影響顯示DDRAM 功能:執(zhí)行該命令后,所設(shè)置的行將顯示在屏幕的第一行。顯示起始行是由Z 地址計數(shù)器控制的,該命令自動將A0-A5 位地址送入Z 地址計數(shù)器,起始地址可以是0-63 范圍內(nèi)任意一行。Z 地址計數(shù)器具有循環(huán)計數(shù)功能,用于顯示行掃描同步,當掃描完一行后自動加一。4、顯示狀態(tài) 開/關(guān)CODE:RWRSDB7DB6DB5DB4DB3DB2D

17、B1DB00000001DCB功能: D=1;整體顯示ON C=1;游標ON B=1;游標位置ON。5、游標或顯示移位控制CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/LXX功能:設(shè)定游標的移動與顯示的移位控制位:這個指令并不改變DDRAM 的內(nèi)容。6、功能設(shè)定CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB00001DLX0REXX功能:DL=1(必須設(shè)為1) RE=1;擴充指令集動作 RE=0:基本指令集動作。7、設(shè)定CGRAM 位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB00001AC5AC4AC3AC

18、2AC1AC0功能:設(shè)定CGRAM 位址到位址計數(shù)器(AC)。8、設(shè)定DDRAM 位址CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0功能:設(shè)定DDRAM 位址到位址計數(shù)器(AC)。9、讀取忙碌狀態(tài)(BF)和位址。CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB001BFAC6AC5AC4AC3AC2AC1AC0功能:讀取忙碌狀態(tài)(BF)可以確認內(nèi)部動作是否完成,同時可以讀出位址計數(shù)器(AC)的值。10、寫資料到RAMCODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB010D7D6D5D4D3D

19、2D1D0功能:寫入資料到內(nèi)部的RAM(DDRAM/CGRAM/TRAM/GDRAM)。11、讀出RAM 的值CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB011D7D6D5D4D3D2D1D0功能:從內(nèi)部RAM 讀取資料(DDRAM/CGRAM/TRAM/GDRAM)。12、 待命模式(12H)CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB00000000001功能:進入待命模式,執(zhí)行其他命令都可終止待命模式。13、卷動位址或IRAM 位址選擇(13H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0000000001SR功能:SR=1

20、;允許輸入卷動位址 SR=0;允許輸入IRAM 位址。14、反白選擇(14H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB000000001R1R0功能:選擇4 行中的任一行作反白顯示,并可決定反白的與否。15、睡眠模式(015H)CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB00000001SLXX功能:SL=1;脫離睡眠模式 SL=0;進入睡眠模式。16、擴充功能設(shè)定(016H)CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB0000011X1REG0功能:RE=1;擴充指令集動作 RE=0;基本指令集動作 G=1;繪圖顯示ON G

21、=0;繪圖顯示OFF。17、設(shè)定IRAM 位址或卷動位址(017H)CODE: RWRSDB7DB6DB5DB4DB3DB2DB1DB00001AC5AC4AC3AC2AC1AC0功能:SR=1;AC5AC0 為垂直卷動位址 SR=0;AC3AC0 寫ICONRAM 位。址18、設(shè)定繪圖RAM 位址(018H)CODE:RWRSDB7DB6DB5DB4DB3DB2DB1DB0001AC6AC5AC4AC3AC2AC1AC0功能:設(shè)定GDRAM 位址到位址計數(shù)器(AC)。當ST7920在接收指令前,MCU必須先確認ST7920處于空閑狀態(tài)。即讀取BF=0,才能接收新的指令;如果在送出一條指令前不

22、檢查BF狀態(tài),則需要延時一段時間,確保上一條指令執(zhí)行完畢。"RE"是基本指令集與擴充指令集的選擇控制位,當更改"RE"的狀態(tài)后,后續(xù)指令維持在最后狀態(tài)。除非再次更改"RE"狀態(tài),否則使用相同指令集時,無需要重新設(shè)置"RE"。四、具體功能程序及硬件實現(xiàn)4.1主要功能程序?qū)崿F(xiàn)Ø 將要顯示的漢字及字符在YM12864R數(shù)據(jù)手冊中一一查出,定義于顯示數(shù)據(jù)數(shù)組以便用于調(diào)用顯示。具體如下:unsigned char mx32 2= /定義漢字字符數(shù)組0x20,0x20, /第一行0xb3,0xa3,0xca,0xec

23、,0xc0,0xed,0xb9,0xa4,0xd1,0xa7,0xd4,0xba, /常熟理工學(xué)院0x20,0x20, 0x20,0x20,0x20,0x20, /第二行顯示數(shù)據(jù)0xbf,0xce,0xb3,0xcc,0xc9,0xe8,0xbc,0xc6, /課程設(shè)計0x20,0x20,0x20,0x20,0x20,0x20, /第三行顯示數(shù)據(jù)0xd7,0xf7,0xd5,0xdf,0xa1,0xc3,0x20,0x20,0xc5,0xa3,0xcc,0xce, /作者: 牛濤0x20,0x20, 0x20,0x20, /第四行顯示數(shù)據(jù)0xd5,0xc5,0xc6,0xf4,0xcb,0xb

24、3,0x20,0x20,0xd5,0xd4,0xbd,0xa8, /張啟順 趙建0x20,0x20;Ø 通過改變RS和RW的狀態(tài)選擇不同的讀寫模式,定義寫指令及寫數(shù)據(jù)子函數(shù),以便調(diào)用來完成數(shù)據(jù)在液晶顯示器上的顯示,其中,通過延時調(diào)用來避開向液晶送數(shù)據(jù)的忙狀態(tài)。子函數(shù)定義如下:void wcom(unsigned char d) /寫指令子函數(shù) delay(2); RW=0;/寫選通 RS=0;/寫指令 P0=d;/將要寫的數(shù)據(jù)送給P1口 E=1;/使能有效 E=0;/關(guān)閉使能信號 delay(10); void dat(unsigned char d) /寫數(shù)據(jù)子函數(shù) delay(2

25、); RS=1; /數(shù)據(jù)操作 RW=0; /寫選通 P0=d; /將要寫的數(shù)據(jù)送給P1口 E=1; /使能有效 E=0; /關(guān)閉使能信號 delay(10); Ø 清屏以便重新顯示: void clearlcd()/清屏 wcom(0x01);/清除顯示 Ø 對硬件端口及液晶顯示器初始化: void init() /初始化子函數(shù) E=0; /關(guān)閉使能信號 wcom(0x38); /功能設(shè)定 wcom(0x08); /關(guān)顯示指令 wcom(0x06); /游標右移 wcom(0x0c); /開顯示指令 clearlcd();/清屏 Ø 定義漢字顯示子程序,以便調(diào)用向

26、液晶顯示器送顯示數(shù)據(jù): void hanzi (unsigned char w, unsigned char wb1,unsigned char wb2 ) wcom(w);/設(shè)置起始地址 dat(wb1);/數(shù)據(jù)送液晶顯示 dat(wb2); Ø 編寫主函數(shù)以完成最終整個實現(xiàn)程序過程的調(diào)度: void main() int i; init(); /調(diào)用初始化函數(shù)進行初始化操作 while(1) for(i=0;i<32;i+) hanzi(addri,mxi0,mxi1 );/調(diào)用漢字顯示,向液晶送數(shù)據(jù)顯示 4.2實驗步驟Ø 完成硬件電路的設(shè)計及焊接Ø 完

27、成軟件的設(shè)計并編寫具體程序1、新建工程 在菜單Project-New Project中新建工程my1.uv2;2、選擇CPU 根據(jù)對話框選擇CPU類型(公司、型號等)本次課程設(shè)計采用 ATMEL公司的AT89S51,點擊確定按鈕后出現(xiàn)如下對話框,選擇“否”。3、新建文件 點擊File-New,新建文件,并保存為lcm.c;4、添加源文件 點擊Project-Window中Target1文件夾右邊的“”號,顯示子文件夾Source Group 1,選中Source Group 1文件夾并點擊鼠標“右鍵”,出現(xiàn)快捷菜單。點擊Add Files To Group Source Group 1,在對話

28、框中完成源文件向工程的添加。 添加完成后,在Project Workspace窗口的Source Group 1項前多了“”號,點擊“”號即可看到所添加的文件“l(fā)cm.c”5、編譯 用快捷按鈕Build target對工程進行編譯,在Output Window中有編譯提示信息,可根據(jù)該信息對源文件進行修改。6、軟件仿真 點擊Strat/Stop Debug Session,可對程序進行設(shè)置斷點、單步、連續(xù)等執(zhí)行操作。7、HEX文件設(shè)置 選中Target1文件夾并點擊鼠標“右鍵”,選擇快捷菜單中的Option for Target Target 1。在“Output”對話框中選中復(fù)選框(Crea

29、te HEX File),即可使工程在編譯時生成緊湊的機器碼(my1.hex)。 Ø 調(diào)試 調(diào)試主要分為硬件調(diào)試和軟件調(diào)試: 硬件調(diào)試:主要是檢測硬件電路是否有短路、斷路、虛焊等。在焊接電路板的時候,應(yīng)該從最基本的最小系統(tǒng)開始,分模塊,逐個進行焊接測試。在對各個硬件模塊進行測試時,要保證軟件正確的情況下去測試硬件,要不然發(fā)生錯誤時,不知道到底是哪一方出錯了。當然,在設(shè)計的過程中也存在著失誤和不足。具體步驟及測試結(jié)果如下:1、檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導(dǎo)線是否完全連接,測試結(jié)果所有連接線都已連接好;2、單片機的晶振是否起振,用示波器觀察波形,測試結(jié)果波形

30、都很好;3、檢查各芯片的功能是否正常,檢測按鍵的導(dǎo)通情況,測試結(jié)果正常。軟件調(diào)試:軟件部分是先參考書上的例子,然后自己根據(jù)硬件電路寫程序,由于以前所學(xué)是C語言,所以這個系統(tǒng)在編寫程序過程中都采用C語言編寫。剛剛開始,編寫不會一次性通過,經(jīng)過仔細分析修改最后編譯成功。軟件調(diào)試主要是程序調(diào)試,將整個顯示程序按照實現(xiàn)功能分為各子模塊進行調(diào)試。 Ø ISPlay 1.3燒寫軟件使用 1、ISP JTAG硬件連接 將ISP JTAG分別與并口和目標板連接。2、ISPlay 1.3 JTAG類型設(shè)置(BYTEBLASTER II JTAG) (1)、主界面 點擊 “ISPlay 1.3”快捷圖標

31、,進入ISPlay 1.3軟件界面:(2)、 設(shè)置 點擊程序界面左下角的“程序設(shè)置”按鈕,彈出“設(shè)置”對話框,點擊“<<”按鈕,選擇Alter_BYTEBLASTLE類型JTAG配置文件后打開。按“確定”按鈕后回到ISPlay1.3主界面,退出ISPlay 1.3程序后重啟設(shè)置才有效。3、ISPlay 1.3使用 重啟ISPlay 1.3后即可對AT89S51/52單片機進行在系統(tǒng)(ISP)編程。(1)、選擇芯片(AT89S51/AT89S52),按檢測按鈕,會提示檢測信息。(2)、打開“文件”按鈕,載入所需燒寫的*.hex文件。 (3)、先“擦除”芯片原數(shù)據(jù),后“寫”數(shù)據(jù),寫完后

32、可“讀”、“校驗”數(shù)據(jù)。 也可以在“設(shè)置”對話框中設(shè)定自動執(zhí)行流程。4.3硬件電路實現(xiàn)與顯示結(jié)果硬件電路連接及液晶顯示結(jié)果如下圖4.1及圖4.2所示:圖4.1 硬件電路實物連接圖4.2 液晶結(jié)果顯示4.4試驗中遇到的問題本次試驗中遇到了很多問題,首先是對芯片很陌生,不熟悉其工作原理、及指令,這個問題,通過查閱大量圖書、上網(wǎng)搜索相關(guān)資料以及向老師請教,很容易就解決了。其次在編譯程序時出現(xiàn)了不可打印的字符,改了好長時間也沒蓋好,最后請教老師才搞明白,原來有一部分無用字符隱藏在命令后面也不顯示,從而影響程序。然后在焊接完電路和編完程序后寫入芯片時,液晶顯示屏芯片無任何顯示,我們從軟件和硬件兩個方面進

33、行檢查:首先用Keil uVision3自身的調(diào)試功能進行調(diào)試,發(fā)現(xiàn)程序在判斷忙標志函數(shù)出不來,陷入死循環(huán),鑒于此我們用延時函數(shù)代替判斷忙標志函數(shù);然后繼續(xù)調(diào)試,程序可以完全執(zhí)行而無任何錯誤。修改后再把程序?qū)懭胄酒?,液晶顯示屏還是無任何顯示,于是我們從硬件方面檢查:我們把程序下載到另外一組的液晶顯示屏中發(fā)現(xiàn),液晶顯示屏可以顯示,實現(xiàn)預(yù)定義的功能,這就證明了我們的程序無誤,從而液晶無顯示是由硬件電路造成的;我們換了一塊新的液晶屏,不改變電路及端口的連接,發(fā)現(xiàn)液晶顯示屏可以顯示,能實現(xiàn)預(yù)定義的功能,因此我們判定是液晶顯示芯片壞了。本次試驗基本實現(xiàn)了課程設(shè)計的要求,但由于實訓(xùn)時間過于短暫,還存在著一

34、些問題,比如液晶顯示的亮度不均勻 ,此外對一些擴展的功能也沒有進行嘗試。這些問題只能以后有時間了再來解決。五、總結(jié)與體會炎炎夏日,在這維期一周的電子綜合設(shè)計中,我們小組對液晶顯示控制電路與程序這一選題進行了討論研究及相關(guān)方案設(shè)計。通過這次電子綜合實訓(xùn),我們對液晶顯示的段式和點陣式有了初步的了解,尤其是點陣式這一塊,其又可分為文本型顯示和圖形型顯示。本次電子設(shè)計實訓(xùn)我們選用了液晶YM12864R,由剛開始的對其的相關(guān)功能及使用的茫然,到對其基本使用原理和指令操作熟悉使用,期間遇到了系列問題,但這也加深了我們對YM12864R液晶顯示塊認知。此外,我們也深深意識到以往所學(xué)知識,如焊接電路板,線路的

35、排版和連接等的重要性。在這次三人一小組的實訓(xùn),我們共同合作,查閱了大量的相關(guān)資料,力求做到規(guī)范清晰。在把握了整體的思路的基礎(chǔ)上,完成了系統(tǒng)方案的設(shè)計,然后完成電路的焊接,最后我們從程序流程圖著手, 將整個程序分成若干模塊,分開編寫,一邊發(fā)現(xiàn)問題一邊解決問題,軟硬件結(jié)合,在實驗板上檢驗程序測試情況,根據(jù)現(xiàn)象不斷修改。在這個過程中我們體會到編程的技巧,設(shè)置子程序的合理性,同時對單片機最小系統(tǒng)的設(shè)計有了整體的理解和深刻的體會,使我們的思維的鍛煉與能力培養(yǎng)有了很大的提高和長足的進步歷經(jīng)無盡的重復(fù)調(diào)試與改進,最終,完成了預(yù)期結(jié)果。其間,我們嘗到了酸甜苦樂,也學(xué)習(xí)到好多東西,感覺收獲頗豐。另外,非常感謝老

36、師給我們這個機會及耐心的指導(dǎo),而且實驗的設(shè)備全是新的,讓我們在良好的環(huán)境中學(xué)習(xí)到團隊合作精神,在熱烈的夏天養(yǎng)成了吃苦耐勞的精神。參考文獻1 鐘承堯,嚴世勝. 單片機漢字顯示系統(tǒng)的設(shè)計J. 學(xué)術(shù)探討應(yīng)用技術(shù)與研究,2006:70-71.2 深圳市耀宇科技有限公司.YM12864R 圖形點陣液晶顯示模塊使用手冊EB/OL http:/wwwyaoyu-lcmcom3 趙建領(lǐng),薛園園等.51單片機開發(fā)與應(yīng)用技術(shù)詳解M.北京:電子工業(yè)出版社,20094 洪家平. 中文圖形顯示控制芯片ST7920 的原理與應(yīng)用.5張洪潤.單片機應(yīng)用設(shè)計200例.下(第一版).北京航空航天大學(xué)出版社,2006.附錄#include<reg51.h> /引用頭文件#include<stdio.h>unsigned char mx322= /定義漢字字符的去碼數(shù)組0x20,0x20,0xb3,0xa3,0xca,0xec,0xc0,0xed,0xb9,0xa4,0xd1,0xa7,0xd4,0xba,0x20

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論