毕业设计(论文)多点温度检测系统的设计_第1页
毕业设计(论文)多点温度检测系统的设计_第2页
毕业设计(论文)多点温度检测系统的设计_第3页
毕业设计(论文)多点温度检测系统的设计_第4页
毕业设计(论文)多点温度检测系统的设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录摘要英文摘要引言1 方案设计与论证 1.1 总体方案设计 1.2 关键部分设计 1.2.1 驱动控制部分 1.2.2 测量部分1.2.3 控制算法确定2 系统硬件设计 2.1水温控制系统硬件设计总体设计框图及说明 2.2 单片机系统 2.2.1 spce061a单片机概述 2.2.2 spce061a单片机 2.2.2 spce061a单片机的硬件结构 2.2.3 spce061a单片机的特点极其主要性能 2.2.4 spce061a芯片的引脚排列和说明 2.2.5 spce061a 的开发与应用 2.3 部分外围电路设计及分析2.3.1 键盘设置电路2.2.2 测温部分电路2.3.3

2、热电炉控制电路2.3.4 电源电路2.3.5 数码显示电路2.3.6 音频输出电路3 系统软件设计 3.1 pid算法的实现4 系统调试与参数整定 4.1 继电器重要指标参数确定 4.2 继电器测试 4.3 pid参数整定5 结果分析 5.1 测试环境 5.2 测试方法及结果分析 5.2.1测试方法 5.2.2测试结果及分析6 结束语参考文献摘 要 本文主要介绍了利用单片机实现温度控制系统的设计过程,在系统构建时选取了凌阳科技公司提供的一新款产品spce061a芯片作为该控制系统的核心。由pt1000和电压放大电路提供温度信号,通过pid算法实现对电炉功率和水温控制,使用ssr固态继电器作执行

3、部件,使系统静态误差降低到最小。本次设计还充分利用了spce061a单片成熟的语音处理技术(具有较高的处理速度,能够快速地处理较复杂的数字信号)和pc机的图形处理功能,来实现了语音播报温度和打印温度变化曲线的要求。全文的内容主要包括:水温控制系统的方案设计与论证,系统整体电路、部分电路的设计,以及spce061a单片机的特点、性能、结构、开发、应用、语音处理技术,继电器的介绍及串行通信简介等。 关键词 spce061a单片机;pt1000; ssrabstract the main introduction to this text makes use of one-chip computer

4、 to realize the software design process of the control system of temperature, have chosen the core as this control system of a new style products spce061a chip that the open scientific & technical corporation offers of insulting when the system is structured. amplified the circuit and offered the te

5、mperature signal by pt1000 and voltage, realize through pid algorithm that controls the power and temperature of electric stove , use ssr solid state relay to carry out the part , make the static error of the system reduce to minimumly . this design has also fully utilized a slice of ripe pronunciat

6、ion treatment technology of spce061a form (have higher processing speeds, can deal with more complicated digital signal fast ) graph processing function of and the pc , to realize the pronunciation report temperature and type the demand for changing the curve of temperature. the content of the full

7、text includes mainly: the hardware system of the control system of the temperature is designed, the software system is designed, the characteristic , performance , structure , development , application , order parameter and pronunciation treatment technology of spce061a one-chip computer.keywords sp

8、ce061a one-chip computer; pt1000; pid;引 言自70年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍然有着较大的差距目前

9、我国在这方面总体技术水平处于20世纪80年代中后期水平成熟产品主要以“点位”控制及常规的pid控制器为主,它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制,即是说适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少备。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。由于温度控制具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。 本文以对象为1升净水,容器为搪瓷器皿的温度控制系统的设计过程为主,介绍了利用单片机实现温度控制系统的设计过程,其中涉

