这个代码出错的地方怎么改?
时间:10-02
整理:3721RD
点击:
已经解决了,谢谢大家!
用keil写的,出了两个错误,请大牛相助!
#include<reg52.h>
#define uint unsigned int
sbit dula=P2^6; //声明锁存器U1
sbit wela=P2^7; //声明锁存器U2
//定义一个延迟函数
void delayms(uint xms)
{
uint j,k;
for(j=xms;j>0;j--)
for(k=110;k>0;;k--);
}
//定义显示数字编码
uint code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x51,0x79,0x71};
//定义数码管显示编码
int code xs[]={
0xfe,0xfd,
0xfb,0xf7,
0xef,0xdf};
//主函数
void main()
{
uint u,m;
u=1;
m=1;
while(1)
{
dula=1;
P0=table;
dula=0;
P0=0xff; //消影
wela=1;
P0=xs[m];
wela=0;
delayms(10);
if(u<17)
u++;
else
u=1;
if(m<7)
m++;
else
m=1;
}
}
段选哪里
你仔细看看
P0=table?
应该是P0=table[X]。
你想显示几,X就等于几。
仔细看了下
P0=table[u];
我漏打了,我编译的时候是有的,但是他还是提醒说有两处错误。在定义延时函数那里。
错误代码是什么?
测试过了,延时那里多了一个分号。
for(k=110;k>0;;k--);
就是这一句,最后一个K前面有2个分号。
看看