uint bf() /*判断忙函数*/
{
busy=MCR;
return busy;
}
writecom(i) /*写命令函数*/
{
bf();
while(!(busy> > =7))
{
MCW=i;
};
}
void writedata(i) /*写数据函数*/
{
bf();
while(!(busy> > =7))
{
MDW=i;
};
}
void delay() /*延时函数*/
{
uint i=0;
for(i=0;i <2;i++)
{};
}
void Init() /*LCD20468初始化函数*/
{
uint n,b=0;
for(n=0;n <3;n++) /*循环*/
{
b=0x30;
writecom(b);
delay();
};
b=0x38; /*工作方式*/
writecom(b);
b=0x01;
writecom(b); /*清屏*/
b=0x06;
writecom(b); /*输入方式*/
b=0x0f;
writecom(b); /*显示方式*/
}
void main() /*LCD20468主函数*/
{
for(;;)
{
uint b,i,j;
b=0x04;
writecom(b);
b=0x90;
writecom(b);
for(i=0;i <0x12;i++)
{
j=tab[i];
writedata(j);
}
}
}
我是初学单片机和C语言,以上是我的MDLS20486 LCD的显示程序,编译已通过,但用EASYSCOPE 8052F仿真器调试时,命令和数据总写不进"指令写口地址(93FF)和数据口写地址(97FF)",不知程序错在何处,请大家指点,十分感谢!