一个程序跑飞的问题,请赐教!

[复制链接]
8062|42
 楼主| wcsvery 发表于 2010-9-23 22:03 | 显示全部楼层 |阅读模式
#include <reg52.h>
sbit relay1=P2^0;//控制电机抽气
sbit relay2=P2^3;//控制气压电磁阀放气
sbit P11=P1^1;//气压值电平输出
void delay(unsigned int cnt){while(--cnt);}
void main()
{
  unsigned char i;
  while(1)
  {
  P11=1;
  P23=0;
  P20=1;
  while(P11==1);
  P23=1;
  delay(200);
  P20=0;
  for(i=0;i<10;i++)delay(65500);
  }
}


这样一个程序在WHILE(P11==1);这里没有进入死循环而直接进入下面的程序,用万用表测得的P11引脚电平一直为高电平的。请赐教。谢谢~!用的STC90C52单片机。
 楼主| wcsvery 发表于 2010-9-23 22:05 | 显示全部楼层
自顶~~~高手速来~!
fchwr 发表于 2010-9-23 22:17 | 显示全部楼层
在最后加while(1)? maybe~~:(
ayb_ice 发表于 2010-9-24 08:22 | 显示全部楼层
那要看P11是怎么定义的,有可能不是指的P1口的位1
匠人粉丝团 发表于 2010-9-24 08:39 | 显示全部楼层
用万用表测不一定是精确的,可以试试用示波器看看电平信号有没有非常短的低脉冲信号。
 楼主| wcsvery 发表于 2010-9-24 08:50 | 显示全部楼层
用很精准的电压表测出来的电压也是5V无明显大幅度抖动,估计不是这个问题
5880527 发表于 2010-9-24 09:08 | 显示全部楼层
哎,就这架势还是先点点灯啊之类的吧,先练练内功
 楼主| wcsvery 发表于 2010-9-24 09:14 | 显示全部楼层
现在做着项目没什么时间点灯,7楼内功好就拿出来分享下~!
5880527 发表于 2010-9-24 09:27 | 显示全部楼层
:)呵呵,我其实也没去点过什么灯,也是象你这样从一个个小的项目中做过来的,实际应用的东西最锻炼人了
 楼主| wcsvery 发表于 2010-9-24 09:36 | 显示全部楼层
9楼谦虚了啊~~既然是过来人那就分析下~~我用的是光耦接三极管驱动继电器,通过继电器来控制15V直流电机,工作电流在1.5A左右,有没有可能是电机转动的大电流影响到光耦前端,继而影响到单片机内部的电平判断?
5880527 发表于 2010-9-24 09:40 | 显示全部楼层
那你就先把电机脱开看是否会出问题呀
 楼主| wcsvery 发表于 2010-9-24 09:45 | 显示全部楼层
这个尝试过了~~脱开了没问题~~!现在的问题是怎么解决~~?
fzy_666 发表于 2010-9-24 10:13 | 显示全部楼层
哈哈,少了大括号
 楼主| wcsvery 发表于 2010-9-24 10:21 | 显示全部楼层
alamo2009 发表于 2010-9-24 10:52 | 显示全部楼层
哈哈,少了大括号
fzy_666 发表于 2010-9-24 10:13


跟大括号没一点关系!
tengzhihua163 发表于 2010-9-24 11:29 | 显示全部楼层
如果确定是电机干扰的问题,可以考虑二次检测P1.1或者延时后检测(延时时间需要测试后确定)
 楼主| wcsvery 发表于 2010-9-24 11:43 | 显示全部楼层
P1.1的电压一直是高电平的,通过检测P1.1高电平电压来通过写P2.0控制电机转动,P1.1用万用表测出来一直是高电平的,跳出while(P11==1);循环时万用表测出来的P11还是高电平的~~!
tanganrong 发表于 2010-9-24 12:01 | 显示全部楼层
应该P11脚有干扰脉冲,可以用示波器看看,建议加入数字滤波代码试试。
hxs2020 发表于 2010-9-24 12:52 | 显示全部楼层
while(P11==1); 与后面的语句是在一个循环内的吧!错了。。
while(P11==1)
  {P23=1;
  delay(200);
  P20=0;
  for(i=0;i<10;i++)delay(65500);
}

不知道对否?
nit3905 发表于 2010-9-24 12:55 | 显示全部楼层
P2^0、P2^3定义的是relay1、relay2,主函数里却用P20、P23,编译也能通过?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

37

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部