基于DS18B20数字温度计的设计及基于AVR单片机的声音引导系统设计_第1页
基于DS18B20数字温度计的设计及基于AVR单片机的声音引导系统设计_第2页
基于DS18B20数字温度计的设计及基于AVR单片机的声音引导系统设计_第3页
基于DS18B20数字温度计的设计及基于AVR单片机的声音引导系统设计_第4页
基于DS18B20数字温度计的设计及基于AVR单片机的声音引导系统设计_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

基于DS18B20数字温度计的设计姓名:XX学号:XXXXXX指导老师:XX摘要文章介绍了单线数字温度传感器DS18B20的测量原理、特性以及在温度测量中的硬件和软件设计。讨论了单总线通信时序问题,最后以单总线器件DS18B20多点温度测量的应用为例,给出了单总线的数据读写方法。DS18B20用于多点测温时,同时将多个DS18B20挂在微处理器总线上采集数据,并通过串口传送至PC机。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机控制下的硬件连接及软件编程,并给出了软件流程图。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89S52单片机和DALLAS公司的DS18B20数字温度传感器。该系统稳定性好,可应用于仓库测温、楼宇空调控制和生产过程监控等领域。关键词:DS18B20测温单总线ABSTRCT:ThetheoryandcharacteristicsofDS18B20,thehardwareandsoftwaredesignofthesystemwereintroducedinthisarticle.Theproblemofthesingle-buscommunicationtimingisdiscussed.Finally,themulti-pointtemperaturemeasurementapplicationandthewayofthesingle-busdatatransmissionwereproposed.SomeDS18B20swerelinkedwithMCUbustocollectdata,andthedatawassenttoPCcomputerbytheserial-portwhenDS18B20wasusedformulti-pointtemperaturemeasure.ThehardwareandsoftwaredesignofDS18B20DigitalTemperatureSensorwhichwascontrolledintheMCUwereintroducedandtheSoftwareflowchartwasproposedbypracticalexperienceinthispaper.PCandthesystemcommunicatedthoughtheSerialport.Becauseofitsstability,itcanbeusedinmanyfields.Keywords:DS18B20;TemperatureMeasurement;1-wire目录摘要 I第1章引言 11.1选题背景 11.2系统概述 1第2章温度检测系统 22.1传感器部分 22.2主控制部分 22.3总体设计方案 32.4主控制器 42.5显示电路 4第3章DS18B20的知识及原理 53.1DS18B20的基本知识 53.2DS18B20测温原理 53.3DS18B20内部结构 63.4DS18B20工作过程 93.4.1DS18B20的命令 93.4.2.DS18B20的时序 103.5DS18B20供电方式 11第4章系统设计与实现 134.1系统整体硬件电路 134.1.1主板电路 134.2DS18B20与AT89S52硬件连接及软件编程 134.3DS18B20温度传感器与单片机的接口电路 164.4程序设计 174.4.1主程序 174.4.2读出温度子程序 184.4.3温度转换命令子程序 194.4.4计算温度子程序 204.4.5显示数据刷新子程序 204.4.6数字温度计程序 21第5章调试及总结体会 265.1调试及结果 265.2总结体会 26致谢 28参考文献 29PAGEPAGEXXXIII第1章引言1.1选题背景温度是工业中非常关键的一项物理量,在农业、现代科学研究和各种高新技术的开发和研究中也是一个非常普遍和常用的测量参数。温度测量的原理主要是将随温度变化而变化的物理参数,如膨胀、电阻、电容、热电动势、磁性、频率、光学特性等通过温度传感器转变成电的信号或其他信号,然后再传给处理电路,最后转换成温度数值显示出来。传统的温度测量方法基本上是接触式的,主要有:热膨胀式温度计、电阻式温度计、热电偶式温度计等。这些接触式温度计的主要缺点是对传感器的耐热性能比较苛刻,所以对应的使用温度范围比较有限。它们的精度也大大限制了他们的应用领域。此外,由于这些测量方法大都是接触式的,会污染一些高纯度,高腐蚀性的测量对象。目前应用的比较广泛的非接触温度测量技术有红外非接触温度测量技术、单总线数字式温度测量技术等等。此外,激光测量温度技术基于彩色三基色的温度测量技术也开始成为温度测量的手段。本文将着重对数字式温度测量技术的测试原理、特点以及应用加以介绍。本次毕业设计中采用单片机和集成式数字温度传感器作为主要芯片设计单点温度检测与控制系统。它利用单总线的特点可组建传感网络,方便实现多点温度的测量及控制。本系统的设计抗干扰性强、设计灵活方便并且适合在恶劣的环境下进行温度测量,所以设计意义较为深远。1.2系统概述本设计首先采用由一台计算机(PC微型计算机),一个DC-PROC实验箱进行实验。将实验箱上的电路接好后,对其进行编程,在通过Keil单片机软件将编好的程序下载到单片机上。最后将其中的数据送LED上显示。温度采集使用的是传感器DS18B20。DS18B20利用单总线的特点可以方便实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。本系统可以应用在大型工业及民用常温多点监测场合。如粮食仓储系统、楼宇自动化系统、温控生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械等。第2章温度检测系统温度检测系统有着共同的特点:测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路才能把传感器输出的模拟信号转换成数字信号送到计算机处理。由于各种因素会造成检测系统较大的偏差,又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。所以多点温度检测系统的设计的关键在于两部分:温度传感器的选择和主控单元的设计。温度传感器应用范围广泛、使用数量庞大,也高居各类传感器之首。2.1传感器部分在多点测温系统中,传统的测温方法是将模拟信号远距离采样进行AD转换。而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化,便于单片机处理及控制。从而省去了传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用作工业测温元件,此元件线形较好。在0-100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S52构成的温度测量装置输出温度的数字信号可直接与计算机连接。测温系统的结构就比较简单,体积也不大,且由于AT89S52可以带多个DSB1820,因此可以非常容易实现多点测量,从而轻松地组建传感器网络。采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。毕业设计应用这一温度芯片,也是顺应这一趋势。2.2主控制部分此方案采用AT89S52八位单片机实现。单片机软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制。而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信。运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统,实现远程控制。另外AT89S52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。2.3总体设计方案方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应在将随被测温度变化的电压或电流采集过来进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路。方案二根据方案一进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以非常容易想到采用一只温度传感器DS18B20,此传感器可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。方案二的总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机8031,温度传感器采用DS18B20,用4位LED数码管实现温度数据显示。主主控制器LED显示温度传感器单片机复位时钟振荡报警点按键调整图1总体设计框图2.4主控制器8031,P1口﹑P3口对用户开放,时钟频率为6.0MHz,程序存储器和数据存储器统一编址,最多可达64k,其中4000H-5FFFH为程序存储区,供下载实验程序。所以在编写程序的时候,程序的起始地址为4000H。2.5显示电路由4位共阳极LED数码管、位驱动电路、端输入电路组成,采用动态扫描的方式显示。其中该模块包括了4位LED数码管4个、9015位驱动器4个,还使用P0口采用电阻上拉。显示电路如图2所示(图2中所示为4位LED数码管)。图2温度计的显示电路第3章DS18B20的知识及原理3.1DS18B20的基本知识DS18B20是美国DALLAS公司推出的智能化数字式温度传感器,其内部使用了在板专利技术,全部传感元件及转换电路集成在形如一个三极管的集成电路内,封装形式如图3所示。与其它温度传感器相比,DS18B20具有以下技术特性:1.具有独特的单总线接口方式,DS18B20在与微处理器连接时仅需一条I/O口线就可实现微处理器与DS18B20的双向通信;2.支持多点组网功能,一条总线上可以同时挂接多个DS18B20,很方便地实现多点温度的检测;3.数字信号输出不需要信号放大和A/D转换等外围电路;4.测温范围-55℃~+125℃,在-10℃~+85℃5.能提供9~12位二进制温度值输出,可通过编程决定输出位数;6.其工作电源既可采用寄生电源方式产生,也可在远端引入。电源电压范围为+3.0V~+5.5V;7.用户可自行设定非易失温度报警上下限值TH和TL,DS18B20在完成温度转换后,所测得的温度值将自动与贮存在TH和TL内的触发值相比较,如果测温结果高于TH或低于TL,DS18B20内部的警告标志就会被置位,表示温度值超出了测量范围,同时还有报警搜索命令可以识别出温度超限的DS18B20。其中:VDD-供电端,GND-接地端,DQ-数据输入、输出端图3DS18B20的封装形式3.2DS18B20测温原理DS18B20的测温原理如图4所示,并没有采用传统的A/D转换原理,如逐次逼近法、双积分法和算术A/D等,而是运用了一种将温度直接转换为频率的时钟计数法。图4DS18B20测温原理框图图4中低温度系数振荡器的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给减法计数器1。高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。计数器1和温度寄存器被预置在-553.3DS18B20内部结构DS18B20主要由4部分组成:64位ROM、温度传感器、非易失性的温度报警触发器TH和TL及高速便笺式存储器,如图5所示。图5DS18B20的内部结构框图64位ROMDS18B20的64位ROM的结构如图6所示。图6DS18B20的64位ROM的结构图其中前8位是产品类型编码,DS18B20固定为28H,接着的48位是每个器件的唯一序列号,最后8位是前56位的CRC校验码。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。高速暂存存储器DS18B20内部存储器如图7所示。它由RAM和非易失性可电擦写E2RAM组成。图7DS18B20的高速暂存寄存器的存储分配图第0~4位在写操作时不予考虑,读出时总是1。第7位是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,即工作模式,用户不要去改动。R1、RO是可编程温度分辨率位。通过对这两位进行不同的编程,可设定不同的温度分辨率和最大转换时间,详见表1。由表1可见,设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间之间权衡考虑。DS18B20出厂时R1和RO均被配置为1,即工作在12位模式下。表1利用R0、R1设定分辨率和最大转换时间当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第0,1字节。在执行读便笺RAM命令后,可将这两个字节的温度值传送给总线命令者。DS18B20工作在12位模式下,温度字节的位定义如图8所示。其中s为符号位,s为0时代表温度值为正,s为1时代表温度值为负。图8DS18B20温度字节的位定义图当DS18B20工作模式依次选择11位、10位和9位时,末尾为零的低位数就分别对应于一位、两位和三位。举例说明,当工作模式选择10位时,最低两位(即2-4位和2-3位)均为0,总有效位变成10位。其中,数字位占9位,符号位占1位。对应的温度计算:当符号位S=0时,直接将二进制数转换为十进制,乘以相应的温度分辨率即可。当S=1时,先把16位二进制数求补码后转化成十进制数,然后乘以相应的温度分辨率并在前面加上负号即可。DS18B20工作在12位分辨力时,初始值默认为+85℃表2DS18B20温度与数字输出对应关系非易失性温度报警触发器TH和TL非易失性温度报警触发器TH和TL,可通过软件写入用户设定的报警上、下限。在完成温度转换后,DS18B20就把测得的温度值T同TH、TL作比较。若T>TH或T<TL,则将该器件的报警标志置位,并对总线命令者发出的报警搜索命令作出响应。3.4DS18B20工作过程每次对DS18B20的访问,都必须按下面工作流程:初始化→ROM操作指令→存储器操作指令→数据处理。DS18B20为用户提供了5个ROM命令和6个存储器命令。而具体命令信息的传送则主要通过初始化时序、读时序、写时序三个基本时序单元的组合来实现。3.4.1DS18B20的命令DS18B20命令如表3所示表3DS18B20的命令及代码说明3.4.2.DS18B20的时序初始化时序:总线上所有操作都是从初始化开始的。主机往总线发送一个复位脉冲—最短为480μs的低电平信号,接着主机释放总线进入接收状态。单总线经过4.7k的上拉电阻被拉至高电平状态。DS18B20在检测到总线上升沿之后,等待15~60μs接着发出60~240μs的低电平信号作为存在脉冲响应。初始化时序如图9所示,其图例同样适用于写时序和读时序。图9DS18B20复位脉冲和应答脉冲时序图写时序:总线命令者在与DS18B20通信中下传数据和命令时,需要遵照写时序。主机将数据线从高电平拉至低电平,产生写起始信号。主机在15μs之内将所需写的位送到数据线上,DS1B20在15~60μs对数据线进行采样,如果采样为高电平就写1,如果为低电平就写0。在开始另一个写周期前必须有1μs以上的高电平恢复时间。写时序如图10所示。图10DS18B20写时序图读时序:当读取DS18B20上传的数据时,需要用到读时序。主机将数据线从高电平拉至低电平1μs以上,再使数据线升为高电平,从而产生读起始信号。主机在读时间片下降沿之后15μs内完成读位。每个读周期最短的持续期为60μs。各个读周期之间也必须有1μs以上的高电平恢复时间。读时序如图11所示。图11DS18B20读时序图3.5DS18B20供电方式DS18B20两种供电方式:寄生电源和外接电源方式,连接方法如图12(a)(b)所示。(a)寄生电源供电方式(b)外接电源供电方式图12DS18B20两种供电方式寄生电源方式下,DS18B20的VDD端和GND端都接地,只用一根单总线和主机通信及获取电源。单总线上接4.7k的上拉电阻和DS18B20芯片的寄生电容形成充放电电路。外接电源方式下,DS18B20的VDD端外接一个+3~+5V电源,GND端接地。可见寄生电源方式可以省掉一根电源线,大大较低了布线的成本。但是当总线上节点较多且同时进行温度转换时,容易造成供电不足且所需的转换时间较长。外接电源方式稳定可靠,测量速度较快。所以本系统采用外接电源供电方式。第4章系统设计与实现4.1系统整体硬件电路4.1.1主板电路系统整体硬件电路包括传感器数据采集电路、温度显示电路、上下限报警调整电路、单片机主板电路等。电路中有三个独立式按键可以分别调整温度计的上下限报警设置。蜂鸣器可以在被测温度不在上下限范围内时,发出报警鸣叫声。同时LED数码管将没有被测温度值显示,这时可以调整报警上下限,从而测出被测的温度值。4.2DS18B20与AT89S52硬件连接及软件编程前面已经提到过单总线系统由一个总线命令者和多个从者构成。前面对从者—单总线器件DS18B20作了详细介绍,本节主要讨论微控制器与DS18B20的可靠硬件连接及其软件编程。微控制器在本系统中起着承上启下的作用,具有重要的地位。本系统微控制器采用AT89S52,它有两个最主要的功能:(1)控制单总线的运行,读取DS18B20所转换的温度并存储在RAM中。(2)通过RS-232总线与PC进行串行通信。由于DS18B20的单总线特性使得总线命令者的一根I/O口线上可以挂接多个DS18B20。AT89S52与DS18B20的硬件连接电路如图13所示。图13DS18B20与AT89S52的连接电路图13中P1.0I/O口线作为1条单总线的数据线。总线上挂接3个DS18B20,这样一个单片机可以控制测量3个测点的温度,而且又能满足多点温度测量的需要。AT89S52的软件编程单片机必须有相应的软件才能工作。依据前面介绍的DS18B20的命令及时序可以对单片机进行编程。单片机有3个基本接口子程序,分别是初始化子程序、读子程序和写子程序。编写子程序的基本方法是严格按照DS18B20的时序要求。各子程序流程图如图14。(a)复位子程序(b)写子程序(c)读子程序图14初始化子程序、读子程序、写子程序需要说明的是,系统中没有采用发搜索ROM命令来搜索所有在线的温度传感器,而是在系统开发板上设计了专门电路。这个电路通过读ROM命令离线可以读出需要用到的DS18B20的ROM序列号。这样做有下列好处:①节约了在线逐个搜索ROM编码所用的时间;②简化了编程;③可以事先匹配好矩形测量网络,方便读取温度数据;④当系统工作过程中需要更换传感器时,方便地读出其ROM序列号,使系统迅速恢复正常。读取ROM序列号时,要求单总线上只能有一个DS18B20。系统设计读序列号时的单总线为P1.0,读取完毕后通过串口发送出去并显示。读取ROM序列号的流程图如图15所示。图15读取ROM序列号流程图在实际应用中需合理安排单片机的RAM空间。因为每个DS18B20的ROM序列号要占用8个字节,而且读取的温度数据也占两个字节。将一条单总线上3个DS18B20的ROM序列号按照它们在矩形测量网络上的行列号顺序存储在单片机的RAM中。4.3DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式。此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式。如图16所示单片机端口接单线总线。为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。

