基于51单片机超声波智能测距仪设计(毕设课设)
1.可设置报警距离,按下“设置”键后就可以再按“↑”键和“→”键就可以修改报警距离,最后按“确认”键保存设置的距离。
2.设置的距离保存在单片机的EEPROM中,具有掉电保存功能。
3.当测出的距离小于设定的距离时就会使得蜂鸣器报警。
4.测量范围:2cm--5m。
5.当超出测量范围显示“-.--M”。
【资源下载】下载地址如下(917):https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
#include "LCD1602.H"
#include <stdio.H>
#include "EEPROM.H"
#define ECH0 P26 //超声波接口
#define TRIG P25
#define BEEP P24 //蜂鸣器接口
#define KEY_UP P10 //按键接口
#define KEY_RIGHT P11
#define KEY_SET P12
#define KEY_OK P13
/*************************************/
/*time 保存定时器的值 */
/*Distance 保存测量距离 单位CM */
/*set_distance 设置测量距离 单位CM */
/*flag 测量时间溢出标志位 */
/*Set_flag 设置界面标志位 */
/*Displaybuf 显示缓存 */
/*location 记录设置位置 */
/*************************************/
unsigned int time = 0;
unsigned long Distance = 0,set_distance = 0;
bit flag = 0,Set_flag = 0;
unsigned char Displaybuf[16],location = 0;
/*************************************/
/* 距离计算 */
/*************************************/
void Distance_Calculation(void)
{
while(!ECH0); //当RX为零时等待
TR0=1; //开启计数
while(ECH0); //当RX为1计数并等待