用 《STC125A.H》单片机写了一个时间程序,用的1602的液晶。输入程序后,可以走时间。但调时间就有问题了,按下键盘,液晶的光标总是最后一个字符上显示。我设定的是按一下键盘,光标移动到秒的个位,再按到分的个位。可现在按下光标就是在秒的个位左右移动。应该怎么办?下面是程序的出错出
void keyscan()
{
//while(1)
{
if((P35)==0)
{
delay(5);
if((P35)==0)
{
bb++;
while(!(P35));
if(bb==1)
{
TR0=0;
lcd_command_write(0x80+0x40+12);
lcd_command_write(0x0f);
}
if(bb==2)
{
lcd_command_write(0x80+0x40+9);
lcd_command_write(0x0f);
}
if(bb==3)
{
lcd_command_write(0x80+0x40+6);
lcd_command_write(0x0f);
}
if(bb==4)
{
bb=0;
lcd_command_write(0x0c);
TR0=1;
}
}
}
}
}
void main()
{
lcd_init1();
lcd_string_write(4,0,"2014-10-18");
lcd_string_write(5,1,"00:00:00");
while(1)
{
{
keyscan();
}
if(aa==20)
{
aa=0;
miao++;
if(miao==60)
{
miao=0;
fen++;
if(fen==60)
{
fen=0;
she++;
if(she==24)
{
she=0;
}
}
sfm_write(5,she);
}
sfm_write(8,fen);
}
sfm_write(11,miao);
}
}
|