找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2704|回復: 7
收起左側

急啊,程序出問題了 c51

[復制鏈接]
ID:216658 發(fā)表于 2017-11-11 14:23 | 顯示全部樓層 |閱讀模式
#include<intrins.h>
sbit led0  =   P2^1;        //管腳定義,數碼管
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 轉換結束標志位 flag
#define ADC_START   0x08            //ADC 開始轉換控制位
#define ADC_SPEEDLL 0x00            //420 個時鐘周期轉換一次
#define ADC_SPEEDL  0x20            //280 個時鐘周期轉換一次
#define ADC_SPEEDH  0x40            //140 個時鐘周期轉換一次
#define ADC_SPEEDHH 0x60            //70 個時鐘周期轉換一次



          
   Uchar Read (uchar CHA,cha1) //40行
        {
        uchar AD_FIN=0;                 //存儲A/D轉換標志;若在函數外定義此變量則不能得到連續(xù)變化的模擬量的顯示
        /******以下為ADC初始化程序****************************/
        CHA &= 0x00;            //選擇ADC的8個接口中的一個(0000 0xxx 清0高位)   xxx控制模擬輸入通道選擇
           cha1 &=  0x04                 ;
    ADC_CONTR = 0x00;                  //ADC轉換的速度(0XX0 0000 其中XX控制速度,請根據數據手冊設置)
    _nop_();
    ADC_CONTR |= CHA,cha1;       //選擇A/D當前通道
    _nop_();
    ADC_CONTR |= 0x80;             //啟動A/D電源
    delay(2);                    //使輸入電壓達到穩(wěn)定(1ms即可?
        /******以下為ADC執(zhí)行程序****************************/
    ADC_CONTR |= 0x08;      //啟動A/D轉換(0000 1000 令ADCS = 1)
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    while (AD_FIN ==0)           //等待A/D轉換結束
        {     
            AD_FIN = (ADC_CONTR & 0x10);         //0001 0000測試A/D轉換結束否
    }
    ADC_CONTR &= 0xE7;                              //1111 0111 清ADC_FLAG位, 關閉A/D轉換,
        return (ADC_DATA);                          //返回A/D轉換結果(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         軟件延時函數  官方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行出了問題,怎么辦   急

回復

使用道具 舉報

ID:216658 發(fā)表于 2020-2-23 15:23 | 顯示全部樓層
cuihaodianzi 發(fā)表于 2017-11-14 10:13
STC的程序吧  51頭文件都沒有包含進去 是不是做課程設計 然后從哪里復制的 ?
還不如把功能要求說出來  大 ...

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

使用道具 舉報

ID:149144 發(fā)表于 2017-11-14 10:13 | 顯示全部樓層
STC的程序吧  51頭文件都沒有包含進去 是不是做課程設計 然后從哪里復制的 ?
還不如把功能要求說出來  大家?guī)蛶湍?/td>
回復

使用道具 舉報

ID:213173 發(fā)表于 2017-11-13 20:56 | 顯示全部樓層
問題多多,delay(2),大小寫混用,寄存器名混用,數據類型定義混用。沒有主程序入口,P1M0、P1M1設置錯誤,等等等等。
回復

使用道具 舉報

ID:1 發(fā)表于 2017-11-13 17:40 | 顯示全部樓層
回復

使用道具 舉報

ID:216658 發(fā)表于 2017-11-12 20:13 | 顯示全部樓層
1123212143255 發(fā)表于 2017-11-11 15:48
40行上面7行為什么沒有分號。

什么意思
回復

使用道具 舉報

ID:126608 發(fā)表于 2017-11-11 15:48 | 顯示全部樓層
40行上面7行為什么沒有分號。
回復

使用道具 舉報

ID:216658 發(fā)表于 2017-11-11 14:24 | 顯示全部樓層
真的急
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表