一、当小车各模块电路接通时,运行小车程序,判断前方是否有障碍物;
若无障碍物,则向前行驶;
若有障碍物则判断障碍物时左边还是右边;
若障碍物是右边的,则控制小车向左转,反之,若障碍物时左边的,则小车向右转。
二、小车运动状态和轮子关系
三、Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。
1、打开Keil软件后,点击Project--New Project,可以新建一个工程。
2、点击后在出现的对话框中选择工程存在路径,单击保存,出现界面。在此界面上选择电路板上所用的单片机型号(如图所示),单击“确定”。
3、设置完成后,软件会提示是否将8051上电初始化程序添加入工程。这个一般选“否”。这样就建立好了一个空的51工程。
4、点击File--New,便建立了一个空的文本框。
5、到现在为止,就可以开始在里面输入代码了。保存时注意:如果是用C语言写的程序,则将文本保存成*.c。
6、将写完的程序添加到工程里面,如图所示,在左边Project Workspace里的Source Group 1上右击,选择Add Files to Group ‟Source Group 1‟。在打开的对话框
中,选择刚存的文件路径和对应的扩展名。此时,程序就添加进了这个工程。
7、下一步就开始编译刚输入进去的代码。接着,Keil会打出下面的提示:
0 Error(s), 0 Warning(s).
建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:
在Project Workspace里Target 1上右击,选择“Options for Target „Target 1”
。出现如图所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”。
现在再点击重新编译,就会在工程所在文件夹里生成HEX文件。再利用下载软件,将HEX文件下载到单片机中进行调试。
四、小车程序如下:
如图所示,当复位按钮按下,X0为ON,Y0输出并自锁,小车电机向着原点方向转动,当小车走到原点,碰到原点信号,X1为ON,Y0断开输出并解除自锁,就做到了小车复位。
望采纳。。。。。。
// R是右(right),L是左(left) 小车对着自己看时 分的左右int MotorRight1=14
int MotorRight2=15
int MotorLeft1=16
int MotorLeft2=17
int MotorRPWM=5
int MotorLPWM=3
void setup()
{
Serial.begin(9600)
pinMode(MotorRight1, OUTPUT) // 脚位 14 (PWM)
pinMode(MotorRight2, OUTPUT) // 脚位 15 (PWM)
pinMode(MotorLeft1, OUTPUT) // 脚位 16 (PWM)
pinMode(MotorLeft2, OUTPUT) // 脚位 17 (PWM)
pinMode(MotorLPWM, OUTPUT) // 脚位 5 (PWM)
pinMode(MotorRPWM, OUTPUT) // 脚位 3 (PWM)
}
void loop()
{
digitalWrite(MotorRight1,LOW)//IN1 右电机 高电平反转
digitalWrite(MotorRight2,HIGH)//IN2 右电机 高电平正转
analogWrite(MotorRPWM,130)
digitalWrite(MotorLeft1,HIGH)//IN3 左电机 高电平正转
digitalWrite(MotorLeft2,LOW)//IN4 左电机 高电平反转
analogWrite(MotorLPWM,130)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)