实验五:51单片机平台-------按键控制小车启动实验
1 .实验准备
图1-1 51单片机主控板
图1-2 4个直流减速电机
图1-2 按键开关
2.实验目的
单片机上电后,按下启动键,小车先延时2s,再前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,停止0.5s。
3.实验原理
通常我们的按键开关一般都是机械弹性开关,当机械触点断开,闭合时,由于机械触点的弹性作用,一个按键开关子在闭合时不会马上就能稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开时会伴随着一连串的抖动。
图3-1 按键抖动状态图
抖动时间一般都是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合后一次断开只响应一次,必须进行按键的消抖处理,有硬件消抖和软件消抖。
其中,软件消抖指的是检测出键闭合后执行一个延时程序,产生5ms~10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
硬件消抖是在开关两段接一个0.1uf的电容。本次实验我们采取的是软件延时去抖。
另外关于PWM的原理以及定时器的理论知识请见实验二以及实验三。
下面我们来讲解按键控制小车启动实验的硬件和软件设计。
4、实验步骤
4-1.看懂原理图
图4-1 单片机主控板电路图
图4-2 电机驱动芯片TB6612FNG
图4-3 按键
4-2.理解原理图
由图4-1和4-2 由电路原理图可知AIN1,AIN2,PWMA,BIN1,BIN2,PWMB,KEY分别接在单片机主控板上的P2.2,P2.1,P2.0 ,P2.3,P2.4,P2.5,P2.7。
图4-3 引脚控制逻辑表
4-3.程序核心代码如下:
1.基本变量以及引脚的定义:
2. 电机驱动函数:
3. 小车运动控制函数:
4. 产生PWM函数:
5.主函数