5.按键控制小车启动实验

您当前位置: 首页 > 51-4WD小车 > 编程语言教学

程序下载

按键控制小车启动.rar  点击下载

5.按键控制小车启动(3节电池版本).zip  点击下载

按键控制小车启动

实验五:51单片机平台-------按键控制小车启动实验

1 .实验准备

image.png 

1-1  51单片机主控板

 

image.png 

1-2  4个直流减速电机 

 

image.png 

1-2  按键开关

 

 

 

2.实验目的

 单片机上电后,按下启动键,小车先延时2s,再前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,停止0.5s

 

3.实验原理 

通常我们的按键开关一般都是机械弹性开关,当机械触点断开,闭合时,由于机械触点的弹性作用,一个按键开关子在闭合时不会马上就能稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开时会伴随着一连串的抖动。

            image.png

                   3-1 按键抖动状态图

抖动时间一般都是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合后一次断开只响应一次,必须进行按键的消抖处理,有硬件消抖和软件消抖。

其中,软件消抖指的是检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。

硬件消抖是在开关两段接一个0.1uf的电容。本次实验我们采取的是软件延时去抖。

另外关于PWM的原理以及定时器的理论知识请见实验二以及实验三。

   下面我们来讲解按键控制小车启动实验硬件和软件设计。

 

4、实验步骤

4-1.看懂原理图

image.png 

4-1 单片机主控板电路图

 

image.png 

 

4-2 电机驱动芯片TB6612FNG

 

image.png 

 

4-3   按键

 

4-2.理解原理图

由图4-1和4-2 由电路原理图可知AIN1,AIN2,PWMA,BIN1,BIN2,PWMBKEY分别接在单片机主控板上的P2.2P2.1P2.0 P2.3P2.4P2.5,P2.7。 

image.png 

4-3 引脚控制逻辑表

 

4-3.程序核心代码如下:

1.基本变量以及引脚的定义:

image.png 

 

2. 电机驱动函数:

image.png 

image.png 

 

3. 小车运动控制函数:

image.png 

image.png 

image.png 

image.png 

image.png 

image.png 

image.png 

 

4. 产生PWM函数:

image.png 

 

5.主函数

image.png