基于T6963C的LCD與ARM7的接口設(shè)計(jì)
2.1 底層子函數(shù)設(shè)計(jì)
在程序?qū)用?,不管是狀態(tài)字的檢測(cè),還是參數(shù)和指令代碼的傳送,都涉及到對(duì)液晶控制器的讀寫(xiě)操作。根據(jù)T6963C說(shuō)明書(shū)中提供的讀寫(xiě)時(shí)序,并結(jié)合本系統(tǒng)的硬件設(shè)計(jì)方案,可得到如圖3所示的讀寫(xiě)時(shí)序圖。本文引用地址:http://www.ex-cimer.com/article/169438.htm
在設(shè)計(jì)程序時(shí)??筛鶕?jù)LPC2134的GPIO引腳模擬控制讀寫(xiě)時(shí)序圖來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸。針對(duì)數(shù)據(jù)和讀寫(xiě)類(lèi)型,可設(shè)計(jì)四個(gè)底層子函數(shù),以完成傳輸功能,其功能說(shuō)明如表1所列。
其中寫(xiě)命令字子函數(shù)及讀數(shù)據(jù)子函數(shù)的源代碼如下:
事先在頭文件中定義如下常量:
#define WR 125//p0.25寫(xiě)控制位
#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ù)口
//寫(xiě)命令字子函數(shù)完整源代碼
void LCD_WriteCommand(uint8 command)
{
uint32 com=0;//定義臨時(shí)存儲(chǔ)單元
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ù)寫(xiě)入口線
IOOCLR=(IOOCLR(-DPT)|(((-com)(0xOff)16);
IOOCLR=IOOCLR | CE;//選中LCD
IOOCLR=IOOCLR | WR;//寫(xiě)有效
IOOSET=IOOSET | WR;//寫(xiě)入完畢,寫(xiě)置低
IOOSET=IOOSET | CE;
}
評(píng)論