这个代码出错的地方怎么改?

2019-07-16 04:03发布

本帖最后由 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;


        }
}





友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
9526170
1楼-- · 2019-07-16 04:24
段选哪里

你仔细看看

P0=table????
应该是P0=table[X]。

你想显示几,X就等于几。。

9526170
2楼-- · 2019-07-16 09:57
仔细看了下

P0=table[u];
PeterLin
3楼-- · 2019-07-16 12:24
 精彩回答 2  元偷偷看……
豆子十三
4楼-- · 2019-07-16 17:52
错误代码是什么?
豆子十三
5楼-- · 2019-07-16 23:01
测试过了,延时那里多了一个分号。
豆子十三
6楼-- · 2019-07-17 02:41
   for(k=110;k>0;;k--);
就是这一句,最后一个K前面有2个分号。

一周热门 更多>