找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1890|回复: 3
打印 上一主题 下一主题
收起左侧

新手操作,求帮忙!1602.c(13): error C141: syntax error near 'ms', expected ')...

[复制链接]
跳转到指定楼层
楼主
ID:974311 发表于 2021-10-23 11:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include <reg52.h>
  2. #ifndef uchar
  3. #define uchar unsigned char
  4. #endif uchar
  5. uchar str[]="This is my watch";

  6. sbit RW=P2^1;
  7. sbit RS=P2^0;
  8. sbit EN=P1^2;


  9. void delayms(uint ms)
  10. {
  11.     uchar i;
  12.     while (ms--)
  13.         for (i=0;i<123;i++);
  14. }


  15. void lcdwrite_com(uchar com)
  16. {
  17.     RW=0;
  18.     RS=0;
  19.     EN=1;
  20.     P0=com;
  21.     EN=0;
  22.     delayms(1);
  23. }


  24. void lcdwrite_dat(uchar dat)
  25. {
  26.     RW=0;
  27.     RS=1;
  28.     EN=1;
  29.     P0=dat;
  30.     EN=0;
  31.     delayms(1);
  32. }


  33. void lcd_init()
  34. {
  35.     lcdwrite_com(0x38);
  36.     delayms(10);
  37.     lcdwrite_com(0x0c);
  38.     delayms(10);
  39.     lcdwrite_com(0x06);
  40.     delayms(10);
  41.     lcdwrite_com(0x01);
  42.     delayms(10);
  43.     lcdwrite_com(0x38);
  44.     delayms(10);
  45. }


  46. void display()
  47. {
  48.     uchar i;
  49.     ds1302readtime();
  50.     lcdwrite_com(0x84);
  51.     lcdwrite_dat((time[2]/16)+'0');
  52.     lcdwrite_com(0x85);
  53.     lcdwrite_dat((time[2]&0x0f)+'0');
  54.     lcdwrite_com(0x86);
  55.     lcdwrite_dat(':');
  56.     lcdwrite_com(0x87);
  57.     lcdwrite_dat((time[1]/16)+'0');
  58.     lcdwrite_com(0x88);
  59.     lcdwrite_dat((time[1]&0x0f)+'0');
  60.     lcdwrite_com(0x89);
  61.     lcdwrite_dat(':');
  62.     lcdwrite_com(0x8a);
  63.     lcdwrite_dat((time[0]/16)+'0');
  64.     lcdwrite_com(0x8b);
  65.     lcdwrite_dat((time[0]&0x0f)+'0');
  66.     lcdwrite_com(0xc0);
  67.     for (i=0;i<16;i++)
  68.     {
  69.         lcdwrite_dat(str[i]);
  70.     }
  71. }


  72. void main()
  73. {
  74.     lcd_init();
  75.     while (1)
  76.     {
  77.         display();
  78.     }
  79. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2021-10-23 14:41 | 只看该作者
uint 没有声明。
回复

使用道具 举报

板凳
ID:973041 发表于 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 毫秒.
}
回复

使用道具 举报

地板
ID:883242 发表于 2021-10-23 16:02 | 只看该作者
uint没有定义。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表