找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1986|回复: 7
打印 上一主题 下一主题
收起左侧

急啊,程序出问题了 c51

[复制链接]
跳转到指定楼层
楼主
ID:216658 发表于 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转换标志;若在函数外定义此变量则不能得到连续变化的模拟量的显示
        /******以下为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);                    //使输入电压达到稳定(1ms即可?
        /******以下为ADC执行程序****************************/
    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,就不循环。n每增加1大约增加0.5ms        ,看系统而定。
    {                                //        如果不等于0,就进入循环,同时n的值减1.一直等到n=0才退出while循环        。                                                          
        x = 5000;        //限制了n最多为5000,因为x循环到0的时候while(x--)为假,不许执行接下来的动作
        while (x--);//                先判断x是否等于0,如果等于0,就不循环。
    }                                //                如果不等于0,就进入循环,同时x的值减1.一直等到x=0才退出while循环        。                                  
}                                        //          在while(x--)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。
       


我想问一下(40): error C129: missing ';' before 'Read'     40行出了问题,怎么办   急

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

8#
ID:216658 发表于 2020-2-23 15:23 | 只看该作者
cuihaodianzi 发表于 2017-11-14 10:13
STC的程序吧  51头文件都没有包含进去 是不是做课程设计 然后从哪里复制的 ?
还不如把功能要求说出来  大 ...

就是ad,测电压,我也不懂
回复

使用道具 举报

7#
ID:149144 发表于 2017-11-14 10:13 | 只看该作者
STC的程序吧  51头文件都没有包含进去 是不是做课程设计 然后从哪里复制的 ?
还不如把功能要求说出来  大家帮帮你
回复

使用道具 举报

6#
ID:213173 发表于 2017-11-13 20:56 | 只看该作者
问题多多,delay(2),大小写混用,寄存器名混用,数据类型定义混用。没有主程序入口,P1M0、P1M1设置错误,等等等等。
回复

使用道具 举报

5#
ID:1 发表于 2017-11-13 17:40 | 只看该作者
回复

使用道具 举报

地板
ID:216658 发表于 2017-11-12 20:13 | 只看该作者
1123212143255 发表于 2017-11-11 15:48
40行上面7行为什么没有分号。

什么意思
回复

使用道具 举报

板凳
ID:126608 发表于 2017-11-11 15:48 | 只看该作者
40行上面7行为什么没有分号。
回复

使用道具 举报

沙发
ID:216658 发表于 2017-11-11 14:24 | 只看该作者
真的急
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表