13917|7

89

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

帮我看下syntax error near'unsigned'是哪里错啊,我急死了 [复制链接]

帮我看下syntax error near'unsigned'是哪里错啊,我急死了,我是编程一段1到1000的数,为什么编译出来有错误呢?

#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar aa,unmp,qian,bai,shi,ge;
void dingshi();
void dealy(uint z);
void xs(uchar qian,uchar bai,uchar shi,uchar ge);
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,
0x07,0x7f,0x6f};

void main()
{
 dingshi();
  while(1)
   {
   if(aa==20)
   {
     aa=0;
    unmp++;
    if(unmp==100)
    unmp=0;
    qian=unmp/1000;
    bai=unmp/100%10;
    shi=unmp/10%10;
    ge=unmp%10;

   }
  xs(uchar qian,uchar bai,uchar shi,uchar ge);
 }


}
void dingshi()
{
 EA=1;
 ET0=1;
 TMOD=0x01;
 TR0=1;
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 unmp=0;
}
void et0() interrupt 1
{
 TH0=(65536-50000)/256;
 TL0=(65536-50000)%256;
 aa++;
}
void xs(uchar qian,uchar bai,uchar shi,uchar ge)
{
 P0=table[qian];
 P3=0xf7;
 dealy(5);

 P0=table[bai];
 P3=0xfb;
 dealy(5);

 P0=table[shi];
 P3=0xfd;
 dealy(5);

 P0=table[ge];
 P3=0xfe;
 dealy(5);

}
void dealy(uint z)
{
 uint x,y;
 for(x=200;x>0;x--)
 for(y=z;y>0;y--);

}

XIHT97J})9PL0]0P`R`ETYX.jpg (39.81 KB, 下载次数: 2)

XIHT97J})9PL0]0P`R`ETYX.jpg
此帖出自51单片机论坛

最新回复

定时器初始化怎么是先开定时器后装初值的  详情 回复 发表于 2012-4-15 17:44
点赞 关注
 

回复
举报

6040

帖子

196

TA的资源

版主

沙发
 
xs(uchar qian,uchar bai,uchar shi,uchar ge); 改为
xs(qian,bai,shi,ge);,函数调用时候括弧里填写要传递的变量,而不是变量声明。
此程序缺点1:无证程序员的写法
#define uint unsigned int
#define uchar unsigned char
2. 全局变量还用通过参数传递吗,变量设计十分不合理。
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
这样能定义吗
此帖出自51单片机论坛
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(中级)

4
 
函数调用和数组应用有问题。比如:P0=table[qian];中table[qian]指的是数组中的哪个元素呢?
此帖出自51单片机论坛
 
 
 

回复

554

帖子

1237

TA的资源

纯净的硅(中级)

5
 

回复 沙发 lcofjp 的帖子

卡尔夫  
此程序缺点1:无证程序员的写法
#define uint unsigned int
#define uchar unsigned char

  这样写有什么问题吗?我写了那么多年的程序 都是用的这个
此帖出自51单片机论坛
 
 
 

回复

3404

帖子

6

TA的资源

裸片初长成(初级)

6
 

回复 5楼 anvy178 的帖子

请问你有证吗?
程序中用uchar代替 unsigned char属于数据类型的自定义,也就是用自己定义的一个数据类型代替规定的一种数据类型,这个时候需要使用的是typedef 关键字。至于说二者的区别,在这样的用法看看不出来,楼上的写法就是用宏定义替换,而typedef是自定义数据类型,说白了就是define是业余的,typedef是专业的。
至于这两个的区别,辛昕版主好像发过帖子说明过,我就不多说了~
此帖出自51单片机论坛
 
 
 

回复

554

帖子

1237

TA的资源

纯净的硅(中级)

7
 
这样用法 我感觉没什么区别 别的地方倒是有点区别  呵呵 我无证
此帖出自51单片机论坛
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

8
 
定时器初始化怎么是先开定时器后装初值的
此帖出自51单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表