基于SPCE061A单片机数字式多路温度采集系统

上传人:仙*** 文档编号:203150393 上传时间:2023-04-24 格式:DOC 页数:51 大小:1.26MB
收藏 版权申诉 举报 下载
基于SPCE061A单片机数字式多路温度采集系统_第1页
第1页 / 共51页
基于SPCE061A单片机数字式多路温度采集系统_第2页
第2页 / 共51页
基于SPCE061A单片机数字式多路温度采集系统_第3页
第3页 / 共51页
资源描述:

《基于SPCE061A单片机数字式多路温度采集系统》由会员分享,可在线阅读,更多相关《基于SPCE061A单片机数字式多路温度采集系统(51页珍藏版)》请在装配图网上搜索。

1、摘要随着时代的发展,越来越多的智能型电子和机械产品出现在我们的生活、学习和工作中,小至手机、计算器、家用电器、掌上电脑以及鼠标等电脑配件,大到导弹的导航装置,飞机上各种仪表的控制装置等等,那么是什么使他们有了如此强大的功能?答案很简单单片机。是单片机,它把我们带入了智能的时代。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。因此,本课题便就其一个方面对单片机进行深入研究,设计开发利用SPCE06IA单片机实现多路温度采集。介绍了数字式多路温度采集系统的设计过程,包括硬件设计和软件设计。本设计采用SPCE061A单片机作为主控制器,采用LED键盘模组作为键盘输入和显示单

2、元,通过一线制温度传感器DSl8B20实现温度的采集。该系统充分利用了SPCE061A的资源,发挥了芯片的性能,是SPCE06A在数据采集方面的典型应用。关键词:SPCE061A ;DS18B20 ;多路采集;语音AbstractWith the development, more and more intelligent electronic and mechanical products in our lives, learning and work, as small as cell phones, calculators, home appliances, handheld compu

3、ters and computer accessories such as a mouse, large missile Navigation devices, aircraft control devices of various instruments, etc., then what is so powerful that they have a function? The answer is simple - single chip. Is a single chip, which took us into the intelligence era. SCM infiltrate pr

4、esent in all areas of our lives, which is difficult to find the field almost no trace of the microcontroller. Therefore, this issue will be one aspect of their depth study on the single chip, single chip design and development of multi-use SPCE06IA temperature acquisition.The design process of a mul

5、ti-channel digital temperature acquisition system is introduced in this paper,including hardware design and software design.This design uses SPCE061A MCU as the main controller,a keyboard LED module as a keyboard input and display units,one-wire temperature sensor DS18B20 as temperature acquisition

6、units.The system takes full advantage of the SPCE061A resources,displays the chips performance,is a typical application works in data acquisition for SPCE061A.Key words:SPCE06l A;DSl8B20;multichannel temperature acquisition;sounds51目录第一章 引言41.1 本课题的研究现状和研究意义41.2 现行研究的目的51.3 单片机概述51.4 凌阳SPCE061A单片机的特

7、点概述91.5 相近研究课题的特点和分析112.1 系统的设计内容162.2模块设计172.2.1 SPCE061A 简介182.2.2 DS18B20 温度传感器简介202.2.3 DS18B20 内部结构212.2.4 DS18B20 的工作时序222.2.5 DS18B20 与单片机的典型接口242.3 系统总体方案介绍253.1 系统的硬件303.2系统软件设计313.2.1 软件的结构313.2.2 软件总体设计323.3 子程序设计333.3.1 DS18B20 初始化333.3.2 DS18B20 写操作343.3.3 DS18B20 读操作363.3.4 DS18B20 采集温

8、度流程383.3.5按键处理程序403.3.6 中断服务程序42第四章 系统测试444.1 报警语音播报功能444.2 芯片管脚排列及功能454.3 系统开发工具474.3.1 硬件开发工具474.3.2 软件开发工具48第五章 结语495.1 论文工作总结495.2 工作展望505.3 致谢50参考文献51第一章 引言1.1 本课题的研究现状和研究意义近百年来,温度传感器的发展大致经历了:传统的含有敏感元件的分立式温度传感器,模拟集成温度传感器和智能传感器三个阶段。目前,国际上新型的温度传感器正从模拟式向着数字式,集成化向智能化,网络化方向发展。随着社会的发展,科技的进步,以及测温仪器在各个

9、领域的广泛应用,智能化已经是现代温度控制系统发展的主流方向。特别是近些年来,温度控制采集已应用到人们生活的各个方面,发电站锅炉的温度必须控制在一定的范围内;许多化学反应的工艺过程必须在适应的温度下才能进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油,柴油,煤油等产品。没有适宜的温度环境,许多电子设备就不能正常工作。随着信息化时代的到来,数据的重要性不言而遇。如何高效,稳定地对数据(包过温度,湿度,压力,光线等项目)进行实时数据采集对现代的企业,工厂,研究部门等具有非常重要的意义。温度是工业生产中常见的和最基本的参数之一, 在生产过程中常需对温度进行检测和监控。采用微型机进

