51单片机C语言

来源:百度知道 编辑:UC知道 时间:2024/06/09 06:10:46
#include <reg51.h>
void msec (unsigned int);
void main()
{
unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F}
unsigned char i;
for(i=0;i<=7;i++)
{
P1=array[i];
msec(100);
}
void msec (unsigned int){
unsigned char j;
while((x--)!=0){
for(j=0,j<=125;j++)
{;}
}
}

想用这个程序循环亮灯,可是程序有错误
DENG.C(5): error C242: 'array[]': too many initializers
DENG.C(6): error C141: syntax error near 'unsigned'
DENG.C(12): error C141: syntax error near 'void'
请高手说下错哪了,怎么改,另外如果我这个程序如果不能满足我的要求,请教下,谢谢
#include <reg51.h>
void msec (unsigned int);
void main()
{
unsigned char array[8]={0xFE,0xFD,0xFA,0xF7,0xEF,0xDF,0xAF,0x7F} ;
unsigned char i;
for(i=0;i<=7;i++)
{
P1=array[i];
msec(100);
}
void msec (unsigned int x){
unsigned char j;
while((x--)!=0)

朋友,很简单啊,看我的:
第一个错误:在unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F}
中,定义了7个元素,但在大括号中有9个元素,
第二个错误:就上面那个unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F},后面有个分号,即为:unsigned char array[7]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF,0x7F};
第三个错误:延时函数定义错误:缺少形参名,应该定义为:
void msec (unsigned int Dlay);
后面定义为: void msec (unsigned int Delay){
unsigned char j;
while((x--)!=0){
for(j=0,j<=125;j++)
{;}
}
}
Delay你也可换其它的名字,

最后结果为:
#include <reg51.h>
void msec (unsigned int Delay);

void main()
{
unsigned char array[8]={0xFE,0xFD,0xFA,0xF7,0xEF,0xEF,0xDF,0xAF} ;
unsigned int i;
for(i=0;i<=7;i++)
{
P1=array[i];
msec(100);
}
}

void msec(unsigned int Delay)
{
unsigned int j;
while((Delay--)!=0)
for(j=0;j<=125;j++)
{;};

}