欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索

單片機(jī)編程遇到未定義標(biāo)識(shí)符和參數(shù)列表長(zhǎng)度不同怎么辦

查看數(shù): 4373 | 評(píng)論數(shù): 6 | 收藏 0
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請(qǐng)稍候......
發(fā)布時(shí)間: 2020-3-20 11:06

正文摘要:

回復(fù)

ID:452950 發(fā)表于 2020-3-20 17:17
建檔扶貧對(duì)象 發(fā)表于 2020-3-20 16:56
這里是聲明部分和主函數(shù)部分函數(shù)。出問(wèn)題的是:void Delay(uint time)參數(shù)列表長(zhǎng)度不同、waitforstarting ...

void Delay(uint time)
這個(gè)函數(shù)聲明的時(shí)候定義了輸入變量time,所以調(diào)用的時(shí)候要用Delay(xxx),里面填延時(shí)的長(zhǎng)度。
waitforstarting
這個(gè)我不知道是什么,前面也沒(méi)有聲明這個(gè)函數(shù),格式也不對(duì)
ID:701275 發(fā)表于 2020-3-20 17:06
xxpp2011 發(fā)表于 2020-3-20 13:47
如果前面有聲明這個(gè)函數(shù)的話(huà),調(diào)用要這樣:
Waitforstarting();
如果有輸入?yún)?shù)要填在括號(hào)里面。

這里是聲明部分和主函數(shù)部分函數(shù)。出問(wèn)題的是:void Delay(uint time)參數(shù)列表長(zhǎng)度不同、waitforstarting未定義標(biāo)識(shí)符,你看看是哪里出問(wèn)題了。
#include<reg52.h>
#include<intrins.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define Lcd_Data P0;       //定義LCD數(shù)據(jù)端口

uchar code dispbuf[33]={"Temperature:   Distance:  mm"};
uchar numcode[10]={'0','1','2','3','4','5','6','7','8','9'};
uint num[29]={0};
uchar jsh,jsl;                                //計(jì)時(shí)器的高低位
uchar count=0;                                //10秒計(jì)次數(shù)
uint distance;                                 //距離

sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit DQ=P2^7;                                 //DS18B20數(shù)字端口
sbit Busy=P0^7;
                                
uint temp;                                           //溫度變量
uchar bdata flag;                           //DS18B20存在標(biāo)準(zhǔn)

void Delay(void);                        //延時(shí)函數(shù)
void Read_Busy(void);                                //檢查L(zhǎng)CD是否忙
void lint_18B20(void);                           //初始化18B20
void Write_Comm(uchar);                          //寫(xiě)入LCD命令
void Write_Data(uhar);                          //寫(xiě)入LCD數(shù)據(jù)
void lint_LCD(void);                          //初始化LCD

uchar Readonechar(void);         //讀取第一個(gè)字節(jié)
void Writeonechar(uchar dat);    //寫(xiě)入第一個(gè)字節(jié)
void testtemp(void);             //啟動(dòng)溫度轉(zhuǎn)換
uint wd(void);                   //讀取溫度
void Delay(uint time);            //延時(shí)函數(shù)

sbit sta_flag=flag^0;                           //10MS到標(biāo)準(zhǔn)位
sbit fuhao=flag^1;                                   //溫度符號(hào)位
sbit START=P1^0;                                   //啟動(dòng)測(cè)距
sbit CNT=P2^5;                                           //發(fā)射超聲波
sbit CSBIN=P2^6;                                   //返回信號(hào)
sbit BUZZER=P3^7;

void timer(void);
void delay1ms(void);                                        //延時(shí)1MS
void sys_init(void);                                        //系統(tǒng)初始化
void display(void);                                                //顯示函數(shù)
void computer(void);                                        //計(jì)算
void hextobcd(bit flag,uchar num);                //轉(zhuǎn)換BCD
void bm(void);                                                         //求補(bǔ)碼
void delay15(uchar us);                                        //延時(shí)15us

/***********主函數(shù)**************/
void main(void)
{
        uchar i,j;
        for(i=0;i<255;i++)
                for(j=0;j<255;j++);        
        sys_init();                                                        //初始化
        display();                                                        //顯示
        sta_flag=0;                                                        //標(biāo)準(zhǔn)復(fù)位
        Waitforstarting;                                        // 檢查按鍵
        while(START);
        for(i=0;i<20;i++)
        delay1ms();
        if(START)
        goto waitforstarting;
        BUZZER=0;                                                        
        i=100000;
        while(i--);
        TR0=1;                                                                //啟動(dòng)定時(shí)器0
        ET0=1;
        testtemp();                                                        //啟動(dòng)溫度轉(zhuǎn)換
        while(1)
        {
                if(sta_flag)                                        //10MS到了
                {
                        while(0==CSBIN);                        //收到回波
                        TR1=0;
                        jsh=TH1;
                        jsl=TL1;
                        if(15==count)                                //900MS到檢測(cè)溫度
                        {
                                temp=wd();                                //讀取溫度
                                count=0;
                                testtemp();                                //重新啟動(dòng)轉(zhuǎn)換
                                display();                                //刷新顯示
                        }
                computer();                                                //計(jì)算距離
                hextobcd();                                                //轉(zhuǎn)換BCD碼
                sta_flag=0;
                }
        }
}
ID:701275 發(fā)表于 2020-3-20 16:58
xxpp2011 發(fā)表于 2020-3-20 13:47
如果前面有聲明這個(gè)函數(shù)的話(huà),調(diào)用要這樣:
Waitforstarting();
如果有輸入?yún)?shù)要填在括號(hào)里面。

