sbit L_DATA = P3^0; //L_DATA MOUDLE SERIAL DATA
sbit L_WR = P3^1; //L_WR MOUDLE SERIAL CLOCK
sbit L_CS = P3^2; //L_CS MOUDLE SELECT
void SendBit_1625(uchar sdata,uchar cnt,uchar x_y) //data 的高cnt 位写入HT1625,高位在前, x_y移位方向
{
uchar i;
for(i=0;i<cnt;i++)
{
if(sdata&0x80)
L_DATA=1;
else
L_DATA=0;
L_WR=0;
_nop_();_nop_();_nop_();_nop_();_nop_();
L_WR=1;
_nop_();_nop_();_nop_();_nop_();_nop_();
if(x_y==0)
sdata<<=1;
else
sdata>>=1;
}
}
void HT1625_all_on(void)
{
uchar i;
L_CS=0;
L_WR=1;
L_DATA=1;
SendBit_1625(0xa0,3,0);
SendBit_1625(0x00,7,0); //seg
SendBit_1625(0x0e,4,1);//com 显示PF?
L_CS=1;
}
/****************************************************************************
Name: Init_1625(初始化1625)
*****************************************************************************/
void Init_1625(void)
{
L_CS=0;
L_WR=1;
L_DATA=1;
SendBit_1625(0x80,3,0);
SendBit_1625(0x01,9,0); //SYS EN
SendBit_1625(0x03,9,0); //LCD ON
SendBit_1625(0x1b,9,0); //SET RC 32K OSC
SendBit_1625(0x2b,9,0); //SET BIAS 1/3
L_CS=1;
}
void main(void)
{
Init_1625();
HT1625_all_on();
}
我想显示R7,我认为它对于的SEG也就是地址位0,对应得COM也为0,但写入显示总是不对。
问题出在哪里呢,这个液晶模块是ht1625 |