10、及系统结构设计、元器件的选取和控制控制算法的选择、和整体电路的设计以及部分电路的设计。在系统构建时选取了凌阳科技公司提供的一新款产品spce061a芯片作为该控制系统的核心,温度信号由pt1000和电压放大电路提供,通过pid算法实现对电炉功率和水温控制,使用ssr固态继电器作执行部件。系统设计水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变;能在40摄氏度至90摄氏度范围内设定控制水温,静态控制精度为0.2摄氏度;具有较好的快速性与较小的超调,以及十进制数码管显示、温度曲线打印等功能。本文充分利用了spce061a单片成熟的语音处理技术(具有较高的处

11、理速度,能够快速地处理较复杂的数字信号)和pc机的图形处理功能,来实现了语音播报温度和打印温度变化曲线的要求。1 方案设计与论证1.1 总体方案设计经过题目的分析,根据题目要求,现提出以下三种设计方案。 方案一 (框图如图1)图1 一位式模拟控制方案框图此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定给定值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单,易于实现,但是系统结果的精度不高并且调节动作频繁,系统静差大,不稳定。系统受环境影响大,不能实现复杂的控制算法,难以用数码管显示,难以用键盘设定。方案2 (框图如图2)此方案是传统的二位式模拟控制方案,其基本思想与

12、方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。这种方法还是模拟控制方式,因此也不能实现复杂的控制算法使精度做得较高,而且仍难以用数码管显示与键盘设定。图2 二位式模拟控制方案框图方案3 (框图如图3)图3 单片机控制方案框图 此方案采用单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。单片机系统可用数码管显示水温的实际值,能用键盘输入设定值,并可实现打印功能。本方案可选用spce061a单片机(内部含有kb的eeprom),不需要外扩展存储器可使系统整体结构更为简单。方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制

13、方案的修改也比较麻烦,而方案三是采用单片机为控制核心的控制系统,尤其对温度控制,它可达到核心的控制系统,尤其对温度控制,它可达到模拟控制所达不到的控制效果,并且可方便实现数码显示、打印、键盘设定、报警系统所测结果精度大大提高,故经过对三种方案的比较论证,本设计采用方案三,利用单片机按一定的控制算法对采集的温度数据进行处理,得到控制量,以次控制电炉的功率,从而实现对水温的控制。1.2 关键部分设计该系统设计的关键部分是核心部件单片机控制算法和测温部分及功率驱动器件,需要首先确定,这些确定好了,整个控制系统才能达到所预先估计的效果。1.2.1 驱动控制部分 本系统是以单片机为控制核心的控制系统,因

14、此单片机的选择尤其重要,根据系统需求,我们设计了两种方案。 方案一 此方案采用89c51单片机实现, mcs-51系列单片机是美国inte公司于1980年推出的产品,该单片机的应用比较广泛,因为其软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是89c51本电路中因为有温度数据采样,所以就需外接模数转换器来满足数据采样,这就要求针对系统的需求,选择合适的a/d器件,还要根据所选的a/d器件设计外围电路与单片机的接口电路和编写控制a/d器件进行数据采集的单片机程序,这些大大加大了工作量。若要增加语音播报功能,还需要外接语音芯片及接口,加繁了外围电路设备,实现比较复杂。此外51单片机内部无

15、在线仿真、编程接口,因此就需要用仿真器来实现软硬件调试,较为繁琐。 方案二 此方案采用spce061a单片机实现。spce061a单片机除具有体积小,集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点外,内置8路adc,2路dac。在实现控制系统中,采用spce061a为前端采集单元,具有较好的同步性和实时性。而且spce061a单片机内嵌32k字闪存flash,处理速度高,集成开发环境中,配有很多语音播报系数,实现语音播报极为方便,另外,比较方便的是该芯片内置在线仿真、编程接口,可以方便实现在线调试,这大大加快了系统的开发与调试。方案比较及选择:对两个方案进行比较,spce0

16、61a本身的内部结构决定了其内在特性比89c51的特性更加优越,实现起本文所有的要求更加方便,硬件设计也更加简单。故本设计选用spce061单片机。1.2.2 测量部分 任何温控制系统首先要采用温度传感器将温度转化为电信号,因此测温传感器的选择是系统设计必不可少的考虑问题。本系统的温度传感器我们设计了两种方案。方案一 用热敏电阻,可满足40摄氏度至90摄氏度测量范围,但热敏电阻可靠性差,测量温度准备率低,重复性也较多,其阻值温度特性曲线是一条指数曲线,非线性十分严重,实际应用中要进行线性化处理比较复杂,对于检测小于1摄氏度的信号不使用。方案二 采用温度传感器铂电阻pt1000,由于铂电阻的物理

