本帖最后由 eehome 于 2013-1-5 09:52 编辑
void LCD_date_com(uchar date_com,uchar d_c)
{
uchar i;
LCD_DC=d_c;
for(i=0;i<8;i++)
{
LCD_SCL=0;
LCD_SDA=date_com&0x80;
LCD_SCL=1;//正脉冲时采集数据
delay(2);
date_com<<=1;
}
}
上述是我写的向Nokia内写数据或命令的子函数,在51
单片机上跑过没有问题,而在cc2430芯片上就是跑不起来,没有任何显示,仔细认真对比CC22430资料里的程序和我写的程序后发现,他只是把LCD_SDA=date_com&0x80; 此语句改成了
if(Data & 0x80)
{
LCD_SDA = 1;
}
else LCD_SDA = 0;
其他的均一样,我也相应的改后,果然能在CC2430上正常运行,显示,在51单片机上也可以,我始终搞不明白,这两种方法实现的不一样吗???
还有就是该液晶偏执电压的配置问题? 电压5v的话,经计算得到Vop6-Vop0=32=0x20//0010 0000, 但是数据手册配置表偏置电压上的最高位固定为1啊,初始化液晶时 写0x20// 0010 0000 则正常,但是写成0xa0//1010 0000 就不对啊
期待大侠解决!!! 谢谢。。。