基于单片机超声波控制电机转动系统设计
1.功能实现:
根据超声波测距 然后根据改变的距离让电机正或反转动这个距离
比方说超声传感器测距增大十厘米 电机正转三秒 测距减小二十厘米 电机反转六秒(公式:(D1-D2)*3/10),D1和D2大小比较判断正转还是反转。
2.电路细节:
电源电路,H桥电机驱动电路,显示电路,按键电路,报警电路,复位电路,晶振电路,温度采集,超声波电路
3.扩展功能
距离报警,可以手动设定在一定范围外进行报警,设定报警上下限。
//宏定义
#define uchar unsigned char
#define uint unsigned int
#define ULint unsigned long int
//温度零上与零下的标志位
char flag=0;
//超声波
char flags=0;
//超声波距离
char flag1s=0;
//计算定时间
uint time=0;
//计算距离
ULint L_=0;
//温度
uint t_=0;
//显示模式 0正常 1最大值调整 2最小值调整
uchar mode=0;
uchar second = 0;
uchar count = 0;
uchar timeSum = 0;
uchar Dir = 0;
uchar dataBuff1 = 0;
uchar dataBuff2 = 0;
uchar stateFlag = 0;
bit start = 0;
uint Max=250;
uint Min=150;
//按键标志
uchar k=0;
//数值有误
uchar FW=0;
//头函数
#include <reg52.h>
#include <intrins.h>
#include "BJ_Key.h" //报警按键
#include "display.h" //显示头函数
#include "ultrasonic_wave.h"//超声波头函数
#include "DS18B20.h" //温度传感器头函数
sbit check = P1^6;
sbit exit = P1^7;