本帖最后由 PeterLin 于 2012-11-3 15:58 编辑
已经解决了,谢谢大家!!!
用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];
就是这一句,最后一个K前面有2个分号。
一周热门 更多>