基于RA8806控制器的LCD和51單片機接口技術(shù)
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的復位信號直接從51單片機的復位信號取反得到,為保證LCD復位信號的穩(wěn)定,單片機復位的對地電阻不能大于4.7 kΩ。LCD的復位也可采用基于直接I/O方式的LCD接口方式(圖2),用一個單片機引腳產(chǎn)生復位信號。
4 軟件設計
基于RA8806控制器的LCD軟件設計包括基本讀寫函數(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)存寫入與讀取 當寫數(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)存。因此,當需要畫線或顯示圖像時,必須設置LCD 工作在圖形方式;當顯示字符時,務必切換到文字方式。
評論