這是聲明和主函數(shù)部分,問(wèn)題是:void Delay(uint time)參數(shù)列表長(zhǎng)度不同、waitforstarting未定義標(biāo)識(shí)符
你可以幫忙看看哪里出問(wèn)題了嗎?
#include<reg52.h>
#include<intrins.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define Lcd_Data P0;       //定義LCD數(shù)據(jù)端口

uchar code dispbuf[33]={"Temperature:   Distance:  mm"};
uchar numcode[10]={'0','1','2','3','4','5','6','7','8','9'};
uint num[29]={0};
uchar jsh,jsl;                                //計(jì)時(shí)器的高低位
uchar count=0;                                //10秒計(jì)次數(shù)
uint distance;                                 //距離

sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit DQ=P2^7;                                 //DS18B20數(shù)字端口
sbit Busy=P0^7;
                               
uint temp;                                           //溫度變量
uchar bdata flag;                           //DS18B20存在標(biāo)準(zhǔn)

void Delay(void);                        //延時(shí)函數(shù)
void Read_Busy(void);                                //檢查L(zhǎng)CD是否忙
void lint_18B20(void);                           //初始化18B20
void Write_Comm(uchar);                          //寫(xiě)入LCD命令
void Write_Data(uhar);                          //寫(xiě)入LCD數(shù)據(jù)
void lint_LCD(void);                          //初始化LCD

uchar Readonechar(void);         //讀取第一個(gè)字節(jié)
void Writeonechar(uchar dat);    //寫(xiě)入第一個(gè)字節(jié)
void testtemp(void);             //啟動(dòng)溫度轉(zhuǎn)換
uint wd(void);                   //讀取溫度
void Delay(uint time);            //延時(shí)函數(shù)

sbit sta_flag=flag^0;                           //10MS到標(biāo)準(zhǔn)位
sbit fuhao=flag^1;                                   //溫度符號(hào)位
sbit START=P1^0;                                   //啟動(dòng)測(cè)距
sbit CNT=P2^5;                                           //發(fā)射超聲波
sbit CSBIN=P2^6;                                   //返回信號(hào)
sbit BUZZER=P3^7;

void timer(void);
void delay1ms(void);                                        //延時(shí)1MS
void sys_init(void);                                        //系統(tǒng)初始化
void display(void);                                                //顯示函數(shù)
void computer(void);                                        //計(jì)算
void hextobcd(bit flag,uchar num);                //轉(zhuǎn)換BCD
void bm(void);                                                         //求補(bǔ)碼
void delay15(uchar us);                                        //延時(shí)15us

/***********主函數(shù)**************/
void main(void)
{
        uchar i,j;
        for(i=0;i<255;i++)
                for(j=0;j<255;j++);       
        sys_init();                                                        //初始化
        display();                                                        //顯示
        sta_flag=0;                                                        //標(biāo)準(zhǔn)復(fù)位
        Waitforstarting;                                        // 檢查按鍵
        while(START);
        for(i=0;i<20;i++)
        delay1ms();
        if(START)
        goto waitforstarting;
        BUZZER=0;                                                       
        i=100000;
        while(i--);
        TR0=1;                                                                //啟動(dòng)定時(shí)器0
        ET0=1;
        testtemp();                                                        //啟動(dòng)溫度轉(zhuǎn)換
        while(1)
        {
                if(sta_flag)                                        //10MS到了
                {
                        while(0==CSBIN);                        //收到回波
                        TR1=0;
                        jsh=TH1;
                        jsl=TL1;
                        if(15==count)                                //900MS到檢測(cè)溫度
                        {
                                temp=wd();                                //讀取溫度
                                count=0;
                                testtemp();                                //重新啟動(dòng)轉(zhuǎn)換
                                display();                                //刷新顯示
                        }
                computer();                                                //計(jì)算距離
                hextobcd();                                                //轉(zhuǎn)換BCD碼
                sta_flag=0;
                }
        }
}
ID:701275 發(fā)表于 2020-3-20 16:56
csmyldl 發(fā)表于 2020-3-20 12:36
是不是延時(shí)函數(shù)delay()括號(hào)內(nèi)要加入實(shí)際參數(shù)呢?程序不全,不能作出準(zhǔn)確的答復(fù)

