#define P25 5//74HC573锁存控制
//=======================================
// 实现功能: 写命令
// 输入参数: DH 需要输入16bits命令的高8位
// DL 需要输入16bits命令的低8位
//========================================
void Write_Cmd(unsigned char DH,unsigned char DL)
{
nRD_SET;
CS_CLR;
RS_CLR;
RW_CLR;
//注意:当使用8位数据口驱动16位数据模式时,使用74HC573作为IO扩展,程序如下
/* DataPort=DL; //送低8位命令给573待锁存
LE_SET; //锁存位
LE_CLR; //断开锁存,位选573的Q7~Q0仍保持
DataPort=DH; //送高8位命令给TFT
*/
//如果使用16位数据口驱动16位数据模式,则无需IO扩展,直接将数据送到数据口即可
DataPort_L=DL;
DataPort_H=DH;
RW_SET;
CS_SET;
}
//================================================================================================
// 实现功能: 写数据(2*8bits)
// 输入参数: DH 需要输入16bits数据的高8位
// DL 需要输入16bits数据的低8位
//================================================================================================
void Write_Data(unsigned char DH,unsigned char DL)
{
CS_CLR;
RS_SET;
//注意:当使用8位数据口驱动16位数据模式时,使用74HC573作为IO扩展,程序如下
/* DataPort=DL; //送低8位数据给573待锁存
LE_SET; //锁存位
LE_CLR; //断开锁存,位选573的Q7~Q0仍保持
DataPort=DH; //送高8位数据给TFT
*/
//如果使用16位数据口驱动16位数据模式,则无需IO扩展,直接将数据送到数据口即可
DataPort_L=DL;
DataPort_H=DH;
RW_CLR;
RW_SET;
CS_SET;
}
初始化部分
void TFT_Initial(void)
{
P6DIR|=0xff;//数据口高8位
P3DIR|=0xff;//数据口低8位
P2DIR|=0xff;//控制口
LE_CLR; //不用74HC573
delayms(20);
…………………………
…………………………省略
}