10、行温度检测、显示、信息存储及实时控制, 对于提高生产效率和产品质量、节约能源等都有重要的作用。考虑到许多工业环境中对多点温度进行监控, 一般需要测量几十个点以上, 为此, 我们设计了一种采用SPCE061A 单片机的多通道温度检测及显示系统。SPCE061A 是凌阳科技推出的一款16 位n SP 结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到49MHz 。SPCE061A 内嵌32K 字的Flash程序存储器以及2K 的SRAM 。利用这些特性可以很容易实现温度采集及显示,而且具有语音处理优势,可以实现语音报警

11、功能。本系统设计采用温度数据为研究对象,具有代表性。科技时代,较高精度的实时温度采集重要性共所周知。因为温度采集被广泛应用于工业,农业,科研等众多领域。随着传感器技术的发展,以单片机为主体,将计算机技术与传感器技术结合起来组成的数字式多路温度采集系统在生产中得到了广泛的应用。这些数字式多路温度采集系统自身带有微处理器,在结构上自成一体,能独立进行测试,使用灵活方便。在工业应用中,温度的检测和控制直接和安全生产、产品质量、生产效率、节约能源等重大技术指标相联系,所以对温度的监控就尤为重要。正因为温度是工业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控。采用微型机进行温度检测

12、、显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。考虑到许多工业环境中对多点温度进行监控,一般需要测量几十个点以上,为此,我们设计了一种采用 SPCE061A单片机的多通道温度检测及显示系统。可以实现温度采集及显示,而且具有语音处理优势,能够实现语音报警功能。1.2 现行研究的目的嵌入式系统的市场增长得非常迅速,据统计2009年嵌入式市场全球总产值近3000多亿美金,中国将成全球最大嵌入式市场。在我国十二五规划战略新兴展业的带动下,许多新兴领域比如三网融合、物联网、平板电脑等纷纷在国内得到迅速的铺展应用。在IPTV、车载电脑、智能手机领域,每年以20%甚至是更多

13、的速度在增长。每个方面都缺少不了嵌入式的应用,这将是非常大的市场。随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,电子产品小型化和智能化的要求越来越高,作为高新技术之一的单片机以其体积小,功能强,价格低,使用灵活等特点,显示出其明显的优势和广泛的应用前景。在日常生活和工业控制过程中,经常需要进行多点温度测量,并对温度的结果进行分析,以做出相应的处理。温度是工业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控。采用微型机进行温度检测、显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。考虑到许多工业环境中对多点温度进行监控,一般需要测量几

14、十个点以上,为此,我们设计了一种采用 SPCE061A单片机的多通道温度检测及显示系统。 SPCE061A是凌阳科技推出的一款16位nSP结构的微控制器。该芯片带有硬件乘法器,能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强,而且处理速度快,单周期最高可以达到49MHz。SPCE061A内嵌32K字的Flash程序存储器以及2K的SRAM。利用这些特性可以很容易实现温度采集及显示,而且具有语音处理优势,可以实现语音报警功能。1.3 单片机概述随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、功能强、

15、价格低、使用灵活等特点,显示出明显的优势和广泛的应用前途。在航空航天、机械加工、智能仪器仪表、家用电器、通信系统、智能玩具等领域,单片机都发挥了很大的作用。可以认为,单片机技术已成为现代电子技术应用领域十分重要的技术之一,是电子技术应用领域工程技术人员必备的知识和技能,它能够使您设计的产品更具智能化和先进性。时下,家用电器和办公设备的智能化、遥控化、网络化、模糊控制化已经成为或正在成为世界潮流,而这些高性能无一不是靠单片机来实现的。如果我们不具备单片机方面的知识,别说是这些电器设备的设计、开发和生产,就连对它们的日常保养和故障维修也会形成很大的障碍。单片机又称单片微控制器它不是完成某一个逻辑功

16、能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的

17、工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。 单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部

18、件存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。 程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地

19、址,然后取得每一条要执行的命令,在PC中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。 单片机及应用系统有以下特点:1 单片机具有独立的指令系统,可以将我们的设计思想充分体现出来。2 系统配置以满足控制对象的要求为出发点,使得系统具有较高的性能价格比。3 由于系统规模较小,其本身不具有自我开发能力,一般须借助专用的开发工具进行系统开发和调试,而实际应用系统简单实用,成本低,效益好。4 应用系统通常讲程序驻留在片内(外)ROM中,抗干扰能力强,可靠性高,使用方便。5 应用系统所用存储器芯片可选用EPROM、OTP芯片或利用掩膜形式生

