| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2716 人关注过本帖
标题:小弟有个C程序搞不定了,请各位大哥帮帮手,在此多谢了,程序如下
只看楼主 加入收藏
minming86
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-7-4
收藏
 问题点数:0 回复次数:6 
小弟有个C程序搞不定了,请各位大哥帮帮手,在此多谢了,程序如下

#include"reg51.h"
void interrupt1();
void time0();
void intt0();
sbit ON=0x80^0;//启动开关
sbit OFF=0xb0^2;//停止开关
sbit MA1=0x90^1;//马达1
sbit MA2=0x90^2;//马达2
sbit MA3=0x90^3;//马达3
sbit MA=0x90^4;//马达电源总开关
sbit OK1=0x90^5;//第一个马达OK时指示灯
sbit OK2=0x90^6;//第二个马达OK时指示灯
sbit OK3=0x90^7;//第三个马达OK时指示灯
sbit NG1=0xa0^0;//第一个马达NG时指示灯
sbit NG2=0xa0^1;//第二个马达NG时指示灯
sbit NG3=0xa0^2;//第三个马达NG时指示灯
sbit IN1=0x80^1;//转到位信号输入
sbit IN2=0x80^2;//转到位信号输入
sbit IN3=0x80^3;//转到位信号输入
sbit ZI=0x90^0;//启动后指示灯
void intt0()
{
int MIN=10,MING=0,MING0=0,MING1=0;//设定标准转十次
P1=0x1F;//马达先通电
IE=0x83;//设置外中断0和定时中断0
TCON=0x11;//设定为各中断输入低电平有效
TMOD=0x02;//定时为第三种模式
TH0=0x9c;//定时器设定固定初始值
TL0=0X9c;//定时寄存器设定初始值
}
minming3()
{
if(IN1=0)//检测第一个马达是否转到位
{
!MA1=MA1;//是马达向相反方向转
!IN1=IN1;
++MING;//计数一次
minming1();
}
else minming1();//否则检查第二个马达
}
minming1()
{
if(IN2=0)//检测第二个马达是否转到位
{
!MA2=MA2;//是马达向相反方向转
!IN2=IN2;
++MING0;//计数一次
minming2();
}
else minming2();//否则检查第三个马达
}
minming2()
{
if(IN3=0)//检测第三个马达是否转到位
{
!MA3=MA3;//是马达向相反方向转
!IN3=IN3;
++MING1;//计数一次
minming3();
}
else minming3();//否则检查返回第一个马达
}

void time0()interrupt 1 using 1
{
while (MIN0=0)
{
--MIN0;
return;
}
while (MIN1=0)
{
--MIN1;
return;//设定工作时间
}
P1=0x01;//所有马达停止工作
if (MING>=MIN)//第一个马达规定时间内是否来回转动了10次
{
OK1=!OK1;//是OK灯亮
NG1=0;
}
else
{
NG1=!NG1;//否则NG灯亮
OK1=0;
}
if (MING0>=MIN)//第二个马达规定时间内是否来回转动了10次
{
OK2=!OK2;//是OK灯亮
NG2=0;
}
else
{
NG2=!NG2;//否则NG灯亮
OK2=0;
}
if (MING1>=MIN)//第三个马达规定时间内是否来回转动了10次
{
OK3=!OK3;//是OK灯亮
NG3=0;
}
else
{
NG3=!NG3;//否则NG灯亮
OK3=0;
}
}
void interrupt1()interrupt 0 using 0
{
void main();//初始化
}
void main(void)
{
int i=1,MIN0=200,MIN1=200;
P1=0;
P0=1;
P2=0;
P3=1;
m4:if (ON=0) //等待按下启动开关
intt0();
else goto m4;
}

30.C(33): warning C276: constant in condition expression
30.C(35): error C213: left side of asn-op not an lvalue
30.C(37): error C202: 'MING': undefined identifier
老是显示这个,我也不知道是哪里错了

搜索更多相关主题的帖子: 马达 开关 include 指示灯 
2007-07-04 23:15
herbert_1987
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:1314
专家分:0
注 册:2007-5-13
收藏
得分:0 
MING 不是全局变量哦.

人生重要的不是所站的位置,而是所朝的方向
2007-07-04 23:57
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 

这个是C语言的哪个方向的东西?嵌入式吗?不象啊.
判断相等用的都是=,这个是C语言吗??

我第一次发现这种东西,谁来解释一下,一起长长见识.


2007-07-05 00:36
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
连地址都用上了,八成是单片机上的,或嵌入式

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-05 09:28
windflush
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:886
专家分:0
注 册:2007-7-1
收藏
得分:0 

可是只要是C语言不是应该还是遵循C的语法规则吗?
嵌入式的程序到时也写过一点点皮毛,可是至少还是C语言规则啊,至少不会用“=”来代替“==”啊。


2007-07-05 19:36
酒肉弥勒佛
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:399
专家分:0
注 册:2006-6-6
收藏
得分:0 
哈哈,难免有错误

编程是为了提高效率,好的程序是因为他的高效;在编程的道路上,永远追逐高效的算法
2007-07-05 20:07
huangjun308
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2007-7-5
收藏
得分:0 
fatal error C1083: Cannot open include file: 'reg51.h': No such file or directory
执行 cl.exe 时出错. 这是我电脑上运行的结果,我这里的库里面好象没有reg51.h这个头文件,所以报错,这个头文件是系统自带的还是自己编好的放进去的,然后就可以使用了,谁能告诉我????????????/

2007-07-06 10:56
快速回复:小弟有个C程序搞不定了,请各位大哥帮帮手,在此多谢了,程序如下
数据加载中...
 
   



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

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