用DS12887+1602液晶搞时钟出了问题
uchar ds12887read(uchar addr)
{
uchar temp;
CS=0;
AS=0;
DS=1;
RW=1;
AS=1;
P0=addr;
AS=0;
DS=0;
/P0=0xFF;
temp=P0;
DS=1;
AS=1;
CS=1;
return temp;
}
void ds12887write(uchar addre,uchar indata)
{
CS=0;
AS=0;
DS=1;
RW=1;
AS=1;
P0=addre;
AS=0; //地址已经通过总线锁存
RW=0;
P0=indata;
RW=1;
AS=1;
CS=1;
}
这个读写函数不知道有没有起作用
但是读出来的值得全是0
void ds12887init()
{
//ds12887write(0x0A,0x20);
ds12887write(0x0b,0x86);
ds12887write(0x0b,0x06);
}
uchar www="4";
void test()
{
ds12887write(0x0b,0x86);
ds12887write(0x0,0x05);
www=ds12887read(0x0);
tdydisplay(secondpoint,www);
}
就如上面那个test函数,最终www在1602液晶上显示是0
DS12887是申请的样片 此前没有初始化过 但是初始化也需要读写函数来实现的
另外我找了网上许多别的读写函数 都不行
谁能支招告诉我如何调试?板子是万能板上全手焊
文章评论(0条评论)
登录后参与讨论