20、产,便于批量开发和应用。许多单片机(如80C51系列)的开发芯片和扩展应用芯片相互配套,降低了系统成本。由于系统小巧玲珑,控制功能强、体积小,便于嵌入被控设备之内,大大推动了产品的智能化。如数控机床、机器人、智能仪器仪表、洗衣机、电冰箱、电视机等都是典型的机电一体化设备和产品。单片机是随着微型计算机、单扳机的发展及其在智能测控系统中的应用而发展起来的。以8位单片机为例,其发展过程大致可归纳为四个阶段。第一阶段:低性能单片机阶段(19761980年)。该阶段是以较简单的8位低档单片机为主,将原有的单片机功能集成在一块芯片上,是该芯片具有原来单片机的功能。第二阶段:高性能单片机阶段(1980198

21、3年)。该阶段仍以8位机为主,主要增加了串行口、多级中断处理系统和16位定时器/计数器,除片内RAM、ROM容量增大外,片外寻址可达64KB,有的片内还集成有A/D、D/A转换器。第三阶段:高性能的16位单片机(198380年代末)。该单片机性能更加完善,主频速率提高,运算速度加快,具有很强的实时处理能力,更加适用于速度快、精度高、响应及时的应用场合。第四阶段:该阶段(90年代初)单片机在集成度、速率、功能、可靠性、应用领域等全方位向更高水平发展。该阶段CPU数据线有8位、16位、32位,采用双CPU结构或内部流水结构,以提高数据处理能力和运算速度;采用内部锁相环技术,时钟频率已高达50MHz

22、,指令执行加快;提供了运算能力较强的乘法指令和内积运算指令,具有较强的数据处理能力;设置了新型的串行总线结构,为系统扩展提供了方便;增加了常用的特殊功能部件(如系统看门狗WDT、通信控制器、调制解调器、脉宽调制输出PWM等)。随着微电子技术的发展和半导体工艺的不断改进,芯片正向着高集成化、低功耗的方向发展。随着应用范围的不断扩大,一些专用单片机也迅速发展壮大。由于单片机体积小、价格低、可靠性高、适用范围大以及有其本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。目前不仅有常用的8位单片机,而且16位机已得到了广泛的应用。1 机电一体化机电一体化是机械设备发展的方向。用单片机代替常

23、规的逻辑顺序控制,简化了结构设计,提高了控制性能。当前的许多产品,如数控车床等都是采用这种方式。最典型的机电产品是机器人,每个关节活动作部位都是由一个单片机系统控制。2 集散数据采集系统在实时控制系统中,要求数据采集具有较好的同步性和实时性,若采用单个计算机顺序采集,存在不能同时采集、实时性不强等缺点,以致会造成计算、处理上的误差而引起分析困难。使用单片机作为系统的前端采集单元,由主控计算机发出同时采集命令,当采集完成后,将采集到的数据在逐一传到主机中进行处理,保证了同步数据采集。如气象部门、供电系统、自来水管网、过程控制等均可采用集散数据采集系统。3 分布式控制系统通常分部式控制系统采用模块

24、化设计,而单片机正是某些模块的控制中心。如生产线、过程控制、遥测控制系统等等。4 智能仪器仪表单片机的应用使用自动化仪器仪表的智能化程度越来越高,如自动计费电度表、燃气表,许多工业仪表中的智能流量计、气体分析仪、成分分析仪等,各种检测仪器仪表中的多功能信好发生器、智能电压电流测试仪、医疗器械、监测仪器等都使用了单片机。5. 家用电器在洗衣机、空调器、汽车控制系统、保安系统、电视机、录象机、VCD机、音响设备、电子秤、IC卡、手机、智能玩具等系统及设备中使用了大量各种各样的单片机,使其性能大大提高,实现了智能化和最优化控制。6. 终端及外部设备控制在计算机网络终端设备(如银行终端、商业POS自动

25、收款机、GPS电子地图、复印机等)和计算机外部设备(如打印机、绘图仪、键盘和通信终端等)中都使用了单片机。单片机的使用这些设备既具有计算、存储、显示和数据处理等功能,又具有和计算机连接的端口,使计算机的应用能力和范围大大提高,更好地发挥了计算机的性能。1.4 凌阳SPCE061A单片机的特点概述随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(DSP,Digital Signal Processing)等领域。凌阳的16位单片机就是为适应这种发展而设计的。它的CPU内核采用凌阳最新推出的nSP(Microcontroller and Sign

26、al Processor)16位微处理器芯片(以下简称nSP)。围绕nSP所形成的16位nSP系列单片机采用的是模块式集成结构,它以nSP内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。 nSP内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。 nSP家族有以下特点: u 体积小、集成度高、可靠性好且易于扩展 nSP家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少

