微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 那位高人能帮我把这两个C语言程序改成一个啊

那位高人能帮我把这两个C语言程序改成一个啊

时间:10-02 整理:3721RD 点击:
那位高人能帮我把这两个C语言程序改成一个啊,第一个是四键遥控小车程序,第二个是壁障程序,我想用四键控制,当碰到障碍物是壁障程序启动,要不给个思路也可以啊,菜鸟刚接触没有合并方面的教程请指教!
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define q P3_4   
#define h  P3_5  
#define z P3_6   
#define y P3_7
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit P3_4=P3^3;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
unsigned char a,b,k,j;de;

void delay10ms()   
  {
    for(a=100;a>0;a--)
      for(b=225;b>0;b--);
   }


//********************************************************
//********************************************************
sbit hwcg=P3^4;
void main(void)
{

        while(1)               
        {
D1=0;
D2 = 0 ;
D3 = 0 ;
D4 = 0;
        if(q)(hwcg==1)  
                      {
                         D1 = 0;
                                        D2 = 1;
                                 D3 = 0;
                         D4 = 1;
             for (de=0; de<100; de++);
                                }


        if(h;hwcg==0)
        {
               D1 = 1;
               D2 = 0 ;
               D3 = 1 ;
               D4 = 0;
                        for (de=0; de<100; de++);
        }
           if(z;hwcg==1)
                     {
               D1 = 0;
               D2 = 1 ;
               D3 = 1 ;
               D4 = 0;
                    for (de=0; de<100; de++);

                                        }
        if(y;hwcg==0)
                     {
               D1 = 1 ;
               D2 = 0 ;
               D3 = 0 ;
               D4 = 1;

                for (de=0; de<100; de++);
                    }

                }
}
第二个壁障程序
#include<reg52.h>
sbit P04=P0^4;
sbit P05=P0^5;
sbit P06=P0^6;
sbit P07=P0^7;
unsigned char a,b;
void delay10ms()
  {
    for(a=100;a>0;a--)
      for(b=225;b>0;b--);
   }
sbit hwcg=P3^4;
  void main(void)
{
        while(1)
    {
     if(hwcg==1)             //           qianjin
       {
        P04=1;P05=0;P06=1;P07=0;
                delay10ms();
       }
         if(hwcg==0)             //           houtui
       {
        P04=0;P05=1;P06=0;P07=1;
                delay10ms();
       }
       if(hwcg==1)             //          qianjin
       {
        P04=1;P05=0;P06=1;P07=0;
                delay10ms();
       }
                   if(hwcg==0)
                {                                            //          youzhuan
        P04=0;P05=1;P06=1;P07=0;   
                delay10ms();
            }        
        }
}
//修改成当小车前面探测到障碍物时小车向后退一小段距离,然后在执行向右转弯,转弯避开障碍物后再直行

涉及函数的调用,把壁障部分写成一个函数。按键部分也写成函数,然后在主函数里面调用,注意IO的定义不要重复了

管理员给个例子好吗

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top