17、和化学性能在高温和氧化介质中很稳定,价格又便宜,常用作工业测量元件。以铂电阻温度计作基准器,此元件线性较好,在0100摄氏度时,最大非线性偏差小于0.5摄氏度。 铂热电阻与温度关系式为:rt=r0(1+at+bt*t)其中:rt:温度为t摄氏度时的电阻;r0:温度为0摄氏度时的电阻;t:任意温度;a、b:温度系数 a=3.94*102/ b=-5.84*10-7/ 经过比较最终我们选择铂电阻pt1000做为本系统的温度传感器。1.2.3 控制算法确定控制算法即控制器的操作方式,是控制器对过程变量的实测值与设定值之间的误差信号的响应。温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多变、

18、运行惯性大、控制滞后等特点,它对控制调节器要求较高。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。因此长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的pid调节器、智能控制pid调节器、自适应控制等。此处主要对一些控制器特性进行分析以便选择适合的控制方法应用于改造。 (1)模糊控制 模糊逻辑控制(flc)是人工智能领域中形成最早、应用最广的一个重要分支,适用于结构复杂且难以用传统理论建立模型的问题。目前flc已经成功地应用与各种温度控制上。 模糊控制与一般的自动控制的根本区别是,不需要建立精确的数学模型,而是运用模糊理论将人的经

19、验知识、思维推理,其控制过程的方法与策略是由所谓模糊控制器来实现。对于多变量、非线性和时变的大系统,系统的复杂性和控制技术的精确性形成了尖锐的矛盾。 模糊控制对那些难以获得数学模型或模型非常粗糙的工业系统,如那些大滞后、非线性等复杂工业对象实施控制有独特优势,但静态误差不易控制.模糊控制偏偏含有大量专家经验,实际实现比较困难,它绝不可以代替经典的自动控制,而是扩展了一般的自动控制。在一些实际过程中,人们也常把模糊控制与一般的自动控制结合在一起应用,并且已研制出神经模糊网络的家电产品,将模糊控制技术与人工神经网络、专家系统等人工智能中一些新技术相结合,向着更高层次的研究和应用发展。采用模糊控制其

20、优点是不需要粗确知道被控对象的数学模型,而且适用于有较大滞后特性的控制对象。缺点是静态误差不易控制,因含有大量专家经验,实际实现比较困难。 (2)pid控制pid在温度控制中已使用数十年,是一种成熟的技术,它具有结构简单、易于理解和实现,且一些高级控制都是以pid为基础改进的。pid具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象“一阶滞后纯滞后”与“二阶滞后纯滞后”的控制对象,pid控制器是一种最优控制。其调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活(pi、pd、)。图4 pid控制

21、框图 pid调节器又称为比例积分微分调节器,它具有比例、积分、微分三种调节作用。pid调节器其动态方程为:u(t)= kpe(t) + kie(t)dt + kdde(t)/dt 其中kp-为调节器的比例放大系数 ki-为积分时间常数 kd-为微分时间常数pid调节器的离散化表达式为:u(k)=kpe(k)+kit e(k)+ k d/te(k)-e(k-1)其增量表达形式为:u(k)=u(k)-u(k-1) =kpe(k)-e(k-1)+kite(k)+ k d/te(k)-2k(k-1)+e(k-2)其中t为采样周期。 可见温度pid调节器有三个可设定参数,即比例放大系数、积分时间常数、微

22、分时间常数。对一个控制系统而言,合理地设置这三个参数可取得较好的控制效果。 在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为微分作用不能单独使用,需要与另外两种调节规律相结合,组成pd或pid控制器。 采用pid控制其优点是理论和技术都很成熟,在单片机上用软件较易实现,可以达到较小的静态误差,但必须仔细调整控制参数,才能获得较好的效果。因题目对静态误差要求较高,故采用pid控制。参数整定采用试凑法,在系统调试阶段完成。考虑到电炉对水进行加热有较大的滞后性,若采