27、了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系统扩展,以适应不同用户的需求。 u 具有较强的中断处理能力 nSP家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域u 高性能价格比 nSP家族片内带有高寻址能力的ROM、静态RAM和多功能的I/O口。另外,nSP的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了DSP功能,使得nSP家族运用在复杂的数字信号处理方面既很便利,又比专用的DSP芯片廉价。 u 功能强、效率高的指令系统 nSP指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以

28、大大缩短产品的开发时间。 u 低功耗、低电压 nSP家族采用CMOS制造工艺,同时增加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。另外,nSP家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电。这对于其在野外作业等领域中的应用具有特殊的意义。 SPCE061A单片机功能强大,其片内含有八路十位A/D转换器和两路D/A转换器,该波形发生器运用单片机技术,通过巧妙的软件设计和简易的硬件电路,产生数字式的正弦波、方波、斜波等幅值可调的信号。信号频率,可通过键盘输入调整,并显示。与现有各类型波形发生器比较而言,它产生的数字信号干扰小,输出稳定,可靠性高,特别是操作简单方便

29、,人机界面友好,成本低,非常适合于教学与实验使用。凌阳单片机在本次设计上的应用优点是全面采用数字电路方案,因而工作稳定可靠。利用单片机控制管理,使频率设置和占空比调整等操作可用键盘输入,十分方便。1.5 相近研究课题的特点和分析MSP430单片机:本方案利用MSP430单片机作为核心控制器,通过两个DSl8B20器件实现两路温度的实时采集和显示,且可以设置报警温度值,实现超温报警功能。其中温度信号由智能型温度传感器DSl8B20采集,DSl8B20在其内部直接完成AD转换,通过单线总线,输出数字信号送入单片机进行数据处理。单片机实现数据处理,采用高级语言和汇编结合的方法完成软件设计。数据输出部

30、分完成温度的实时显示及语音超温报警功能等,从而构成一个数字式多路温度采集系统。系统运行后首先初始化系统变量、按键显示用到的IO以及中断等:之后初始化两路DSl8B20以确认器件的存在;初始化完成之后,将进行温度的采样,并执行温度比较,如果温度高于系统初始设置报警值,将进行超温语音提示。主程序循环过程中不断的扫描按键,如果有按键触发将会调用键值处理函数。 MSP430是一款性价比很高的十六位单片机,使用它可以非常方便灵活的实现语音的录放,该芯片拥有8路10位精度的ADC,其电一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10位精度的DAC,只需要外接功放(

31、SPY0030A)即可完成语音的播放。该单片机具有一套易学易用的指令系统和集成开发环境,在此环境中,它支持标准C语言编程,也支持C语言与汇编语言的互相调用。另外还提供了语音录放的库函数,只要了解库函数的使用,就可以很容易的完成语音的录放、识别等功能,这些都为软件开发提供了方便的条件。 程序的控制思想:系统运行后首先初始化系统变量、按键显示用到的IO以及中断等;之后初始化两路DSl8B20以确认器件的存在;初始化完成之后,将进行温度的采样,并执行温度比较,如果温度大于温度报警初始值(初始值为30),将进行超温语音提示。主程序循环过程中不断的扫描按键,如果有按键触发将会调用键值处理程序。主程序是整

32、个软件设计的主干线,完成底层的温度传感器,音频输出和LED的显示等硬件的接口驱动工作,主程序开始先对IO,DSl8B20,数码管,键盘进行初始化,启动中断,辅助程序,取键值,进入键值处理子程序,若是处于温度确定状态,则进入测量温度处理子程序,显示测量温度,若有超过限值,则进行语音播报处理。数据采集流程:DSl8B20简单的硬件接口是以相对复杂的接口编程为代价。由于DSl8B20通过单总线与外部进行通讯,所以其通信功能是分时完成的,它与单片机的接口协议是通过严格的时序来实现的,DSl8B20数据的写入和读出都是由主控MCU读写特定的时间片来完成的。系统对DSl8B20的各种操作必须按协议进行。操

33、作协议为:初始化DSl8B20(发复位脉冲)一发ROM功能命令一发存储器操作令一处理数据。要读出DSl8B20的转换温度,主控MCU必须先通过单口线发出初始化脉冲后,接着给DSl8B20发ROM命令,然后发6个存储器命令中的一个命令去控制DSl8B20的工作状态,来完成温度的转换和数据的读出。根据DSl8B20的工作时序包括初始化时序、写时序和读时序,分别编写3个子程序INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序。系统主程序流程图如图1.1 ;430单片机结构图如图1.2图1.1系统主程序流程图 图1.2 430单片机结构图AT89C2051单片机:本方案

