课程设计超声波测距+实际 MSP430 单片机与 proteus 中虚拟 51 单片机串口通信仿真.docx
- 文档编号:12562031
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:57
- 大小:1.96MB
课程设计超声波测距+实际 MSP430 单片机与 proteus 中虚拟 51 单片机串口通信仿真.docx
《课程设计超声波测距+实际 MSP430 单片机与 proteus 中虚拟 51 单片机串口通信仿真.docx》由会员分享,可在线阅读,更多相关《课程设计超声波测距+实际 MSP430 单片机与 proteus 中虚拟 51 单片机串口通信仿真.docx(57页珍藏版)》请在冰点文库上搜索。
课程设计超声波测距+实际MSP430单片机与proteus中虚拟51单片机串口通信仿真
课题名称
超声波测距+实际MSP430单片机与proteus中
虚拟51单片机串口通信仿真
姓名
学号
年级专业
指导老师
完成日期
2017年05月27日
摘要
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的就是实现实际单片机与proteus中的虚拟单片机进行串口通信,采用MSP430F149单片机为控制核心、以单线数字温度传感器DS18B20来完成温度信号的采集、温度以数宇的方式显示在LCD1602液晶上,最终实现温度的采集、显示。
利用集成的超声波测距模块测出与障碍物之间的距离。
并且利用UART串口通信将实时数据发送给proteus中的虚拟单片机,虚拟单片用的是AT89C51单片机。
51单片机把接收到的数据用液晶模块显示出来,实现和实际单片机电路同步显示,并且设有报警电路,当距离小于5cm时进行报警。
关键词:
超声波测距、MSP430单片机、LCD液晶显示、proteus仿真、AT89C51
1.绪论1
1.1.MSP430单片机概述1
1.2.MSP430的特点2
1.3.课题研究的主要内容3
2.系统总体方案设计4
2.1.控制系统的原理图4
2.2.超声波测距的原理4
2.2.1.超声波发生器5
2.2.2.超声波测距原理5
2.2.3.超声波测距误差分析6
2.2.3.1.温度误差7
2.2.3.2.时间误差7
2.3.温度测量原理8
3.硬件系统与软件系统设计8
3.1.硬件部分8
3.1.1.MSP430F149单片机8
3.1.1.1.MSP430F149的组成9
3.1.1.2.MSP430F149的定时器及转换模块9
3.1.2.单线数字温度传感器DS18B209
3.1.2.1.温度传感器DS18B20特点10
3.1.2.2.温度传感器DS18B20内部结构10
3.1.2.3.DS18B20读/写时序图:
13
3.1.3.超声波测距模块13
3.1.3.1.HC-SR04超声波模块原理图13
3.1.3.2.实物图:
14
3.1.3.3.电气参数:
14
3.1.3.4.超声波时序图:
15
3.1.4.报警模块15
3.1.5.液晶显示模块16
3.2.软件部分16
3.2.1.主处理的流程图16
3.2.2.温度采集DS18B20模块18
3.2.3.超声波传感器模块19
3.2.4.报警模块20
4.Proteus中虚拟单片机的仿真系统设计20
4.1.Proteus简介20
4.2.ISISI编辑器介绍21
4.3.Proteus中虚拟单片机仿真图搭建23
4.3.1.51单片机最小系统电路23
4.3.2.proteus中1602液晶电路23
4.3.3.虚拟终端以及串口电路24
4.4.在Proteus中画出完整的电路图25
4.5.配置Proteus中的虚拟串口25
4.5.1.虚拟串口配置25
4.5.2.配置虚拟终端26
4.6.在µVision4IDE中编写51代码26
4.6.1.Keil中写代码26
4.6.2..HEX文件添加到虚拟51单片机27
4.7.Proteus仿真27
5.电路调试及误差分析28
5.1.电路的调试28
5.2.系统的误差分析28
5.2.1.声速引起的误差28
5.2.2.单片机时间分辨率的影响29
6.总结30
7.附录31
7.1.附录1-----本课题的实物图:
31
7.2.附录2-----实际单片机(430)程序代码:
32
7.3.附录3-----proteus虚拟单片机(51)程序代码:
38
8.参考文献42
1.绪论
本章简要介绍单片机技术在工业上的主要应用,MSP430单片机的概述及特点,以及课题研究的主要内容。
1.1.MSP430单片机概述
MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗的混合信号处理器(MixedSignalProcessor)。
称之为混合信号处理器,主要是其针对实际应用需求,把许多模拟电路,数字电路和微处理器集成在一个芯片上。
德州仪器1996年到2000年初,先后推出了31X、32X、33X等几个系列,这些系列具有LCD驱动模块,对提高系统的集成度较有利。
每一系列有ROM型(C)、OTP型(P)、和EPROM型(E)等芯片。
EPROM型的价格昂贵,运行环境温度范围窄,主要用于样机开发。
这也表明了这几个系列的开发模式,即:
用户可以用EPROM型开发样机;用OTP型进行小批量生产;而ROM型适应大批量生产的产品。
2000年推出了11X/11X1系列。
这个系列采用20脚封装,内存容量、片上功能和I/O引脚数比较少,但是价格比较低廉。
这个时期的MSP430已经显露出了它的特低功耗等的一系列技术特点,但也有不尽如人意之处。
它的许多重要特性如:
片内串行通信接口、硬件乘法器、足够的I/O引脚等,只有33x系列才具备。
33x系列价格较高,比较适合于较为复杂的应用系统。
当用户设计需要更多考虑成本时,33x并不一定是最适合的。
而片内高精度A/D转换器又只有32x系列才有。
2000年7月推出了F13x/F14x系列,在2001年7月到2002年又相继推出F41x、F43x、F44x。
这些全部是Flash型单片机。
F41x系列单片机有48个I/O口,96段LCD驱动。
F43x、F44x系列是在13x、14x的基础上,增加了液晶驱动器,将驱动LCD的段数由3xx系列的最多120段增加到160段。
并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。
MSP430系列的部分产品具有Flash存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。
TI公司推出具有Flash型存储器及JTAG边界扫描技术的廉价开发工具MSP-FET430X110,将国际上先进的JTAG技术和Flash在线编程技术引入MSP430。
这种以Flash技术与FET开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。
2001年TI公司又公布了BOOTSTRAPLOADER技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。
这为系统软件的升级提供了又一方便的手段。
BOOTSTRAP具有很高的保密性,口令可达到32个字节的长度。
TI公司在2002年底和2003年期间又陆续推出了F15x和F16x系列的产品。
在这一新的系列中,有了两个方面的发展。
一是从存储器方面来说,将RAM容量大大增加,如F1611的RAM容量增加到了10KB。
二是从外围模块来说,增加了I2C、DMA、DAC12和SVS等模块[13]。
1.2.MSP430的特点
1、处理能力强
MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址,4种目的操作数寻址),简介的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可以参加多种运算;还有高效的查表处理命令。
这些特点保证了可以编制出高效的源程序。
2、运算速度快
MSP430系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。
3、超低功耗
MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。
首先,MSP430系列单片机的电源电压采用的是1.8-3.6V电压。
因而可使其在1MHz的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM保持模式下的最低功耗只有0.1μA。
其次,独特的时钟系统设计。
在MSP430系列中有两个不同的时钟系统:
基本时钟系统、锁频环(FLL和FLL+)时钟系统和DCO数字振荡器时钟系统。
可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。
由系统时钟系统产生CPU和各功能所需的时钟。
并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。
由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。
在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。
在实时时钟模式下,可达2.5μA,在RAM保持模式下,最低可达0.1μA。
4、片内资源丰富
MSP430系列单片机的各系列都集成了较丰富的片内外设。
它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位Σ-ΔADC、DMA、I/O端口、基本定时器(BasicTimer)、实时时
钟(RTC)和USB控制器等若干外围模块的不同组合。
其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器;16位定时器(Timer_A和Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的I/O端口,P0、P1、P2端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件A/D转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;能直接驱动液晶多达160段;实现两路的12位D/A转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。
MSP430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。
5、方便高效的开发环境
MSP430系列有OPT型、FLASH型和ROM型三种类型的器件,这些器件的开发手段不同。
对于OPT型和ROM型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于FLASH型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的、FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。
这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器。
开发语言有汇编语言和C语言。
1.3.课题研究的主要内容
本设计以实现基于MSP430单片机的温度测量为主要目标,主要内容有:
1、MSP430的结构及工作原理;
2、温度测量和距离测量的控制方法;
3、控制系统所需的控制电路,设计控制系统;控制电路主要由MSP430F149单片机、DS18B20温度传感器、超声波传感器模块,LCD1602.
4、系统原理图、方框图和线路图等。
2.系统总体方案设计
本章主要介绍系统的结构框图以及各测量模块的测量原理,然后介绍本设计的核心部件MSP430F149单片机、超声波测距模块和单线数字温度传感器DS18B20。
2.1.控制系统的原理图
本设计的控制系统主要包括五部分:
温度采集模块,超声波测距模块,电源及复位模块,报警模块,显示模块,具体结构如图2-1所示。
图2-1
2.2.超声波测距的原理
我们知道,当物体振动时会发出声音。
科学家们将每秒钟振动的次数称为声音的频率,它的单位是赫兹。
人类耳朵能听到的声波频率为20~20,000HZ。
当声波的振动频率大于20000HZ或小于20HZ时,我们便听不见了。
因此,我们把频率高于20000HZ的声波称为“超声波”。
超声波广泛地应用在多种技术中。
超声波有两个特点,一个是能量大,一个是沿直线传播。
由于超声波也是一种声波,超声波在媒质中传播的速度和媒质的特性有关。
声波是物体机械振动状态(或能量)的传播形式。
所谓振动是指物质的质点在其平衡位置附近进行的往返运动。
超声和可闻声本质上是一致的,它们的共同点都是一种机械振动,通常以纵波的方式在弹性介质内会传播,是一种能量的传
播形式,其不同点是超声频率高,波长短,在一定距离内沿直线传播具有良好的束射性和方向性。
超声波具有以下的特点:
1)超声波可在气体、液体、固体、固熔体等介质中有效传播。
2)超声波可传递很强的能量。
3)超声波会产生反射、干涉、叠加和共振现象。
4)超声波在液体介质中传播时,可在界面上产生强烈的冲击和空化现象
2.2.1.超声波发生器
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构,它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
2.2.2.超声波测距原理
在超声波探测电路中,发射端输出一系列脉冲方波,其宽度为发射超声波与接收超声波的时间间隔,被测物距越远,脉冲宽度越大,输出脉冲个数与被测距离成正比。
超声波测距的方法有多种,如相位检测法、声波幅值检测法和往返时间检测法等。
相位检测法虽然精度高,但检测范围有限可检测到汽车倒车中,其障碍物与汽车的距离;声波幅值检测法易受反射波的影响。
本文硬件设计采用超声波往返时间检测法,其测量原理图如图所示。
图2-2超声波测距原理图
其原理为:
在超声波发射器两端输入40KHZ脉冲串,脉冲信号经过超声波内部振子,振荡产生机械波,并通过空气介质传播到被测面,由被测面反射到超声波接收器接收,在超声波接收器两端,信号是毫伏级的正弦波信号,超声波经气体介质的传播到接收器的时间,即为往返时间。
超声测距有脉冲回波法、共振法和频差法,其中常用脉冲回波法测距。
超声波测距的原理一般采用渡越时间法,其原理是超声传感器发射超声波,超声波在空气中传播至障碍物,经反射后由超声传感器接收反射脉冲,测量出超声脉冲从发射到接收的时间,再乘以超声波在空气中的速度就得到二倍的声源与障碍物之间的距离,即:
L=c·t/2
(1)
式
(1)中,L为超声传感器与被测障碍物之间的距离,c为超声波在介质(空气)中的传输速率,t为超声波从发射到接收的时间。
超声波在空气中的传播速度
为:
c=c0⋅
TT0,其中T为绝对温度数值,
T0≈273.15k,C0=331.4ms。
在测
量精度不是很高的情况下,一般可以认为c为常数340m/s。
由于温度影响超声波在空气中的传播速度;超声波反射回波又很难精确捕捉,致使超声波在空气中传播的时间很难精确测量。
这些因素是使用超声测距引起误差的原因。
2.2.3.超声波测距误差分析
根据超声波测距公式L=c·t/2,可知测距的误差是由超声波的温度误差、传
播速度误差和测量距离传播的时间误差引起的。
2.2.3.1.温度误差
由于超声波也是一种声波。
其声速C与温度有关。
表1列出了几种不同温度下的声速
表1声速与温度关系
温度(℃)
-30
-20
-10
0
10
20
30
100
声速(米/
秒)
313
319
325
323
338
344
349
386
这是超声波的温度效应特性,超声波的传播速度“C”可以用公式
(2)表示:
C
=331.5+0.607t(m/s),式中t=温度(℃)。
因此要精确测量与某个物体之间的距离时,则应通过温度补偿的方法加以校正。
2.2.3.2.时间误差
当要求测距误差小于1mm时,假设已知超声波速度C=344m/s(20℃室温),忽略声速的传播误差。
测距误差s△t<(0.001/344)≈0.000002907s即2.907ms。
在超声波的传播速度是准确的前提下,测量距离的传播时间差值精度只要在达到微秒级,就能保证测距误差小于1mm的误差。
使用的12MHz晶体作时钟基准的89C51单片机定时器能方便的计数到1μs的精度,因此系统采用89C51定时器能保证时间误差在1mm的测量范围内。
对于超声波测距精度要求达到1MM时,就必须把超声波传播的环境温度考虑进去。
例如当温度0℃时超声波速度是332m/s,30℃时是350m/s,温度变化引起的超声波速度变化为18m/s。
若超声波在30℃的环境下以0℃的声速测量100M距离所引起的测量误差将达到5M,测量1M误差将达到5MM。
超声波遇到障碍物后,一部分会反来,那么,通过计算发射出超声波到接收到回波之间的时差,还有音速,就能算出障碍物的距离。
单片机MSP430f149发出短暂的40kHz信号,经放大后通过超声波换能器输出;反射后的超声波经超声波换能器作为系统的输入,锁相环对此信号锁定,产生锁定信号启动单片机中断程序,读出时间t,再由系统软件对其进行计算、判别后,
相应的计算结果被送至LCD液晶进行显示。
2.3.温度测量原理
本设计的原理是:
温度采集系统主要通过单线数字温度传感器DS18B20采集得到温度数据,MSP430F149作为CPU从温度传感器读取数据,将得到的数据进行判断然后做相应处理,比如显示或报警。
温度传感器通过某种关系的换算,就可以得到温度传感器的输出电压,这样单片机通过模拟口采集得到传感器的输出电压[1]。
由于MSP430F149片内集成了A/D转换通道,这样可以直接将单片机的A/D输入通道与传感器的模拟电压输出通道相连接另外系统通过键盘输入来完成对报警温度上下限的设置,通过显示电路将得到的数据显示出来,当温度超过上限和下限的时候,系统进行报警,报警是通过驱动一个蜂鸣器来实现的。
3.硬件系统与软件系统设计
由以上分析可知,系统总体由两部分组成,即包括硬件系统设计和软件系统设计两大部分。
3.1.硬件部分
3.1.1.MSP430F149单片机
单片机的最小系统如图2-3所示:
图2-3MSP430F149单片机管脚
3.1.1.1.MSP430F149的组成
●基础时钟模块,包括一个数控振荡器(DCO)、一个高速晶体振荡器(最高8MHz)
和一个低速晶体振荡器(32768Hz)。
●看门狗定时器WatchTimer,可用作通用定时器。
●带有3个捕获/比较寄存器的16位定时器Timer_A3。
●带有7个捕获/比较寄存器的16位定时器Timer_B7。
●两个具有中断功能的8位并行端口;P1与P2。
●四个8位并行端口;P3、P4、P5与P6。
●模拟比较器compator_A。
●2位200kbps的A/D转换器ADC12,自带采样保持。
●两通道串行通信接口可用于异步或同步(USART0、USA1T1)。
●一个硬件乘法器。
[2]
3.1.1.2.MSP430F149的定时器及转换模块
在MSP430F149中有一个16位定时器和一个12位转换模块ADC12。
16位定时器可以用作看门狗定时器,实现在秒数量级上的定时。
其中有2个中断向量,便于处理各种定时中断。
另外,定时器还具有捕获模式,我们可以通过定时器的捕获功能实现各种测量,比如脉冲宽度测量。
12位A/D转换用到2个参考电平,即Vr+和Vr--,作为转换范围的上下限和读数的量程值和0值。
转换数值在输入信号大于等于Vr+时为满量程,小于等于Vr-时为’0’。
ADC12有4种工作模式。
可以在单通道上实现单次转换或多次转换,也可以在序列通道上实现单次转换或重复转换。
对于序列通道转换,采样顺序完全由用户定义。
转换的结果保存在16个转换寄存器中,这样ADC12可以进行多次转换而不需要软件干顶,这一点提高了系统性能,也减少了软件开销[2]。
3.1.2.单线数字温度传感器DS18B20
美国DALLS公司生产的单线数字温度传感器DS18B20,它是一种智能温度传感器,可把温度信号直接转换成数字信号供微机处理。
由于每片DS18B20含有唯一的硅串行数,从DS18B20读出的信息或写入DS18B20的信息,仅需要一根
口线[4]。
读出及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外的电源。
DS18B20提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。
3.1.2.1.温度传感器DS18B20特点
●单线接口,仅需一根口线与CPU连接可以实现双向通信
●无需外围元件
●由总线提供电源,电压范围3.0V5.5V
●调温范围为-55℃~125℃,固有测温分辨率为0.5℃
●通过编程可以实现九位数字温度读数
●负压特性,电源极性接反时,温度计不会因发热而烧坏,但不能正常工作
3.1.2.2.温度传感器DS18B20内部结构
温度传感器DS18B20内部结构:
DS18B20采用三脚PR35封装如图2-2所示,其内部框图如2-3所示[5]。
64位的ROM开始8位是产品类型的编号,接着是每个器件的唯一的序号共计48位,最后8位是前56位的CRC校验码。
高速缓存器存储器包含一个高速暂存RAM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计超声波测距+实际 MSP430 单片机与 proteus 中虚拟 51 单片机串口通信仿真 课程设计 超声波 测距 实际 单片机 虚拟 串口 通信 仿真
链接地址:https://www.bingdoc.com/p-12562031.html