图16DS18B20与单片机的接口电路4.4程序设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新子程序等。4.4.1主程序主程序的主要功能是负责温度的实时显示、读出,并处理DS18B20的测量的当前温度值。每1s温度测量进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图17所示。初始初始调用显示子程序1S到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY图17主程序流程图4.4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节。在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图18所示YY发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY图18读温度流程图4.4.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。采用12位分辨率时转换时间约为750ms。在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图19所示发发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图19温度转换流程图4.4.4计算温度子程序开始开始温度零下?温度值取补码置“—”标志计算小数位温度BCD值计算整数位温度BCD值结束置“+”标志NY图20计算温度流程图4.4.5显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作。当最高显示位为0时将符号显示位移入下一位。程序流程图如图21。温度数据移入显示寄存器温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束NNYY图21显示数据刷新流程图4.4.6数字温度计程序;读出转换后的温度值GET_TEMPER: SETBDQ ;定时入口BCD: LCALLINIT_1820 JB FLAG1,S22 LJMP BCD ;若DS18B20不存在则返回S22: LCALL DELAY1 MOV A,#0CCH ;跳过ROM匹配0CC LCALL WRITE_1820 MOV A,#44H ;发出温度转换命令 LCALL WRITE_1820 NOP LCALL DELAY LCALL DELAYCBA: LCALL INIT_1820 JB FLAG1,ABC LJMP CBAABC: LCALL DELAY1 MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ;发出读温度命令 LCALL WRITE_1820 LCALL READ_18200 READ_1820 RET;读DS18B20的程序,从DS18B20中读出一个字节的数据READ_1820: MOV R2,#8RE1: CLR C SETBDQ NOP NOP CLRDQ NOP NOP NOP SETBDQ MOV R3,#7 DJNZR3,$ MOV C,DQ MOV R3,#23 DJNZR3,$ RRC A DJNZR2,RE1 RET;写DS18B20的程序WRITE_1820: MOV R2,#8 CLR CWR1: CLRDQ MOV R3,#6 DJNZR3,$ RRC A MOV DQ,C MOV R3,#23 DJNZR3,$ SETBDQ NOP DJNZR2,WR1 SETBDQ RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200:MOV R4,#2;将温度高位和低位从DS18B20中读出MOV R1,#36H;低位存入36H(TEMPER_L),高位存入35H(TEMPER_H)RE00: MOVR2,#8RE01: CLRC SETBDQ NOP NOP CLRDQ NOP NOP NOP SETBDQ MOV R3,#7 DJNZR3,$ MOV C,DQ MOV R3,#23 DJNZR3,$ RRC A DJNZR2,RE01 MOV @R1,A DEC R1 DJNZR4,RE00 RET;将从DS18B20中读出的温度数据进行转换TEMPER_COV: MOV A,#0F0H ANL A,TEMPER_L;舍去温度低位中小数点后的四位温度数值 SWAPA MOV TEMPER_NUM,A MOV A,TEMPER_L JNB ACC.3,TEMPER_COV1;四舍五入去温度值 INC TEMPER_NUMTEMPER_COV1: MOV A,TEMPER_H ANL A,#07H SWAPA ADD A,TEMPER_NUM MOV TEMPER_NUM,A;保存变换后的温度数据 LCALLBIN_BCD RET;DS18B20初始化程序INIT_1820: SETBDQ NOP CLRDQ MOV R0,#80HTSR1: DJNZ R0,TSR1;延时 SETB DQ MOV R0,#25H;96US-25HTSR2: DJNZ R0,TSR2 JNB DQ,TSR3 LJMP TSR4 ;延时TSR3: SETBFLAG1 ;置标志位,表示DS1820存在 LJMP TSR5TSR4: CLRFLAG1 ;清标志位,表示DS1820不存在 LJMP TSR7TSR5: MOV R0,#06BH;200USTSR6: DJNZ R0,TSR6;延时TSR7: SETB DQ RET;重新写DS18B20暂存存储器设定值RE_CONFIG: JB FLAG1,RE_CONFIG1;若DS18B20存在,转RE_CONFIG1 RETRE_CONFIG1: MOV A,#0CCH;发SKIPROM命令 LCALL WRITE_1820 MOV A,#4EH;发写暂存存储器命令 LCALL WRITE_1820 MOV A,#00H;TH(报警上限)中写入00H LCALL WRITE_1820 MOV A,#00H;TL(报警下限)中写入00H LCALL WRITE_1820 MOV A,#7FH;选择12位温度分辨率 LCALL WRITE_1820 RET第5章调试及总结体会5.1调试及结果