34、通过AT89C2051单片机实现数字式多路温度采集系统,该系统能够完成多路温度信号的测量,且各测量点可以单独监控。测量温度范围为一55-125,控制方式采用按钮模式。该数字式多路采集系统具有控制精度高、冲击小、测量通道易于扩充,可以方便地进行多路高精度温度测量等特点。AT89C205l单片机共有20个引脚,有8个数据引脚,两个中断引脚,两个定时器引脚,两个全双向串行通信口,一个模拟比较放大器片内有2KB的ROM,128KB的数据存储空间,兼容标准MCS一51指令系统,具备省电工作模式,整个系统唤醒方式多样。本数字式多路温度采集系统硬件结构上以AT89C2051为核心,分为前向通道和后向通道。前

35、向通道为传感器部分。主要负责温度的采集工作,在本设计中采用了三路前向通道,其中每一路通道都包括DSl8B20温度传感器电路。后向通道主要完成温度的显示工作,在本设计中,用4位共阴LED数码管以动态扫描方式实现温度显示。DSl8B20逻辑结构如图1.3所示,从图1.3可知。DSl8B20内部有两个振荡器电路,分别为低温度系数振荡器和高温度系数振荡器,振荡器电路主要是产生门周期的,为计数器电路提供技术脉冲,在DSl8B20有两个计数器,分别计数门脉冲,当DSl8B20 工作时,低温度系数振荡器就产生门周期,计数器就对这个脉冲进行计数来得到温度值。其中开始时,计数器被预置到对应于55的一个值。计数器

36、开始计数,当计数器在门周期结束前计数为零,则温度寄存器的值增加,表明所测温度大于55,温度寄存器的初值一般也设置为一55所对应的值,这时,计数器就被复位到一个值,这个值是由DSl8B20内部的斜坡式累加器来给出的,斜坡式累加器电路主要是用来弥补温度振荡器所产生门脉冲的抛物线特性的,接着计数器又开始计数直到零,如果门周期此时仍未结束那么将重复以上过程。使用斜坡式累加器来补偿温度振荡器的非线性,主要目的是为了在温度测量时能获得比较高的分辨力,这主要是通过修改计数器对温度每增加一度所需计数的门脉冲的数值来实现的。因此,要想获得较高分辨力,必须同时知道在给定温度下计数器的计数值和每一度的计数值。DSl

37、8B20内部对此计算的结果可提供0.5的分辨力。对获得的温度值。通常以带符号位扩展的二进制补码形式给出,数据长度通常为16比特表l 给出了所需测量的温度值和相应输出数据(以二进制及十六进制形式)之间的对应关系。通常温度数据是以单线接口方式串行传输(即一个比特挨着一个比特输出)。一般情况下,DSl8B20测量温度的范围为-55一+125,以0.5的速度递增。如用于华氏温度,必须要用一个转换因子查找表才可实现。 本系统主程序启动后,先进行整个系统的初始化工作,如设置系统的变量、显示按键用到的输入输出以及处理中断变量等工作。之后初始化DSl8B20,并启动DSl8B20工作,接着将进行温度的采样和显

38、示工作,系统程序主要包括C程序主函数、DSl8B20复位函数、DSl8B20写字节函数、DSl8B20读字节函数、温度计算函数和显示函数等,为了讨论的方便性,这里只给出主函数的程序实现。主函数的主要功能是初始化、负责温度的读出、处理计算及显示。温度测量每2s(或)进行一次,其程序实现如下:main0Disdata=0xff; 初始化端口discan=0xff;for(h=0;h4;h+)displayh=8;开机显示”8888” ow_reset0; 开机先转换一次write_byte(0xcc); Skip ROMwrite_byte(0x44); 发转换命令for(h=0;h500;h+)

39、 此处调节开机显示时间长短scan0; 开机显示”8888”2swhile(1)read_temp0; 读出18B20温度数据work_temp0; 处理温度数据For(h=0;h50;h+) 500 scan0; 开机显示2s图1.3 DS18B20温度测量原理图第二章 系统的设计原理2.1 系统的设计内容利用SPCE061A 单片机、DS18B20 实现多路温度采集,基本要求如下:1.2路温度的实时采集;2.温度通过数码管显示,分手动和自动两种方式:自动状态循环显示各通道温度,每隔2s 切换一个通道;手动方式下只显示被选择的通道温度;3.可以为每一个通道设置独立的报警温度。扩展要求:1.

