那位高人能帮我把这两个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();
}
}
}
//修改成当小车前面探测到障碍物时小车向后退一小段距离,然后在执行向右转弯,转弯避开障碍物后再直行
#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的定义不要重复了
管理员给个例子好吗