23、用单一的pid控制,难以兼顾调节时间和超调量,设定温度突变时,有可能产生振荡或调节时间过长。因此将控温过程分成两段,误差较大时用模糊控制,接近设定温度时改用pid控制。2 系统硬件设计该系统设计目的为一实验系统,其控制对象为1l净水,容器为搪陶瓷皿,加热器为1千瓦电热炉。系统设计要求:(1)温度在一定范围内可由人工设定,并能在环境温度降低(例如用电风扇降温)时,实现自动调整,以保持设定温度基本不变。 (2)温度设定范围为4090,最小区分度为1。静态控制精度为0.2摄氏度。 (3)能用十进制数码管显示水的实际温度,并用语音播放水温设置温度。 (4)采用适当的控制方法,当设定温度突变(如由40提

24、高到60)时,减小系统的调节时间和超调量。 (5)在设定温度发生突变(如由40提高到60)时,能自动打印水温随时间变化的曲线。为实现系统设计要求,经过方案设计与论证,该系统采用了如下设计方案: (1)采用凌阳十六位spce061a型单片机实现温度控制,能使系统电路简单,可靠性高。 (2)由pt100和电压放大电路提供温度信号。(3)通过pid算法实现对电炉功率和水温控制。(4)利用凌阳十六位spce061a型单片机的特性来实现温度数字语音播报。(5)借助pc机图形处理功能进行温度变化曲线的打印。2.1 水温控制系统硬件设计总体设计框图及说明 系统的硬件结构较简单,具体结构图如图5所示:图5 系

25、统总体设计图 本系统使用1升净水作为控制对象,核心元件采用凌阳spce061a单片机,属于凌阳unsp系列产品的一个16位结构的微控制器。在存储器资源方面考虑到了用户的较少资源的需求以及便于程序调试等功能,较高的处理速度使unsp能够非常容易地、快速地处理复杂的数字信号。以pt100热电阻为温度传感器,执行部分选择了ssr固态继电器来控制热电炉的通过功率。并有键盘设定、语音播放、数据显示、打印电路。具体说明如下:键盘设定:用于温度设定,共三个按键:key1、key2、key3。 数据采集:将由传感器及相关电路采集到的温度转为电压信号,送入spce061a相应接口中,经ad转换后,换算成温度值,

26、用于播报和显示。 电源电路:提供给单片机各电源引脚电源。数据显示:采用三位八段数码管显示,设置温度与测量温度,显示小数点后1位数字。串行口传输:将采样温度值,上传至pc机,以利用pc的图形处理功能来描绘曲线并打印。 继电器/热电炉:通过三极管控制继电器的开关来完成对热电炉的功率控制。语音播报:语音播报水温设置温度,并播报整数温度变化。2.2 单片机系统单片机系统是整个硬件系统的核心,它既是协调整机工作的控制器,又是处理数据、系统管理及实现控制算法的处理器。由于我们采用了spce061a单片机,其内部已经包含了32k字flash rom和2k字2ram,因此单片机的最小系统图仅由spceo61a

27、组成。本系统采用spce061a芯片作为核心部件,spce061a内部带有8路adc和2路的dac,32个io口,内置32k字闪存和2k字的静态存储器。用来实现水温控制资源足够使用。图6即为单片机的最小系统组成图,其接线比较简单,在osc0、osc1端接上晶振电容,在锁相环压控振荡器的阻容输入vcp端接上相应的电容电阻后即可工作。其他不用的电源端和地端接上0.1f的去藕电容提高抗干扰能力。2.2.1 spce061a单片机概述 随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理(dsp,digital signal processing)等领域

28、。凌阳的16位单片机就是为适应这种发展而设计的。它的cpu内核采用凌阳最新推出的nsp(microcontroller and signal processor)16位微处理器芯片(以下简称nsp)。围绕nsp所形成的16位nsp系列单片机(以下简称nsp家族)采用的是模块式集成结构,它以nsp内核为中心集成不同规模的rom、ram和功能丰富的各种外设接口部件。 space061a单片机内部结构如图7所示。其主要功能模块有并行i/o端口、数/模转换adc、数/模转换dac、存储器ram&flash、定时器/计数器t/c(脉宽调制输出pwm)、watchdog、异步串行通信口uart、指令寄存器

29、ir、设备串行口sio、低电压检测lvd(低电压复位)等。 图6 单片机的最小系统图图7 space061a模块结构图nsp内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。2.2.2 spce061a单片机的硬件结构spce061a 芯片内部集成了ice (在线实时仿真/除错器)、flash (闪存)、sram (静态内存)、通用i/o 端口、定时器/计数器、中断控制、cpu时钟锁相环(pll)、ad