40、将DS18B20 由2 路扩展到4 路;2. 实现在一条数据总线上挂接多个18B20 器件; 3. 采集的温度可以通过串口发送到上位机,并由上位机显示;4. 可以将采集的温度值进行备份,并通过按键查询。系统设计流程框图如图2.12.1系统流程框图2.2模块设计2.2.1 SPCE061A 简介SPCE061A 是凌阳科技推出的一款16 位具有语音处理nSP 结构的微控制器。SPCE061A 采用Soc 架构, 其内核为凌阳科技自主研发的u nSP 架构内核, 该芯片带有硬件乘法器, 能够实现乘法运算、内积运算等复杂的运算。它不仅运算能力强, 而且处理速度快, 单周期最高可以达到49MHz。内置

41、的专用MIC 接口和双路10bit DAC 使之非常适合于开发语音电子产品, 可方便灵活地实现高品质语音录制、语音播放等功能。SPCE061A 内嵌32K 字的Fla sh 程序存储器以及2K 的SRAM、8 通道10bit ADC、2 路16位定时器、UART 接口、看门狗、时基输出以及电压监测等模块。丰富的外设资源和良好的监控机制使该芯片功能丰富、性能稳定,可作为通用微控制器, 广泛应用于工业控制、家居安防、智能家电等众多领域。在温度数据的采集上, 利用了两个I/O 口连接DS18B20 的数据引脚, 在显示上, 利用了12 个I/O 口实现数码管的动态刷新显示。利用这些特性可以很容易实现