通过DS18B20(第2引脚)与单片机(AT89S52的P1.0口)的接口,单片机把16位的温度数字量读到寄存器中,然后把16进制的带符号温度值转化成10进制带符号温度,最后通过LED显示模块在数码管上显示。通过调试,在LED上显示了0

1

8.

5的字样,表示当时的室温是正18.5度。由于器件误差的存在和无法进行温度的标定,因此当时的温度应该比18.5度高。测试中,共用了4位数码管,包括符号位,有百位,十位,个位带小数点,十分位。能显示的最小刻度温度值为0.5度。在调试中遇到了一些问题,包括在焊电路板的过程中以及在后续编程并将程序烧入电路板的时候的一些情况做一个总结。首先,在焊电路板的时候由于操作的失误有的时候存在一些虚焊、短焊的情况发生,在焊接三个传感器的基座的时候电路板背面的线需要将三点连成一条线,在焊接的时候先将三个短线依次逐点焊接,由于线很短,结果就造成虚焊的问题,后来将一条整线焊上,将此问题解决。然后就是在焊传感器的时候,将三角座的插头和传感器相连焊在一起,由于缺乏经验,在焊的时候就造成焊接插头用焊锡过多,以至于不能插入基座。在编程以及结合上位机调试的过程中,程序的运行一直很良好,但是一但下载到目标板就不能正常在串口收到数据。后来检查,是由于串口程序编写出错,串口程序的发送并没有循环发送,后修改串口程序,再按照传感器的转换以及读写时序对程序进行一些延时上的调整,后得到正确的串口返回数据。但并没有加入传感器编号的发送,又对程序加入传感器的编号发送,得到正确理论测量结果。通过这次的毕业设计在焊接以及软件的制作方面都得到了很大的提高,设计过程中存在的一些问题在以后的工作中会多加注意。5.2总结体会

