基于RA8806控制器的LCD和51單片機(jī)接口技術(shù)
3 RA8806和51單片機(jī)接口電路
RA8806支持4位或8位數(shù)據(jù)總線的8080/6800系列MPU接口,其外部接口引腳功能描述如表1所示。基于RA8806控制器的LCD和51系列單片機(jī)的接口采用總線或直接I/O方式,基于總線的接口方式如圖1所示,數(shù)據(jù)總線直接和單片機(jī)的PO端口相連,P20選擇指令或數(shù)據(jù),P27作為片選信號(hào),因此LCD的命令端口地址是0x7100,數(shù)據(jù)端口地址是0x7000。LCD的復(fù)位信號(hào)直接從51單片機(jī)的復(fù)位信號(hào)取反得到,為保證LCD復(fù)位信號(hào)的穩(wěn)定,單片機(jī)復(fù)位的對(duì)地電阻不能大于4.7 kΩ。LCD的復(fù)位也可采用基于直接I/O方式的LCD接口方式(圖2),用一個(gè)單片機(jī)引腳產(chǎn)生復(fù)位信號(hào)。
4 軟件設(shè)計(jì)
基于RA8806控制器的LCD軟件設(shè)計(jì)包括基本讀寫函數(shù)、字符串顯示函數(shù)、畫線函數(shù)、圖像顯示函數(shù)、觸摸屏相關(guān)函數(shù)等。這里重點(diǎn)介紹基本讀寫函數(shù)的編程方法,編程注意事項(xiàng)及觸摸屏的開發(fā)過程。
4.1 基本讀寫函數(shù)
基于RA8806控制器的LCD和51單片機(jī)接口的基本讀寫函數(shù)主要包括:指令寫入函數(shù)(寫數(shù)據(jù)到寄存器),緩沖器讀取函數(shù),內(nèi)存寫入和讀取函數(shù),以及狀態(tài)讀取函數(shù)。這些函數(shù)主要是按照RA8806數(shù)據(jù)資料給出的時(shí)序要求進(jìn)行編寫。單片機(jī)和 RA8806接口方式不同,編程方式也不同。以RA8806指令寫入函數(shù)為例,時(shí)序要求如圖3所示。
若RA8806和單片機(jī)的接口按圖1的總線方式,指令簡(jiǎn)單,接口時(shí)序由單片機(jī)自動(dòng)形成,其指令如下:
4.2 RA8806編程注意事項(xiàng)
(1)內(nèi)存寫入與讀取 當(dāng)寫數(shù)據(jù)到內(nèi)存(可能是顯示內(nèi)存或字型產(chǎn)生內(nèi)存)時(shí),必須先執(zhí)行緩存器編號(hào)為B0h的“寫入指令周期”。反之,如果讀取內(nèi)存中的數(shù)據(jù)時(shí),則必須先執(zhí)行緩存器編號(hào)為B1h的“寫入指令周期”。
(2)字符模式和圖形模式 RA8806支持兩種自MPU寫入內(nèi)存的模式:字符模式和圖形模式。在圖形模式時(shí),數(shù)據(jù)以點(diǎn)陣的方式直接寫入內(nèi)存;而在字符模式下,寫入的數(shù)據(jù)以字碼的形式被寫入RA8806,而寫入的字碼會(huì)再到CGROM中讀出相對(duì)的字型碼而后寫入內(nèi)存。因此,當(dāng)需要畫線或顯示圖像時(shí),必須設(shè)置LCD 工作在圖形方式;當(dāng)顯示字符時(shí),務(wù)必切換到文字方式。
評(píng)論