42、温度采集及显示, 而且具有语音处理优势, 可以实现语音报警功能。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准C 语言,可以实现C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件: SPCE061A 片内还集成了一个ICE (在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ICE 接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(nSP IDE )用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。图2.1

43、为SPCE061A 单片机的内部结构框图:图2.1 SPCE061A 内部结构图SPCE061A 性能简介:l 16位nSP 微处理器 l 工作电压(CPU )VDD 为3.03.6V ,(I/O)VDDH 为3.05. 5V l CPU 时钟:0.3249.152MHz l 内置2K字SRAM l 内置32K 字FLASH l 可编程音频处理 l 晶体振荡器 l 系统处于备用状态下(时钟处于停止状态),耗电仅为2uA/3.6V l 2 个16位可编程定时器/ 计数器(可自动预置初始计数值) l 2 个10位DAC (数/ 模转换)输出通道 l 32位通用可编程输入/ 输出通道 l 14个中断

44、源可来自定时器A/B、时基、2 个外部时钟源输入和键唤醒 l 具备触键唤醒的功能 l 使用凌阳音频编码SAC M_S4 80 可以播放压缩的语音资源 l 锁相环PLL 振荡器提供系统时钟信号 l 32768Hz 实时时钟 l 7 通道10位电压模/ 数转换器(ADC)和单通道声音模/ 数转换器 l 声音模/ 数转换器输入通道内置麦克风放大器,并具有自动增益控制(AGC)功能 l 具备串行设备接口 l 具备低电压复位功能和低电压检测功能 l 内置在线仿真电路接口 l 具有WatchDog功能 2.2.2 DS18B20 温度传感器简介 DS18B20 简述: DS18B20是DALLAS公司生产

45、的, DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 技术性能描述 :1独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 2 测温范围 55+125,固有测温分辨率0.5。 3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 4 工作电源:35V/DC。5 在使用中不需要任何外围元件 。6 测量结果以912位数字量方式串行传送。7 不锈钢保护管直径 6

46、。8 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温。 9 标准安装螺纹 M10X1, M12X1.5, G1/2”任选。10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到一起,CPU只需一根数据线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。

47、2.2.3 DS18B20 内部结构 DS18B20 内部结构图 2.2 所示,主要由4 部分组成:64位ROM、温度传感器、温度报警触发器TH和TL、配置寄存器。DS18B20 的管脚排列如图 2.3 所示,DQ为数字信号输入/ 输出端;GND为电源地;VDD为外接供电电源输入端(寄生电源接线方式时接地)图2.2 DS18B20内部结构图图2.3 DS18B20封装形式ROM中的64 位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM排放循环冗余校验码(CRC=X8 X5X41)。ROM的作用是使每一个DS1 8B2

48、0 都各不相同,这样就可以实现一根总线上挂接多个DS18B 20 的目的。DS18B20 中的温度传感器完成对温度的测量,用16 位符号扩展的二进制补码读数形式提供,以0. 0625/LSB 形式表达,其中S 为符号位。例如125 的数字输出为07 D0H,25.0625的数字输出为0 191H ,25.0625的数字输出为FF6FH ,55的数字输出为FC90H 。2.2.4 DS18B20 的工作时序DS18B20 的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。其工作时序包括初始化时序、写时序和读时序,如图 2.4、图 2.5 和图2.6 所示。图2.4初始化时序主机即

49、单片机首先发480u s-960 us 的低电平,进行复位,然后释放总线,之后总线被外部上拉电阻电阻抬高,大约等待1560us 之后,DS18B 20 发出60 到240us 的低电平信号,以示存在,至此初始化结束。图2.5 写操作时序写“0 “的时候,首先单片机发复位信号,然后发“0 ”于是低电平持续60us 就完成了写“0 ”写“1 ”的时候首先单片机发复位信号,持续时间大于1u s 小于15 us 然后发“1 ”持续50us 以上即可。图2.6 读操作时序读时序也是主机先发低电平,然后在15us 内检测连接DS1 8B20 的数据线的引脚,从而读得相应值。2.2.5 DS18B20 与单

50、片机的典型接口可以采用外接电源与寄生电源供电:采用寄生供电如图2.7所示,注意需要将DS1 8B20 的VDD引脚接地。采用外接电源供电如图2.8所示,是较常用的供电方式。寄生电源解释:输出端为近似恒压电源,但是输出的电流是非常小的,可以一定程度上简化电路。寄生电源不是实际的电源器件,而是一种供电方式,即通过数据线供电。当数据线电平为高时,给器件内的电容充电,为低时,电容放电给器件供电。如DS18B20(采用寄生电源时VDD接地)。采用寄生供电,注意需要将DS18B20的VDD引脚接地。采用外接电源供电,是较常用的供电方式。 常见的DS18B20程序多为DS18B20外加+5V电源供电,很少见

51、到有DS18B20寄生供电的程序。有资料说明需有一个I/O口控制一个场效应管进行上拉满足使用。程序编制上只不过一些指令的要求多一点,如输入操作指令0x44;开始转换温度,那么使用寄生电源就需要在转换开始时对I/O口输入500ms以上的高电平,以提供电源;还有一些指令也如此要求(主指需要它进行自行操作的指令:如转换;存储等等)。由于晶振不同,所以具体问题具体分析。图2.7 寄生电源供电图2.8 外接电源供电2.3 系统总体方案介绍系统整体硬件设计如图 2.9 所示,整个系统以SPCE061A 为核心,前向通道包括DS18B20 传感器输入电路,按键输入电路;后向通道包括:LED 显示电路和语音输

52、出电路。图2.9 系统整体框图程序的控制思想: 系统运行后初始化系统变量、按键显示用到的I/O 以及中断等; 之后初始化两路DS18B20 以确认器件的存在; 初始化完成之后, 将进行温度的采样, 并执行温度比较, 如果温度大于35 摄氏度( 初始值为35 ) , 将进行超温语音提示。主程序循环过程中不断的扫描按键, 如果有按键触发将会调用键值处理函数( 系统主程序流程图2.10) 。整个程序包括:1. 主程序文件, 实现系统的初始化, 整个系统的运行控制, 键值的处理和语音处理。2. 数码管显示文件, 包含显示的端口初始化, 显存的刷新, 数码管的闪烁等。3. 按键函数文件, 按键的初始化、

53、扫描及获取键值。4. 语音的API 函数文件, 内含语音播放必须的用户接口函数。5. 中断服务函数文件: 系统的显示刷新、按键扫描、通道的自动6. 切换及语音的解码均通过中断完成。程序设计如图 2.10 所示图2.10系统主程序流程根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行 复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后 释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主

54、CPU收到此信号表示复位成功。表4.1:ROM指令表 指 令约定代码功 能读ROM33H读DS1820温度传感器ROM中的编码(即64位地址)符合 ROM55H发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。搜索 ROM0FOH用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。适用于单片工作。告警搜索命令0ECH执行后只有温度超过设定值上限或下限的片子才做出

55、响应。表4.2:RAM指令表 指 令约定代码功 能温度变换44H启动DS1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节RAM中。读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器48H将RAM中第3 、4字节的内容复制到EEPROM中。重调 EEPROM0B8H将EEPROM中内容恢复到RAM中的第3 、4字节。读供电方式0B4H读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。第三章 系

56、统软硬件设计 3.1 系统的硬件系统的整体硬件电路如所示:以SPCE061A 为核心控制器,包括传感器电路,键盘和显示电路,下面逐个模块介绍:传感器电路DS18B20 采用外电源供电方式,其原理如图 3.1 所示。图3.1 DS18B20工作时电路按键和显示电路按键直接使用61 板自带的按键,其电路如图3.2所示,不需要连接硬件即可使用。图3.2 1*3独立按键电路原理图显示采用6 位数码管的其中4 位(D1、D4D6 )进行动态显示,电路原理如图 3.3 所示。在使用时,将adp 接IOA8IOA1 5 ,DIG1接IOB8,DIG4DIG6 接IOB1113。图3.3 显示电路原理图3.2

57、系统软件设计3.2.1 软件的结构软件结构如图3.4 ,图中可以看出各文件之间的调用关系。main.cKey.asmSys.asmHardware.asmDig.asm Ds18b20_driver.cISR.asm18b20.asm图3.4 结构软件图下面简要介绍一下各个程序文件的功能: main.c 主程序文件,实现系统的初始化,整个系统的运行控制,键值的处理和语音处理。 Dig.asm 数码管显示文件,包含显示的端口初始化,显存的刷新,数码管的闪烁等。 Key.asm 按键函数文件,按键的初始化、扫描及获取键值。 hardware.asm 语音的API 函数文件,内含语音播放必须的用户接

58、口函数。ISR.asm 中断服务函数文件:系统的显示刷新、按键扫描、通道的自动切换及语音的解码均通过中断完成。3.2.2 软件总体设计 程序的控制思想:系统运行后初始化系统变量、按键显示用到的I/O 以及中断等;之后初始化两路DS18B20 以确认器件的存在;初始化完成之后,将进行温度的采样,并执行温度比较,如果温度大于35摄氏度(初始值为35),将进行超温语音提示。主程序循环过程中不断的扫描按键,如果有按键触发将会调用键值处理函数。 图3.5 系统主程序3.3 子程序设计 3.3.1 DS18B20 初始化DS18B20 的初始化时序如图 2.4 所示,SPCE061A 单片机对DS18B2

59、0 的初始化程序流程为:图3.6 DS18B20初始化流程图如果DS18B20 初始化成功,将会返回1 ,否则返回0 。3.3.2 DS18B20 写操作DS18B20 的写操作时序如图 3.5 所示,SPCE061A 单片机对DS18B20 的写操作分为写 1 操作和写0操作,其程序流程如图 3.7 、图 3.8 所示:图3.7 向DS18B20写0程序流程 图3.8 向DS18B20写1程序流程SPCE061A 单片机向DS18B 20 写一个完整字节的程序流程如图 3.9 所示: 图3.9 向DS18B20写一个字节程序流程3.3.3 DS18B20 读操作 读DS18B20 总线的时序

60、如图 3.6 所示,SPCE061A 单片机对DS18B20 的读操作程序流程如图3.10 所示: 图3.10 从DS18B20读一位数据流程SPCE061A 单片机从DS18B2读一个完整字节的程序流程如图3.11所示:(DS1 8B20 数据发送方式,先发送字节低位,再发送字节高位。)图3.11 从DS18B20读一个字节数据流程 3.3.4 DS18B20 采集温度流程如果想从DS18B20传感器获得温度,必须按照下面的流程操作: 图3.12 从DS18B20读一位数据流程本系统中一根数据线上接一个DS18B20 ,所以ROM匹配时采用跳过处理(SKIP),向DS18B20 发送0xcc

61、 命令字即可;然后向DS18B20 写命令字0x 44 启动一次温度转换。转换结束后,DS18B20 将采集到的16 位温度值存储到其ROM的最低两个字节。转换结束后必须对DS18B 20 进行初始化,然后才能通过向DS18B20 写命令字0x be 读取ROM 获取温度结果。温度转换部分的程序如下:F_18B20_Reset(uiChanne l);DS18B20_WriteByte(uiChannel,0xc c ); / 不进行ROM 匹配DS18B20_WriteByte (uiChannel,0x44); / 启动一次温度转换while (F_18B20_Read_DQ(uiChan

62、nel)=0) / 等待转换结束 *P_Watchdog_Clear = 0x0001; F_18B20_Reset(uiChannel);DS18B20_WriteByte(uiChannel,0xc c ); / 不进行ROM 匹配DS18B20_WriteByte(uiChannel,0xbe ); / 读取ROM 命令for(uiTemp=0;uiTe mp2;uiTemp+) Da ta uiTemp = DS18B20_ReadByte(uiChannel); F_18B20_Reset(uiChannel);Data 数组存储温度值, Data 0为温度值的低8 位, Data 1为温度值的高8 位。3.3.5按键处理程序该系统共用到3 个按键KEY1、KEY2 、KEY3。按键用于显示方式的切换以及设置报警温度,其服务程序如图 3.13 所示:图3.13按键处理程序流程按键扫描程序, 该函数被中断服务程序调用F_Key_Scan:_Key_Scan:push r1,r2 to spr2 = P_Key_Data / 获取IO 端口状态r2 &= Key_ALLjnz ? L_ScanKey_Down / 判断当前是否有键按下L_ScanKey_Up:r1 = 1 / 如果按键处于抬起状态则KeyUp 置1KeyUp = r1jmp ? L_Sca

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!