请单片机编程高手来帮我看看错在哪里了?

来源:百度知道 编辑:UC知道 时间:2024/05/07 14:38:10
/*****************
数码管显示实验
---交替显示
******************/

#include<reg52.h>
void delay1m(int) ;
void disply(void);

/*声明驱动信号数组*/
char TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x83,0xf8,0x80,0x98};
char disp1[4]={2,0,0,8};//声明显示数据一
char disp2[4]={8,0,5,1};//声明显示数据二,?也可以用二维数组?
int i,j,k,scan ;
main()
{
delay1m(10);
while(1)
{
void display();
}

}
//==============子程序=============================================
/*延迟函数,延迟约x×1ms*/
void delay1m(int x)
{
int m,n;
for(m=0;m<x;m++) //循环三次
for(n=1;n<=120;n++);//计数120次
}
/*显示函数,两组数据交替显示*/
display()

{
//================显示第一组数据=============
for(k=0;k<30;k++)
{
scan=0x07;
for(i=3;i>0;i--)
{
j=disp1[i];
P0=TAB[j];
P1=s

main()
{
delay1m(10);
while(1)
{
display(); //???????不要加那个void
}

}

/*显示函数,两组数据交替显示*/
void display()//????????这个地方应该加一个void

{
//================显示第一组数据=============
for(k=0;k<30;k++)

、、、、、、、、、、、、、、、、、、、、、、

scan>>=1; //你这个也会有问题的,你这样写等效于scan=scan/2;

这是改过错的源程序(你在开头的显示子函数申明中把 void display(void)打成了 void disply(void)其次 子函数处的 display()前面要有void):

#include<reg52.h>
void delay1m(int) ;
void display(void);

/*声明驱动信号数组*/
char TAB[10]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x83,0xf8,0x80,0x98};
char disp1[4]={2,0,0,8};//声明显示数据一
char disp2[4]={8,0,5,1};//声明显示数据二,?也可以用二维数组?
int i,j,k,scan ;
main()
{
delay1m(10);
while(1)
{
void display();
}

}
//==============子程序=============================================
/*延迟函数,延迟约x×1ms*/
void delay1m(int