基于T6963C的LCD與ARM7的接口設(shè)計
2.1 底層子函數(shù)設(shè)計
在程序?qū)用?,不管是狀態(tài)字的檢測,還是參數(shù)和指令代碼的傳送,都涉及到對液晶控制器的讀寫操作。根據(jù)T6963C說明書中提供的讀寫時序,并結(jié)合本系統(tǒng)的硬件設(shè)計方案,可得到如圖3所示的讀寫時序圖。本文引用地址:http://m.butianyuan.cn/article/169438.htm
在設(shè)計程序時。可根據(jù)LPC2134的GPIO引腳模擬控制讀寫時序圖來實現(xiàn)數(shù)據(jù)的傳輸。針對數(shù)據(jù)和讀寫類型,可設(shè)計四個底層子函數(shù),以完成傳輸功能,其功能說明如表1所列。
其中寫命令字子函數(shù)及讀數(shù)據(jù)子函數(shù)的源代碼如下:
事先在頭文件中定義如下常量:
#define WR 125//p0.25寫控制位
#define CD 117//p1.17數(shù)據(jù)指令選擇控制位
#define RD 126//p0.26讀控制位
#define CE 127 //p0.27 LCD片選
#define DIR 122 //p1.22 74LS245數(shù)據(jù)傳送方向控制位
#define DPT0xOff16//數(shù)據(jù)口
//寫命令字子函數(shù)完整源代碼
void LCD_WriteCommand(uint8 command)
{
uint32 com=0;//定義臨時存儲單元
com=command;
IOODIR=IOODIR | DPT;//設(shè)置輸出數(shù)據(jù)
IOOSET=IOOSET | CD;//命令屬性
IOOSET=IOOSET | WR:
IOOSET=IOOSET | RD;
IO1CLR=I01CLR | DIR;
//數(shù)據(jù)傳輸方向設(shè)定
IOOSET=(IOOSET(~DPT))|(com16);
//數(shù)據(jù)寫入口線
IOOCLR=(IOOCLR(-DPT)|(((-com)(0xOff)16);
IOOCLR=IOOCLR | CE;//選中LCD
IOOCLR=IOOCLR | WR;//寫有效
IOOSET=IOOSET | WR;//寫入完畢,寫置低
IOOSET=IOOSET | CE;
}
評論