《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于RA8806控制器的LCD和51單片機接口技術(shù)
基于RA8806控制器的LCD和51單片機接口技術(shù)
摘要: 基于RA8806的LCD與同類產(chǎn)品相比,具有功能強,、調(diào)試簡單,、編程靈活和性價比高等優(yōu)點,且內(nèi)建4線電阻式觸摸屏接口,,內(nèi)置中文字庫和ASCII碼字庫,。因此基于RA8806的LCD可廣泛應(yīng)用于智能儀表、數(shù)字化儀器等,。
關(guān)鍵詞: 接口IC RA8806控制器 LCD 51單片機
Abstract:
Key words :

1 引言

    由于點陣液晶顯示具有高清晰度和高分辨率,,可顯示復(fù)雜文字和圖形,耗電省等優(yōu)點,,在移動通訊,、儀器儀表、電子設(shè)備等方面得到廣泛應(yīng)用,。而觸摸屏作為良好的人機接口一直應(yīng)用于儀器儀表,。觸摸屏和點陣液晶顯示模塊的相互配合使用,,使得人機界面更加完善美觀。這里介紹的基于RA8806控制器LCD就是內(nèi)建觸摸屏控制器的點陣液品顯示模塊,。

2 RA8806控制器簡介
    RA8806是點矩陣液晶顯示控制器,,支持320x240、四灰階,、雙圖層文字及圖形顯示模式,,內(nèi)建中、日,、英,、歐文字型碼,可將文字旋轉(zhuǎn)90°,、180°,、270°顯示。RA8806內(nèi)建智能型觸摸掃描控制器,,支持4線電阻式觸摸屏接口,,帶8x8的鍵盤掃描接口,可編程設(shè)置的脈寬調(diào)制用來調(diào)節(jié)LCD面板的對比度或背光,。RA8806也提供如區(qū)域卷動,、文字反白、粗體文字,、文字放大,、內(nèi)存清除等功能。RA8806還提供一項創(chuàng)新功能即無雪花模式,,可有效移除當(dāng)頻繁對內(nèi)存讀寫所產(chǎn)生的雪花。

3 RA8806和51單片機接口電路

    RA8806支持4位或8位數(shù)據(jù)總線的8080/6800系列MPU接口,,其外部接口引腳功能描述如表1所示,。基于RA8806控制器的LCD和51系列單片機的接口采用總線或直接I/O方式,,基于總線的接口方式如圖1所示,,數(shù)據(jù)總線直接和單片機的PO端口相連,P20選擇指令或數(shù)據(jù),,P27作為片選信號,,因此LCD的命令端口地址是0x7100,數(shù)據(jù)端口地址是0x7000,。LCD的復(fù)位信號直接從51單片機的復(fù)位信號取反得到,,為保證LCD復(fù)位信號的穩(wěn)定,單片機復(fù)位的對地電阻不能大于4.7 kΩ,。LCD的復(fù)位也可采用基于直接I/O方式的LCD接口方式(圖2),,用一個單片機引腳產(chǎn)生復(fù)位信號。


4 軟件設(shè)計
    基于RA8806控制器的LCD軟件設(shè)計包括基本讀寫函數(shù)、字符串顯示函數(shù),、畫線函數(shù),、圖像顯示函數(shù)、觸摸屏相關(guān)函數(shù)等,。這里重點介紹基本讀寫函數(shù)的編程方法,,編程注意事項及觸摸屏的開發(fā)過程。
4.1 基本讀寫函數(shù)
    基于RA8806控制器的LCD和51單片機接口的基本讀寫函數(shù)主要包括:指令寫入函數(shù)(寫數(shù)據(jù)到寄存器),,緩沖器讀取函數(shù),,內(nèi)存寫入和讀取函數(shù),以及狀態(tài)讀取函數(shù),。這些函數(shù)主要是按照RA8806數(shù)據(jù)資料給出的時序要求進行編寫,。單片機和 RA8806接口方式不同,編程方式也不同,。以RA8806指令寫入函數(shù)為例,,時序要求如圖3所示。

    若RA8806和單片機的接口按圖1的總線方式,,指令簡單,,接口時序由單片機自動形成,其指令如下:


