找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2668|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

急啊,程序出問題了 c51

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:216658 發(fā)表于 2017-11-11 14:23 | 只看該作者 回帖獎(jiǎng)勵(lì) |正序?yàn)g覽 |閱讀模式
#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已自動配好?  先用這個(gè)
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 個(gè)時(shí)鐘周期轉(zhuǎn)換一次
#define ADC_SPEEDL  0x20            //280 個(gè)時(shí)鐘周期轉(zhuǎn)換一次
#define ADC_SPEEDH  0x40            //140 個(gè)時(shí)鐘周期轉(zhuǎn)換一次
#define ADC_SPEEDHH 0x60            //70 個(gè)時(shí)鐘周期轉(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個(gè)接口中的一個(gè)(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í)函數(shù)  官方STC
----------------------------*/
void Delay(u16 n)
{
  u16 x;

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


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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

8#
ID:216658 發(fā)表于 2020-2-23 15:23 | 只看該作者
cuihaodianzi 發(fā)表于 2017-11-14 10:13
STC的程序吧  51頭文件都沒有包含進(jìn)去 是不是做課程設(shè)計(jì) 然后從哪里復(fù)制的 ?
還不如把功能要求說出來  大 ...

就是ad,測電壓,我也不懂
回復(fù)

使用道具 舉報(bào)

7#
ID:149144 發(fā)表于 2017-11-14 10:13 | 只看該作者
STC的程序吧  51頭文件都沒有包含進(jìn)去 是不是做課程設(shè)計(jì) 然后從哪里復(fù)制的 ?
還不如把功能要求說出來  大家?guī)蛶湍?/td>
回復(fù)

使用道具 舉報(bào)

6#
ID:213173 發(fā)表于 2017-11-13 20:56 | 只看該作者
問題多多,delay(2),大小寫混用,寄存器名混用,數(shù)據(jù)類型定義混用。沒有主程序入口,P1M0、P1M1設(shè)置錯(cuò)誤,等等等等。
回復(fù)

使用道具 舉報(bào)

5#
ID:1 發(fā)表于 2017-11-13 17:40 | 只看該作者
回復(fù)

使用道具 舉報(bào)

地板
ID:216658 發(fā)表于 2017-11-12 20:13 | 只看該作者
1123212143255 發(fā)表于 2017-11-11 15:48
40行上面7行為什么沒有分號。

什么意思
回復(fù)

使用道具 舉報(bào)

板凳
ID:126608 發(fā)表于 2017-11-11 15:48 | 只看該作者
40行上面7行為什么沒有分號。
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:216658 發(fā)表于 2017-11-11 14:24 | 只看該作者
真的急
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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