這里是聲明部分和主函數(shù)部分函數(shù)。出問(wèn)題的是:void Delay(uint time)參數(shù)列表長(zhǎng)度不同、waitforstarting未定義標(biāo)識(shí)符,你看看是哪里出問(wèn)題了。
#include<reg52.h>
#include<intrins.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
#define Lcd_Data P0;       //定義LCD數(shù)據(jù)端口

uchar code dispbuf[33]={"Temperature:   Distance:  mm"};
uchar numcode[10]={'0','1','2','3','4','5','6','7','8','9'};
uint num[29]={0};
uchar jsh,jsl;                                //計(jì)時(shí)器的高低位
uchar count=0;                                //10秒計(jì)次數(shù)
uint distance;                                 //距離

sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit DQ=P2^7;                                 //DS18B20數(shù)字端口
sbit Busy=P0^7;
                               
uint temp;                                           //溫度變量
uchar bdata flag;                           //DS18B20存在標(biāo)準(zhǔn)

void Delay(void);                        //延時(shí)函數(shù)
void Read_Busy(void);                                //檢查L(zhǎng)CD是否忙
void lint_18B20(void);                           //初始化18B20
void Write_Comm(uchar);                          //寫(xiě)入LCD命令
void Write_Data(uhar);                          //寫(xiě)入LCD數(shù)據(jù)
void lint_LCD(void);                          //初始化LCD

uchar Readonechar(void);         //讀取第一個(gè)字節(jié)
void Writeonechar(uchar dat);    //寫(xiě)入第一個(gè)字節(jié)
void testtemp(void);             //啟動(dòng)溫度轉(zhuǎn)換
uint wd(void);                   //讀取溫度
void Delay(uint time);            //延時(shí)函數(shù)

sbit sta_flag=flag^0;                           //10MS到標(biāo)準(zhǔn)位
sbit fuhao=flag^1;                                   //溫度符號(hào)位
sbit START=P1^0;                                   //啟動(dòng)測(cè)距
sbit CNT=P2^5;                                           //發(fā)射超聲波
sbit CSBIN=P2^6;                                   //返回信號(hào)
sbit BUZZER=P3^7;

void timer(void);
void delay1ms(void);                                        //延時(shí)1MS
void sys_init(void);                                        //系統(tǒng)初始化
void display(void);                                                //顯示函數(shù)
void computer(void);                                        //計(jì)算
void hextobcd(bit flag,uchar num);                //轉(zhuǎn)換BCD
void bm(void);                                                         //求補(bǔ)碼
void delay15(uchar us);                                        //延時(shí)15us

/***********主函數(shù)**************/
void main(void)
{
        uchar i,j;
        for(i=0;i<255;i++)
                for(j=0;j<255;j++);       
        sys_init();                                                        //初始化
        display();                                                        //顯示
        sta_flag=0;                                                        //標(biāo)準(zhǔn)復(fù)位
        Waitforstarting;                                        // 檢查按鍵
        while(START);
        for(i=0;i<20;i++)
        delay1ms();
        if(START)
        goto waitforstarting;
        BUZZER=0;                                                       
        i=100000;
        while(i--);
        TR0=1;                                                                //啟動(dòng)定時(shí)器0
        ET0=1;
        testtemp();                                                        //啟動(dòng)溫度轉(zhuǎn)換
        while(1)
        {
                if(sta_flag)                                        //10MS到了
                {
                        while(0==CSBIN);                        //收到回波
                        TR1=0;
                        jsh=TH1;
                        jsl=TL1;
                        if(15==count)                                //900MS到檢測(cè)溫度
                        {
                                temp=wd();                                //讀取溫度
                                count=0;
                                testtemp();                                //重新啟動(dòng)轉(zhuǎn)換
                                display();                                //刷新顯示
                        }
                computer();                                                //計(jì)算距離
                hextobcd();                                                //轉(zhuǎn)換BCD碼
                sta_flag=0;
                }
        }
}
ID:452950 發(fā)表于 2020-3-20 13:47
如果前面有聲明這個(gè)函數(shù)的話(huà),調(diào)用要這樣:
Waitforstarting();
如果有輸入?yún)?shù)要填在括號(hào)里面。
第一個(gè)錯(cuò)誤在35行,看不到
ID:235200 發(fā)表于 2020-3-20 12:36
是不是延時(shí)函數(shù)delay()括號(hào)內(nèi)要加入實(shí)際參數(shù)呢?程序不全,不能作出準(zhǔn)確的答復(fù)

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表