30、c (模拟数字转换器)、dac (数字模拟转换器)输出、uart (通用异步串行输入输出接口)、sio (串行输入输出接口)、低电压监测/低电压复位等模块。在本章中我们将详细介绍各个模块的结构及应用。 nsp的核心由总线、alu算术逻辑运算单元、寄存器组、中断系统及堆栈等部分组成。其结构如图2.1所示。 alu 算术逻辑运算单元 nsp的alu 非常有特色,除了一般基本的16 位算术逻辑运算,还提供了结合算术逻辑的16 位移位运算。在数字信号处理方面,提供了高速的16 位16 位乘法运算和内积(乘加)运算。1 16 位算术逻辑运算 nsp与大多数cpu 一样,提供了基本的算术运算与逻辑操作指令

31、,加法、减法、比较、补码、异或、或、与、测试、写入、读出等16 位算术逻辑运算及数据传送操作。2 结合算术逻辑的16 位移位运算 nsp的移位运算包括:算术右移asr、逻辑左移lsl、逻辑右移lsr、旋转左移rol 及旋转右移ror。 nsp的移位器shifter 就串接在alu 的前面,也就是说,操作数在经过移位处理后,马上会进入alu 进行算数逻辑运算。所以,nsp的移位指令都是复合式指令,一个指令会同时完成移位和算术逻辑运算。程序设计者可利用这些复合式的指令,撰写更精简的程序代码,进而增加程序代码密集度(code density)。在微控制器应用中,如何增加程序代码密集度是非常重要的问题

32、;提高程序代码密集度可以减少程序代码的大小,进而减少rom 或flash 的需求,以降低系统成本与增加执行效能。3 16 位 16 位的乘法运算和内积(乘加)运算 除了普通的16 位算数逻辑运算指令外,nsp还提供了高速的16 位 16 位乘法运算指令mul, 和16 位内积运算指令muls 。二者都可以用于有符号数相乘(signed signed) 或无符号数与有符号数相乘(unsigned signed)的运算。在nspisa1.1 指令集下,mul 指令只需花费12 个时钟周期,muls 指令花费10n+6 个时钟周期,其中n 为乘加的项数。例如:“mr=r2*r1 ,4”表示求4 项乘

33、积的和,muls指令只需花费46(104+6=46)个时钟周期。这两条指令大大的提升了nsp的数字信号处理能力。寄存器组 nsp cpu 的寄存器组一共有8 个16 位寄存器,可分为通用寄存器和专用寄存器两大类别。通用寄存器包括:r1r4,作为算术逻辑运算的来源及目标寄存器。专用寄存器包括sp、bp、sr、pc,是与cpu 特定用途相关的寄存器。1. 通用寄存器r1r4 (general-purpose registers) 可用于数据运算或传送的来源及目标寄存器。寄存器r4、r3 配对使用,还可组成一个32 位的乘法结果寄存器mr;其中r4 为mr 的高字符组,r3 为mr 的低字符组,用于

34、存放乘法运算或内积运算结果。2. 堆栈指针寄存器sp (stack pointer) sp 是用来纪录堆栈地址的寄存器,sp 会指向堆栈的顶端。堆栈是一个先进后出的内存结构,nsp的堆栈结构是由高地址往低地址的方向来储存的。cpu 执行push、子程序调用call、以及进入中断服务子程序(isr,interrupt service routine) 时,会在堆栈里储存寄存器内容,这时sp 会递减以反映堆栈用量的增加。当cpu 执行pop 时、子程序返回ret、以及从isr 返回reti 时,sp 会递增以反映堆栈用量的减少。nsp堆栈的大小限制在2k 字的sram 内,即地址为0x000000

35、0x0007ff 的内存范围中。3. 基址指针寄存器bp (base pointer) nsp提供了一种方便的寻址方式,即基址寻址方式bp+im6;程序设计者可通过bp 来存取rom 与ram 中的数据,包括:局部变量(local variable)、函数参数(functionparameter)、返回地址(return address)等等。bp 除了上述用途外,也可做为通用寄存器r5,用于数据运算传送的来源及目标寄存器。因此,在本书或程序中,bp 与r5 是共享的,均代表基址指针寄存器。4. 程序计数器pc (program counter) 它的作用与一般微控制器中的pc 相同,是用来纪

