|
做了一个无叶风扇上用的段码式LCD驱动,我也是第一次用HT1621,开始也在这里面到处资料,LCD很快就显示出来了,这里的资料很多,后来发现这里的资料都是写数据和写命令之类的,没有读据数.在很多应用上都可以不读HT1621里面的数据,用户只管写,当在一个地址(SEGx)里要送两次不同数据时,读HT1621就很实用了,可以先读出目标地址里的数据,再或上这次想写入的数据,这样就达到了写入新的数据又不修改旧的数据目的了,类似于操作AVR的单个I/O口
unsigned char ht1621rd_da(uchar address)//指定地址,读数据;
{
unsigned char i=0,rd_da=0,temp_da=0;
HT1621_CS=0;
ht1621wr_da(0xc0,3); //写入命令标志110,读数据方式
ht1621wr_da(address<<2,6);//发读数据地址,
pd1_6=0;//读的时修数据脚的方向要改成输入;
for(i=0;i<4;i++)
{
HT1621_RD=0;
delay_us(10);
HT1621_RD=1;
temp_da=HT1621_DA;
rd_da=rd_da+(temp_da<<(4-1-i));//读数据从低至高,在rd_dat中,低位在高
}
HT1621_CS=1;
pd1_6=1;
return rd_da;
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981
|