文章目录

  • 一、主要功能
  • 二、硬件资源
  • 三、软件设计
  • 四、实验现象
  • 联系作者

一、主要功能

本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶模块、DS18B20模块、超声波模块、蜂鸣器、按键模块等。

主要功能:
系统运行后,LCD1602显示DS18B20采集温度和超声波检测距离。
可通过K1键对报警距离阈值设置,可通过K2、K3键对阈值加减调节,若检测距离大于阈值,关闭声光报警,倒车继续;若检测距离小于阈值,大于最低值,倒车继续,打开声光报警,且距离越近,声光报警频率越高;若检测距离小于最小距离值,关闭声光报警,刹车开启;
主要功能如下:
1、温度、距离显示
2、倒车距离阈值设置
3、声光报警,自动刹车
4、距离越近报警频率越高。


二、硬件资源

1、51单片机核心模块
2、LCD1602液晶模块
3、DS18B20模块
4、按键、蜂鸣器模块
5、超声波模块


三、软件设计

/*
作者:嗨小易(QQ:3443792007)
*///系统参数设置
void sys_parm_set(void)
{u8 key=0;key=key_scan(0);if(key==KEY1_PRESS)//设置{//关闭相应指示SC_RELAY=1;BEEP=1;ALARM_LED=1;sys_ctrl.mode=!sys_ctrl.mode;if(sys_ctrl.mode)lcd1602_show_string(0,1,"SetH:     cm");else lcd1602_show_string(0,1,"Juli:     cm");         }//在设置模式下,加减键才有效if(sys_ctrl.mode==1){if(key==KEY2_PRESS)//加  {sys_ctrl.dis_h+=VALUE_STEP;if(sys_ctrl.dis_h>ALARM_DIST_MAX)sys_ctrl.dis_h=ALARM_DIST_MIN;                   }else if(key==KEY3_PRESS)//减  {sys_ctrl.dis_h-=VALUE_STEP;if(sys_ctrl.dis_h<ALARM_DIST_MIN)sys_ctrl.dis_h=ALARM_DIST_MAX;                }   }}//系统数据采集
void sys_data_get(void)
{static u8 i=0;while(1){   i++;//间隔采集温度、距离if(i%10==0){sys_ctrl.temp=ds18b20_read_temperture()*10;//放大10倍,保留小数点后1位if(sys_ctrl.temp<0){sys_ctrl.sign=1;//负温度符号sys_ctrl.temp=-sys_ctrl.temp;}        else sys_ctrl.sign=0;//正温度符号}//在正常模式下,对距离检测if(sys_ctrl.mode==0)sys_ctrl.dis=ultrasonicwave_measure()*10;//保留小数点后1位   break;}
}//系统数据显示
void sys_data_show(void)
{u8 buf[6];while(1){//温度符号显示if(sys_ctrl.sign==1)  lcd1602_show_num(5,0,'-',0);          elselcd1602_show_num(5,0,' ',0);  //温度显示buf[0]=sys_ctrl.temp/1000+0x30;if(buf[0]==0x30)buf[0]=' ';buf[1]=sys_ctrl.temp%1000/100+0x30;    if(buf[0]==' ' && buf[1]==0x30)buf[1]=' ';     buf[2]=sys_ctrl.temp%1000%100/10+0x30;buf[3]='.';buf[4]=sys_ctrl.temp%1000%100%10+0x30;buf[5]='\0';lcd1602_show_string(6,0,buf);//在正常模式下,对距离检测显示if(sys_ctrl.mode==0){//距离检测值显示buf[0]=sys_ctrl.dis/1000+0X30;if(buf[0]==0x30)buf[0]=' ';buf[1]=sys_ctrl.dis%1000/100+0X30;if(buf[0]==' ' && buf[1]==0x30)buf[1]=' ';buf[2]=sys_ctrl.dis%1000%100/10+0X30;buf[3]='.';buf[4]=sys_ctrl.dis%1000%100%10+0X30;buf[5]='\0';lcd1602_show_string(5,1,buf);    }//在设置模式下,距离参数设置else{buf[0]=sys_ctrl.dis_h/1000+0X30;if(buf[0]==0x30)buf[0]=' ';buf[1]=sys_ctrl.dis_h%1000/100+0X30;if(buf[0]==' ' && buf[1]==0x30)buf[1]=' ';buf[2]=sys_ctrl.dis_h%1000%100/10+0X30;buf[3]='.';buf[4]=sys_ctrl.dis_h%1000%100%10+0X30;buf[5]='\0';lcd1602_show_string(5,1,buf);}break;  }
}//应用控制系统
void appdemo_show(void)
{u8 i=10;lcd1602_init();ds18b20_init();sys_parm_init();//系统参数初始化//等待温度数据稳定while(i--){sys_ctrl.temp=ds18b20_read_temperture()*10;delay_ms(100);    }sys_open_show();//系统开机显示ultrasonicwave_init();//超声波初始化SC_RELAY=0;//倒车开启while(1){sys_data_get();//系统数据采集sys_data_show();//系统数据显示sys_parm_set();//系统参数设置sys_fun_ctrl();//系统功能控制 }
}

四、实验现象

B站演示视频:https://space.bilibili.com/444388619


联系作者

B站演示视频:https://space.bilibili.com/444388619
专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

【Proteus仿真】【51单片机】汽车倒车报警系统设计相关推荐

  1. 基于51单片机的火灾报警系统设计

    摘要 随着现代家庭用火.用电量的增加,家庭火灾发生的频率越来越高.火灾报警器也随之被广泛应用于各种场合. 本课题所研究的无线多功能火灾报警器采用STC89C51为核心控制器,利用气体传感器MQ-2.A ...

  2. Proteus仿真51单片机生日快乐音乐播放器

    实验名称:基于51单片机音乐播放器 实验目的: 声音的音调不同是因为声音的频率不同造成的.那么,就可以通过单片机发送不同频率的脉冲信号给蜂鸣器,来达到让蜂鸣器发出不同音调声音的目的.不同频率的脉冲信号 ...

  3. 单片机c语言 王东锋,基于51单片机的输液报警系统设计

    高扬 摘 要:本设计是以AT89C51单片机为核心,利用光电传感器来检测设备液体的流动情况.当吊瓶内有点滴落下时,可通过红外检测装 1前言 随着信息技术和计算机技术的发展,信息革命在工业.医疗和控制领 ...

  4. 使用proteus仿真51单片机来实现十字路口红绿灯

    一.实验内容 1.需要仿真的元件:51单片机,一个动态显示的双数码管,六个LED灯. 2.实验要求:做一个十字路口红绿灯,每一向各一个,红绿灯要求能够按照通行的要求来亮灯.南北向红绿灯,红灯亮60秒, ...

  5. 基于单片机汽车防盗报警系统设计汇编-protues仿真

    资料下载地址-1061(百度网盘):点击下载 超声波检测当前车体是否存在移动物体状态,可设定人离车身的距离范围,当小于设定范围时,则发出防盗报警声音以提示存在盗车可能性. LCD_RS BIT P1. ...

  6. Proteus仿真--51单片机最小系统

    1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路.时钟电路.复位电路. 下面着重介绍时钟 电路和复位电路. 1)时钟电路 单片机工作时,从取指令到译码 ...

  7. proteus仿真-51单片机定时器程序

    定时器0初始化和定时器中断函数 void Timer0Init() {TMOD|=0x01;//0000 0001,最后2位-工作方式的选择,这里选择16位定时器'01'TH0 = (65536-10 ...

  8. 【Proteus仿真】【51单片机】温度报警控制系统设计

    文章目录 一.主要功能 二.硬件资源 三.软件设计 四.实验现象 联系作者 一.主要功能 本项目使用Proteus8仿真51单片机控制器,使用继电器模块.DS18B20温度传感器模块.LCD1602模 ...

  9. 【Proteus仿真】【51单片机】洗衣机控制系统设计

    文章目录 一.功能简介 二.软件设计 三.实验现象 联系作者 一.功能简介 本项目使用Proteus8仿真51单片机控制器,使用LED指示模块.数码管显示模块.DS18B20温度模块.电机驱动模块.水 ...

最新文章

  1. iPhone开发:通过NSURLRequest获得服务器返回的http header和http status
  2. golang 获取文件md5
  3. Spark中Data skew(数据倾斜)Java+Python+Scala三种接口完整代码
  4. [mybatis]sqlSessionFactory.openSession()
  5. python 判断时间是否大于6点_python中判断时间间隔的问题
  6. PieChart 饼图
  7. c语言条件运算符的作用,条件运算符的用法_C运算符的结合方向
  8. db2查询表结构语句_常用的sql语句集合(适合数据库初级人员)
  9. 【机器学习】Andrew Ng——04多变量线性回归
  10. [转]jQuery知识总结
  11. 6天掌握记忆宫殿,你就是记忆大师
  12. 【neo4j】docker容器化安装
  13. 2020 泰迪杯 C 题
  14. 深入了解人工智能的发展现状及前景
  15. 手把手教学 玩转苹果HomeKit
  16. Matlab 可视化世界地图,matlab绘制世界地图的脚本
  17. WinCE桌面添加应用程序的快捷方式
  18. java命令行简单实现推箱子小游戏
  19. Android10.0修改默认usb为MTP模式
  20. Java行业2019年的发展前景

热门文章

  1. 几种常见激活函数的图像绘制
  2. php 微信登陆unionid,微信扫码登陆/微信公交号 登录PHP 自适应 UnionID统一用户
  3. Android面试知识点_
  4. 应急电源、储能电源欧盟CE认证标准EN62133申请要求
  5. java f3查看源码报错,Java学习笔记4
  6. doPDF虚拟打印机-把任何文档转换成pdf的利器
  7. 极客日报:字节跳动宣布取消大小周;淘宝、支付宝等阿里系App取消开屏广告;Python 3.10 beta 4 发布
  8. 60款流行网络工具的开源替代选择
  9. JAVA课设作业-实现饭店点菜系统源码
  10. 大学生能做兼职App开发吗?