大家好!这是我编的一个单片机程序,但是在keil程序中编译时老出错,请大侠们帮我看下!感激不尽!

#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbi... #include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit adwr=P3^6;
sbit adrd=P3^7;
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display(uchar bai,uchar shi,uchar ge)//显示子函数
{
dula=1;
P0=table[bai];
dula=0;
P0=0xff;
wela=1;
P0=0x7e;
wela=0;
delayms(5); //延时

dula=1;
P0=table[shi];
dula=0;
P0=0xff;
wela=1;
P0=0x7d;
wela=0;
delayms(5); //延时

dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0x7b;
wela=0;
delayms(5); //延时
}

void main()
{
uchar a,A1,A2,A3,adval;
wela=1;
P0=0X7f; // 置csad为0,选通adcs
wela=0;
while(1);
{
adwr=1;
_nop_();
adwr=0; //启动a/d转换
_nop_();
adwr=1;
for(a=10;a>0;a--)
{
display(A1,A2,A3);

}

P1=0xff;
adrd=1;
_nop_();
adrd=0; //A/D使能端
_nop_();
P1=adval; //A/D数据读取赋给p1端
adrd=1;
A1=adval/100;
A2=adval%100/10;
A3=adval%10;
}
}
展开
 我来答
lycdl
高粉答主

2012-10-03 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4960万
展开全部
你的源程序我在Keil C中编译通过了,没有问题呀!你编译时出什么错误呀,是不是你的设置不对呀!
追问
linking...
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DISPLAY?TEXT1
Program Size: data=14.0 xdata=0 code=144
creating hex file from "转换"...
"转换" - 0 Error(s), 1 Warning(s).

就是这样编译时有个警告!求解
追答
是因为主函数中的第56行的while(1);的原因,多了分号了,这样就会在本行无限循环了,不再继续执行以下的程序了,这样下面的display(A1,A2,A3);语句就执行不到了,而前又有子函数display()没有被调用,所以,才警告了。其实这个程序真的执行的话,就会发现有错误了,因为不能执行显示子函数,所以,是不会有显示结果的,就会发现有错误了。
在以后,像这样的警告可以不理的,因为可以编译通过的,然后将编译后的代码写入单片机去执行,就会发现有问题了。然后再找错误,就能发现错误了。而不要停留在那些警告上,去找错误,就不容易发现问题。
另外,我试了,在低版本的KeilC上编译是没有警告的,但程序仍然有错误。
anny0884
2012-10-03 · TA获得超过346个赞
知道小有建树答主
回答量:392
采纳率:55%
帮助的人:87.5万
展开全部
是不是没有注册呀?字节数受限制!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斩丨我了个去
2012-10-03 · 超过18用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:51.1万
展开全部
你把报错的图片贴出来看下
追问
*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
SEGMENT: ?PR?_DISPLAY?TEXT1
Program Size: data=14.0 xdata=0 code=144
creating hex file from "转换"...
"转换" - 0 Error(s), 1 Warning(s).

就是这样编译时有个警告!求解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成学9
2012-10-03
知道答主
回答量:3
采纳率:0%
帮助的人:4676
展开全部
我要查找广东陈进学电话
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式