经过差不多一个月的时间,终于完成了数字温度计的设计,虽然没有完全达到设计目标,但毕竟把设计实物做了出来,完成了部分基本功能。在本次设计的过程中,出现很多的问题,虽然以前还做过这样的设计,但这次设计却长进更多。单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但写好一个程序并不是一件简单的事。举个例子,以前写的那几次,数据加减时,用的都是BCD码,这一次,全部用的都是16进制的数直接加减。通过本次毕业设计,对三年来学习过的知识比如:电路、数、模电子技术、单片机技术、自动检测技术、电路板设计、智能仪器的设计应用与传感器的使用等有了更进一步的认识。同时,也培养了动手能力,也锻炼了独立思考和独立完成任务的能力。在本次设计中,除了学到了很多书本上的资料之外,还通过网络知道了芯片的结构接线等方面的知识,特别是关于DS18B20的结构和功能。增强了通过网络查阅与学习相关技术的基本技能。设计已基本成功,LED

的显示范围从-55℃到+125℃,在一定的温度范围内,不考虑器件导致的误差的话,精度已经达到了±致谢本设计是在XX老师悉心指导下完成的,从课题的选择到论文最终完成的每一个环节,XX老师亲临指导,提出意见并指正,他为此付出了大量的心血和精力。XX老师严谨的治学态度、求实创新的工作作风使我受益匪浅。三年来,不仅从X老师那里学到许多专业知识,更重要的是获取专业科研前沿和丰富的实践经验,所有这些都是以后人生生活的重大财富,在此特向恩师表示由衷的感谢和崇高的敬意。在此向测控系XX老师表示衷心的感谢!参考文献[1]郑华耀.检测技术[M].机械工业出版社.2004.7.34-62.[2]沙占友.智能化集成温度传感器原理及应用[M].科学技术出版社.2002.7:1-8,84-103.[3]赵海兰,赵祥伟,智能温度传感器DS18B20的原理与应用[J].现代电子技术.2003.14:32-34.[4]吴志忠,王克家,吴利予一种基于单线数字温度传感器DS18B20的储粮温度检测系统的设计[J].应用科技.2001.28(7):15-17.[5]广州周立功单片机发展有限公司.单片机与单线温度传感器应用实例[J].2001.7:34-50[6]陈兴梧,刘鸣,赵煌.数字式温度计DS18B20的特性及应用[J].国外电子元器件.2002.3:39-41.[7]马田华,陈东,蒋国平.可编程单总线数字式温度传感器DS18B20的原理与应用[J].电子质量.2004.7:65-68.[8]张广明,司栋森一种新型单总线数字温度传感器的特性与应用[J].计算机测量与控制.2003.11(4):318-320.[9]周月霞,孙传友.DS18B20的硬件连接及软件编程[J].2001.12:25-29.[10]韩志军,刘新民.数字温度传感器DS18B20及其应用[J].南京工程学院学报.2003.1(1):9-14.[11]于学飞.数字式温度传感器与单片机89C51的接口及编程[J].微型机与应用.1996.12.[12]刘鸣,车立新,陈兴梧.温度传感器DS18B20的特性及程序设计方法[J].电测与仪表.2001.10.[13]ChenSteveStanleyDamster.VariableAirVolumeSystemforEnvironmentQuality[M].Mcgraw-HillCompany,1996.[14]DallasSemiconductorDataEtook[M].DallasSemiconductorCorp.2000.[15]QuickGuildto1-WireNetUsingPCsandMicrocontrollers[M].ApplicationNote132.DallasSemiconductorcorp.1999.摘要声音引导系统是全球卫星定位系统(GPS)在实验室内的一个缩影。GPS是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统,其主要目的是用于军事。利用测时差法对地面辐射源(雷达站、通信站、广播站等)进行被动定位。GPS采用地心坐标系,其坐标原点设在地球的中心,利用三颗卫星对地面辐射源进行时差测量,可以得到两个独立的时差方程,再利用地球的球面方程,对三个方程联立求解,既可得辐射源的三维坐标数值。最后通过坐标转换,就可以得到辐射源的经度和纬度数值。后来GPS扩展到民用,例如用于汽车的导航。在汽车上安装收发装置,利用三星测距法,可得到汽车的位置参数,经过多次测量和数据处理方法(如最小二乘法、卡尔曼滤波等)可以进一步提高定位精度。另外在汽车引导器上安装有服务区的地理信息库,根据当时测得的地理位置,可以较准确地计算汽车离目的地的距离,并引导汽车前行。本设计采用两块ATMEGA16单片机(以下以单片机1、2区分),单片机2作为可移动声源(小车作为载体)的控制核心,控制小车的运动状态和无线收发模块。单片机1作为三路接收器收集到信息的处理核心,并与单片机2进行无线通讯。喇叭通过单片机2控制产生5KHZ音频信号,三个驻极体话筒在不同位置接收音频信号,根据接收到音频信号的时间差判断出小车与A,B,C三点的位置关系,通过无线发送装置发送给单片机2,控制小车的行驶。基于完备而可靠的硬件设计,使用一套稳定可靠的软件算法,实现了小车在规定速度内顺利完成任务。【关键词】时差测量声音引导无线收发AbstractSoundguidesystemisanepitomethattheglobalpositioningsatellite(GPS)inthelaboratory.GPSisinthe1970sbytheAmericanarmedforcesjointdevelopmentofanewgenerationofspacesatellitenavigationandpositioningsystem,itsmainpurposeisusedbythemilitary.Usethemethodofmeasuringtimefromgroundemitters(radarstation,etc.),radiostationspassivelocation.GPSemployageocentriccoordinatesystem,itsorigininthecenteroftheearthcoordinate,Using3satellitetogroundemittersfortimemeasurement,cangettwoindependenttimeequation,andthentheearth'ssurfaceequation,thesolution,thethreesimultaneousequationscannotonlyhavetoemittersof3dcoordinatevalues.Finallythecoordinatetransformationcangetemittersoflatitudeandlongitudevalues.LaterGPSexpandedtocivil,suchasusedinautomobilenavigation.Inthecarsetuptransceiver,usingtheThree-starrangingmethod,cangetcarpositionparameters,aftermanymeasurementanddataprocessingmethods(suchasleastsquares,Kalmanfilter,etc)canbefurtherimprovedpositioningaccuracy.ThisdesignusesthetwoATMEGA16takingsingle-chipmicrocontroller(1,2distinguish),microcontrollerasmobilesource(carasacarrier)controlcore,controllingtrolleystateofmotionandwirelesstransceivermodule.SCM1asthreeroadreceivertocollectinformationprocessingcore,andforwirelesscommunicationwithsingle-chipmicrocomputerByMCUcontrolfrom2speakers5KHZaudiosignalinAbodymicrophones,threeindifferentlocationsreceiveaudiosignals,accordingtoreceiveaudiosignalwithAjudgethecarlagbetweenthethree,B,C,throughthepositionrelationssendwirelesstransmissiondevice,controllingtrolleymicrocontroller2driving.Basedonmatureandreliablehardwaredesign,useasetofstableandreliablesoftwarealgorithm,realizedthecarwithinthestipulatedspeedfinishthetasksmoothly.【Keywords】Measurementofdelta-T;Soundguide;Wirelesstransceiver目录1引言TOC\o"2-3"\h\z\u\t"标题1,1"1.1研究背景 (1)1.2设计任务 (2)1.3设计要求 (2)2系统结构3系统方案设计3.1系统定位方案探讨与选择 (5)3.1.1三站测时差被动定位法 (5)3.1.2两站测距定位法 (6)3.1.3到达到时间比较法 (7)3.2系统主要部件方案论证与选择 (8)3.2.1控制模块的选择 (8)3.2.2无线数据通信方案选择 (8)3.2.3电机与其控制系统的选择 (9)3.2.4显示模块的选择 (9)3.2.5声源的选择 (9)3.2.6声音信号处理方案选择 (10)4.1控制模块设计 (11)4系统硬件的设计4.1.1ATMEGA16概述 (11)4.1.2ATMEGA16引脚说明 (13)4.1.3控制器接口电路设计 (14)4.2音频发射模块设计 (15)4.3音频接收模块设计 (16)4.3.1LM567的内部结构和功能 (16)4.3.2声音信号处理电路 (18)4.4无线收发模块设计 (18)4.4.1NRF24L01概述 (18)4.4.2引脚功能及描述 (19)4.4.3工作模式 (20)4.4.4工作原理 (20)4.4.5配置字 (21)4.4.6NRF24L01电路 (22)4.5电机与其驱动模块 (23)4.5.1PWM调速原理: (23)4.5.2L298概述 (24)4.6系统电源模块 (24)5系统软件的设计5.1声音信号处理程序设计 (25)5.1.1声音定位原理分析 (25)5.1.2信号处理及转换 (26)5.1.3程序具体流程 (26)5.2电机控制程序设计 (27)6系统测试6.1测试仪器 (29)6.2测试环境及方法 (29)6.3测试数据及分析 (29)7总结与展望7.1总结 (30)7.2展望 (30)参考文献 (30)致谢 (30)附录A (33)1引言1.1研究背景目前,由于计算机科学、人工智能、传感器技术及其它相关学科的长足进步,使得机器人的研究在高水平上进行,同时也为机器人控制系统的性能提出更高的要求。因此,提高机器人控制系统的开放性,建立开放式、模块化先进机器人控制平台,提出先进机器人的控制理论与方法,为长远的多机器人协调与控制的发展奠定基础,将会是今后机器人研究的一个重要课题。随着机器人技术的发展,一些供学生比赛和动手制作的机器人相继问世,为了让更多的学生对机器人感兴趣,中央电视台、教育部、中国科协等都支持了一些机器人比赛,目前各种形式的机器人比赛己有几十种,参加的学生越来越多,机器人课程己列入学生的选修课程,事实上,一个新的素质教育平台正在形成。为了更好的普及现代科学知识,为我国的机器人事业培养更多的优秀人才,推动自动化与机器人技术的发展与创新,为我国的快速持续发展贡献力量,国内于2001年6月成立了机器人竞赛工作委员会,负责统一协调、组织全国的机器人竞赛活动包括机器人足球比赛、机器人舞蹈比赛等。该委员会的成立标志着我国机器人竞赛事业进入一个崭新阶段。2009年全国大学生电子设计竞赛的B题是声音导引系统。该声音导引系统有一个可移动声源S,三个声音接收器A,B和C,声音接收器之间可以有线连接。声音接收器能利用可移动声源和接收器之间的不同距离,产生一个可移动声源离Ox线(或Oy线)的误差信号,并用无线传输方式将此误差信号传输至可移动声源,引导其运动。“听声辨位”,人的双耳就是个很好的例子。由于耳朵具有特殊的生理结构,能够捕获声源到达双耳的相位差和声压差信息,通过复杂的信息处理,使得我们能够准确地进行辨位,并估计出声源的距离。而在真实的声场中,声音除了通过空气媒介直接到达接收器以外,还通过各种障碍物(如墙壁、地板、天花板、室内物品)反射、衍射到达,这样接收器接收到的是原始直达声和经过延迟和衰减的声音的混介信号。这种导致信号变差的现象叫做多径效应。多径效应将使接收器获取的信号质量下降、声源定位的精度降低。另外环境存在的其他噪声对定位精度也有很大影响。所以本设计的重点是得到稳定的抗干扰能力强的误差信号,难点是准确判断可移动声源的位置和控制可移动声源的运动。江西财经大学普通本科毕业设计本论文设计的声音引导系统,是基于无线通信技术的新型导引系统,可以应用在新型智能机器人控制系统,这种声音控制机器人的运动方式将有着广阔的应用前景。在视频会议、语音识别和说话人识别、目标定位和助听装置等领域也有重要的应用。1.2设计任务设计并制作一声音导引系统,示意图如图1-1所示。图1-1声音引导系统示意图图中,AB与AC垂直,Ox是AB的中垂线,O'y是AC的中垂线,W是Ox和O'y的交点。声音导引系统有一个可移动声源S,三个声音接收器A、B和C,声音接收器之间可以有线连接。声音接收器能利用可移动声源和接收器之间的不同距离,产生一个可移动声源离Ox线(或O'y线)的误差信号,并用无线方式将此误差信号传输至可移动声源,引导其运动。可移动声源运动的起始点必须在Ox线右侧,位置可以任意指定。1.3设计要求(1)制作可移动的声源。可移动声源产生的信号为周期性音频脉冲信号,如图1-2所示,声音信号频率不限,脉冲周期不限。图1-2信号波形示意图(2)可移动声源发出声音后开始运动,到达Ox线并停止,这段运动时间为响应时间,测量响应时间,用下列公式计算出响应的平均速度,要求平均速度大于5cm/s。(3)可移动声源停止后的位置与Ox线之间的距离为定位误差,定位误差小于5cm(4)可移动声源在运动过程中任意时刻超过Ox线左侧的距离小于5cm。(5)可移动声源到达Ox线后,必须有明显的光和声指示。(6)将可移动声源转向180度(可手动调整发声器件方向),能够重复基本要求。(7)在完成移动到Ox线上后,可移动声源在原地停止5s~10s,然后利用接收器A和C,使可移动声源运动到W点,到达W点以后,必须有明显的光和声指示并停止,此时声源距离W的直线距离小于1cm。整个运动过程的平均速度大于10cm/s。(8)功耗低,性价比高。

