液晶显示
void Write_Data(uint8_t date,uint8_t cnt)//写命令{
uint8_t i;
for(i=0;i<cnt;i++)
{
TM1621_WR_L;
if(date&0x80)
TM1621_DATE_H;
else
TM1621_DATE_L;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TM1621_WR_H;
date<<=1;
}
TM1621_WR_L;
TM1621_DATE_L;
}
void Write_Datv(uint8_t date,uint8_t cnt)//写数据
{
uint8_t i;
for(i=0;i<cnt;i++)
{
//WR=0;
TM1621_WR_L;
if(date&0x01)
// date=1;
TM1621_DATE_H;
else
TM1621_DATE_L;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
TM1621_WR_H;
date>>=1;
}
TM1621_WR_L;
TM1621_DATE_L;
}
void cmd(uint8_t cdd)//TM1621写指令
{
TM1621_CS_L;
_nop_();
_nop_();
_nop_();
Write_Data(0x80,4);
Write_Data(cdd,8);
TM1621_CS_H;
_nop_();
_nop_();
_nop_();
}
void Tminit()//TM1621初始化
{
uint8_t ki=0;
TM1621_CS_H;
TM1621_WR_H;
TM1621_DATE_H;
_nop_();
_nop_();
_nop_();
cmd(0X50);//1/2偏压 4个com BIAS
cmd(0X30);//内部震荡 RC
//cmd(0X00);
cmd(0X0A);
cmd(0X02);
cmd(0X06);//开LCD偏压
for(ki=0;ki<100;ki++)
write_all(ki,0x00);//清空所有显示
}
void write_all(uint8_t add,uint8_t datr)//显示内容
{
TM1621_CS_L;
Write_Data(0xa0,3);
Write_Data(add<<2,6);
Write_Datv(datr,4);
TM1621_CS_H;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
怎么理解
对着手册时序看就明白了 可否详细注解下,在手册第几页? b站上边好多教程,去看看吧 胡靖 发表于 2025-2-20 09:17
可否详细注解下,在手册第几页?
段式LCD液晶驱动可以使用AI8H4K64TLCD
5位LCD液晶屏显示RTC实时时钟的范例
点击下载完整Keil项目
以下是您可能在找的:
TM1621B数据手册
页:
[1]