36、录程序目前执行位置的寄存器,以控制程序走向。cpu 每执行完一个指令,就会改变pc 的值,使其指向下一条指令的地址。在nsp里,16 位的pc 寄存器与sr 寄存器的cs 字段,共同组成一个22 位的程序代码地址。5. 状态寄存器sr (status pointer) sr内含许多字段,每个字段都有特别的用途,如图2.1所示。其中包含两个6 位的区段选择字段: cs (code segment),ds (data segment),它们可与其它16 位的寄存器结合在一起形成一个22 位的地址,用来寻址4m字容量的内存。spce061a只有32k字的闪存,只占用一页的存储空间,所以cs和ds字段

37、在spce061a中都是设为0。 算数逻辑运算的结果会影响cpu 内的标志(flag),标志的内容可以作为条件判断的依据。nsp有四个1 位的标志: n、z、s、c,即sr 寄存器中间的4 个位(b6b9)。cpu 在执行条件跳转指令时,会先测试这些标志位,以控制程序的流向。这些标志的详细说明如下:1 进位标志c c=0 时表示运算过程中无进位或是有借位情况产生;而c=1 表示运算过程中有进位或是无借位情况产生。在无符号数运算中,16 位可以表示的数值范围是0x00000xffff,即065535。如果运算结果大于65535(0xffff),则标志位c 被置为1。请注意:进位标志c 一般用于无

38、符号数运算的进、借位判断。2 零标志z z=0 时表示运算结果不为0,z=1 时表示运算结果为0。3 负标志n 负标志n 是用来判断运算结果的最高位(b15)是否为1。b15=0 则n=0; b15=1则n=1。4 符号标志s s=0 时表示运算结果为正数或是0,s=1 时则表示运算结果(在二进制补码的规则下)为负。对于有符号数运算,16 位所能表示的数值范围是0x80000x7fff,即-3276832767。若运算结果小于零,则符号标志s 被置为1。有符号数运算的运算结果可能会大于0x7fff 或小于0x8000。比如:0x7fff+0x7fff=0xfffe(65534),运算结果为正(

39、s=0),且无进位(c=0)发生;在此情况下,负标志n 被置为1(因为最高位为1)。若标志n 与s 不同,则说明了有溢出(overflow)发生,即:s=0,n=1 或s=1,n=0。符号标志s 可用来判断有符号数的正负。而jvc(n=s),jvs(n!=s)则可用来判断溢出。请注意:n,s 的组合用于有符号数溢出的判断。特别需要注意:在运算操作过程中,若目标寄存器是pc,则所有标志位均不会受到影响。总结:1由于补码可以把有符号数与无符号数的运算统一起来,所以对于同一条加法或减法指令,既可以认为是有符号数运算又可以认为是无符号数运算,只是观察的角度、判断的标准不同而已。2进位标志c 一般用于无

40、符号数运算的进、借位判断。3n,s 的组合用于有符号数溢出的判断。4有符号数的范围为-3276832767,无符号数的范围为065535。若为有符号数,运算前数值的正负应利用负标志n 来判断;运算后结果的正负应利用符号标志s来判断。下面我们举几个例子来分析说明标志位例2.1: r1=32767,r2=32767,求二者之和。运算后r1 中的内容为0xfffe。 r1=32767 /设值后的标志位为n=0,z=0,s=0,c=1;r1=0x7fff r2=32767 /设值后的标志位为n=0,z=0,s=0,c=1;r2=0x7fff r1+=r2 /运算后的标志位为n=1,z=0,s=0,c=

41、0;r1=0xfffe 作为无符号数看待,此时:c为0 说明无进位产生;若作为有符号数看待,此时:n!=s 说明计算结果超出有符号数的范围,即产生溢出,另外s为0 说明运算结果不为负例2.2: r1=-12345,r2=-1,求二者之和。运算后r1 中的内容为0xcfc6。 r1=-12345 /设值后的标志位为n=1,z=0,s=0,c=1,此时r1=0xcfc7 r2=-1 /设值后的标志位为n=1,z=0,s=0,c=1,此时r2=0xffff r1+=r2 /运算后的标志位为n=1,z=0,s=1,c=1,此时r1=0xcfc6 作为无符号数看待,此时:c为1 说明有进位产生;若作为有

42、符号数看待,此时:n=s说明无溢出产生,s为1 说明运算结果为负。例2.3:r1=32767,r2=-12345,求二者之差。运算后r1 中的内容为0xb038。 r1=32767 /设值后的标志位为n=0,z=0,s=0,c=1, r1=0x7fff r2=-12345 /设值后的标志位为n=1,z=0,s=0,c=1, r2=0xc7c7 r1-=r2 /运算后的标志位为n=1,z=0,s=0,c=0, r1=0xb038 作为无符号数看待,此时:c为0,说明有借位产生;若作为有符号数看待此时n!=s说明有溢出产生;s为0 说明运算结果为正。数据总线和地址总线 nsp是16 位单片机,它具

