找回密码
 立即注册

QQ登录

只需一步,快速开始

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

前辈帮忙看一下程序怎么改啊

[复制链接]
跳转到指定楼层
楼主
ID:22527 发表于 2010-3-24 11:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

//=========声明区==============================
#include  <reg52.h>                  // 定义8052寄存器的头文件
#define uchar unsigned char                 
sbit R0=P0^0;                    
sbit R1=P0^1;                    
sbit R2=P0^2;                    
sbit R3=P0^3;                    

//========延时函数==============================
void delay( int x)                 //  延时函数
 { int i,j;                  // 声明整数变量i,j
   for(i=0;i<x;i++)              // 晶振12Mhz
    for(j=1;j<=900;j++);            // 大约计数900次,延迟约为1ms可以调整
 }

//=======主函数================================

main()                    // 主函数
{                     
 P1=0x00;                  //  复位
     while(1)                
    {                   
  if(R0==0)
   {
    while(R0==0)
    {
     if((R1==0)&&(R2==0))
      {
      while((R1==0)&&(R2==0))
      {
      while(R0==1)break;
       P1=0x14;
      }
     }
    }
   }
  if(R3==0)
   {
    while(R3==0)
    {
     if(R2==0))
      {
      while(R2==0)
      {
          delay(150);                    
      while(R0==1)break;
       P1=0x14;
      }
     }
    }
   }
 }
}
   
   
此程序中,R1为压力继电器 到位开关,R1有的机器有,有的机器没有,现在想在没有的地方用延时解决。

现在解决的思路为:甩出几根跳线(R0、R3都为跳线)当连接跳线R0时,为有压力继电器。当连接跳线R3时,为选择延时。

但是此程序为何实现不了呢,里面有个什么问题呢?

怎样才能解决呢?

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

使用道具 举报

沙发
ID:5944 发表于 2010-3-25 17:38 | 只看该作者
这个是什么逻辑,我怎么压根就没看懂呢层次有些冗余吧
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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