版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)和圖形液晶顯示器接口應(yīng)用技術(shù)2009-04-19 17:10:15引言液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄等許多其它顯示器無法比擬的優(yōu)點(diǎn),近幾年來被廣泛用于單片機(jī)控制的智能儀器、儀表和低功耗電子產(chǎn)品中。LCD 可分為段位式 LCD、字符式LCD 和點(diǎn)陣式 LCD。其中,段位式 LCD 和字符式 LCD 只能用于字符和數(shù)字的簡(jiǎn)單顯示,不能滿足圖形曲線和漢字顯示的要求;而點(diǎn)陣式LCD 不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實(shí)現(xiàn)屏幕上下左右滾動(dòng),動(dòng)畫功能,分區(qū)開窗口,反轉(zhuǎn),閃爍等功能,用途十分廣泛。本文介紹了點(diǎn)陣式液晶顯示器 MGLS12864與單片機(jī)
2、的接口及編程的方法,同時(shí)介紹了創(chuàng)建 816 字符和 1616 點(diǎn)陣漢字的方法,及常用的字符顯示和漢字顯示程序。硬件設(shè)計(jì)這里著重介紹液晶顯示器與單片機(jī)的接術(shù)。有關(guān)MGLS12864 圖形液晶引腳功能及控制器 HD61202 的接口時(shí)序波形,可查看圖形液晶顯示器產(chǎn)品有關(guān)手冊(cè)。單片機(jī)可以通過數(shù)據(jù)總線與控制信號(hào)直接采用器形式、I/O 設(shè)備形式控制該液晶顯示模塊。本文以華邦公司的W78E58 為例,它是 51 系列單片機(jī)兼容的微控制器,其有 32KB的 FLASH EEPROM,用戶編制的程序及需要顯示的英文字母、數(shù)字、漢字、曲線和圖形都可以在里面,免去了擴(kuò)展外部器的麻煩,使得以 W78E58 單片機(jī)為
3、的控制系統(tǒng)電路更簡(jiǎn)單。因此十分適用于液晶顯示。MGLS12864 與 W78E58 單片機(jī)接口電路如圖 1 所示。該圖采用直接方式,單片機(jī)通過低位地址 A2 控制 CSA;A3 控制 CSB,以選通液晶顯示屏上各區(qū)的控制器 HD61202;同時(shí) W78E58 用地址 A1 作為 R/W 信號(hào)控制數(shù)據(jù)總線的數(shù)據(jù)流向;用地址 A0 作為 D/I 信號(hào)控制寄存器的選擇;E 信號(hào)由 W78E58 的讀信號(hào)/RD 和寫信號(hào)/WR產(chǎn)生;另外單片機(jī)的復(fù)位腳(9 腳)經(jīng)反相器后連接到液晶顯示器復(fù)位腳(17 腳/RST),當(dāng)單片機(jī)上電復(fù)位或手動(dòng)復(fù)位時(shí), 液晶顯示器同時(shí)也復(fù)位;從而實(shí)現(xiàn)了 W78E58 對(duì)內(nèi)置 H
4、D61202 圖形液晶顯示器模塊的電路連接。電路中 LCD 電源控制端 VO 是用來調(diào)節(jié)顯示屏灰度的,調(diào)節(jié)該端的電壓,可改變顯示屏字符、圖形的顏色深淺。單片機(jī)對(duì)液晶顯示模塊的操作可分為兩部分,即和右半屏操作。下面是根據(jù)圖 1 的連接確定對(duì)應(yīng)(前 6464)和右半屏(后6464)操作地址:CWADR1 EQU 0004H寫指令代碼地址DWADR1 EQU 0005H寫顯示數(shù)據(jù)地址CRADR1 EQU 0006H讀狀態(tài)字地址DRADR1 EQU 0007H讀顯示數(shù)據(jù)地址CWADR2 EQU 0008H 右半屏寫指令代碼地址DWADR2 EQU 0009H 右半屏寫顯示數(shù)據(jù)地址CRADR2 EQU
5、000AH 右半屏讀狀態(tài)字地DRADR2EQU000B右半屏讀顯示數(shù)據(jù)地址圖 1 MGLS12864 與 W78E58 接口圖設(shè)計(jì)液晶控制器 HD61202 一共有七條指令,從作用上可分為兩類,顯示狀態(tài)設(shè)置指令和數(shù)據(jù)讀寫操作指令。詳見指令系統(tǒng)可查看圖形液晶顯示器產(chǎn)品有關(guān)手冊(cè)。顯示起始行設(shè)置中 L5L0 為顯示起始行的地址,取值在0-3FH(1-64 行)范圍內(nèi)。頁(yè)面地址設(shè)置中 P2-P0 為選擇的頁(yè)面地址,取值范圍為 0-7H,代表-8 頁(yè)。列地址設(shè)置中 C5-C0 為地址計(jì)數(shù)器的內(nèi)容,取值在 0-3FH(1-64行)范圍內(nèi)。顯示器上 128 點(diǎn)64 點(diǎn),每點(diǎn)為一字節(jié)數(shù)據(jù),都對(duì)應(yīng)著顯示數(shù)據(jù) R
6、AM(在 HD61202內(nèi)),一點(diǎn)對(duì)應(yīng)一個(gè) bit,計(jì)算機(jī)寫入或讀出顯示器的數(shù)據(jù)代表顯示屏上某一點(diǎn)列上的垂直 8 點(diǎn)行的數(shù)據(jù)。D0代表最上一行的點(diǎn)數(shù)據(jù),D1為第二行的點(diǎn)數(shù)據(jù),.,D7為第八行的點(diǎn)數(shù)據(jù)。該 bit=1時(shí)該點(diǎn)則顯示黑點(diǎn)出來,該 bit=0時(shí)該點(diǎn)則。另外 LCD指令中有條 display ON/OFF 指令,display N 時(shí)顯示 RAM 數(shù)據(jù)對(duì)應(yīng)顯示的畫面;display OFF 則畫面,RAM 中顯示數(shù)據(jù)仍存在。點(diǎn)陣字模文件的建立:由于 MGLS12864 液晶顯示器沒有字符發(fā)生器,所以在屏幕上顯示的任何字符、漢字等須自己建立點(diǎn)陣字模庫(kù),然后均按圖形方式進(jìn)行顯示。由于 HD6
7、1202 顯示器的特性,不能將計(jì)算機(jī)內(nèi)的漢字庫(kù)和其它字模庫(kù)提出直接使用,需要將其旋轉(zhuǎn) 90 度后再寫入。點(diǎn)陣字模庫(kù)建立包括以下幾個(gè)方面:(1) 建立 816 點(diǎn)陣常用字符、數(shù)字、符號(hào)字模庫(kù)??蛇x用計(jì)算機(jī) BIOS 中 ASCII 的 816 字模庫(kù),所有字符按照 ASCII 值從小到大升序排列。asmmov x,1130h *AH=11h功能調(diào)用。裝入字庫(kù)至軟字庫(kù) */mov bh,6 /*AL=30h 取點(diǎn)陣信息 */10h /*BH=6 取 ROM8X16 點(diǎn)陣指針(VGA) */mov ax,es /*出口:ES:BP 指向字庫(kù)指針 */mov ascii_es,axmov ax,bpm
8、ov ascii_bp,ax ;ascii_offset=ascii_bp+16*asciicode;for(j=0;j16;j+)bufj=peekb(ascii_es,ascii_offset+j); /*讀 16字節(jié)點(diǎn)陣數(shù)據(jù)*/for(m=0;m16;m+) /*點(diǎn)陣數(shù)據(jù)轉(zhuǎn)換成 LCD 格式數(shù)據(jù)*/ if(m8) beginbyte= 7;shiftn=7;else beginbyte=15;shiftn=15;for(j=0;j(shiftn-m)&0 x01)1;也可選用 UCDOS 的 ASC16 文件做字模庫(kù)。ASC16文件的字符為 816 點(diǎn)陣。所有字符按照 ASCII 值從小
9、到大升序排列。計(jì)算字符首地址的公式:字符首地址=字符的 ASCII碼值16+字模庫(kù)首地址。(2) 建立所用到的 1616 點(diǎn)陣字模庫(kù)。漢字字符可選用 UCDOS 的 HZK16 文件做字模庫(kù)。HZK16 文件的字符為 1616 點(diǎn)陣。所有字符按照區(qū)位碼從小到大升序排列。計(jì)算漢字字符首地址的公式如下:取 UCDOS 點(diǎn)陣字庫(kù)字模程序,完成字模、數(shù)據(jù)重新排列,并按 MCS-51 匯編程序的要求寫成相應(yīng)格式的文本文件。p=(quma-1)*94+weima-1)*32;cclibfile=fopen(HZK16,rb);fseek(cclibfile,(long)p,SEEK_SET);fread(
10、buf,sizeof(unsigned char),32,cclibfile);/*讀 32 字節(jié)點(diǎn)陣數(shù)據(jù)*/for(m=0;m32;m+) /*點(diǎn)陣數(shù)據(jù)轉(zhuǎn)換成 LCD格式數(shù)據(jù)*/if(m= 8 & m=16 & m24 ) beginbyte=30; shiftn=23;else beginbyte=31;shiftn=31;for(j=0;j(shiftn-m)&0 x01)1;(3) 常用圖形(如產(chǎn)品商標(biāo)等)的點(diǎn)陣圖形的建立。對(duì)已有的圖形可采用掃描儀進(jìn)行掃描,然后用圖形處理進(jìn)行處理,再將BMP 格式文件轉(zhuǎn)換成 MCS-51 的匯編文件的格式。以上所有的字模數(shù)據(jù)都存放在單片機(jī) W78E58
11、 的程序存儲(chǔ)器中,如用到的漢字、圖形較多,可選用較大容量的程序存儲(chǔ)器。通用子程序:通用子程序分左半屏、右半屏寫指令代碼子程序和寫顯示數(shù)據(jù)子程序。液晶顯示驅(qū)動(dòng)器 HD16202 內(nèi)部有個(gè)忙標(biāo)志寄存器,當(dāng) BF=1 時(shí),表示內(nèi)部操作正在運(yùn)行,不能接受外部數(shù)據(jù)或指令。下面子程序中設(shè)指令代碼寄存器為 COMM,數(shù)據(jù)寄存器為DATA。(COMM EQU 20H /*指令寄存器*/ DATA EQU 21H /*數(shù)據(jù)寄存器*/)(1)左半屏寫指令子程序WR_CMD1: MOV DPTR,#CRADR1 ;/*讀狀態(tài)字口地址*/WAIT1: MOVX A,DPTR ;/* 讀狀態(tài)字 */JB ACC.7,W
12、AIT1 ;/*判忙標(biāo)志 BF,如 BF=1 忙,等待*/MOV DPTR,#CWADR1 ;/*寫指令字口地址*/MOVM ;/*取指令代碼*/MOVX DPTR,A ;/*寫指令代碼*/RET(2)左半屏寫數(shù)據(jù)子程序WR_DATA1:MOV DPTR,#CRADR1 ;/*讀狀態(tài)字口地址*/WAIT11: MOVX A,DPTR ;/* 讀狀態(tài)字 */JB ACC.7,WAIT11 ; /* 判忙標(biāo)志 BF, 如 BF=1 忙, 等待*/MOV DPTR,#DWADR1 ;/*寫數(shù)據(jù)字口地址*/MOV A,DATA ;/*取數(shù)據(jù)/MOVX DPTR,A ;/*寫數(shù)據(jù)*/RET(3)右半屏寫
13、指令子程序 WR_CMD2 和右半屏寫數(shù)據(jù)子程序WR_DATA2 的編制同左半屏子程序相同,只是對(duì)應(yīng)口地址不8X16 字符顯示子程序: MGLS12864 液晶顯示屏由二片HD61202 控制,LCD 顯示中應(yīng)盡量避免一個(gè)字符一半在左半屏顯示,另一半在右半屏顯示的情況。設(shè)列地址寄存器為 COLUMN,頁(yè)地 址 寄 存 器 為 PAGE, 要 顯 示 的 字 符 代 碼 寄 存 器 為ASCIICODE,W78E58 內(nèi) RAM28H-RAM37H 共 16 個(gè)字節(jié)存放 816的點(diǎn)陣數(shù)據(jù),生成的 816 點(diǎn)陣庫(kù)文件存放在單片機(jī) W78E58 存儲(chǔ)器中的首地址定義為 ASCII_DOT816。DI
14、SP_ASCII816: MOV DPTR,#ASCII_DOT816 ;816 點(diǎn)陣庫(kù)首地址MOV A,ASCIICODE ;顯示字符代碼 ASCIICODEMOV B,#16 ;每個(gè)字符點(diǎn)陣占 16 個(gè)字節(jié)MUL AB ;計(jì)算顯示字符在字庫(kù)的首地址ADD A,DPLMOV DPL,AMOV A,DPHADDC A,BMOV DPH,AMOV R0,#28H;將點(diǎn)陣數(shù)據(jù)放到 RAM28H-RAM37HMOV R2,#00HLP_MOVDOT16: MOVA,R2MOVC A,TRMOVR0,A ;如要將字符反顯(黑底白字),則讀出點(diǎn)INCR0 ;陣數(shù)據(jù)后求反放入單片機(jī)的 RAM 中INCR2
15、CJNE R2,#16,LP_MOVDOT16;PUSH COLUMNMOV A,COLUMN ;顯示列數(shù) COLUMN 是否在右半屏CJNE A,#64,ASCII_IF64ASCII_IF64: JNC ASCII_YGE64MOVDPTR,#CWADR1 ;在時(shí),選擇寫指令代碼地址CLR0_SECOND1_BIT;列數(shù)標(biāo)志 BIT=0SJMPALL_COLUMNASCII_YGE64: CLR CSUBB A,#64MOV COLUMN,AMOV DPTR,#CWADR2 ;在右半屏?xí)r,選擇右半屏寫指令代碼地址SETB0_SECOND1_BIT ;右半屏列數(shù)標(biāo)志 BIT=1ALL_COL
16、UMN: MOV A,PAGEADD A,#10111000B ;設(shè)置頁(yè)地址命令MOVX DPTR,AMOV A,COLUMN ;設(shè)置列地址命令A(yù)DD A,#01000000BMOVX DPTR,AMOV PTR,DWADR1 ;根據(jù)左右半屏列數(shù)標(biāo)志,選擇寫顯示數(shù)據(jù)地址JNB0_SECOND1_BIT,ALLMOV1MOV DPTR,DWADR2ALLMOV1: MOV R0,#28HMOV_8BYTE1: MOV A,R0MOVX DPTR,A ;寫顯示數(shù)據(jù)NOPINC R0CJNE R0,#30H,MOV_8BYTE1;MOVDPTR,#CWADR1JNB0_SECOND_BIT,ALLM
17、OV2MOVDPTR,#CWADR2ALLMOV2: MOV A,PAGEINC A ;頁(yè)地址加 1ADD A,#10111000BMOVX DPTR,A ;設(shè)置頁(yè)地址命令MOVA,COLUMN; 設(shè) 置 列 地 址 命 令A(yù)DDA,#01000000BMOVX DPTR,AMOV DPTR,DWADR1;根據(jù)左右半屏列數(shù)標(biāo)志,選擇寫顯示數(shù)據(jù)地址JNB FIRST0_SECOND1_BIT,ALLMOV3MOV DPTR,DWADR2ALLMOV3: MOV R0,#30HMOV_8BYTE2: MOV A,R0MOVX DPTR,A ;寫顯示數(shù)據(jù)INC R0CJNE R0,#38H,MOV_8BYTE2;POP COLUMNRET1616 漢字顯示子程序:1616漢字顯示子程序與8X16字符顯示子程序基本相同。不同在于每次寫 32 字節(jié)顯示數(shù)據(jù),可定義 W78E58 內(nèi)RAM28H-RAM47H 共32 個(gè)字節(jié)存放1616 的點(diǎn)陣數(shù)據(jù),生成的 1616 點(diǎn)陣庫(kù)文件存放在單片機(jī) W78E58 存儲(chǔ)器中的首地址定義為 HZK
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025河南省安全員考試題庫(kù)及答案
- 移動(dòng)智慧物流園課程設(shè)計(jì)
- 簡(jiǎn)易臥式銑床課程設(shè)計(jì)
- 2024四川省建筑安全員《C證》考試題庫(kù)
- 物業(yè)消防安全課程設(shè)計(jì)
- 油水分離幼兒課程設(shè)計(jì)
- 2025重慶市安全員《A證》考試題庫(kù)
- 物理熱量的教學(xué)課程設(shè)計(jì)
- 筆記本運(yùn)輸包裝課程設(shè)計(jì)
- 直流部分課程設(shè)計(jì)
- Unit 1 - Unit 6 知識(shí)點(diǎn)(知識(shí)清單)-2024-2025學(xué)年人教PEP版(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024 AI專題:從模型視角看端側(cè)AI模型技術(shù)持續(xù)演進(jìn)交互體驗(yàn)有望升級(jí)
- 地質(zhì)勘探合同書范例
- 特種設(shè)備每月安全調(diào)度會(huì)議紀(jì)要
- MCN達(dá)人主播合同協(xié)議書
- 機(jī)電樣板實(shí)施施工方法及工藝要求
- 專題08:文言文比較閱讀(原卷版)-2022-2023學(xué)年七年級(jí)語(yǔ)文下學(xué)期期中專題復(fù)習(xí)(浙江專用)
- 建設(shè)工程工程量清單計(jì)價(jià)規(guī)范有表格
- 2023版學(xué)前教育專業(yè)人才需求調(diào)研報(bào)告及人培方案(普招)
- DB43-T 2927-2024 中醫(yī)護(hù)理門診建設(shè)與管理規(guī)范
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)必考題
評(píng)論
0/150
提交評(píng)論