资源描述
多路温度数据采集系统的 设计与实现 学院:信息科学工程学院 系级教学单位:电子与通信工程系 学号061304021020学生姓名付强专 业班 级06电信1班题目题目名称多路温度数据采集系统的设计与实现题目性质1.理工类:工程设计 ( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )2.管理类( );3.外语类( );4.艺术类( )题目类型1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容利用SPCE061A单片机、DS18B20实现多路温度采集,要求具有下述功能: 1、4路温度的实时采集: 2、温度通过液晶屏显示,分手动和自动两种方式:自动状态循环显示各通道温度,没隔2s切换一个通道:手动方式下只显示被选择的通道温度;3、可以为每一个通道设置独立的报警温度。 4、可以将采集的温度值进行备份,并通过按键查询。基本要求1.独立完成系统软硬件设计,并搭电路验证。2.独立完成控制软件的编写、调试。3.完成系统调试。参考资料凌阳16位单片机原理及应用 薛钧义等编 北京航空航天大学出版社2003十六位单片机微处理器凌阳SPCEA061AS原理及应用。 张培仁等编 清华大学出版社 2005周 次14 周 58周 912周 1316周 1718周应完成的内容收集资料熟悉课题内容提出设计思路电路设计程序设计程序设计搭电路调试改进同前论文书写课题总结答辩指导教师:李朝辉职称:讲师 2010年3月1日系级教学单位审批: 年 月 日摘要SPCE061A是一款具有语音处理功能的16位单片机。其内核为凌阳科技自主研发的架构内核,最高可运行在49MHz时钟频率下。内置的专用MIC接口和双路10bit (Digital to Analog Converter) DAC使之非常适合于开发语音电子产品,可方便灵活地实现高品质语音录制、语音播放等功能。丰富的外设资源和良好的监控机制使该芯片功能丰富、性能稳定,可作为通用微控制器,广泛应用于工业控制、家居安防、智能家电等众多领域。而数据采集则是对一个或多个信号获取对象信息的过程。数据采集器是一种具有实验室或现场进行实时数据采集、自动存储记录、信号预处理、即时显示、即时状态分析、自动传输等功能的自动化设备。本文主要运用SPCE061A单片机和DS18B20数字式温度传感器共同设计了多路温度数据采集系统。温度数据的采集,利用了单片机上两个I/O口连接DS18B20的数据引脚,在显示上,利用了12个I/O口实现液晶屏的动态刷新显示。在此基础上还介绍了几个重要模组的工作原理和电路图,以及系统软件的程序设计。关键词 数据采集系统;温度;SPCE061A;DS18B20AbstractSPCE061A is a voice-processing functions of the 16-bit microcontroller. Sunplus its core is the structure of self-developed core, running at 49MHz maximum clock frequency. Dedicated MIC interface and built-in dual 10bit (Digital to Analog Converter) DAC making it ideal for voice in the development of electronic products can be convenient and flexible way to achieve high quality voice recording, voice playback and other functions.Abundant resources and good peripheral control mechanism so that the chip feature rich, stable performance, can be used as general-purpose microcontrollers are widely used in industrial control, home security, smart home appliances and many other fields. The data collection is one or more signal for the process object information. Data collector is a kind of laboratory or field data acquisition in real time, automatically store records, signal preprocessing, real-time display, real-time state analysis, automatic transmission features automation equipment.In this paper, the use of SPCE061A and DS18B20 digital temperature sensor to design a multi-channel temperature data acquisition system. Temperature data collection, using a single chip for two I / O data port connection DS18B20 pin, in the display, using 12 I / O ports is dynamic refresh the LCD display. On the basis of several important modules also presented the working principle and circuit and system software programming.Keywords Data Acquisition System ;Temperature;SPCE061A;DS18B20目 录摘要Abstract第1章 绪论11.1 课题背景11.2 数据采集系统的历史与发展11.3 国内外数据采集器现况31.3.1 国外数据采集器的现况3 1.3.2 国内数据采集器的现况3 1.3.3 数据采集器的应用31.4 本论文主要研究内容5第2章 方案概述6 2.1 设计的要求62.2 方案简介62.2.1 方案选择6 2.2.2 方案原理72.3 开发环境82.4 本章小结9第3章 系统的硬件设计103.1 SPCE061A凌阳单片机概述103.1.1 性能特点和应用领域10 3.1.2 SPCE061A的结构113.2 温度传感器设计143.2.1 DS18B20温度传感器简介14 3.2.2 DS18B20内部结构及工作时序15 3.2.3 DS18B20的工作原理183.3 SPLC501液晶显示193.4 SPR4096存储器模组203.5 硬件电路21 3.5.1 SPCE061A最小系统213.5.2 61板按键电路233.5.3 DS18B20电路原理233.5.4 液晶显示模组电路253.5.5 存储器模组电路26 3.6 本章小结27第4章 系统软件设计284.1 系统主程序284.2 按键扫描程序294.3 语音播报程序304.4 DS18B20采温程序324.5 本章小结33结论34参考文献35致谢36附录137附录241附录345附录446第1章 绪论1.1 课题背景随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义本次设计的目的在于学习基于SPCE061A凌阳单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到液晶进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值。1.2 数据采集系统的历史与发展数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文件,由非熟练人员进行操作,并且测试任务是由测试设备高速自动控制完成的。由于该种数据采集测试系统具有高速性和一定的灵活性,可以满足众多传统方法不能完成的数据采集和测试任务,因而得到了初步的认可。大约在60年代后期,国外就有成套的数据采集设备产品进入市场,此阶段的数据采集设备和系统多属于专用的系统。20世纪70年代中后期,随着微型机的发展,诞生了采集器、仪表同计算机溶为一体的数据采集系统。由于这种数据采集系统的性能优良,超过了传统的自动检测仪表和专用数据采集系统,因此获得了惊人的发展。从70年代起,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,另一类是工业现场数据采集系统。就使用的总线而言,实验室数据采集系统多采用并行总线,工业现场数据采集系统多采用串行数据总线。20世纪80年代随着计算机的普及应用,数据采集系统得到了极大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪器仪表和采集器、通用接口总线和计算机等构成。例如:国际标准ICE625接口总线系统就一个典型的代表。这类系统主要用于实验室,在工业生产现场也有一定的应用。第二类以数据采集卡、标准总线和计算机构成,例如:STD (Standard for an 8-bit microcomputer bus system)总线系统是这一类的典型代表。这种接口系统采用积木式结构,把相应的接口卡装在专用的机箱内,然后由一台计算机控制。第二类系统在工业现场应用较多。这两种系统中,如果采集测试任务改变,只需将新的仪用电缆接入系统,或将新卡再添加到专用的机箱即可完成硬件平台重建,显然,这种系统比专用系统灵活得多。20世纪80年代后期,数据采集系统发生了极大的变化,工业计算机、单片机和大规模集成电路的组合,用软件管理,使系统的成本降低,体积减小,功能成倍增加,数据处理能力大大加强。20世纪90年代至今,在国际上技术先进的国家,数据采集技术已经在军事、航空电子设备及宇航技术、工业等领域被广泛应用。由于集成电路制造技术的不断提高,出现了高性能、高可靠性的单片数据采集系统DAS(Digital Collect System)。目前有的DAS产品精度已达16位,采集速度每秒达到几十万次以上。数据采集技术已经成为一种专门的技术,在工业领域得到了广泛的应用。该阶段数据采集系统采用更先进的模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速地组成一个新的系统。该阶段并行总线数据采集系统向高速、模块化和即插即用方向发展,典型系统有VXI总线系统,PCI、PXI总线系统等,数据位已达到32位总线宽度,采样频率可以达100MSps。由于采用了高密度,屏蔽型,针孔式的连接器和卡式模块,可以充分保证其稳定性及可靠性,但其昂贵的价格是阻碍它在自动化领域普及的一个重要因素。但是,并行总线系统在军事等领域取得了成功的应用。串行总线数据采集系统向分布式系统结构和智能化方向发展,可靠性不断提高。数据采集系统物理层通信,由于采用RS485、双绞线、电力载波、无线和光纤,所以其技术得到了不断发展和完善。其在工业现场数据采集和控制等众多领域得到了广泛的应用。,由于目前局域网技术的发展,一个工厂管理层局域网,车间层的局域网和底层的设备网已经可以有效地连接在一起,可以有效地把多台数据采集设备联在一起,以实现生产环节的在线实时数据采集与监控。1.3 国内外数据器现况 数据采集器是一种具有现场记录、分析功能的设备或现场记录、离线分析机器设备等状态数据功能的便携式分析仪器。它把安装在机器设备上的震动传感器和过程传感器等所测得的信号作为输入,配以各种测量分析技术以及多样化的显示格式所组成的一个检测系统,主要应用于对机器设备进行定期巡回状态监测和故障诊断等多种领域。它能和计算机一起组成独立的监测诊断系统,是机器设备的计算机辅助诊断手段之一。1.3.1 国外数据采集器的现况随着国外微电子技术、计数机技术、测控技术和数字通信技术的发展,目前国外数据采集技术已经较初期有了很大的发展。从近来国外公司展示的新产品可以看出,主要的发展可以概括为功能多样,体积减小和使用方便等三个方面。1.3.2 国内数据采集器的现况上世纪80年代末到90年代初,我国一些仪器厂已研制出了多种数据采集器,其中单通道的有SO201、SC247型,双通道的有EG3300、YE5938型,超小型的有911、902和921型。具有采集静态信号的有SMC-9012型,所配套的软件包基本上包括了设备维修管理和基本频谱分析两大部分,能够适应机器设备的一般状况监测和故障诊断,基本已经达到了国外数据采集器的初期水平。但是,国内数据采集器与目前国外数据采集器相比,在技术上仍然存在着一定的差距。主要表现在:(1)由于受国内振动等传感器水平的限制,分析频率范围不宽,给一些低速的机器或轴承的诊断等带来了一定的困难;(2)由于数据采集器的内存不大,数据采集器本身的信号处理功能不强,在现场只能做一些简单诊断,精密诊断需要离线到计算机上去做,现场精密诊断功能较弱;(3)设备的软件水平,仍在设备维修管理和基本频谱分析上徘徊,机器故障诊断专家系统还需完善,软件人机界面有待改进。数据采集是整个工厂自动化的最前端,测试精度、速度与实现该功能的成本是几个重要因素,数据采集也正朝着这几个方向发展。高速、实时数据采集在运动控制、爆炸检测、医疗设备(如CT、核磁共振)、快速生产过程(如石油化工过程)和变电站自动化等领域都有非常重要的应用。这些行业中,对高速数据采集的需求远远超过目前实际可以实现的程度。用户的需求促进了技术的发展和新产品的出现,因此,高速数据采集仍然会有长足的发展。1.3.3 数据采集器的应用 根据数据采集器的使用用途不同,数据采集器大体上可分为两类M 在线式数据采集器和便携式数据采集器。在线式数据采集器又可分为台式和模块式。台式、便携式数据采集器大部分由交流电源供电;模块式数据采集器大部分由直流电源供电,一般是非独立使用的,在采集器与计算机之间由电缆联接构成数据采集传输系统,一般不脱机单独使用。数据采集器的应用涉及到众多的领域,以下主要介绍数据采集器在实验室中的应用:由美国PASCO公司生产的“ 科学工作室”是将数据采集应用于物理实验的崭新系统,它由3部分组成:(1)传感器:利用先进的传感技术可实时采集物理实验中各物理量的数据;(2)计算机接口:将来自传感器的数据信号输入计算机,采样速率最高为25万次/S;(3)软件:中文及英文的应用软件。“ 科学工作室”数据采集器的几种应用方式:(1)数据采集器与计算机结合提高了实验的测量精度,实现了测量数据和实验结果的自动输出,消除了传统实验仪中多次采样造成的误差;(2)在可见度小、显示瞬间变化物理实验中的运用;(3)在某些不易直接观察物理变化规律实验中的运用;(4)对于易出错的物理概念,可以通过实验用数据采集器去检验;(5)运用物理概念和规律到野外开展探究性研究活动。1.4 本论文的主要研究内容和结构本论文对多路温度数据采集系统的设计与实现进行了详细的研究,主要利用SPCE061A单片机和DS18B20实现多路温度采集,实现以下要求:2路温度的实时采集; 温度通过液晶屏显示,分手动和自动两种方式:自动状态循环显示各通道温度,每隔2s切换一个通道;手动方式下只显示被选择的通道温度; 可以为每一个通道设置独立的报警温度。本文结构介绍如下:第1章 绪论:介绍了本论文的课题背景、数据采集系统的历史与发展、国内外数据采集器的现况以及数据采集器的应用,从总体上对课题的发展进行了概述。第2章 方案概述:本章首先进行方案论证,在此讨论了分别选用MCS51单片机作为主控芯片和选用SPCE061A单片机作为主控芯片两种方法设计多路温度采集系统,从而突出了后者的优势,然后介绍了本设计系统的工作原理以及系统的开发环境。第3章 硬件设计:本章主要是分别对SPCE061A单片机、液晶显示模组、SPR4096模组、DS18B20温度传感器模组的电路原理进行了分析与研究并给出了系统的总体设计电路。第4章 软件设计:本章主要是对主程序、按键扫描程序、语音播报程序、SPLC501液晶显示程序等进行了软件设计,通过各个功能实现程序的流程图系统介绍了内部实现的原理。最后是本文的结论。第2章 方案概述2.1 设计的要求本方案利用SPCE061A单片机作为核心控制器,通过两个DS18B20器件实现两路温度的实时采集和显示,且可以设置温度值,实现超温报警功能:可以进行2路温度的实时采集;温度通过液晶屏显示,分手动和自动两种方式;自动状态循环显示各通道温度,每隔2s切换一个通道;手动方式下只显示被选择的通道温度;可以为每一个通道设置独立的报警温度。2.2 方案简介2.2.1 方案选择采用常规单片机如89C51实现,单片机软件编程自由度大,可用编程实现各种控制,但89C51需要外界模数传感器来满足数据采样,如果系统增加语音播报功能,还需要语音芯片,对外围电路来说比较复杂,且软件实现也比较麻烦。另外89C51单片机需要用仿真器来实现软硬件的调试,较为繁琐。利用51单片机进行开发,硬体开发系统要求很多,如仿真器、烧录器、开发板等。软体开发工具有富兰克林、Keil51等。61板是SPCE061A的硬体开发系统,用户只采用61板就可以进行开发,与61板配套的软体开发工具名称为凌阳十六位单片机集成开发环境(nSP),SPCE061A是继nSP系列产品SPCE500A等之后,凌阳科技推出的又一个16位结构的微控制器,此单片机内置8路ADC,2路DAC,且集成开发环境中,配有很多语音播报函数,用SPCE061A实现语音播报极为方便。SPCE061A中包括2K字的SRAM和32K字的闪存ROM,仅占一页存储空间。另外,该芯片内置在线仿真、编程接口,可以方便实现在线调试,这大大加快了系统的开发与调试。传统的温度检测可以使用热敏电阻作为温度敏感元件,热敏电阻主要有点是成本低,但需后续信号处理电路,而且可靠性相对较差,准确度和精度都较低。但DS18B20数字式温度传感器,与传统的热敏电阻温度传感器不同,它具有测量速度快,精度高,高低温报警,智能化等特点。由此构成的单片机控制的多路温度数据采集系统比传统的测温系统更可靠,易于构成网络控制,适用于各种温度检测与控制系统。2.2.2 方案原理这次设计主要是以凌阳单片机SPCE061A为控制核心。SPCE061A单片机款式新颖,而且性价比高。SPCE061A在2.6V3.6V工作电压范围内的工作速度范围为0.32MHz49.152MHz;2K字SRAM和32K字FLASH仅占一页存储空间;32位可编程的多功能I/O端口;两个16位定时器/计数器;低电压复位/监测功能;8通道10位模/数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能;指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能。较高的处理速度使SPCE061A能够非常容易地、快速地处理复杂的数字信号。开发数字声音和语音识别产品,选择凌阳61单片机是一种经济的选择系统整体硬件设计如图2-1所示:SPR4096DS18B201DS18B2021*3Key液晶屏SPLC501语音输出 IOB01 IOA815 IOB69IOB23 SPCE061AIOA02 DAC184DAC223图2-1系统整体框图整个系统以SPCE061A为核心,前向通道包括DS18B20传感器输入电路,按键输入电路;后向通道包括:液晶显示电路和语音输出电路。 设计该系统的功能框图如图2-2所示开始自动循环显示通道温度按键设置通道报警温度自动循环显示特定通道显示图2-2功能框图2.3 开发环境61板是以16位单片机SPCE061A为核心的精简开发仿真实验板,是“凌阳大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,61板的主要特点是:简单、易学、实用。它采用的是精简指令集,共有41条指令,指令功能简单且容易掌握。“61板”除了具备单片机最小系统电路外还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,而且体积小、采用电池供电,方便随身携带。61板开发系统的开发环境叫做集成开发环境,它具备以下功能:程序编写,可以在开发环境里录入程序;编译程序,负责把程序翻译成机器码;程序下载,把机器码下载到仿真板或开发系统上;可以组织多个程序文件形成一个系统开发的项目,这样更有利于一些大型系统的开发和各功能模块的模块化,同时它还结合SPCE061A单片机的硬件提供各类在线调试窗口,使调试程序变得更加直观和简单,除此之外,它还提供一些软件模拟SPCE061A单片机仿真的功能,在没有硬件的情况下也可以完成一些简单程序的调试。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件。可以通过集成开发环境使用C语言和汇编语言对SPCE061A进行编程,之所以会有语言的出现主要是因为单片机或电脑只认识“0”和“1”,但人就难于理解,所以后来人们就发明了一种用文字助记符来表示机器指令的符号语言,这就是所谓的汇编语言,当然用汇编语言写的程序必需通过编译器翻译成机器码才能被单片机认识和执行。人常用的语言是更上一层的高级语言,比如C,BASIC。这些语言编写的程序更容易理解,并且一般都能在多种电脑上运行(多种电脑上运行就是所谓平台概念,可方便的实现资源重复利用),但同样必须先由一个叫作编译器或者是解释器的软件将高级语言程序翻译成特定的机器语言程序。汇编语言主要优点是占用硬件资源少、程序直接对硬件操作加快了处理速度。但是不同的单片机,其汇编语言可能有所差异,所以不利于资源重复利用。C语言是一种比汇编更高级语言。其优点是可以很好的组织程序,并且容易读懂,可以在多种单片机上运行,是普遍使用的一种计算机语言。缺点是占用硬件资源较多,处理速度和效率没有汇编高,当然这也取决于编译器的翻译结果SPCE061A的开发是通过在线调试PROBE实现的。它既是一个编程器,又是一个实时在线调试器。用它可以替代在单片应用项目的开发中常用的两件工具硬件在线实时仿真器和程序烧写器。它利用了SPCE061A内置的在线仿真电路ICE 和在线串行编程技术。PROBE工作于凌阳ICE集成开发环境软件包下。其5芯的仿真头直接连接到目标电路板上SPCE061A相应管脚,直接在目标电路板上的SPCE061A调试运行用户编制的程序。PROBE的另一头是标准的25针打印机接口,直接连接到计算机打印口与上位机通讯。2.4 本章小结本章主要讲述了为何选用SPCE061A凌阳16位单片机和DS18B20数字式温度传感器,论证了所选方案的可行性。同时介绍了方案原理和凌阳61板的开发环境。第3章 系统的硬件设计3.1 SPCE061A凌阳单片机概述SPCE061A 是凌阳科技开发的采用nSP(Microcontroller and Signal Processor)内核的16位结构的微控制器。SPCE061中内嵌32K字的闪存FLASH ROM。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。因而,以nSP为核心的SPCE061A微控制器也适用在数字语音识别应用领域。SPCE061A在2.63.6V工作电压范围内的工作频率范围为0.3249.152MHZ,较高的工作速度使其应用领域更加拓宽。SPCE061A中包括2K字的SRAM和32K字的闪存ROM,仅占一页存储空间;32位可编程的多功能I/O端口;两个16位定时器/计数器;32768 Hz实时时钟;低电压复位/低电压监测功能,8通道10位模/数转换输入并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能等。SPCE061A尤其适合于数字声音和语音识别领域。3.1.1 性能特点和应用领域SPCE061A是凌阳科技公司研制的一个16位结构的微控制器。它的性能特点有:(1)16位nSP内核的微处理器;(2)工作电压:内核工作电压VDD为3.03.6V(CPU),I/O口工作电压 VDDH为VDD5.5V(I/O);(3)CPU时钟:0.32MHz49.152MHz;(4)内置2K字的静态 RAM;(5)置32K字闪存ROM;(6)可编程音频处理;(7)锁相环晶体振荡器或RC振荡器,为系统提供时钟信号;(8)系统处于备用状态下(时钟处于停止状态),耗电可降至3.6V电源电压下的2A;(9)2个16位可编程定时器/计数器(可自动重预置初始计数值);(10)2个10位DAC(数-模转换)输出通道;(11)32位通用可编程输入/输出端口;(12)14个中断源,两级优先级,中断可来自系统时钟、定时器/计数器、时间基准发生器、外部中断、键唤醒、通用异步串行通信及软中断;(13)具备触键唤醒的功能;(14)使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;(15)锁相环PLL振荡器提供系统时钟信号;(16)内置32768Hz实时时钟;(17)7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;(18)声音模-数转换器输入通道内置麦克风放大器和自动增益控制功能;(19)具备串行设备接口;(20)低电压复位(LVR)功和低电压监测(LVD)功能;(21)内置在线仿真板(ICE,In- Circuit Emulator)接口;(22)运行/睡眠方式下的看门狗功能。SPCE061A的应用领域有:(1)语音识别类产品;(2)智能语音交互式玩具;(3)寓教于乐类玩具;(4)电子故事书类产品;(5)通用语音合成器类产品;(6)需较长语音持续时间类产品。3.1.2 SPCE061A的结构SPCE061A是凌阳科技公司研制的一个16位结构的微控制器。它的内核采用公司最新推出的16位微处理器芯片,工作电压范围为2.65.5V,系统工作频率为0.375-49.152MHz。它不仅具有微处理器的功能,还具有DSP运算功能。较高的处理速度使nSP能够非常容易地、快速地处理复杂的数字信号。低电压、较高的系统工作频率使该单片机可以快速的处理复杂的数字语音信号。片内集成了具有自动增益控制功能的麦克风输入方式以及DAC音频输出功能,使用凌阳音频编码SACMS240方式(2.4Kb/s)。它还提供了丰富的C函数库和语音处理函数库,因此非常适合数字语音和语音识别产品的开发。SPCE061A主要包括并行输入/输出口(I/O)、定时器/计数器、数/模转换器、模/数转换器、串行设备输入输出、通用异步串行接口、低电压监测和复位等部分,并且内置在线仿真电路ICE接口,较高的处理速度使其能够快速的处理复杂的数字信号。SPCE061A单片机应用领域非常广泛,例如应用在家用电器控制器、工业控制、通信产品、医疗设备以及电子书籍等诸多方面。SPCE061A还具有唤醒功能,即当输入电平发生变化时会触发CPU中断。在电池供电、追求低功耗的应用场合,可以让CPU进入睡眠模式(利用软件控制)以降低功耗,需要时才唤醒CPU,使其进入工作状态,这样既可以节省能耗,又可以延长机器的使用寿命。正因为有以上特点,我们可以说SPCE061A微处理器是适用于数字语音识别应用领域产品的一种理想、经济的选择。目前,SPCE061A主要应用于家用电器控制器、工业控制、智能玩具、通信产品、医疗设备以及语音识别类产品等领域SPCE061A的结构图如图3-1所示,输入/输出接口是单片机与外设交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号。输出端口负责向外界传送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。nSP内有并行和串行两种方式的I/O口。并行口线路成本较高,但是传输速率也较高;与并行口相比,串行端口的传输速率较低但可以节省大量的线路成本。SPCE061A有两个16位的通用并行I/O口:A口和B口。这两个端口的每一位都可通过编程单独定义成输入或输出口。A口的IOA0IOA7作为输入端口时,具有唤醒功能,即当输入电平发生变化时,会触发CPU中断。在电池供电、追求低耗电的应用场合,可以让CPU进入睡眠模式(利用软件控制)以降低功耗,需要时才以按键来唤醒CPU,使其进入工作状态。例如:手持遥控器、电子字典、PDA、计算器、无线 等。图3-1 SPCE061A内部结构图另外,在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”。看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。 SPCE061A的Watch Dog的清除时间周期为0.75秒。因为Watch Dog 的溢出复位信号Watch Dog_Reset是由4Hz时基信号经4 分频之后产生的,即每4个4Hz时基信号(1秒)将会产生一个Watch Dog_Reset信号。 Watch Dog功能是上电时自动启动,不能被关闭。因此用户使用时,注意要在0.75秒内,进行清除Watch Dog的操作。 要清除Watch Dog,只需要将“xxxx xxxx xxxx xx01b”写入P_Watch Dog_Clear单元即可,xx代表任意数值。如果没有在0.75秒内清除Watch Dog,或者将不是“xxxx xxxx xxxx xx01b”的数值写入P_Watch Dog_Clear单元,CPU将会进行系统复位。如果在备用状态下,32768Hz振荡器仍工作,则看门狗计数器功能仍有效。用户可以在掩模时选择设置或取消看门狗监视器功能。当系统处于睡眠模式(sleep mode)时,Watch Dog功能将会被关闭。3.2 温度传感器设计本次毕业设计的另一个重要元件DS18B20数字式温度传感器。它在本次设计中主要起到测量温度以及传输温度数据的作用。3.2.1 DS18B20温度传感器简介DALLAS最新单线数字温度传感器DS18B20简介新的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822“一线总线”数字化温度传感器同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55+125,在-10+85范围内,精度为0.5。DS1822的精度较差为2 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822 的特性DS18B20可以程序设定912位的分辨率,精度为0.5。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS18B20开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。3.2.2 DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。其中DS18B20暂寸寄存器分布如下表3-1所示:表3-1 DS18B20暂存器内容地址分布表寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5记数剩余值6每度记数值7CRC校检8DS18B20温度传感器的存储。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。 该字节各位的意义:“TM R1 R0 1 1 1 1 1”,低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,DS18B20出厂时被设置为12位。R1和R0用来设置分辨率,根据R1与R0取0还是取1的不同组合情况,分辨率也相应变化,而且对应的温度最大转换时间也不同。其分辨率设置表如下表3-2所示:表3-2 分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms0112位750ms据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。在ROM指令发送给18B20之后,紧接着就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。最后将具体的指令代码和功能列出,如下表3-3所示:表3-3 指令代码和功能指令约定代码功能读ROM33H读DS18B20ROM中的编码(64位地址)符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与编码相对应的DS18B20使之作出响应,为下一步对该DS18B20的读写作准备。搜索ROM0F0H用于确定挂接在同一总线上的DS18B20的个数和识别64位ROM地址,为操作各个器件作好准备。跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度转换温度,适用单片机工作。告警搜索命令0ECH执行后,只有温度超过设定值上限或下限时单片机作出反应。温度转换44H启动DS18B20进行温度转换,转换时间最长500ms,结果存入内部9字节RAM中。读寄存器0BEH读内部RAM中9字节的内容。写寄存器4EH发出向内部RAM的第3,4字节上写上,下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制寄存器48H将内部RAM的第3,4字节的内容复制到EPRAM中。复制EPRAM0B8H将EPRAM中内容恢复到RAM的第3,4字节。读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外接电源供电DS18B20发送“1”。表3-3 指令代码和功能3.2.3 DS18B20的工作原理DS18B20的测温原理如图3-4所示,图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数当计数器1的预置值减到0时,温度寄存器的值将加1计数器1 的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。增加停止斜率累加器预置记数比较器低温度系数振荡器减法记数器预置减到0高温度系数振荡器减法记数器减到0温度寄存器图3-2 DS18B20的工作原理图3.3 SPLC501液晶显示SPLC501 液晶显示模组采用的驱动控制芯片为凌阳科技的SPLC501A 芯片,SPLC501A 为液晶显示控制驱动器,SPLC501A 单芯片液晶驱动,可以直接与其他微控制器接口总线相连。微控制器可以将显示数据通过8 位数据总线或者串行接口写到SPLC501A 的显存中。SPLC501A 内置8580 位显示RAM。RAM 中的一位数据控制液晶屏上的一个象素点的亮、暗状态:“1”亮“0”暗。具有65 行驱动输出和132 列驱动输出(注:模组中的液晶显示面板仅为64 行、128 列)。SPLC501 液晶显示模组的显示器上的显示点与驱动控制芯片中的显示缓存RAM 是一一对应的;SPLC501A 芯片中共有65(8 Page 8 bit+1) 132 位的显示RAM 区。而显示器的显示点阵大小为64128 点,所以实际上在SPLC501 液晶显示模组中有用的显示RAM 区为64128 位;按byte 为单位划分,共分为8 个Page,每个Page 为8 行,而每一行有128 位(即128 列)。如要点亮LCD 屏上的某一个点时,实际上就是对该点所对应的显示RAM 区中的某一位进行置1 操作;所以就要确定该点所处的行地址、列地址。SPLC501 液晶显示模组的行地址实际上就是Page的信息,每一个Page 应有8 行;而列地址则表示该点的横坐标,在屏上为从左到右排列,Page 中的一个Byte 对应的是一列(8 行,即8 个点),共128 列。可以根据这样的关系在程序中控制LCD 显示屏的显示。3.4 SPR4096存储器模组SPR4096是凌阳公司新推出的4Mbits 的高性能的FLASH 芯片, 该芯片有SIF(Serial Interface)和BMI(Bus Memory Interface)两种工作方式, SIF 电路简单,但读写速度较慢,与SIF方式相比,BMI方式具有运行速度快的优点,而BMI读写响应快,因此本文采用SPR4096的BMI方式设计了公交车报站器的存储器扩展硬件电路。针对凌阳科技公司的存储器芯片SPR4096/SPR1024,开发的简易烧写器。该烧写器配合PC机ResWriter工具,通过EZ-probe下载线,完成对SPR4096/1024存储器芯片的擦除、写入、校验等功能。并且在SPR模组上留有与SPCE061A单片机的接口,可以实现SPR模组与SPCE061A单片机组成的系统。SPR4096内嵌512K8位高性能Flash存储器同时内嵌4K8位SRA
展开阅读全文