2系统结构本系统由单片机2控制音频信号的产生,并控制小车运动,音频信号通过三路驻极体话筒接收后,经过放大、选频、比较器电路,输出幅度为5V的方波信号,单片机通过测量三路信号的时间差,获取小车当前的运动状态,并通过无线发送模块发送信号让小车调整状态,发送的信号由无线接收模块接收传给单片机做出相应判断,从而调整小车状态,让声源顺利到达指定位置。通过握手机制,保证无线收发顺利进行。喇叭产生音频信号喇叭产生音频信号三路接收音频信号LED指示灯单片机1#控制小车运动单片机2#实时显示nRF24l01无线收发图2-1总体框架设计图

3系统方案设计3.1系统定位方案探讨与选择 要对行进中的小车进行实时定位,并引导它前进,必须建立数学模型和坐标系。本题可采用直角坐标系。原点可选在终点W处或者A点处。现选在W处,其坐标系如图3-1所示。根据题意和GPS定位原理,其定位方法有如下三种:(1)三站测时差被动定位法(2)二站测距定位法(3)到达时间比较法OOO’图3-1直角坐标系3.1.1三站测时差被动定位法如图3-1所示。现设A站为主站,B,C站为从站,S为服务对象,简称目标。设目标在某一个时段发出了音频脉冲信号,如图3-2所示,三站A、B、C接收此信号后,经放大、滤波、检波、整形后统一传输给主站A,其时序关系如图3-2所示。列出测时差方程组:(3.1.1(3.1.1)

式中,v为声音在空气中的传播速度,、为测量值。式(3.1.1)属于二元非线性方程组,可采用数值求解法(软件编程),求出x,y的值。B站和C站只是一个接收器。拾音器将声波转换成电信号后,通过1.1m的电缆直接送入A站处理。这样B、C两站设备变得非常简单,大大提高了性价比。uus(t)ttuA(t)uB(t)ttuC(t)△tAB△tACta1ta2ta1tb1tb2tb3tc1tc2tc3图3-2us、uA、uB、uC的时序关系图3.1.2两站测距定位法两站测距定位原理示意图如图3-3所示。OOE图3-3两站测距定位法坐标系

若能测出A、S两点之间声波传播的时间tA则A、S两点距离为(3.1.2)同理可得(3.1.3)在ABS中,已知三边,可以求出(3.1.4)(3.1.5)(3.1.6)于是可得(3.1.7)3.1.3到达到时间比较法所谓到达时间,这里定义为接收器接收到每个脉冲前沿的时刻。例如ta1、ta2…tan为接收器A的到达时间,如图3-2所示。当S到达y轴时SA=SB,此时ta1与tb1重合,当S到达坐标原点(W点)时SA=SB=SC,此时ta1、tb1、tc1完全重合。若tb1<ta1,说明小车位于y轴右侧,若tc1<ta1,说明小车位于x轴的上方。tb1<ta1且tc1<ta1,时说明小车位于坐标系的第一象限内,以此类推。根据题目基本要求部分,小车放置在y轴右侧的某一位置,且车身正对y轴的垂直线上。只需判断ta和tb的大小。若tb<ta要引导小车前行(即x值减小的方向)。当tb=ta时,小车应该停下来。当小车沿着y轴向原点运行时,按同样的方法比较ta和tc的大小。ta=tc时就到达目的地W点。根据上述三种方法,列表比较如下,详见表3.1。表3.1三种定位方法比较一览表定位方法定位精度所花时间数据处理难度设备价格测试差法最高中大高测距法高短中中到达时间比较法较高长小低综合数据处理难度和设备价格,再加上所花时间及定位精度能满足题目要求,我选择到达时间比较法。3.2系统主要部件方案论证与选择根据系统设计的要求来选择符合要求的器件类型,本段主要讨论控制芯片、无线数据通信方案、电机和控制系统选择、声源选择和声音处理方案的选择。3.2.1控制模块的选择控制模块是一个系统的核心部分,核心器件是MCU,它的选择影响着这个系统性能的优劣和功能的实现。目前工控领域中常使用的微控制器有:应用广泛的AVR系列8位单片机、针对大量计算的数字信号处理器DSP、一些增强型的16位单片机和32位的ARM芯片,从九十年代初AVR系列单片机就开始流行了,在技术开发方面已经很成熟了,只是功能实现方面相对简单;DSP功能侧重于有大量信号需要处理的场合,但价格偏高,开发难度较大;ARM芯片和DSP有某些相似之处,在小型系统中增强型的16为单片机已经能够满足需求。而对于本系统,在保证功能的基础上,还要考虑其有低功耗,低成本的要求,因此,本系统选用AVR系列单片机,ATMEL公司生产的ATMEGA16单片机,有成本低、体积小和功耗低、软件编程灵活、程序开发周期短、方便下载程序和调试等优点。3.2.2无线数据通信方案选择无线通信是指通信收发双方通过无线电波传输信息,随着(微)电子技术、计算机技术的飞速发展,无线通信产业突飞猛进,特别是短距离无线通信非常吃香。短距离无线通信技术全部工作在ISM(即工业、科学和医用)频段上,这些频段不需要许可证,只需遵守一定的发射功率(一般低于1W),不对其它频段造成干扰即可6。常见的短距离无线通信技术工作于以下几个频段:27MHz频段、2.4GHz频段和315MHz、433MHz、868MHz(902~928MHz)等频段。使用数字信号单片射频收发芯片加上微控制器和少量外围器件构成专用或通用的无线通信模块,目前国内外有很多不同类型的射频芯片,在系统设计中正确选择射频芯片也是很重要的,能够减小设计开发难度,加快开发周期,节约成本。方案一:采用由分立元件超外差分接收电路和无线发射器组成无线收发模块。此模块的不足之处是电路太复杂、成本高、传输速度低、可靠性低等。此外,还容易受到外界杂散信号的干扰和电路自身的不稳定性而产生噪声。方案二:采用廉价的Nordic公司的nRF24L01芯片构成无线收发模块。nRF24L01内置频率合成器、功率放大器、晶振振荡器、调制器等功能模块。这些特性使得由nRF24L01构建的无线数据传输系统具有成本低、速度高、传输可靠性高等优点。基于以上分析,采用方案二。3.2.3电机与其控制系统的选择(1)电机单元方案一:采用直流电机。直流电机的特点是速度快,驱动电路简单,功率调节范围广、适应性好。由于直流电机定位精度不高,所有使用齿轮减速器就能达到一定的精度要求。方案二:采用步进电机。步进电机没有电刷,是一种将电脉冲信号转换成角位移的精密执行元件,但步进电机控制复杂,速度不是很快。方案分析:由于方案二中的步进电机控制复杂,速度稍慢较直流电机。本系统对速度要求较高,而直流电机符合此要求,故采用方案一。(2)电机驱动单元方案一:直接采用专用集成电路芯片L298驱动电机,用单片机控制L298的输入使之工作在占空比可调的开关状态,可调整电机转速,电子开关的速度很快,稳定性也极强。而且使外围器件成本降低,整机可靠性提高。方案二:采用采用分立元件三极管组成的H桥PWM调速电路,用于实现对直流电动机速度和方向的控制。由于采用分立元件组成电动机逻辑驱动,故易造成驱动电路稳定性差的问题,且价格贵。综合以上两种方案,本设计采用方案一。3.2.4显示模块的选择方案一:采用传统七段LED数码管显示。优点是发光强,但功耗也大,电路复杂。方案二:采用LCD液晶屏显示。液晶显示屏具有低功耗、抗干扰能力强等特点,而且外部电路简单等。3.2.5声源的选择方案一:采用无源蜂鸣器,通过单片机控制,产生特定频率的音频信号。但无源蜂鸣器产生音频信号方向单一,不利于三路接收器接收。方案二:采用普通8欧0.5瓦喇叭,产生的声音信号方向不单一,有利于三个接收器接收。通过功放LM386,功率放大。调节音量确保每个接收器都能接收到声音信号。基于以上分析,采用方案二。3.2.6声音信号处理方案选择方案一:使用通用放大器和比较器,完成声音信号的放大、滤波及整形。此方案,滤波电路选用NE5532P,整形电路选用LM358。带通滤波器中心频率为5K,排除噪声干扰和低频信号干扰。方案二:使用通用通放大器和比较器,完成声音信号的放大及整形。使用选频电路选择所需频率。放大整形电路选用LM358,选频用LM567。驻极体话筒接收到的音频信号,必须经过放大,整形才能为单片机所识别,经过两级放大后,可以采用带通滤波器,选择所需频率,也可以用LM567选频,在多次测试后,发现带通滤波器的幅频特性曲线不理想,不能完全滤除干扰信号,降低系统可靠性,经过多次测试,LM567选频电路效果相对较好,该选频电路可精确控制中心频率(f=1/1.1RC),系统采用LM567选频电路,经过选频电路、比较器,则可产生便于MCU识别的逻辑电平。综上分析,选择方案二。4系统硬件的设计4.1控制模块设计系统以ATMEGA16作为主控芯片,驻极体采集移动声源发出的声音经过放大、选频和整形送入主控MCU。nRF24L01是射频收发芯片,负责无线数据通信。L298驱动直流电机。以下介绍各模块的硬件设计。4.1.1ATMEGA16概述20ATMEGA16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATMEGA16的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算术逻辑单元(ALU)相连接,使得一条指令可以在时钟周期内同时访问两个独立W的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。ATMEGA16有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlashMemory)。在更新应用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。通过将8位RISCCPU与系统内可编程的Flash集成在一个芯片内,ATMEGA16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATMEGA16具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。图4-1ATMEGA16内部结构4.1.2ATMEGA16引脚说明VCC:数字电路的电源GND:地端口A:(PA7..PA0)端口A作为A/D转换器的模拟输入端。端口A为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。图4-2ATMEGA16封装图端口B:(PB7..PB0)端口B为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口B也可以用做其他不同的特殊功能。端口C:(PC7..PC0)端口C为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口D:(PD7..PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。端口D也可以用做其他不同的特殊功能。RESET:复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1:反向振荡放大器与片内时钟操作电路的输入端。XTAL2:反向振荡放大器的输出端。AVCC:AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC连接。AREFA/D的模拟基准输入引脚。4.1.3控制器接口电路设计在可移动声源端中,PB口与nRF24L01通信,其中PB2连nRF24L01的IRQ,PB3连CE;PB4接CSN,PB5接MOSI,PB6连MISO,而PB7接SC。PB0接喇叭产生声音信号。PB1接绿色LED指示信号接收正常。PC0接红色LED指示移动声源是否到达目的地。电路图如图4-3.图4-3可移动声源端单片机接口电路图在接收部分,PB口与nRF24L01通信,其中PB2连nRF24L01的IRQ,PB3连CE;PB4接CSN,PB5接MOSI,PB6连MISO,而PB7接SC。PD2接接收器A,PD3接继电器公共端。接收器B、C分别接继电器选择端。接收端电路图如图4-4。图4-4三路信号单片机接口电路图4.2音频发射模块设计发生器件选用市场上常用的普通8欧0.5瓦喇叭,针对本设计放大倍数不大,功放采用LM386。考虑到噪声干扰,声源采用5K的PWM波产生器,经一级功放后驱动喇叭发声,其电路设计如图4-5。图4-5音频发射电路4.3音频接收模块设计由于接收到的音频信号幅度较小,所以必须放大,输入信号经过由LM358组成的放大电路进行放大,在放大器的反向端有2.5V直流偏置,所以输出的交流信号时叠加在2.5V直流信号上的,输出大于2.5V,在经过LM567选频电路后,选出5kHZ附近的音频,即喇叭发出的音频,中心频率为f=1/1.1RC。4.3.1LM567的内部结构和功能LM567是一种常见的低价解码集成电路,其内部结构如图4-6所示。LM567内部包含了两个鉴相器、放大器、电压控制振荡器VCO等单元。图4-6LM567内部结构框图其典型应用电路如图4-7所示。锁相环路输出信号由电压控制振荡器VCO产生,电压控制振荡器的自由震荡频率(即无外加控制电压时的震荡频率)与5、6外接定时元件R1、C1的关系:图4-7LM567典型应有电路选用适当的定时元件,可使LM567的震荡频率在0.01HZ~500KHZ内连续变化。脚1、2外接滤波电容C2、C3。LM567一般作为锁相环路解码器,即当从3脚输入的信号的频率在f0附近的带宽BW范围内时信号被捕捉到,从输出脚8输出低电平(未捕捉到时为高电平)。带宽BW可由下式计算:式中为输入信号的有效值<200mv,C2为滤波电容,调节它,可以调节带宽。实际上,上式计算得出来并不是环路带宽的BW的实际值,而是环路带宽BW与环路中心频率的百分比。对输入信号的要求是ui>20mV,上式如图4-8所示。可见ui>200mV时带宽仅由f0与C2的积决定。图4-8带宽与输入电压及C2的关系LM567存在着输出延时,LM567的最大输出延时与带宽的关系如图4-9所示,最大延时在三个以上声波周期之间。图4-9输出延时与带宽关系延时并不影响测量,在测量程序设计时减去,但要求延时固定。由图4-9可知为使延时比较固定,就要求有较固定的捕捉带宽,就要求运算放大器有足够大的放大倍数,以使输入信号

温馨提示

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

评论

0/150

提交评论