




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-i-摘要最适宜居住的室内温度范围大约在1827之间,为了保证人们的生活健康,本文设计了一种基于单片机的室内温度报警装置,以单片机STC89C52和单总线数字温度传感器DS18B20为核心器件。硬件主要由微控制器、温度传感器、液晶显示屏、语音芯片四部分组成,软件采用模块化编程方法,用C语言对程序进行编写。最终通过智能传感器监测与单片机控制相结合,实现温度检测。关键词:单片机,温度传感器,液晶显示,报警-ii-AbstractThemosthabitableindoortemperaturerangesbetween18to27,inordertoguaranteepeopleshealthylife,thisthesisdesignedakindofindoortemperaturealarmdevicebasedonMCU,whichusessinglechipmicrocomputerSTC89C52anddigitaltemperaturesensorDS18B20asthecorecomponents.Thehardwareconsistsofthemicrocontroller,temperaturesensor,liquidcrystaldisplayandthevoicechip.Thesoftwareusesmodularprogrammingmethod,andusestheClanguagetowriteprograms.Finallybyintelligentsensordetectioncombinedwithsinglechipmicrocomputercontrol,torealizethetemperaturedetection.Keywords:SingleChipMicrocomputer;TemperatureSensor;LiquidCrystalDisplay;Alarm-iii-目录摘要.1Abstract.2前言.3第一章绪论.41.1研究背景.41.2国内外研究现状.41.3课题途径及创新点.5第二章系统总体设计方案.62.1系统基本要求.62.2硬件系统设计方案.62.3软件系统设计方案.7第三章系统硬件设计.93.1单片机最小系统.93.2报警按键设置电路.113.3温度传感器.113.4液晶显示.153.5报警系统.16第四章系统软件设计.204.1程序的总体设计.204.2主程序设计.204.3温度传感器输出显示程序设计.204.4液晶显示驱动程序设计.214.5报警系统程序设计.22第五章系统调试与分析.235.1软件仿真.235.2硬件调试.245.3调试故障及原因分析.255.4环境模拟及系统调试.25-iv-5.5测试结果及其分析.26第六章总结与展望.296.1总结.296.2进一步开发的展望.29参考文献致谢附录0前言时代在发展,科技在进步,人们对生活水平的质量有了更高的追求,而生活环境也越来越得到更多人的重视。温度作为生活环境的一个重要物理量,它时刻影响着人们的生活质量。在快速发展的现代化生活中,温度测量和控制已经渗透到了生活的各个方面,可以说没有什么是离得开温度的,因此,温度的测量对人们来说意义非凡。而随着科技的发展,人们也开始追求智能化,所以温度的测量就需要与单片机相结合1。单片机不仅体积小、功能强、功耗低、性价比高,而且还便于推广应用2。使用单片机作为微控制器,与温度传感器监测相结合3,达到对温度检测的目的,不仅具有控制简便、灵活性强的优点,还可以使被控温度的技术指标在很大程度上得到提高。为了能够精确采集温度数据,本文设计了一种以单片机为核心的温度测量系统。使用单总线数字式温度传感器DS18B20采集温度信息4,通过C语言开发软件程序,实现温度采集、测量、显示、报警的功能。整个系统具有电路简单、抗干扰能力强、功耗低、可靠度高等优点。全文共分为五章。第一章为绪论,主要内容包括研究背景、国内外研究现状和课题途径及创新点;第二章为系统总体设计方案,主要内容包括系统基本要求、硬件系统设计方案和软件系统设计方案;第三章为系统硬件设计,主要内容包括单片机最小系统的设计、报警按键设置电路的设计、温度传感器的设计、液晶显示的设计和报警系统的设计;第四章为系统软件设计,主要内容包括程序的总体设计、主程序设计、温度传感器输出显示程序设计、液晶显示驱动程序设计和报警系统程序设计;第五章为系统调试与分析,主要内容包括软件仿真、硬件调试、调试故障及原因分析、环境模拟及系统调试和测试结果及其分析。1第一章绪论1.1研究背景生活环境的好坏直接关系到人们的生活水平质量,而在这个快速发展、人们也越来越注重养生的时代,温度自然而然的成为了人们关注的焦点。温度的高低与人们的健康密切相关,温度的舒适程度也决定了人们的健康程度。室外温度我们无法控制,但是室内温度我们可以使用设备检测并控制。一般来说,室内温度保持在1827最为舒适,而要使温度一直保持在这个温度范围之内,就需要使用到一些监测温度的仪器和设备。近来年,科技快速发展,温度检测仪器行业的发展也越来越快,并且也越来越智能化5。在未来,智能化必将代替传统的人工操作,到那时,温度的监测与控制也将不在是人们所担心的问题。智能温度传感器与微控制器的结合是智能化发展的必然趋势6,有了这些智能化设备之后,人们的生活水平也将越来越好。1.2国内外研究现状温度向来是各个部门最为普遍的测量项目7,它在各个方面的影响也是极其重要的。各个国家在温度测量方面都有一定的研究,并且都取得了突破性的进展8。前苏联的压电石英频率温度计,当温度范围在-40230之间时,温度、频率线性特性都特别好;美国标准局研制的25欧标准铂电阻温度计,电桥分辨能力可达0.00002;除此之外,日本的石英温度频率转换器,最大分辨率为0.0001,测温范围在-80200之间;而我国在温度方面也有一定的研究,我国研发的石英温度传感器,允许误差范围只有0.05,而它的分辨率可达0.0001,;还有一个就是我国航天工业总公司702所研制的5901(STP-1000)型粘贴式测温片,其静态测温精度为0.5%,而它的快速响应时间却小于0.013s。当智能化一步一步走进我们的世界时,人们对温度测量仪的要求也就越来越高9,而智能温度测量仪的发展就显得尤为重要。时代的发展,科技的进步,都加快了温度测量仪发展的进程,在当前的市场上,我们可以找到各种温度测量仪,并且都能满足一般需求。20世纪80年代,出现了模拟集成温度传感器。20世纪90年代,出现了智能传感器,它是微电子技术、计算机技术、自动测试技术共同发展的结果。进入21世纪以来,温度传感器的发展方向也变得多样化,正从模拟化、集成化向数字化、智能化、网络化的方向发展。尽管国外在智能传感器上的研究较国内领先一步,但是随着我国不断的发展,在智能传感器上的研究也达到了先进水平。在未来的发展中,智能处理与控制和工、农业及生活的相结合是必然的,人工操作也必将被智能操作取代。21.3课题途径及创新点本课题是基于单片机的温度测量系统设计,系统主要由单片机和智能温度传感器构成。硬件通过Proteus软件对硬件电路进行设计、仿真及测试,软件采用Keil4软件对程序进行编写。该系统结构简单、功耗较低,测温范围为-55+125,通过液晶显示,系统的测温精度可以达到0.5,并且能稳定的与单片机通讯。在设计过程中,采用模块化程序设计法,分成若干部分,各部分相对独立,完成一定的功能,从而满足对温度检测的实际需求。课题途径主要分为:资料收集及当前研究现状分析、硬件设计、软件设计、编程仿真、调试与分析等几个阶段。本次设计主要任务是通过智能传感器监测与单片机控制相结合,实现温度检测。对于这次设计主要的创新点就是以监测室内温度为主题,加入了语音提示模块,这样就能在第一时间知道温度是过高还是过低,以便立即采取措施来改变当前温度,使室内温度始终处于一个稳定的、安全的、健康的范围之内。3第二章系统总体设计方案2.1系统基本要求本次设计的目的是完成基于单片机的温度测量系统的设计10,主要是以单片机为核心、采用智能温度传感器对温度进行检测,实现温度的实时测量11和液晶显示12,并通过报警系统完成对温度的监测。该系统的设计方案主要分为硬件系统设计和软件系统设计两部分。2.2硬件系统设计方案1.硬件电路组成温度测量系统的硬件电路由单片机、复位电路、振荡电路、报警按键设置电路、温度采集、液晶显示、报警系统组成,温度测量系统硬件结构框图如图2-1所示。单片机复位电路温度采集报警按键设置电路液晶显示报警系统振荡电路图2-1温度测量系统硬件结构框图2.硬件选型(1)单片机的选型:方案一:微控制器采用STC89C52单片机,它是宏晶科技研制的新一代单片机,指令代码完全兼容于51单片机,属于增强型8051单片机,速度快、使用方便、对工作环境要求低、性能优越。可以用串口直接下载程序,且可反复擦写编程,而且价格也较便宜。方案二:微控制器采用MSP430单片机,MSP430是美国德州仪器(TI)研制的一种16位混合信号处理器,不仅指令集精简,而且功耗非常低。它的处理速度快、运算能力强并且有着丰富的片内资源。考虑到由于本次设计数据存储量不是很大、处理也不复杂,在这使用MSP430太过浪费且价格较贵,所以选用方案一,采用STC89C52单片机。4(2)温度传感器的选型:方案一:采用热敏电阻或AD590温度传感器,经过A/D转换为数字信号,在精度方面准确度较高,但是价格稍贵且电路有些复杂。方案二:采用温度传感器DS18B2013,该器件的主要特点有:单总线,双向通信;多点组网,多个温度传感器可挂在一根总线上实现多点测温14;测温范围广:-55+125;工作电压在+3+5.5V之间15。方案三:采用基于SMBUS的MAX6654型智能温度传感器,该器件可同时测量远程温度和本地温度(即芯片的环境温度)。MAX6654是一种大规模集成器件,由12504只晶体管组成,器件模块包括P-N结温度传感器、11位A/D转换、多路转换器、控制逻辑、地址译码、SMBUS串行总线接口;内部电路中有11个寄存器、2个数字比较器和漏极开路的输出级;有多种工作模式,可编程的温度上下限报警器功能。考虑到设计要求需要使用智能传感器,故排除方案一,又因为MAX6654在此设计中得不到充分利用且成本较高,故排除方案三,而DS18B20温度传感器,体积小、线路简单、使用方便且价格便宜,故采用方案二,选用DS18B20温度传感器。(3)液晶显示屏的选型方案一:采用12864液晶显示屏,它是12864的点阵,可以显示汉字和图形,能够与CPU直接接口。方案二:采用LCD1602液晶显示屏,能够显示162个字符,接口方便、体积小、质量轻且功耗低。两者比较,12864比LCD1602功能更全面,但是考虑到成本和本设计的需求,12864价格稍贵且本设计不需要显示汉字及图形,所以采用方案二,选择LCD1602。(4)语音芯片的选型方案一:采用ISD4004语音芯片,它可以录放音816分钟,音质非常好,片内信息可以保存100年,能够反复录音10万次左右。ISD4004作为“从”设备,有SPI接口的微控制器作为“主”设备。方案二:采用ISD1760语音芯片,它是高集成度、高性能的语音芯片,它的音质非常好,工作状态提示多样化。相较而言,ISD1760比ISD4004功能更强大,但在本设计中ISD4004基本可以满足设计需求,且ISD4004更加便宜,综合考虑,采用方案一,选择ISD4004语音芯片。2.3软件系统设计方案软件设计主要包括利用Proteus软件来对电路进行设计、仿真和测试16,在Keil4软件中利用C语言对程序进行编写17。采用模块化编程方法,使各部分的程序清晰明了,5最终实现温度采集、数据处理、LCD显示、报警功能。Proteus是一款EDA工具软件18,和其它仿真软件相比,具有较大的优势,他不仅可以用于单片机系统的设计和仿真,还可以用于仿真单片机外围设备,包括单片机没有参与的其它电路。使用该软件在调试和仿真的时候,就不需要担心某些语句执行时单片机存储器和寄存器内容的改变,而是直接看整个工程运行的过程和结果。原理图设计、编写程序、系统仿真在Proteus上都可以实现,它是一款非常实用的软件仿真工具。Keil4是51单片机的软件开发平台19,可以使用汇编语言、C语言等高级语言。既可以进行软件仿真,也可以利用硬件仿真器,与单片机硬件相连,进行实时仿真,还可以和Proteus软件一起进行联合仿真。在本次设计中需要编程来实现的有以下几部分:(1)主程序;(2)温度传感器输出显示程序;(3)液晶显示驱动程序;(4)报警系统程序。其程序流程图如图2-2所示。开始单片机初始化DS18B20、LCD1602ISD4004初始化判定室温是否在适宜温度范围内红灯亮蜂鸣器报警播放语音灯灭蜂鸣器不报警无语音提醒绿灯亮蜂鸣器报警播放语音显示室温结束大于适宜温度上限低于适宜温度下限设置适宜温度上下限和录音正常图2-2程序流程图6第三章系统硬件设计3.1单片机最小系统1.本次设计单片机采用STC89C52,该芯片的主要特点有:(1)流水线为增强型/指令集结构8051CPU精简;(2)工作电压:2.05.5V;(3)工作频率:035MHz;(4)应用程序空间:212K字节;(5)RAM空间:512字节;(6)通用I/O口;(7)能够在系统可编程和在应用可编程;(8)电可擦除可编程只读存储器;(9)看门狗;(10)集成MAX810专用复位电路;(11)2个16位定时器/计数器;(12)2路外部中断;(13)异步串行接口;(14)同步SPI通信接口,主/从模式;(15)工作温度:075或-40+85;(16)封装:PDIP-20,TSSOP-20,PDIP-28,SOP-28,PLCC-32等。STC89C52芯片的引脚及其功能:STC89C52引脚图如图3-1所示。RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U1STC89C52图3-1STC89C52引脚图7VCC(40):电源电压;GND(20):地;RST(9):复位信号;XTAL1(19):晶振反相输入端;XTAL2(18):晶振反相输出端;ALE(30):地址锁存允许输出;EA/VPP(31):输入信号。访问外部程序存储器的控制信号。外部的编程器要对内部程序存储器进行编程时,输入编程电压VPP;P0口(32-39):双向信号的多功能端口,它是一个8位漏极开路的准双向I/O端口。当CPU访问片外存储器时,P0口分时复用,提供低8位地址和8位双向数据总线。P0口作为输出口,需要一个上拉电阻;P1口(1-8):8位准双向I/O端口且内部具有上拉电阻,它的每位能够驱动4个LS型的TTL负载;P2口(21-28):双向信号的多功能端口,内部具有上拉电阻的8位准双向I/O端口。它的每位能够驱动4个LS型TTL负载。当扩展外部总线时,可以用作高8位地址总线;P3口(10-17):双向信号的多功能端口,内部具有上拉电阻的8位准双向I/O端口。它的每位能够驱动4个LS型TTL负载,并且P3口引脚还有第二功能。2.复位电路STC89C52的复位引脚RST为单片机提供复位初始化操作。单片机内部复位需要两个机器周期的高电平,之后每个周期复位一次,直到RST端变为低电平。在本次设计中,复位电路使用RC上电复位。3.振荡电路石英晶体的频率范围一般在1.2MHz12MHz之间,本次设计使用12MHz的外部晶振。外接电容虽然不需要严格要求,但是为了能够提高温度的稳定性,应该使用温度稳定性能较好的高频电容。通常典型值选择约为30pF,本次设计采用22pF的高频电容。值得注意的是:在设计电路过程中,石英晶体和电容应该最大可能地焊接在靠近单片机芯片的地方,以此来减少寄生电容,让振荡器稳定及可靠地工作。单片机最小系统的电路设计图如图3-2所示。8RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U1STC89C5212Y112MC122PC222PC410UFR910KVCCSW5图3-2单片机最小系统的电路设计图3.2报警按键设置电路本次设计报警按键设置电路共有四个按键,一个是切换按键,用来切换设置报警温度界面和当前温度界面,另外两个是上下限和录放音设置按键,分别用于设置报警温度上下限的加和减以及修改报警语音提醒的放音和录音,还有一个也是切换按键,用来切换设置修改语音提醒界面和当前温度界面。报警按键设置电路的设计图如图3-3所示,它们的一端接地,另一端分别与单片机的P3.3、P3.4、P3.5和P3.6相连。RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U1STC89C52SW2SW3SW1SW4图3-3报警按键设置电路的设计图3.3温度传感器本次设计温度传感器采用美国DALLAS公司研制的单总线数字温度传感器DS18B20。该传感器具有体积小,线路简单,使用方便,耐磨耐碰的特点,很大程度上提高了系统的抗干扰性能,并且适用于环境恶劣的现场温度测量20。比如:粮仓,储罐,冷冻库,电讯机房,电力机房,冰箱、冷柜、汽车空调以及中低温干燥箱等。91.DS18B20主要特点:(1)1-wire式单总线具有4.7K10K的上拉电阻,当总线闲置时,它的状态为高电平;(2)四种分辨率:9位、10位、11位、12位,对应的可分辨温度增量为0.5、0.25、0.125、0.0625;(3)测温范围为-55+125,在-10+85范围之内,精度0.5;(4)每个器件的序列号都不相同;(5)内部有报警上限触发寄存器、报警下限触发寄存器,能够实现报警功能;(6)支持多点测温功能,多个DS18B20可以并挂在唯一的三线上21;(7)供电方式十分灵活,既可以外接电源,也可以使用寄生电源。2.DS18B20的引脚及其功能:DS18B20引脚图如图3-4所示。图3-4DS18B20引脚图GND(1):地;DS(2):数字信号I/O端;VCC(3):外接供电的电源输入端(使用寄生电源时,接地)。3.DS18B20内部结构:DS18B20主要由寄生电源模块、温度传感器、64位ROM和单线接口模块、便笺存储器模块、存储器与控制器模块5个部分组成。其内部结构如图3-5所示。图3-5DS18B20的内部结构图64位ROM代码是芯片的标志号,其结构由8位分类编号、48位序列号和8位循环冗余校验组成。芯片的唯一标志代码由48位序列号决定。便笺存储器总共6字节,其中包括1字节的配置存储器,1字节的CRC生成寄存器,101字节的报警上限触发寄存器,1字节的报警下限触发存储器和2字节的温度存储器。温度寄存器中存放温度传感器的输出;温度的上、下限值存放在报警触发寄存器中;8位CRC生成寄存器只能用于主机访问时的CRC校验。配置寄存器用于设置DS18B20的温度测量分辨率,它的数据格式见表3-1。表3-1配置寄存器的数据格式D7D6D5D4D3D2D1D00R1R011111从表中可以看出,实际上配置寄存器只用了D6和D5两位,也正是这两位的取值决定了温度测量的分辨率,其对应关系见表3-2。表3-2温度分辨率的配置表R1R0分辨率/位最大转换时间/ms00993.750110187.510113751112750在这些寄存器中,报警上、下限触发寄存器以及配置寄存器都是EEPROM型非易失存储器,在器件掉电后他们仍然会保留之前的设定值。4.DS18B20的工作原理:直接数字化的温度传感器是DS18B20的核心部件,能够实现对温度的测量。主机发出转换命令,DS18B20接收到后开始进行温度转换,转换完成之后将结果放到温度寄存器中,最高五位是符号位,0为正,1为负。单片机通过单线接口可读到该数据,低位在前、高位在后。器件上电后的默认值是12位的分辨率,若测得的温度为正值,只要将测到的数值乘以0.0625即可得到实际温度;若测得的温度为负值,则取反加一,再乘以0.0625。数字输出值与温度之间的对应关系见表3-3。11表3-3数字温度输出与对应温度之间的关系温度/数字输出(二进制)数字输出(十六进制)+125000001111101000007D0+25.062500000001100100010191+10.125000000001010001000A2+0.500000000000010000008000000000000000000000-0.51111111111111000FFF8-10.1251111111101011110FF5E-25.06251111111001101111FE6F-551111110010010000FC90温度转换完成之后,通过与报警触发寄存器比较,若不在用户设定的范围内,则将该器件内的告警标志置位。5.DS18B20的操作命令:DS18B20的操作命令有两部分:一部分是单总线通信的ROM命令,另一部分是单总线通信的存储器命令。主要操作命令如表3-4所示。表3-4DS18B20主要操作命令ROM命令代码存储器命令代码读ROM33H写便笺存储器4EH匹配ROM55H读便笺存储器BEH跳过ROMCCH复制便笺存储器48H搜索ROMF0H温度转换44H告警ROMECH回读EEPROMB8H读电源B4H6.DS18B20的工作时序:单片机对DS18B20操作:温度转换、读取温度、存取报警上下限等。根据DS18B20的通讯协议,在访问DS18B20时,单片机每次都应遵循以下顺序:(1)DS18B20初始化;(2)发送ROM操作命令;12(3)对RAM发送操作命令;(4)对DS18B20进行相应操作。温度传感器DS18B20的电路设计图如图3-6所示,DS18B20的DS与单片机的P1.6相连,DS18B20的电源通过上拉电阻与系统电源连接,DS18B20的GND与地相接。RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U1STC89C52GND1DS2VCC3DS1DS18B20R210KVCC图3-6DS18B20的电路设计图3.4液晶显示本次设计液晶显示屏采用点阵型的LCD1602,可以显示字母、数字、符号等。1.LCD1602的主要特点:(1)显示质量高:持续发光,画质高且不闪烁;(2)数字式接口:简单可靠,操作方便;(3)体积小、重量轻;(4)功耗低;2.LCD1602的引脚及其功能:LCD1602的引脚图如图3-7所示。图3-7LCD1602引脚图GND(1):地;VCC(2):电源正极;VL(3):对比度调整端;RS(4):寄存器选择,指令寄存器为低电平、数据寄存器为高电平;RW(5):读写信号线,低电平写、高电平读;13EN(6):使能端,低电平时执行指令操作,高电平时读取信息;D0D7(7-14):8位双向数据端;BL+(15):背光源正极;BL-(16):背光源负极。3.1602LCD主要技术参数:(1)工作电压:4.55.5V;(2)显示容量:162个字符;(3)工作电流:5.0V电压下2.0mA;(4)字符尺寸:2.954.35mm;(5)最佳工作电压:5.0V。LCD1602的电路设计图如图3-8所示,LCD1602的GND接地和可调电阻的一端,VCC接电源,VL接可调电阻另一端,RS与单片机的P2.6相连,RW接地,EN与P2.7相连,D0D7分别接P0.0P0.7,背光源正极接电源,背光源负极接地。因为P0口需要输出高电平,所以需使用外部上拉电阻。RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U1STC89C52123456789R110K三三三三VCCVCCGND1VCC2VL3RS4RW5EN6D07D18D29D310D411D512D613D714BLA+15BLK-16U21602三三VCCRSRSENENVCC132R410K三三三三图3-8LCD1602的电路设计图3.5报警系统本次设计报警系统主要由发光二极管、蜂鸣器以及ISD4004语音芯片构成的语音提醒模块组成。1.发光二极管、蜂鸣器红、黄、绿是发光二极管最常见的三种颜色。因为正向伏安特性曲线很陡,所以通14过它的电流需要串联限流电阻来控制。反向击穿电压要大于5V。蜂鸣器的工作电流一般比较大,单片机无法直接驱动,需要使用放大电路,因此加一个三极管放大电路就可以了。二极管、蜂鸣器的电路设计图如图3-9所示,二极管的阳极与限流电阻串联后接在电源上,红灯的阴极与单片机的P1.1相连,绿灯的阴极与单片机的P1.2相连;蜂鸣器的一端接电源,另一端通过三极管放大电路与单片机的P1.0相连。RST9P3010P3111P3212P3313P3414P3515P3616P3717X118X219GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE30EA31P0732P0633P0534P0435P0336P0237P0138P0039VCC40P101P112P123P134P145P156P167P178U1STC89C52LS1三三三R71KQ1PNP三三三VCCR51KR31KD1三LEDD2三LED图3-9二极管、蜂鸣器的电路设计图2.ISD4004语音芯片ISD4004是一种语音芯片22,和其它ISD系列语音芯片产品不同,ISD4004作为“从”设备,有SPI接口的微控制器作为“主”设备23。ISD4004在3V电压下工作,录放时间大约在816分钟,有非常好的音质,所以不管是在移动电话,还是在其它电子产品中都得到广泛应用24。该芯片的所有操作必须由微控制器控制,可通过串行通信接口送入操作命令,ISD4004采用的是多电平模拟量存储25,片内闪烁存贮器中存储每个采样值,这样音调、效果声和语音都能被无失真的、自然地播放出来,避免了量化噪声和“金属声”。该芯片的采样频率可选择4.0kHz,5.3kHz,6.4kHz和8.0kHz,录放时间的长短与频率的高低成反比26,频率越低,时间越长,但是音质会有所降低。片内信息可以在闪烁存贮器中保存100年,并且还可反复录音l0万次左右。ISD4004芯片的引脚及其功能:ISD4004的引脚图如图3-10所示。15CS1MOSI2MISO3VSSD4NC5NC6NC7NC8NC9NC10VSSA11VSSA12OUT13CAP14NC15IN-16IN+17VCCA18NC19NC20NC21NC22VSSA23RAC24INT25XCLK263VCC27SCLK28U3ISD4004图3-10ISD4004引脚图VCCA(18)、3VCC(27):电源,芯片内部的数字电路和模拟电路都必须使用不同的电源总线,来保证噪声最小,外封装时也要引到不同的引脚上27;VSSA(11、12、23)、VSSD(4):地线,不管是芯片内部的数字电路还是模拟电路,地线都必须使用不同的;IN+(17):录音信号同相输入端;IN-(16):录音信号反相输入端;OUT(13):音频输出,可以驱动5K欧的负载,主要用于音频的输出;CS(1):片选,向ISD发送指令时,两条指令之间是高电平;MOSI(2):串行输入;MISO(3):串行输出;SCLK(28):串行时钟信号;INT(25):中断,在任何操作中,只要ISD检测到OVF或EOM时,该信号变为低电平并保持。在下一个SPI周期开始时中断状态开始清除;RAC(24):行地址时钟,该端可用于存储管理技术;XCLK(26):外部时钟信号,闲置时接地;CAP(14):自动静噪。ISD4004的工作原理:ISD4004是SPI串行接口工作方式。SPI协议是同步串行数据传输,微控制器在SCLK的下降沿到来时SPI的移位寄存器动作,时钟上升沿MOSI数据锁存,下降沿MISO送入数据。该协议的具体内容是:(1)CS下降沿到来时进行数据串行传输;(2)时钟上升沿移入数据,下降沿移出;(3)数据传输时CS保持低电平;(4)CS变为低电平,先输入指令及地址,再进行ISD录放;(5)指令24位,8位控制码和16位地址码;16(6)所有操作遇到EOM或OVF时,就会请求中断,一直到下个SPI周期开始;(7)运行位为高电平时进行所有操作,低电平时结束;当采样频率为8kHz时,器件延时(TPUD)大约为25毫秒后进行操作。所以在用户发完上电命令后,需要等待TPUD到来后,才能进行指令操作。若从00H处放音,时序应如下:先发POWERUP指令,接着等待TPUD,然后发00H的SETPLAY指令,最后发PLAY指令。从00H地址开始,器件放音,在EOM到来时,产生中断,放音结束。若从00H处录音,时序如下:先发POWERUP指令,等待TPUD,再发POWERUP指令,等待2倍TPUD,然后发00H的SETREC指令,最后发REC指令。从00H地址开始,器件录音,OVF出现时,录音结束。语音芯片ISD4004的电路设计图如图3-11所示,ISD4004的INT与单片机P2.1口相连,SCLK与单片机的P2.2口相连,CS端与单片机的P2.3口相连,MOSI与单片机的P2.4口相连,MISO与单片机的P2.5口相连。ISD4004的VCCA、3VCC接电源,VSSA、VSSD接地。ISD4004的IN+、IN-接在话筒上,OUT接在喇叭上,CAP与电容相连后接地。CS1MOSI2MISO3VSSD4NC5NC6NC7NC8NC9NC10VSSA11VSSA12OUT13CAP14NC15IN-16IN+17VCCA18NC19NC20NC21NC22VSSA23RAC24INT25XCLK263VCC27SCLK28U3ISD4004GND1IN2OUT3U57530VCCC8104pC10104p12三三C7104pC6104pR810KR1210KR131KC1210UFR1010K132R1110K三三三三C3104pC51ufGAIN1IN-2IN+3GND4OUT5VS6BYP7GAIN8U4LM386C1310UFR141KC1410UFC1610UFC15104pR61012三三VCCP21P22P23P24P25图3-11ISD4004电路设计图17第四章系统软件设计4.1程序的总体设计本次设计的具体流程如下:(1)接通电源,启动系统,系统进行初始化;(2)温度传感器开始测温;(3)读出温度之后判断温度是否在设定的范围内;(4)若在范围内则正常工作,显示当前温度;若超出上限,则红灯亮,蜂鸣器响,语音提醒室温超过适宜温度上限,并显示当前温度;若低于下限,则绿灯亮,蜂鸣器响,语音提醒室温低于适宜温度下限,并显示当前温度。4.2主程序设计主程序主要有以下操作:(1)定时器的初始化,选择T0为定时功能,并且工作在方式1,允许开总中断、T0中断,启动T0定时工作;(2)对液晶显示屏进行初始化;(3)调用各部分的子程序;(4)对ISD4004语音芯片进行操作。4.3温度传感器输出显示程序设计DS18B20进行读写操作编程时,需要保证读写时序,不然无法读取测量结果。其软件设计主要有四部分组成:(1)DS18B20初始化软件的设计;(2)DS18B20读写操作软件的设计;(3)读取温度软件的设计;(4)读取64位序列码软件的设计。温度传感器DS18B20的测量操作流程如图4-1所示。18开始初始化DS18B20转换是否结束跳过ROM匹配开始温度转换初始化DS18B20跳过ROM匹配读温度值结束是否图4-1DS18B20温度测量流程图4.4液晶显示驱动程序设计LCD1602液晶显示的主要操作有:(1)液晶屏初始化;(2)液晶屏写地址;(3)液晶屏写数据;(4)环境温度显示数据;(5)设定温度显示数据;(6)设定开机界面显示的logo设计;(7)录音显示函数;(8)按键扫描函数。LCD1602液晶显示的显示流程图如图4-2所示。19开始显示屏初始化延时发送指令和数据显示屏显示结束图4-2LCD1602显示流程图4.5报警系统程序设计报警系统主要包括三个部分:发光二极管、蜂鸣器和语音提醒。具体操作有:(1)发光二极管分为红灯和绿灯,温度超过上限红灯亮,温度低于下限绿灯亮,它们都是低电平有效;(2)蜂鸣器不管是温度过高还是过低都会响,低电平有效;(3)当温度过高或过低时,语音芯片都需要上电,寻找录音的地址,然后发送放音指令;(4)当温度处在正常室温时,发送停止指令,语音芯片掉电,发光二极管和蜂鸣器都为高电平。20第五章系统调试与分析5.1软件仿真首先要做的就是使用Proteus软件画出硬件电路图,然后通过Keil4软件编写程序,程序编写完成之后,将其生成可执行代码文件,然后在Proteus软件中调用所编写的程序,这样就可以实现整个设计电路的仿真了。若在LCD显示屏上能显示设定的数值并实现功能,则证明程序正确;若不能,则证明程序有误,需要进行修改。待程序修改完成,没有错误之后,将其烧录到芯片中去,这样就完成了软件调试工作。软件仿真温度在适宜温度范围之内的仿真图如图5-1所示,从图中可以看出显示屏上显示当前温度和温度上下限,而二极管和蜂鸣器都正常工作。图5-1温度在适宜温度范围之内的仿真图软件仿真温度超过适宜温度上限的仿真图如图5-2所示,从图中可以看出,因为高于温度上限,显示屏上显示当前温度和超过温度上限的提示,红灯亮且蜂鸣器响。21图5-2温度超过适宜温度上限的仿真图软件仿真温度低于适宜温度下限的仿真图如图5-3所示,从图中可以看出,因为低于温度下限,显示屏上显示当前温度和低于温度下限的提示,绿灯亮且蜂鸣器响。图5-3温度低于适宜温度下限的仿真图5.2硬件调试本次设计硬件电路主要由单片机最小系统、报警按键设置电路、温度传感器、液晶显示、报警系统组成。在焊接完电路板之后,先对每个焊点进行检查,主要观察有没有漏焊和虚焊,接着再用万用表认真测试线路,查看线路是否连接正确,以此来排除短路问题。检查完成之后,接通电源,观察LCD显示的状态,若亮则证明LCD显示正常,若不亮则进行下一步的排查。待一切都检查完毕且正常之后,硬件调试工作就完成了。225.3调试故障及原因分析1.硬件调试部分(1)接通电源,按下开关,没有任何反应,拔出电源,仔细观察电路板,发现电源与显示屏之间出现漏焊,重新焊接;(2)接通电源,未按下开关键的时候显示屏亮了,而按下开关键的时候显示屏灭了,根据现象可知,开关键的接线接反了,使用万用表重新找到开关的闭合状态,然后重新焊接,焊接完成之后,再次接通电源之后,开关就可以控制电源了;(3)单片机烧录好程序之后,接通电源,按下开关,显示屏正常显示,而无法录放音,拔出电源,检查语音芯片电路的焊接情况,发现虚焊,还有一根线接错了,重新焊接之后,再次接通电源,可以进行录放音。2.软件调试部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省饲料项目创业计划书
- 乌镇招聘面试题及答案
- 伊利数字化转型的全域探索
- 全球销售分销市场扩展合同
- 法律英语合同条文阅读理解题
- 人文地理:《全球化背景下中国文化发展》课程
- 餐饮股东合作协议(含品牌推广与维护)
- 集装箱车库买卖合同范本及运输服务协议
- 高端车系销售与售后服务一体化协议
- 大数据项目公司股权投资及数据分析合作协议
- “创客中国”中小企业创新创业大赛大赛评分标准
- 2023年营口中考语文(四篇)
- 高考地理复习课件:摩尔曼斯克(共12张PPT)
- GB 1903.27-2022食品安全国家标准食品营养强化剂低聚半乳糖
- 关节型机器人腕部结构设计(全套,CAD有图)
- 带传动教学课件
- 部编语文八年级语文下册专题复习课件
- 2021年英语专业四级TEM4考试真题和答案
- 苏教版四年级下册三位数乘两位数整理和复习课件
- 中国华电集团公司火电厂烟气脱硫工程(石灰石-石膏湿法)设计导则(A版)
- 《小学英语小组合作学习的研究》课题结题报告
评论
0/150
提交评论