久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 單片機程序一直編譯不成功 missing function-prototype [打印本頁]

作者: 51mcu學習    時間: 2021-1-17 20:24
標題: 單片機程序一直編譯不成功 missing function-prototype
以下是抄書上的程序,keil一直編譯不過,新手小白不知道什么原因,自己對照書一直找不出錯誤。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit led1=P1^0;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delayms(uint);
void dispaly(uchar,uchar);
uchar num,num1,num2,shi,ge;


void main()
{
        TMOD=0x11;
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        EA=1;
        ET0=1;
        ET1=1;
        TR0=1;
        TR1=1;
        while(1)
        {
                        display(shi,ge);
        }

}


void display(uchar shi,uchar ge)                                //μ÷óÃÏÔê¾×óoˉêy
{
         dula=1;
        P0=table[shi];                                                                //μúò»¸öêyÂë1üÏÔê¾ê®Î»êy¾Y
        dula=0;
        P0=0xff;                                                                        //1رÕËùóDÏÔê¾
        wela=1;
        P0=0xfe;
        wela=0;
        delayms(5);

        dula=1;
        P0=table[ge];                                                           //μú¶t¸öêyÂë1üÏÔ꾸öλêy¾Y
        dula=0;
        P0=0xff;                                                                   //1رÕËùóDÏÔê¾
        wela=1;
        P0=0xfd;
        wela=0;
        delayms(5);
}


void delayms(uint xms)                                                        //μ÷óÃmsÑóê±×óoˉêy
{
         uint i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}


void T0_time() interrupt 1
{
        TH0=(65536-45872)/256;
        TL0=(65536-45872)%256;
        num1++;
        if(num1==4)
        {
                 num1=0;
                led1=~led1;                  
        }        
}

void T1_time() interrupt 3
{
        TH1=(65536-45872)/256;
        TL1=(65536-45872)%256;
        num2++;
        if(num2==20)
        {
                num2=0;
                num++;
                if(num==60)
                        num=0;
                shi=num/10;
                ge=num%10;
        }
}



作者: 51mcu學習    時間: 2021-1-17 20:25
請求大師傅告知一下。
keil


compiling 數碼管2.c...
數碼管2.c(31): warning C206: 'display': missing function-prototype
數碼管2.c(31): error C267: 'display': requires ANSI-style prototype
數碼管2.c(38): error C231: 'display': redefinition
數碼管2.c(56): error C231: 'display': redefinition
Target not created.
Build Time Elapsed:  00:00:00
作者: 51mcu學習    時間: 2021-1-17 20:26
compiling 數碼管2.c... 數碼管2.c(31): warning C206: 'display': missing function-prototype 數碼管2.c(31): error C267: 'display': requires ANSI-style prototype 數碼管2.c(38): error C231: 'display': redefinition 數碼管2.c(56): error C231: 'display': redefinition Target not created. Build Time Elapsed:  00:00:00
作者: 51mcu學習    時間: 2021-1-17 21:03
找到錯誤dispaly寫錯了,正確display
作者: zwf33    時間: 2021-1-22 14:23
void display(uchar shi,uchar ge);

要放到主函數前面聲明:





#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
sbit led1=P1^0;

void display(uchar shi,uchar ge);

uchar code table[]= {
    0x3f,0x06,0x5b,0x4f,
    0x66,0x6d,0x7d,0x07,
    0x7f,0x6f,0x77,0x7c,
    0x39,0x5e,0x79,0x71
};
void delayms(uint);
void dispaly(uchar,uchar);
uchar num,num1,num2,shi,ge;


void main()
{
    TMOD=0x11;
    TH0=(65536-45872)/256;
    TL0=(65536-45872)%256;
    TH1=(65536-45872)/256;
    TL1=(65536-45872)%256;
    EA=1;
    ET0=1;
    ET1=1;
    TR0=1;
    TR1=1;
    while(1)
    {
        display(shi,ge);
    }

}


void display(uchar shi,uchar ge)                                //μ÷ó???ê?×óoˉêy
{
    dula=1;
    P0=table[shi];                                                                //μúò???êy??1ü??ê?ê???êy?Y
    dula=0;
    P0=0xff;                                                                        //1?±??ùóD??ê?
    wela=1;
    P0=0xfe;
    wela=0;
    delayms(5);

    dula=1;
    P0=table[ge];                                                           //μú?t??êy??1ü??ê?????êy?Y
    dula=0;
    P0=0xff;                                                                   //1?±??ùóD??ê?
    wela=1;
    P0=0xfd;
    wela=0;
    delayms(5);
}