4.2 RA8806編程注意事項
    (1)內(nèi)存寫入與讀取 當(dāng)寫數(shù)據(jù)到內(nèi)存(可能是顯示內(nèi)存或字型產(chǎn)生內(nèi)存)時,,必須先執(zhí)行緩存器編號為B0h的“寫入指令周期”,。反之,如果讀取內(nèi)存中的數(shù)據(jù)時,,則必須先執(zhí)行緩存器編號為B1h的“寫入指令周期”,。
    (2)字符模式和圖形模式 RA8806支持兩種自MPU寫入內(nèi)存的模式:字符模式和圖形模式。在圖形模式時,,數(shù)據(jù)以點陣的方式直接寫入內(nèi)存,;而在字符模式下,寫入的數(shù)據(jù)以字碼的形式被寫入RA8806,,而寫入的字碼會再到CGROM中讀出相對的字型碼而后寫入內(nèi)存,。因此,當(dāng)需要畫線或顯示圖像時,,必須設(shè)置LCD 工作在圖形方式,;當(dāng)顯示字符時,務(wù)必切換到文字方式,。

    (3)LCD的復(fù)位和初始化 為保證RA8806無誤操作,,RA8806供電后要進行復(fù)位。復(fù)位方式可采用圖1方式,,也可采用圖2方式,,或單獨采用阻容方式,。復(fù)位后要初始化設(shè)定RA8806內(nèi)部緩存器,即編寫一個初始化函數(shù),,并在復(fù)位后運行,。

    RA8806功能強大,只有包括卷動,、反白,、雙圖層、四灰度等功能,,以及獨特的消除閃爍模式功能,,建議使用C51編程,以函數(shù)的形式實現(xiàn)以上功能,,將這些函數(shù)封裝在一個C程序中,,通過頭文件供主程序調(diào)用。
4.3 觸摸屏編程
    RA8806內(nèi)建一組10位A/D轉(zhuǎn)換和控制電路,,以連接4線電阻式觸摸屏,。一般,電阻式觸摸屏由兩層很薄的電阻式屏幕組成,,當(dāng)外力施加在面板上的某一點時,,兩層屏幕將被觸碰,相對于觸碰的位置,,系統(tǒng)將偵測到一個(X,,Y)坐標(biāo)值。觸摸屏查詢方式流程(圖4)的作用是開啟觸屏功能,,判斷當(dāng)觸控事件發(fā)生時,,首先讀回對應(yīng)的(X,Y)坐標(biāo)值(兩組10位A/D轉(zhuǎn)換值),,再轉(zhuǎn)換為對應(yīng)的屏幕坐標(biāo),。

 

    觸摸控制電路的10位A/D轉(zhuǎn)換器產(chǎn)生的(X、Y)坐標(biāo)都在1 023~0中,,而基于RA8806的LCD分辨率是320x240,程序要將觸摸屏的(X,,Y)坐標(biāo)值轉(zhuǎn)換為LCD坐標(biāo)值,,確定兩者間的轉(zhuǎn)換關(guān)系一般通過觸摸屏的校準程序完成。最簡單的校準算法是兩點校準:在LCD的左上角和右下角顯示2個校準圖標(biāo)(長為20的十字光標(biāo)),,十字光標(biāo)的交叉點即為校準點,。分別觸摸2個十字中心的交點,可得到兩組觸摸屏的(X,,Y)坐標(biāo)值,,而LCD的2個十字中心的坐標(biāo)已知,,由式(1)可得到水平和垂直方向的斜率和截距,然后將水平和垂直方向的斜率和截距保存在EEPROM中,。

   
    對于要求觸摸定位不很精確的場合,,比如僅以字符為單位的定位精度,也可在系統(tǒng)中省去校準程序,,而在程序轉(zhuǎn)換中給出一個相近的斜率和截距,。

5 結(jié)束語
    基于RA8806的LCD與同類產(chǎn)品相比,具有功能強,、調(diào)試簡單,、編程靈活和性價比高等優(yōu)點,且內(nèi)建4線電阻式觸摸屏接口,,內(nèi)置中文字庫和ASCII碼字庫,。因此基于RA8806的LCD可廣泛應(yīng)用于智能儀表、數(shù)字化儀器等,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。