/*================================================
data 的高cnt 位元写入,HT1621,高位在前,用于写地址
参数:
write_data 数据
cnt 位数
==================================================*/
void SendBitH_1621(uchar write_data,uchar cnt)
{
uchar i
for(i =0i <cnti ++)
{
if((write_data&0x80)==0) DATA=0
else
DATA=1
delay1622()
WR_1622=0
delay1622()
WR_1622=1
delay1622()
write_data<<=1
}
}
/*===================================================
data 的低cnt 位写入HT1621,低位在前,用于写数据
参数:
write_data 数据
cnt 位数
====================================================*/
void SendBitL_1621(uchar write_data,uchar cnt)
{
uchar i
for(i =0i <cnti ++)
{
if((write_data&0x01)==0) DATA=0
else DATA=1
delay1622()
WR_1622=0
delay1622()
WR_1622=1
delay1622()
write_data>>=1
}
}
/*=================================================
写入命令
参数:command:命令
===================================================*/
void SendCmd(uchar command)
{
CS=0
SendBitH_1621(0x80,4)//写入旗标码”100”和9 位command 命令,由於
SendBitH_1621(command,9)//没有使有到更改时钟输出等命令,为了编程方便
CS=1//直接将command 的最高位写”0”
}
楼主首先需要将LCD的 SEG(段电极)和COM(公共电极)与HT1621的SEG与COM 对应相连。在就是HT1621会有几个接口是与单片机的I/0口相连 像/CS(片选)/WR(写 *** 作) / RD(读 *** 作)/DATA(数据) 通过软件程序对I/O的控制 进而控制HT1621的读写 *** 作 。通过送数的不同达到想要的效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)