📄 ht1621.c
字号:
/*把AddrBit的Bitnum位数据送往1621,高位在前*/
void SendAddrBit(unsigned char Addrbyte,unsigned char AddrBitnum)
{
unsigned char i;
for (i=0;i<AddrBitnum;i++)
{
if (Addrbyte & 0x80) DAT=1;
else DAT=0;
WR=0;
DelayX100us(1); //需要调整时间
WR=1;
Addrbyte<<=1;
}
}
/*把Databyte的Databitnum位数据送往1621,低位在前*/
void SendDataBit(unsigned char Databyte,unsigned char Databitnum)
{
unsigned char i;
for (i=0;i<Databitnum;i++)
{
if (Databyte & 0x01) DAT=1;
else DAT=0;
WR=0;
DelayX100us(1);
WR=1;
Databyte>>=1;
}
}
void SendCommand(unsigned char command)
{
CS=0;
SendAddrBit(0x80,4); //100 0 发送命令码
SendAddrBit(command,8); //发送其余的8位命令码
CS=1;
}
void Display(void)
{
unsigned char i=0;
CS=0;
SendAddrBit(0xA0,3); //写数据模式类型码101写入LCD
SendAddrBit(0,6); //写入6位地址,高6位
for (i=0;i<10;i++)
{
SendDataBit(ComData[i],8);
}
SendDataBit(ComData[10],4); //写入最后4位数据
CS=1;
}
void HT1621Initial(void)
{
SendCommand(SYSEN);
SendCommand(RC);
SendCommand(BIAS);
SendCommand(LCDON);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -