超声波测距(蓝牙双向通信、按键控制系统功能、自动报警等)_第1页
超声波测距(蓝牙双向通信、按键控制系统功能、自动报警等)_第2页
超声波测距(蓝牙双向通信、按键控制系统功能、自动报警等)_第3页
超声波测距(蓝牙双向通信、按键控制系统功能、自动报警等)_第4页
超声波测距(蓝牙双向通信、按键控制系统功能、自动报警等)_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南大学物理与电子学院2015级单片机课程设计论文超声波测距(蓝牙双向通信、按键控制系统功能、自动报警等) 论文作者姓名: 作 者 学 号: 合作者姓名: 所 在 学 院: 所 学 专 业: 任 课 老 师: 论文完成时间: 目 录0 前言11 系统组成与功能11.1 系统组成1 1.1.1 STC12C5A60S2单片机1 1.1.2 HC-SR04超声波模块3 1.1.3 独立按键41.1.41602液晶显示模块5 1.1.5HC-05嵌入式蓝牙串口通讯模块61.2 系统功能72 系统原理82.1系统仿真图82.2 扩展仿真图92.3 实物照片93 程序流程图104 具体程序代码115 结论156 扩展部分设计心得15参考文献1616河南大学物理与电子学院单片机课程设计论文多功能超声波测距系统0 前言超声波测距是超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。1系统组成与功能1.1 系统组成本系统主要由STC12C5A60S2单片机、HC-SR04超声波模块、独立按键、HC-05嵌入式蓝牙串口通讯模块等组成。1.1.1 STC12C5A60S2单片机STC12C5A60S2单片机具有如下特点:在众多的51系列单片机中,要算国内STC 公司的1T增强系列更具有竞争力,因他不但和8051指令、管脚完全兼容,而且其片内的具有大容量程序存储器且是FLASH工艺的,如STC12C5A60S2单片机内部就自带高达60K FLASH ROM,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。而且STC系列单片机支持串口程序烧写。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了你的劳动成果。重要的一点STC12C5A60S2目前的售价与传统51差不多,市场供应也很充足。是一款高性价比的单片机STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。STC12C5A60S2是8051系列单片机,与普通51单片机相比有以下特点:1、同样晶振的情况下,速度是普通51的812倍2、有8路10位AD3、多了两个定时器,带 PWM功能4、有SPI接口5、有EEPROM6、有1K内部扩展RAM7、有WATCH_DOG8、多一个串口9、IO口可以定义,有四种状态10、中断优先级有四种状态可定义引脚图如下所示:1.1.2 HC-SR04超声波模块 (1)采用IO口TRIG触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。本课题采用HC-SR04,其主要技术参数有:1:使用电压:DC-5V2:静态电流:小于2mA3:电平输出:高5V 低0V4:感应角度:不大于15度5:探测距离:2cm-450cm6:高精度:可达0.2cm1.1.3独立按键独立按键即表示各个按键之间相互独立,每个按键一端与地直接相连,另一端与单片机i/o口相连。单片机上电时,i/o口为准双向i/o模式,P0-P3每个i/o口值为0xff,当按键按下后把该位拉至低电平。单片机检测到相应i/o口为低电平后即可判断出哪个按键按下,然后完成相应动作。1.1.4 1602液晶显示模块 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形 引脚对应图 引脚图1.1.5 HC-05嵌入式蓝牙串口通讯模块HC-05蓝牙模块介绍与配置 引脚对应图 实物图 HC-05蓝牙模块的特点: (1) 采用CSR主流蓝牙芯片,蓝牙V2.0协议标准; (2) 输入电压:3.6V-6V,禁止超过7V; (3) 波特率为1200,2400,4800,9600,19200,38400,57600,115200 用户可设置; (4) 带连接状态指示灯,LED快闪表示没有蓝牙连接;LED慢闪表示进入 AT命令模式; (5) 板载3.3V稳压芯片,输入电压直流3.6V-6V;未配对时,电流约 30mA(因LED灯闪烁,电流处于变化状态);配对成功后,电流大约10mA。 (6) 用于GPS导航系统,水电煤气抄表系统,工业现场采控系统; (7) 可以与蓝牙笔记本电脑、电脑加蓝牙适配器等设备进行无缝连接。 (8) HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模 式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master) 、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;当模块处于命令响应工作模式时能执行下述所有 AT 命令,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。 1.2 系统功能本设计的主要功能是用单片机来控制超声波模块工作,读取超声波模块所测数据并进行处理,并将处理后的数据显示在1602液晶屏上。通过各个不同的按键,可以实现其他的辅助拓展功能。拓展功能分别有 (1)程序设有一个距离门限值,当测得的距离小于门限值时,单片机控制蜂鸣器开启,超过后自动关闭; (2)操作按键一可控制lcd显示时钟的开启与暂停,初始时间为12:00 ; (3) 操作按键二可实现超声波测距开始与暂停,开启后,单片机600ms刷新一次超声波模块所测值,并显示在lcd上。暂停时,单片机停止刷新距离,lcd显示stop; (4) 操作按键三,单片机通过uart口给蓝牙模块发送当前距离数据,如此时蓝牙已和手机连接,手机即可接受并显示该数据;(5)按键4和5分别控制着距离门限值的加减,且这两个按键已同过程序设置了长按效果,即长按后可持续加减。且系统上电后默认距离门限值为10cm; (6)手机通过蓝牙串口助手与蓝牙模块连接后,可向系统发送不同数据,当系统接受到特定数据后可实现各按键功能。即系统和手机实现了双向通信。2 系统原理本系统设计的主要原理是用以单片机为控制核心连接其他如超声波模块、1602液晶屏、独立按键、蓝牙模块等其他模块。其中超声波模块,1602液晶屏,蓝牙模块都是完备的单独模块。它们的原理可从上方了解。这里主要讲解单片机如何实现对他们的操作。系统上电后,初始化各个模块。循环检测按键,当检测到按键后,单片机执行相应动作,系统实现相应功能。2.1 系统仿真图最基本的仿真图具体见图21图21 基本系统仿真图此图为本人以proteus仿真软件所画,因为在该软件库中未找到stc宏晶公司的产品,故采用atmel公司的at89c52单片机代替,它们都是mcs-51系列单片机,所以操作上都是一样的。 而这里采用的超声波模块是本人从其他地方借鉴,采用at89c2051编程后模拟出来的,功能和实际使用的hc-sr04超声波模块类似,左方两个按键可实现距离加减。2.2 扩展仿真图具体的扩展仿真图具体见图22所示,扩展了蓝牙,蜂鸣器和按键。另外,在程序上也扩展了其他功能。图22 扩展仿真图2.3 实物照片 图23 实物图程序流程图初始化各模块 1、(主程序) (含关闭蜂鸣器、初始化液晶显示、初始化t0、t1定时器和串口中断) 将门限值加一,并显示在液晶关闭其他标志,打开时钟显示标志将门限值减一,并显示在液晶通过串口发送数据到蓝牙关闭其他标志,打开测距标志等待按键按下,实现相应功能液晶显示“hello”按键一 按键二 按键三 按键四 按键五 初始化定时器 主程序主程序 2、(主要定时器部分)定时器中断 1ms 1ms 1ms判断距离是否大于门限,是的话开启buzz,否的话关闭 判断时钟标志,是的话显示时钟判断测距标志,是的话显示距离 600ms 1s 4 主要程序源代码void main() EA = 1; buzzer = 1; lcd_init(); configT0();configT1(1);configUart(); write_str(0,6,hello); while(1) keydriver(); void key_action(unsigned char key)unsigned char bufk4; if(key = 0) EA = 0; write_str1(1,0, ); write_str1(0,0, ); write_str1(0,2,The time is:);write_str1(1,8,ledbuf);EA = 1;szflag = szflag;flagxs = 0; if(key = 1) szflag = 0; EA = 0; write_str1(0,0, ); write_str1(1,0, ); write_str1(0,0,The distance is); EA = 1; if(flagxs = 0) flagxs = 1; else if(flagxs = 1) flagxs = 2; write_str1(0,0, );write_str1(1,0, );write_str1(0,6,stop); else if(flagxs = 2) flagxs = 1; if(key = 2) sendc(The diatance is);sendc(buf); if(key = 3) flagxs = 0; szflag = 0; tmine +;if(tmine = 501)tmine = 1; if(tmine = 0)tmine = 500;bufk0 = (tmine / 100) + 0;bufk1 = (tmine%100) / 10) + 0;bufk2 = (tmine % 10) + 0;bufk3 = 0;write_str1(0,0, );write_str1(1,0, );write_str1(0,0,men xian ju li:);write_str1(1,0,bufk); if(key = 4) flagxs = 0; szflag = 0;tmine -;if(tmine = 501)tmine = 1; if(tmine = 0)tmine = 500;bufk0 = (tmine / 100) + 0;bufk1 = (tmine%100) / 10) + 0;bufk2 = (tmine % 10) + 0;bufk3 = 0;write_str1(0,0, );write_str1(1,0, );write_str1(0,0,men xian ju li:);write_str1(1,0,bufk); void InterruptT1() interrupt 3 static unsigned int i=0; static unsigned int j=0; TH1 = T1H; TL1 = T1L; keyscan(); i+; j+; if(j=600) j = 0; if(flagxs = 1) init_measuring(); /超声波相应端口初始化 measuring(); /进行距离测量 if(distance = 1000) i = 0;if(szflag) sz(); write_str1(1,8,ledbuf); 此程序完全为本人独立编写,将各个模块分成多个.c文件进行分别编写,从而让程序变得调理清晰,方便其他人理解,同时,这种编写让每个模块都更加独立,不会相互牵连而导致难以更新。这种写法有便于修改、分模块检查、更新功能等多种优点。由于程序较长,为避免程序占此论文篇幅过长,此处仅粘贴,主程序(不含头文件和变量声明、必要的按键动作部分和定时器部分,完整程序见另外的单独程序打印。5 结论通过本学期单片机课程设计的学习与动手制作,大大提高了自己的动手能力。同时通过对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论