//==============================================
// 函数: void LCD_SEND164(unsigned int Data_164)
// 描述: 送一个字节的显示数据至LCD中的显示缓冲RAM当中
// 参数: Data 写入的数据
// 返回: 无
// 备注: 74HC164,时钟上跳,数据输入.先高位后低位. 延时函数估计得修改
// 版本:
//========================================================================
void Send164Data (LCDBYTE data_164)
{
unsigned char i,j;
//
DIS_CLK_0; //clk=0,为上跳做准备.
j= data_164;
for(i=0;i<8;i++)
{
if(j&0x80) DIS_DATA_1;
else DIS_DATA_0;
j <<=1; //高位先行,数据左移1位.
DIS_CLK_1; //时钟上跳,数据移入.
DIS_CLK_0; //clk=0,为上跳做准备.
}
}
//================================================
// 函数: void LCD_DataWrite(unsigned int Data)
// 描述: 写一个字节的显示数据至LCD中的显示缓冲RAM当中
// 参数: Data 写入的数据
// 返回: 无
// 备注: 通用版LCD驱动程序 标准子函数
// 版本:
//============================================
void LCD_DataWrite(LCDBYTE data_164)
{
_nop_ ();
LCD_A0=1;
LCD_RW=0;
Send164Data(data_164);
LCD_EP=1;
LCD_EP=0;
}
//========================================================================
// 函数: void LCD_RegWrite(LCDBYTE Command)
// 描述: 写一个字节的数据至LCD中的控制寄存器当中
// 参数: Command 写入的数据,低八位有效(byte)
// 返回: 无
// 备注: 通用版LCD驱动程序 标准子函数
// 版本:
//========================================================================
void LCD_RegWrite(LCDBYTE Command)
{
LCD_A0=0; //指令
LCD_RW=1; //写
LCD_RW=0;
Send164Data(Command);
LCD_EP=1;
LCD_EP=0;
}
|