void delayms(uint xms)                                                        //μ÷ó?ms?óê±×óoˉêy
{
    uint i,j;
    for(i=xms; i>0; i--)
        for(j=110; j>0; j--);
}


void T0_time() interrupt 1
{
    TH0=(65536-45872)/256;
    TL0=(65536-45872)%256;
    num1++;
    if(num1==4)
    {
        num1=0;
        led1=~led1;
    }
}

void T1_time() interrupt 3
{
    TH1=(65536-45872)/256;
    TL1=(65536-45872)%256;
    num2++;
    if(num2==20)
    {
        num2=0;
        num++;
        if(num==60)
            num=0;
        shi=num/10;
        ge=num%10;
    }
}

作者: zwf33    時間: 2021-1-22 14:24
void display(uchar shi,uchar ge);
要放到主函數前面聲明
作者: 名字不是重點    時間: 2021-1-22 15:37
void main()這個主函數只能在C文件的最末端。不然就要把其它函數在C文件的前端聲明一次。這是C的規則。
作者: 51mcu學習    時間: 2021-1-23 19:32
顯示子函數在主函數前面已經聲明,顯示英文寫錯了。謝謝各位工程師!
作者: 370894249    時間: 2021-1-25 11:45
函數沒有定義,或者是苦衷沒有相應函數。
作者: 求解答    時間: 2021-1-27 15:22
void dispaly(uchar,uchar);  寫錯了,是display
作者: 2030908237    時間: 2022-3-3 23:47
#include <AT89X51.h>
bit dsinit();
void write_data();
unsigned char readdata();
sbit ds=P3^3;
unsigned int i;
unsigned int t1;
unsigned char t2;
unsigned char t;
int j;
unsigned char dat,rdata;
bit b;


void main()
{
while(1)
{
dsinit();
write_data(0xCC);
write_data(0x44);
dsinit();
write_data(0xCC);
write_data(0xbe);
t1=readdata();
t2=readdata();
t2=(t2<<8)|t1;

}


}

bit dsinit()
{
ds=0;
i=60;
while(i>0)i--;
ds=1;
i=4;
while(i>0)i--;
while(!ds);
i=60;
while(i>0)i--;
}

void write_data()
{
for(j=0;j>0;j--)
{
b=dat&0x01;
dat>>=1;
if(b)
{
ds=0;
i=2;
while(i>0)i--;
ds=1;
i=7;
while(i>0)i--;
}
else
{
ds=0;
i=8;
while(i>0)i--;
ds=1;
i++;i++;
}
}}


unsigned char readdata()
{

for(j=8;j>0;j--)
{
rdata>>=1;
ds=0;
i++;
ds=1;
i++;i++;
if(ds)
rdata=rdata|0x80;
i=8;
while(i>0)i--;
ds=1;
}
return rdata;
}
















歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 中文字幕一区二区三区在线观看 | 日韩av第一页 | 久久精品一区二区 | 国产精品日日做人人爱 | 亚洲逼院| 亚洲欧美在线观看 | 欧美综合自拍 | 91视频在线 | 国产ts人妖一区二区三区 | 国产精品精品视频一区二区三区 | www.99re| 欧美成年网站 | 久久久久国产 | 欧美中文在线 | 久久久久久久久久久丰满 | 亚州视频在线 | 国产日韩欧美 | 国产一区久久久 | 欧美激情综合 | 久久i| 精品日韩一区 | 欧美色999 | 久久久久综合 | 91电影在线播放 | 日韩精品av一区二区三区 | 自拍视频在线观看 | 日韩欧美中文字幕在线观看 | 国产一区二区三区四区区 | 欧美黑人狂野猛交老妇 | 久久精品视频免费观看 | 欧美精品中文字幕久久二区 | 91免费在线播放 | 欧美一区二区另类 | 国产黄色电影 | 999re5这里只有精品 | 青草福利 | 国产免费视频在线 | 神马影院一区二区三区 | 在线观看黄免费 | 亚洲欧美国产一区二区三区 | 国产中文区二幕区2012 |