超声波测距(语音模块,LCD显示)_第1页
超声波测距(语音模块,LCD显示)_第2页
超声波测距(语音模块,LCD显示)_第3页
超声波测距(语音模块,LCD显示)_第4页
超声波测距(语音模块,LCD显示)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

河南大学物理与电子学院2015级单片机课程设计论文超声波测距(语音模块,LCD显示) 论文作者姓名作 者 学 号:所 在 学 院所 学 专 业:任 课 老 师:论文完成时间: 目 录0 前言11 系统组成与功能11.1 系统组成1 1.1.1 STC12C5A60S2单片机1 1.1.2 HC-SR04超声波模块31.1.3 1602液晶显示模块4 1.1.4 WT588D语音芯片及模块51.2 系统功能82 系统原理82.1系统仿真图92.2 扩展仿真图92.3 实物照片103 程序流程图114 具体程序代码125 结论166 扩展部分设计心得17参考文献1720河南大学物理与电子学院单片机课程设计论文多功能超声波测距系统0 前言超声波测距是超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。超声波测距主要应用于倒车提醒、建筑工地、工业现场等的距离测量,虽然目前的测距量程上能达到百米,但测量的精度往往只能达到厘米数量级。由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。1系统组成与功能1.1 系统组成本系统主要由STC12C5A60S2单片机、HC-SR04超声波模块、 1602液晶显示模块、WT588D语音芯片及模块等组成。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 1602液晶显示模块 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形 引脚对应图 引脚图1.1.4 WT588D语音芯片及模块WT588D是一款具有单片机内核的语音芯片,因此,可以冠名为WT588D系列语音单片机。WT588D系列语音单片机是广州唯创电子有限公司联合台湾华邦共同研发出来的集单片机和语音电路于一体的可编辑语音芯片。功能多音质好应用范围广性能稳定是WT588D系列语音单片机的特长,弥补了以往各类语音芯片应用领域狭小的缺陷,MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式,让应用人员能将产品投放在几乎可以想象得到的场所。作为一款以语音为基础的芯片,对音质的追求当然也是精益求精的,完全支持6K22KHz采样率的音频加载,芯片的独到之处便是将加载的音频音质几乎完整无损的展现出来。WT588D系列语音单片机能通过配套软件WT588D voiceChip轻而易举的做到语音组合播放、插入完美的陶冶静音。静音的时长控制得绝无丝毫误差!可控制的语音地址位能达到220个!每个地址位里能加载可组合语音为128段语音!WT588D系列语音单片机模块内置SPI-FLASH存储器,WT588D系列语音单片机芯片可根据实际用法外置SPI-FLASH存储器,众多的控制模式、语音组合只需更换SPI-FLASH的内容,即可完全实现操作方式的切换。WT588D系列语音单片机支内容在线下载,这是一个应用人员不可或缺的优势持SPI-FLASH!WT588D语音单片机的推出,非常的具有语音市场的前瞻性和革命性,势必会在语音芯片的应用方面卷起一股旋风。 语音模块所对应的封装图及所对应引脚的简述(16p):其封装尺寸图如下(单位:mm):其芯片应用方框图:1.2 系统功能本设计的主要功能是用单片机来控制超声波模块工作,读取超声波模块所测数据并进行处理,并将处理后的数据显示在1602液晶屏上,在此过程中添加语音模块的应用。拓展的功能有语音模块的四个音效的背影音乐,这四个背影音效会在超声波模块测得距离的不同而变化:每十厘米为一种音效,三十厘米或者更远的距离为一种音效。当单片机开始运行,超声波模块与1602显示模块自动显示对应的测得的距离,wt588d语音模块也自动响应,播放相应的背景音效。2 系统原理本系统设计的主要原理是用以单片机为控制核心连接其他如超声波模块、1602液晶屏、wt588d语音芯片及模块等其他模块。其中超声波模块,1602液晶屏,wt588d语音芯片及模块都是完备的单独模块。它们的原理可从上方了解。这里主要讲解单片机如何实现对他们的操作。系统上电后,初始化各个模块。循环执行相应程序,单片机执行相应动作,系统实现相应功能。2.1 系统仿真图最基本的仿真图具体见图21所示:图21 基本系统仿真图2.2 扩展仿真图具体的扩展仿真图具体见图22所示,扩展了语音模块wt588d。图22 扩展仿真图2.3 实物照片具体的实物照片如图23所示。图23 实物照片3 程序流程图 初始化各模块 液晶显示 “distance” 超声波 模块开始执行测量得出对应的距离 判断测得 距离的大小 距离小于 距离小于 距离小于 距离大于十厘米播 二十厘米 三十厘米播 三十厘米播放语音1 播放语音2 放语音3 放语音4 返回第三步图24 程序流程图 4 主要程序源代码#include #include #define uint unsigned int#define uchar unsigned charsfr WDT_CONTR = 0xe1;volatile unsigned char sending;unsigned char k;unsigned char tab = The distance is:;volatile unsigned char ml,nl,ol,pl; sbit rs=P07; /1602的数据/指令选择控制线 sbit rw=P06; /1602的读写控制线 sbit en=P05; /1602的使能控制线 sbit trig=P10; /超声波测距模块Trigsbit echo=P11; /超声波测距模块Echosbit RST=P37; /* RESET */ sbit SCL=P36; /* SCLOCK 或写成CLK */ sbit CS =P35; /* CS 片选*/ sbit SDA=P34; /* DATA */sbit BUSY=P33; /* 判断是否在播音 */ bit flag1; /触发信号标志位/unsigned int distance; /测量所得距离unsigned char code table =0123456789.cm; /定义字符数组显示数字void delay(uint n) uint x,y; for(x=n;x0;x-) for(y=110;y0;y-); void delayt(unsigned long x) uchar j; while(x- 0) for(j = 0;j 125;j+) ; void lcd_wcom(uchar com) rs=0; /选择指令寄存器delayt(5); rw=0; /选择写delayt(5); P2=com; /把命令字送入P0 delay(5); /延时一小会儿,让1602准备接收数据 en=1; /使能线电平变化,命令送入1602的8位数据口delayt(5); en=0; void lcd_wdat(uchar dat) rs=1; /选择数据寄存器delayt(5); rw=0; /选择写 delayt(5); P2=dat; /把要显示的数据送入P0 delay(5); /延时一小会儿,让1602准备接收数据,也就是检测忙信号。 en=1; /使能线电平变化,数据送入1602的8位数据口 delayt(5); en=0; void lcd_init() lcd_wcom(0x38); /8位数据,双列,5*7字形 ,用到功能设定指令 lcd_wcom(0x0c); /开启显示屏,关光标,光标不闪烁,用到显示开关控制指令 lcd_wcom(0x06); /显示地址递增,即写一个数据后,显示位置右移一位,用到了写入模式设置指令 lcd_wcom(0x01); /清屏,用到了清屏指令void lcd_xianshi() lcd_wcom(0x80+0x40); lcd_wdat(D); lcd_wdat(i); lcd_wdat(s); lcd_wdat(t); lcd_wdat(a); lcd_wdat(n); lcd_wdat(c); lcd_wdat(e); lcd_wdat(:); lcd_wcom(0x80+0x4c); lcd_wdat(.); lcd_wcom(0x80+0x4e);/单位是厘米/ lcd_wdat(c); lcd_wdat(m);void init_t0() TMOD = 0x01; TL0=0x00; TH0=0x00; /1ms EA=1; void trigger()unsigned char f; trig=0; for(f= 0;f=20;f+) _nop_(); trig=1; void init_measuring() trig=1; echo=1;void measuring() unsigned long t;trigger(); while(echo = 0); /等待回声 TR0 = 1; while(echo=1);TR0 = 0;if(TF0 = 1) TF0 = 0; distance = 0; else t = TH0; t = 8; t |= TL0; distance = (unsigned int)(t*3453/20000); /计算距离TH0 = 0;TL0 = 0; void display(uint x) ml=x/1000; nl=(x/100)%10; ol=(x/10)%10; pl=x%10; lcd_wcom(0x80+0x49);/单位是厘米/ lcd_wdat(tableml); lcd_wdat(tablenl); lcd_wdat(tableol); lcd_wcom(0x80+0x4d); lcd_wdat(tablepl);void Send_threelines(uchar addr) uchar i; RST=0; delayt(5); / 复位拉低5ms RST=1; delayt(20); / 复位拉高20ms CS=0; delayt(5); / 片选拉低5ms for(i=0;i=1; delay(14); / 延时150us SCL=1; delay(14); / 150us CS=1; void main() lcd_init(); /液晶初始化 init_t0(); /定时器0初始化 init_measuring(); /超声波相应端口初始化 while(1) lcd_xianshi(); /液晶显示特定字符 measuring(); /进行距离测量 display(distance); /对测量结果进行显示 if(distance100) Send_threelines(0); else if(distance200) Send_threelines(1); else if(distance300) Send_threelines(2); else Send_threelines(3); init_measuring(); /超声波相应端口初始化 delayt(20000); /每次测量间隔2s init_measuring(); /超声波相应端口初始化 5 结论通过本学期单片机课程设计的学习与动手制作,大大提高了自己的动手能力。同时通过对程序的编写和不断改进,让我们对几个仿真软件,程序编写软件有了更多的认识。我们的c语言水平和电路知识水平也有了不小的提升。此次设计的系统实现的预定功能,在此基础上还添加了几个有意义的拓展,这些拓展在现实中都有相应场合的应用。在拓展这些模块时也让我们对语音模块、液晶屏、超声波模块等几个常见的应用有了深刻的认识。6 扩展部分设计心得 本次设计的扩展部分为WT588D语音芯片及模块的应用,由于自身能力有限,对于大部分的电路图及程序都借鉴参考了以前学长的部分东西。事实上,学长的成功经验确实可以给我们

温馨提示

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

评论

0/150

提交评论