43、有16 位的数据线和22 位地址线。由此决定其基本数据类型是16 位的“字”型,而不是8 位的“字节”型;因此内存都是按“字”操作的,22位的地址线最多可寻址到4m 字的内存空间。地址线中的高6 位a16a21 来自sr 寄存器中的6 位的cs 字段或是6 位的ds 字段,低16 位a0a15 则来自内部寄存器。通常,地址线的高6 位称为内存地址的page selector,简称为页码(page);而低16 位则称为内存地址的偏移量(offset)。 nsp通过对区段(segment)的编码来实现内存分页的检索,即是说segment的含义与page的含义是相等的。因而,通过segment与of

44、fset的配合即可产生22 位地址,如图2.1中addrgen所示。(注意: spce061a只有32k字闪存flash,仅占一页存储空间,所以cs字段和ds字段在spce061a用不到,都设为02.2.3 spce061a单片机的特点极其主要性能 (1) nsp家族有以下特点: 体积小、集成度高、可靠性好且易于扩展 nsp家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系统扩展,以适应不同用户的需求。 具有较强的中断处理能力 nsp家族的中断系统支持10个中断向量及10余个中断源,适合实时应用领域。

45、 高性能价格比 nsp家族片内带有高寻址能力的rom、静态ram和多功能的i/o口。另外,nsp的指令系统提供具有较高运算速度的16位16位的乘法运算指令和内积运算指令,为其应用增添了dsp功能,使得nsp家族运用在复杂的数字信号处理方面既很便利,又比专用的dsp芯片廉价。 功能强、效率高的指令系统 nsp指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。 (2) spce061a单片机的主要性能 spce061a是继nsp系列产品spce500a等之后凌阳科技推出的又一个16位结构的微控制器。具有体积小、集成度高、易扩展、可靠性高、功耗低、

46、结构简单、中断处理能力强等特点,内嵌32k字闪存flash,处理速度高,能够很方便地完成普通单片机的功能,尤其适应于语音播报和识别等应用领域。spce061a单片机的主要性能如下: 16位mnsp微处理器; 工作电压:vdd为2.43.6v(cpu), vddh为2.45.5v(i/o); cpu时钟:32768hz49.152mhz ; 内置2k字sram、内置32k flash; 可编程音频处理; 32位通用可编程输入/输出端口; 32768hz实时时钟,锁相环pll振荡器提供系统时钟信号; 2个16位可编程定时器/计数器(可自动预置初始计数值); 2个10位dac(数-模转换)输出通道;

47、 7通道10位电压模-数转换器(adc)和单通道语音模-数转换器; 声音模-数转换器输入通道内置麦克风放大器自动增益控制(agc)功能; 系统处于备用状态下(时钟处于停止状态)耗电小于2ma3.6v; 14个中断源:定时器a / b,2个外部时钟源输入,时基,键唤醒等; 具备触键唤醒的功能; 使用凌阳音频编码sacm_s240方式(2.4k位/秒),能容纳210秒的语音数据; 具备异步、同步串行设备接口; 具有低电压复位(lvr)功能和低电压监测(lvd)功能; 内置在线仿真电路接口ice(in- circuit emulator); 2.2.4 spce061a芯片的引脚排列和说明 目前sp

48、ce061a有两种封装形式:一种为为80个引脚,lqfp80封装;另一种84个引脚,plcc84封装形式。在本系统中我们用 plcc84封装形式,它的排列如图9所示。图9 space06aplcc84封装引脚排列图 在plcc84封装中,有15个空余脚,用户使用时这15个空余脚悬浮。在lqfp80封装中有9个空余脚,用户使用时这9个空余脚接地。 此处以plcc84封装管脚功能介绍,它共有84个引脚,各引脚功能表如表1所示。表1 管脚描述表管脚名称管脚功能ioa0ioa15 (4148,5360)i/oa口,16个iob0iob15 (51,8176,6864)i/ob口,16个osci 13振

49、荡器输入,采用石英振时,接晶振osco 12振荡器输出,采用石英振时,接晶振res-b 6复位信号输入,低电平有效ice_en 16ice使能端,接在线调试器probe的使能脚ice_enice_clk 17ice时钟脚,接在线调试器probe的时钟脚ice_clkice_sda 18ice数据脚,接在线调试器probe的数据脚ice_sda pvin 20程序保密设定电源输入脚pfuse 29程序保密设定输入脚dac1 21音频输出通道1dac2 22音频输出通道2vref2 232v参考电压输出脚agc 25语音输入自动增益控制引脚opi 26microphone第二级运放输入脚micou

50、t 27microphone第一级运放输出脚micn 28microphone正向输入脚micp 33microphone负想输出脚vrt 35a/d转换参考电压输入脚vcm 34adc参考电压输出脚vmic 37microphone电源sleep 63睡眠状态指示,即当cpu进入睡眠状态时,输出高电平vcp 8锁相环压控振荡器阻容输入端xromt pvpp xtest(61.69.14)出厂测试管脚,使用时悬空即可vddh 51.52.75i/o电平参考电压输入端,当输入参考电压为5v/3.3v时,i/o输入、输出高电平为5v/3.3vvdd 7锁相环pll电源vss 9锁相环pll地vss

51、 19.24模拟信号地vss 38.49.50.62数字信号地vdd 15.36数字信号电源2.2.5 spce061a 的开发与应用其可通过在线调试器probe 来实现。实际上,probe 既是一个编程器(即程序烧写器) ,又是一个实时在线调试器,它可在单片机应用项目的开发过程中替代常用的两种工具:硬件在线实时仿真器和程序烧写器,它利用了spce061 内置的在线仿真电路ice( in - circuit emulator) 和凌阳公司的在线串行编程技术。probe 可工作于凌阳ide 集成开发环境软件包下,其5 芯的仿真头可直接连接到目标电路板上spce061 a 的相应管脚, 并可直接通

52、过目标电路板上的cpu (spce061a)来调试并运行用户编制的程序,probe 的另一头是标准的25 针打印机接口, 可直接连接到计算机的打印口。它与上位机的通讯可在计算机ide 集成开发环境软件包下完成。图10所示即为是计算机、probe、用户目标板三者之间在线调试时的外围连线接口电路。图10 用户目标版、probe、计算机三者之间的连接图2.3 部分外围电路设计及分析2.3.1 键盘设置电路key1、key2、key3为spce061a单片机的扩展键,分别接ioa0、ioa1、ioa2口。图11 键盘电路图 key1:设置温度的十位数;0-9 key2:设置温度的个位数;09key3:

53、 工作模式选择键,共有三种工作模式:正常工作状态、温度重新设置、语音播报设置。系统电源开启后,数码管全部显示为零,根据按key1次数,十位的数码管依顺序逐次增加。同样key2,也如此。按key3后,系统开始测温,并与采集的温度进行比较,通过软件来控制电炉的开关。同时语音播报变化的整数值温度。2.3.2 测温部分电路 测量温度传感器的选择是设计时首要考虑的问题,根据题目要求,需要进行常温区的温度测量。为了减少干扰,温度传感器选用pt电阻,运放采用ht9274集成芯片。整个数据采集部分电路图如图12所示。该电路的工作原理为:随着电热炉的炉丝温度变化,水受其热温度发生变化,于是温度传感器pt1000

54、的阻值随水温的变化而变化,此信号变化通过测量放大器ht9274以及右测量放大器组成的负反馈非线性补偿电路,把阻值的较小变化转化为1v5v的标准电压信号,既是将温度变化转变为电压变化。 pt型铂热电阻的测温精度高、稳定性好,是-200+650温度范围内应用很广的一种电阻型温度传感器。pt电阻在0摄氏度时,阻值为1千欧姆,在100摄氏度时,阻值为1380欧姆,则表示阻值变换从01380欧姆,电压从0v3.3v。 因为pt电阻中电流基本为12ma,则pt电阻电压就在0380mv波动。因此采用10倍电压放大。基本满足spce061a数模转换。图12 测温电路 ht9274集成四个运算放大器。由单电源供电,工作电压为1.6v5.5v。ht9274 利用标准 cmos 制程,提供与 lm324 、tl274 及 wt274 等相似产品完全兼容的接脚。

温馨提示

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

评论

0/150

提交评论