標(biāo)題: 急啊,程序出問題了 c51 [打印本頁]

作者: 13922184662    時間: 2017-11-11 14:23
標(biāo)題: 急啊,程序出問題了 c51
#include<intrins.h>
sbit led0  =   P2^1;        //管腳定義,數(shù)碼管
sbit  led1   =   P2^7;
sbit  led2   =    P1^2;
sbit  led3    =    P1^3;
sbit led4    =    P1^4;
sbit  led5    =  P1^5;
sbit  led6     = P1^6;
sbit  led_dp    =  P1^7 ;
sbit  V1     = P1^0;           //ADC已自動配好?  先用這個
sbit  V2    =  P1^1 ;
sbit  led_ge  =P2^6   ;
sbit  led_shi  =P2^2 ;
sbit full =P2 ^4         ;
sbit not_enough =P2^5 ;
#define u8          unsigned char         ;
#define u16         unsigned int           ;
#define uchar       unsigned char          ;
#define uint        unsigned int          ;
//
/*Declare SFR associated with the ADC */  // adc通訊配置

  /*Define ADC operation const for ADC_CONTR*/
#define ADC_POWER   0x80            //ADC 電源控制位
#define ADC_FLAG    0x10            //ADC 轉(zhuǎn)換結(jié)束標(biāo)志位 flag
#define ADC_START   0x08            //ADC 開始轉(zhuǎn)換控制位
#define ADC_SPEEDLL 0x00            //420 個時鐘周期轉(zhuǎn)換一次
#define ADC_SPEEDL  0x20            //280 個時鐘周期轉(zhuǎn)換一次
#define ADC_SPEEDH  0x40            //140 個時鐘周期轉(zhuǎn)換一次
#define ADC_SPEEDHH 0x60            //70 個時鐘周期轉(zhuǎn)換一次



          
   Uchar Read (uchar CHA,cha1) //40行
        {
        uchar AD_FIN=0;                 //存儲A/D轉(zhuǎn)換標(biāo)志;若在函數(shù)外定義此變量則不能得到連續(xù)變化的模擬量的顯示
        /******以下為ADC初始化程序****************************/
        CHA &= 0x00;            //選擇ADC的8個接口中的一個(0000 0xxx 清0高位)   xxx控制模擬輸入通道選擇
           cha1 &=  0x04                 ;
    ADC_CONTR = 0x00;                  //ADC轉(zhuǎn)換的速度(0XX0 0000 其中XX控制速度,請根據(jù)數(shù)據(jù)手冊設(shè)置)
    _nop_();
    ADC_CONTR |= CHA,cha1;       //選擇A/D當(dāng)前通道
    _nop_();
    ADC_CONTR |= 0x80;             //啟動A/D電源
    delay(2);                    //使輸入電壓達(dá)到穩(wěn)定(1ms即可?
        /******以下為ADC執(zhí)行程序****************************/
    ADC_CONTR |= 0x08;      //啟動A/D轉(zhuǎn)換(0000 1000 令A(yù)DCS = 1)
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    while (AD_FIN ==0)           //等待A/D轉(zhuǎn)換結(jié)束
        {     
            AD_FIN = (ADC_CONTR & 0x10);         //0001 0000測試A/D轉(zhuǎn)換結(jié)束否
    }
    ADC_CONTR &= 0xE7;                              //1111 0111 清ADC_FLAG位, 關(guān)閉A/D轉(zhuǎn)換,
        return (ADC_DATA);                          //返回A/D轉(zhuǎn)換結(jié)果(8位)
}


/*----------------------------
Initial ADC sfr
----------------------------*/
void InitRead()
{
sfr p1M0[1:0]    =0x03          ;
sfr p1M1[1:0]    =0x00          ;              //Set some P1 as only input(高阻) mode          
   }


/*----------------------------
Software delay function         軟件延時函數(shù)  官方STC
----------------------------*/
void Delay(u16 n)
{
  u16 x;

    while (n--)                // 先判斷n是否等于0,如果等于0,就不循環(huán)。n每增加1大約增加0.5ms        ,看系統(tǒng)而定。
    {                                //        如果不等于0,就進入循環(huán),同時n的值減1.一直等到n=0才退出while循環(huán)        。                                                          
        x = 5000;        //限制了n最多為5000,因為x循環(huán)到0的時候while(x--)為假,不許執(zhí)行接下來的動作
        while (x--);//                先判斷x是否等于0,如果等于0,就不循環(huán)。
    }                                //                如果不等于0,就進入循環(huán),同時x的值減1.一直等到x=0才退出while循環(huán)        。                                  
}                                        //          在while(x--)后面有一個分號,表示該循環(huán)的循環(huán)體為空,即只做判斷和循環(huán),并不執(zhí)行操作。
       


我想問一下(40): error C129: missing ';' before 'Read'     40行出了問題,怎么辦   急


作者: 13922184662    時間: 2017-11-11 14:24
真的急
作者: 1123212143255    時間: 2017-11-11 15:48
40行上面7行為什么沒有分號。
作者: 13922184662    時間: 2017-11-12 20:13
1123212143255 發(fā)表于 2017-11-11 15:48
40行上面7行為什么沒有分號。

什么意思
作者: admin    時間: 2017-11-13 17:40
類似問題:http://www.torrancerestoration.com/bbs/dpj-78666-1.html
作者: wulin    時間: 2017-11-13 20:56
問題多多,delay(2),大小寫混用,寄存器名混用,數(shù)據(jù)類型定義混用。沒有主程序入口,P1M0、P1M1設(shè)置錯誤,等等等等。
作者: cuihaodianzi    時間: 2017-11-14 10:13
STC的程序吧  51頭文件都沒有包含進去 是不是做課程設(shè)計 然后從哪里復(fù)制的 ?
還不如把功能要求說出來  大家?guī)蛶湍?hr noshade size="2" width="100%" color="#808080"> 作者: 13922184662    時間: 2020-2-23 15:23
cuihaodianzi 發(fā)表于 2017-11-14 10:13
STC的程序吧  51頭文件都沒有包含進去 是不是做課程設(shè)計 然后從哪里復(fù)制的 ?
還不如把功能要求說出來  大 ...

就是ad,測電壓,我也不懂




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1