标题:
新手操作,求帮忙!1602.c(13): error C141: syntax error near 'ms', expected ')...
[打印本页]
作者:
2901005274
时间:
2021-10-23 11:41
标题:
新手操作,求帮忙!1602.c(13): error C141: syntax error near 'ms', expected ')...
#include <reg52.h>
#ifndef uchar
#define uchar unsigned char
#endif uchar
uchar str[]="This is my watch";
sbit RW=P2^1;
sbit RS=P2^0;
sbit EN=P1^2;
void delayms(uint ms)
{
uchar i;
while (ms--)
for (i=0;i<123;i++);
}
void lcdwrite_com(uchar com)
{
RW=0;
RS=0;
EN=1;
P0=com;
EN=0;
delayms(1);
}
void lcdwrite_dat(uchar dat)
{
RW=0;
RS=1;
EN=1;
P0=dat;
EN=0;
delayms(1);
}
void lcd_init()
{
lcdwrite_com(0x38);
delayms(10);
lcdwrite_com(0x0c);
delayms(10);
lcdwrite_com(0x06);
delayms(10);
lcdwrite_com(0x01);
delayms(10);
lcdwrite_com(0x38);
delayms(10);
}
void display()
{
uchar i;
ds1302readtime();
lcdwrite_com(0x84);
lcdwrite_dat((time[2]/16)+'0');
lcdwrite_com(0x85);
lcdwrite_dat((time[2]&0x0f)+'0');
lcdwrite_com(0x86);
lcdwrite_dat(':');
lcdwrite_com(0x87);
lcdwrite_dat((time[1]/16)+'0');
lcdwrite_com(0x88);
lcdwrite_dat((time[1]&0x0f)+'0');
lcdwrite_com(0x89);
lcdwrite_dat(':');
lcdwrite_com(0x8a);
lcdwrite_dat((time[0]/16)+'0');
lcdwrite_com(0x8b);
lcdwrite_dat((time[0]&0x0f)+'0');
lcdwrite_com(0xc0);
for (i=0;i<16;i++)
{
lcdwrite_dat(str[i]);
}
}
void main()
{
lcd_init();
while (1)
{
display();
}
}
复制代码
作者:
xuyaqi
时间:
2021-10-23 14:41
uint 没有声明。
作者:
yahooboby
时间:
2021-10-23 15:22
它是说ms出错,不清楚你的ms是怎么定义的?试着改成这样:
void delayms(unsigned int ms)
{
unsigned int i,j; //声明 无符号整型 变量 i,j
for (j=0;j<ms;j++); // j 循环 可以 延时 ms 个 i 循环,也就是 ms 毫秒.
for (i=0;i<100,i++); // do-something; -- i 循环 可以 延时 1 毫秒.
}
作者:
Hephaestus
时间:
2021-10-23 16:02
uint没有定义。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1