| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3090 人关注过本帖
标题:C语言编程出错
只看楼主 加入收藏
piaoxue111
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
C语言编程出错
/***********选择工作模式***********/
void xuan()                                    //选择工作模式
{
    uchar j;
    while(1)
    {
        if(s1==0)                                //判断S1按键是否按下
        {   
            delay(10);                        //按键消抖
            while(s1==0);
for(j=0;j<50;j++)                    //重复50遍以达到延时的目的   
            {
                display(tab1);                //调用显示函数
delay(500);                     //延时函数
            }
            flag1=1;                            //标志位flag1打开
            break;   
        }
        if(s2==0)                                //判断S2按键是否按下
        {
            delay(10);
            while(s2==0);
            for(j=0;j<50;j++)
            {
                display(tab2);
delay(500);
            }
            flag2=1;                            //标志位flag2打开
            break;   
        }
        if(s3==0)                                //判断S3按键是否按下
        {
            delay(10);
            while(s3==0);
            for(j=0;j<50;j++)
            {
                display(tab3);
delay(500);
            }
            flag3=1;                            //标志位flag3打开
            break;   
        }
    }
}
/***********甲醛检测模块***********/
void CHO()                                    //HCHO工作模式
{
    if(CHOI==0)                                //判断甲醛传感器模块是否输出低电平
    {
        display(tab5);                            //如果是则调用显示函数
        if(flag==0)                            //判断中断标志位flag
        {
            CHOO=0;                            //点亮LED
            BELL=0;                            //启动蜂鸣器报警
        }
        else if(flag==1)
        {
            BELL=0;                        
            CHOO=1;                            //关闭LED
        }
        else if(flag==2)
        {
            CHOO=0;
            BELL=1;                            //关闭蜂鸣器
        }
    }
     else
    {
        display(tab4);                        //数码管显示Good
        CHOO=1;                                //关闭LED
        BELL=1;                                //关闭蜂鸣器
    }
}
/***********一氧化碳检测模块***********/
void CO()                                        //CO工作模式
{
    if(COI==0)
    {
        display(tab5);
        if(flag==0)
        {
            COO=0;
            BELL=0;
        }
        else if(flag==1)
        {
            BELL=0;
            COO=1;
        }
        else if(flag==2)
        {
            COO=0;
            BELL=1;
        }
    }
    else
    {
        display(tab4);
        COO=1;
        BELL=1;
    }
}
/***********烟雾检测模块***********/
void GAS()                                        //GAS工作模式
{
    if(GASI==0)
    {
        display(tab5);
        if(flag==0)
        {
            GASO=0;
            BELL=0;
        }
        else if(flag==1)
        {
            BELL=0;
            GASO=1;
        }
        else if(flag==2)
        {
            GASO=0;
            BELL=1;
        }
    }
    else
    {
        display(tab4);
        GASO=1;
        BELL=1;
    }
}
/***********显示函数***********/
void display(uchar *temp)                        //显示函数
{
    uchar i;
    uchar count=0x7f;
    for(i=0;i<4;i++)                           
    {
        P2=0xff;                                //数码管清零
        P0=*(temp+i);                            //送段码
        P2=count;                                //送位码
        delay(50);                            //延时函数
        count=count>>1;                        //显示下一位
    }   
}
/********************主函数*******************/
/***********功能:完成对子模块调用***********/
void main()                                    //主函数
{
    init();                                    //初始化
    xuan();                                    //调用选择函数
    while(1)
    {
        if(flag1==1)                            //判断标志位flag1
        {
            CHO();                            //调用CHO函数
        }
        else if(flag2==1)                        //判断标志位flag2
        {
            CO();                            //调用CO函数
        }
        else if(flag3==1)                        //判断标志位flag2
        {
            GAS();                            //调用GAS函数
        }
    }
        
}
/***********中断函数***********/
void int0() interrupt 0                            //外部中断函数
{
    flag++;
    if(flag==3)                                //判断flag是否为3
    {
        flag=0;                                //调用标志位flag=0
    }
}
程序出错 望大神给改改
LY.C(4): error C202: 'uchar': undefined identifier
LY.C(4): error C141: syntax error near 'j'
LY.C(7): error C202: 's1': undefined identifier
搜索更多相关主题的帖子: display C语言 
2016-05-16 11:13
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:5 
代码前加一句
#define uchar unsigned char
收到的鲜花
  • piaoxue1112016-05-16 12:35 送鲜花  1朵   附言:我很赞同
2016-05-16 11:28
piaoxue111
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-16
收藏
得分:0 
回复 2楼 grmmylbs
改完了 还有一个错误
LY.C(8): error C202: 's1': undefined identifier
2016-05-16 12:32
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:5 
可能是s1变量没有声明吧。

   唯实惟新 至诚致志
2016-05-16 13:05
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
不知是不是你的代码不全,里面很多没定义的变量。你自己先补全
2016-05-16 13:06
piaoxue111
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-16
收藏
得分:0 
回复 5楼 grmmylbs
大神  我比较笨 不知道怎么改
2016-05-16 13:54
wanglianyi1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:14
帖 子:647
专家分:2067
注 册:2015-6-18
收藏
得分:5 
回复 6楼 piaoxue111
是你的变量没有定义,按编译提示的错误找到未定义的变量,增加定义就可以了。就比如你的错误提示s1就是没有定义就使用了。还有很多变量多没有定义;
例如
程序代码:
#include<stdio.h>
int main( )
{
    int n=0;    //定义整形变量n,如果把这行删掉或者注释掉就会提示n未定义了 
    printf("n=%d",n);    
    return 0;
}


[此贴子已经被作者于2016-5-16 16:45编辑过]

2016-05-16 16:41
piaoxue111
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-5-16
收藏
得分:0 
回复 4楼 qq1023569223
我想问一下 变量S1属于哪种形式的变量 应该怎样声明
2016-05-16 17:46
快速回复:C语言编程出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020376 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved