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