




已阅读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.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 结束语 参考文献 黄石理工学院毕业设计(论文) 2 摘 要 本文主要介绍了利用单片机实现温度控制系统的设计过程,在系统构建时选取了凌阳科技公司提供的一新款产品 SPCE061A 芯片作为该控制系统的核心。 由 PT1000 和电压放大电路提供温度信号 ,通过 PID 算法实现对电炉功率和水温控制 ,使用 SSR 固态继电器作执行部件 ,使系统静态误差降低到最小。本次设计还充分利用 了 SPCE061A 单片成熟的语音处理技术 (具有较高的处理速度 ,能够快速地处理较复杂的数字信号 )和 PC 机的图形处理功能,来实现了语音播报温度和打印温度变化曲线的要求。全文的内容主要包括:水温控制系统的方案设计与论证,系统整体电路、部分电路的设计,以及 SPCE061A 单片机 的特点、性能、结构、开发、应用、语音处理技术,继电器的介绍及串行通信简介等。 关键词 SPCE061A 单片机 ; Pt1000; SSR 黄石理工学院毕业设计(论文) 3 Abstract The main introduction to this text makes use of one-chip computer 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 temperature 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 pronunciation 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 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 SPCE061A one-chip computer; Pt1000; PID; 黄石理工学院毕业设计(论文) 4 引 言 自 70 年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表, 目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。 温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍 然有着较大的差距目前我国在这方面总体技术水平处于 20世纪 80年代中后期水平成熟产品主要以 “ 点位 ” 控制及常规的 PID控制器为主 , 它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制 ,即是说 适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟 , 形成商品化并广泛应用的控制仪表较少备。 温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。由于温度控制具有工况复杂、参数多变、运行惯性大、控制滞后等特点 ,它对控制调节器要求较高。 本文 以 对象为 1升净水,容器为搪瓷器皿的 温度控制系统的设计过程为主, 介绍了利用单片机实现温度控制系统的设计过程,其中涉及系统结构设计、元器件的选取和控制控制算法的选择、和整体电路的设计以及部分电路的设计。在系统构建时选取了凌阳科技公司提供的一新款产品 SPCE061A 芯片作为该控制系统的核心,温度信号由 PT1000 和电压放大电路提供 , 通过 PID 算法实现对电炉功率和水温控制 ,使用 SSR固态继电器作执行部件。 系统设计水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变; 能在 40 摄氏度至 90 摄氏度范围内设定控制水温,静态控制精度为 0.2 摄氏度 ; 具有较好的快速性与较小的超调,以及十进制数码管显示、温度曲线打印等功能。 本文 充分利用了 SPCE061A 单片成熟的语音处理技术 (具有较高的处理速度 ,能够快速地处理较复杂的数字信号 )和 PC 机的图形处理功能,来实现了语音播报温度和打印温黄石理工学院毕业设计(论文) 5 度变化曲线的要求。 1 方案设计与论证 1.1 总体方案设计 经过题目的分析,根据题目要求,现提出以下三种设计方案。 方案一 (框图如图 1) 图 1 一位式模拟控制方案框图 此方案是传统的一位式模拟控 制方案,选用模拟电路,用电位器设定给定值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单,易于实现,但是系统结果的精度不高并且调节动作频繁,系统静差大,不稳定。系统受环境影响大,不能实现复杂的控制算法,难以用数码管显示,难以用键盘设定。 方案 2 (框图如图 2) 此方案是传统的二位式模拟控制方案,其基本思想与方案一相同,但由于采用上下限比较电路,所以控制精度有所提高。这种方法还是模拟控制方式,因此也不能实现复杂的控制算法使精度做得较高,而且仍难以用数码管显示与键盘设定。 图 2 二位式模拟 控制方案框图 黄石理工学院毕业设计(论文) 6 方案 3 (框图如图 3) 图 3 单片机控制方案框图 此方案采用单片机系统来实现。单片机软件编程灵活、自由度大,可用软件编程实现各种控制算法和逻辑控制。单片机系统可用数码管显示水温的实际值,能用键盘输入设定值,并可实现打印功能。本方案可选用 SPCE061A 单片机(内部含有KB的 EEPROM),不需要外扩展存储器可使系统整体结构更为简单。 方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复杂控制规律,控制方案的修改也比较麻烦,而方案三是采用单片机为控制核心的控制系统,尤其 对温度控制,它可达到核心的控制系统,尤其对温度控制,它可达到模拟控制所达不到的控制效果,并且可方便实现数码显示、打印、键盘设定、报警系统所测结果精度大大提高,故经过对三种方案的比较论证,本设计采用方案三,利用单片机按一定的控制算法对采集的温度数据进行处理,得到控制量,以次控制电炉的功率,从而实现对水温的控制 。 1.2 关键部分设计 该系统设计的关键部分是核心部件单片机控制算法和测温部分及功率驱动器件,需要首先确定,这些确定好了,整个控制系统才能达到所预先估计的效果。 1.2.1 驱动控制部分 本 系统是以单片机为控制核心的控制系统,因此单片机的选择尤其重要,根据系统需求,我们设计了两种方案。 黄石理工学院毕业设计(论文) 7 方案一 此方案采用 89C51 单片机实现, MCS-51 系列 单片机是美国 INTE公司于 1980年推出的产品, 该单片机的应用比较广泛,因为其软件编程自由度大,可用编程实现各种控制算法和逻辑控制。但是 89C51 本电路中因为有温度数据采样,所以就需外接模数转换器来满足数据采样,这就要求针对系统的需求,选择合适的 A/D器件,还要根据所选的 A/D器件设计外围电路与单片机的接口电路和编写控制 A/D器件进行数据采 集的单片机程序,这些大大加大了工作量。若要增加语音播报功能,还需要外接语音芯片及接口,加繁了外围电路设备,实现比较复杂。此外 51单片机内部无在线仿真、编程接口,因此就 需要用仿真器来实现软硬件调试,较为繁琐。 方案二 此方案采用 SPCE061A单片机实现。 SPCE061A单片机除具有体积小,集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点外,内置 8路 ADC, 2路 DAC。在实现控制系统中,采用 SPCE061A为前端采集单元,具有较好的同步性和实时性。而且 SPCE061A 单片机内嵌 32K 字闪存 FLASH,处理速度高,集成开发环境中,配有很多语音播报系数,实现语音播报极为方便,另外,比较方便的是该芯片内置在线仿真、编程接口,可以方便实现在线调试,这大大加快了系统的开发与调试。 方案比较及选择 :对两个方案进行比较, SPCE061A 本身的内部结构决定了其内在特性比 89C51的特性更加优越,实现起本文所有的要求更加方便,硬件设计也更加简单。故本设计选用 SPCE061单片机 。 1.2.2 测量部分 任何温控制系统首先要采用温度传感器将温度转化为电信号,因此测温传感器的选择是系统设计必 不可少的考虑问题。本系统的温度传感器我们设计了两种方案。 方案一 用热敏电阻,可满足 40摄氏度至 90摄氏度测量范围,但热敏电阻可靠性差,测量温度准备率低,重复性也较多 ,其阻值温度特性曲线是一条指数曲线,非线性十分严重,实际应用中要进行线性化处理比较复杂 ,对于检测小于 1 摄氏度的信号不使用。 方案二 采用温度传感器铂电阻 Pt1000,由于铂电阻的物理和化学性能在高温和氧化介质中很稳定 ,价格又便宜,常用作工业测量元件。以铂电阻温度计作基准器,此元件线性较好, 黄石理工学院毕业设计(论文) 8 在 0 100摄氏度时,最大非线性偏差小于 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 控制算法确定 控制算法即控制器的操作方式,是控制器对过程变量的实测值与设定值之间的误差信号的响应。 温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多 变、运行惯性大、控制滞后等特点 ,它对控制调节器要求较高。 温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。因此长期以来国内外科技工作者对温度控制器进行了广泛深入的研究,产生了大批温度控制器,如性能成熟应用广泛的 PID调节器、智能控制 PID调节器、自适应控制等 。此处 主要对一些控制器特性进行分析以便选择适合的控制 方法 应用于改造。 ( 1)模糊控制 模糊逻辑控制( FLC)是人工智能领域中形成最早、应用最广的一个重要分支,适用于结构复杂且难以用传统理论建立模型的问题。目前 FLC已经成功地应用 与各种温度控制上。 模糊控制与一般的自动控制的根本区别是,不需要建立精确的数学模型,而是运用模糊理论将人的经验知识、思维推理, 其 控制过程的方法与策略是由所谓模糊控制器来实现。 对于多变量、非线性和时变的大系统,系统的复杂性和控制技术的精确性形成了尖锐的矛盾。 模糊控制对那些难以获得数学模型或模型非常粗糙的工业系统,如那些大滞后、非线性等复杂工业对象实施控制有独特优势,但 静态误差不易控制 .模糊控制偏偏含有大量专家经验 ,实际实现比较困难 ,它绝不可以代替经典的自动控制,而是扩展了一般的自动控制。在一 些实际过程中,人们也常把模糊控制与一般的自动控制结合在一起应用,并且已研制出神经模糊网络的家电产品,将模糊控制技术与人黄石理工学院毕业设计(论文) 9 工神经网络、专家系统等人工智能中一些新技术相结合,向着更高层次的研究和应用发展。 采用模糊控制其优点是不需要粗确知道被控对象的数学模型,而且适用于有较大滞后特性的控制对象。缺点是静态误差不易控制,因含有大量专家经验,实际实现比较困难。 ( 2) PID控制 PID 在温度控制中已使用数十年,是一种成熟的技术,它具有结构简单、易于理解和实现,且一些高级控制都是以 PID 为基础改进的。 PID 具 有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象 “ 一阶滞后纯滞后 ” 与 “ 二阶滞后纯滞后 ” 的控制对象, PID控制器是一种最优控制。 其调节规律是连续系统动态品质校正的一种有效 方 法,它的参数整定方式简便,结构改变灵活( PI、 PD、 )。 图 4 PID控制框图 PID 调节器又称为比例积分微分调节器,它具有比例、积分、微分三种调节作用 。 PID调节器 其动态方程为: u(t)= Kpe(t) + Kie(t)dt + Kd de(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) 黄石理工学院毕业设计(论文) 10 其中 T为采样周期。 可见温度 PID 调 节器有三个可设定参数,即比例放大系数、积分时间常数、微分时间常数。对一个控制系统而言,合理地设置这三个参数可取得较好的控制效果。 在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为微分作用不能单独使用,需要与另外两种调节规律相结合,组成 PD或 PID 控制器。 采用 PID控制其优点是理论和技术都很成熟,在单片机上用软件较易实现,可以达到较小的静态误差,但必须仔细 调整控制参数,才能获得较好的效果。 因题目对静态误差要求较高,故采用 PID控制。参数整定采用试凑法,在系统调试阶段完成。考虑到电炉对水进行加热有较大的滞后性,若采用单一的 PID控制,难以兼顾调节时间和超调量,设定温度突变时,有可能产生振荡或调节时间过长。因此将控温过程分成两段,误差较大时用模糊 控制,接近设定温度时改用 PID控制。 黄石理工学院毕业设计(论文) 11 2 系统硬件设计 该系统设计目的为一实验系统,其控制对象为 1L净水,容器为搪陶瓷皿,加热器为 1千瓦电热炉。系统设计要求: ( 1) 温度在一定范围内可由人工设定,并能 在环境温度降低(例如用电风扇降温)时,实现自动调整,以保持设定温度基本不变。 ( 2)温度设定范围 为 40 90 , 最小区分度为 1 。 静态控制精度为 0.2 摄氏度。 ( 3)能用十进制数码管显示水的实际温度,并用 语音播放水温设置温度。 ( 4)采用适当的控制方法,当设定温度突变(如由 40提高到 60)时,减小系统的调节时间和超调量。 ( 5)在设定温度发生突变(如由 40提高到 60)时,能自动打印水温随时间变化的曲线。 为实现系统设计要求,经过方案设计与论证 ,该系统采用了如下设计方案 : ( 1)采用凌阳十六位 SPCE061A型单片机实现温度控制,能使系统电路简单,可靠性高。 ( 2)由 Pt100 和电压放大电路提供温度信号。 ( 3)通过 PID 算法实现对电炉功率和水温控制。 ( 4)利用凌阳十六位 SPCE061A型单片机的特性来实现 温度数字语音播报 。 ( 5)借助 PC 机图形处理功能进行温度变化曲线的打印。 黄石理工学院毕业设计(论文) 12 2.1 水温控制系统硬件设计总体设计框图及说明 系统的硬件结构较简单,具体结构图如图 5 所示 : 图 5 系统总体设计图 本系统使用 1 升净水作为控制 对象,核心 元件采用凌阳 SPCE061A 单片机,属于凌阳 unSP系列产品的一个 16 位结构的微控制器。在存储器资源方面考虑到了 用户的较少资源的需求以及便于程序调试等功能 , 较高的处理速度使 unSP能够非常容易地、快速地处理复杂的数字信号。 以 Pt100 热电阻为温度传感器,执行部分选择了 SSR 固态继电器来控制热电炉的通过功率。并有键盘设定、语音播放、数据显示、打印电路。具体说明如下: 键盘设定:用于温度设定, 共三个按键 : KEY1、 KEY2、 KEY3。 数据 采集 :将 由传感器及相关电路采集到的温度转为 电压 信号 ,送入SPCE061A 相应接口中, 经 AD 转换后,换算成温度值,用于播报和显示 。 电源电路:提供给单片机各电源引脚电源。 数据显示:采用三位八段数码管显示,设置温度与测量温度,显示小数点后 1位数字。 串行口传输:将采样温度值,上传至 PC 机, 以利用 PC 的图形处理功能来 描绘曲线并打印。 黄石理工学院毕业设计(论文) 13 继电器 /热电炉:通过三极管控制继电器的开关来完成对热电炉的功率控制。 语音播 报 :语音播 报 水温设置温度,并播报整数温度变化。 2.2 单片机系统 单片机系统是整个硬件系统的核心,它既是协调整机工作的控制器,又是 处理数据、系统管理及实现控制算法的处理器。 由于我们采用了 SPCE061A 单片机,其内部已经包含了 32K 字 FLASH ROM 和 2K字 2RAM,因此单片机的最小系统图仅由 SPCEO61A 组成。 本系统采用 SPCE061A芯片作为核心部件, SPCE061A内部带有 8路 ADC和 2路的 DAC,32 个 IO 口,内置 32K 字闪存和 2K 字的静态存储器。用来实现水温控制资源足够使用。 图 6 即为单片机的最小系统组成图,其接线比较简单,在 OSC0、 OSC1 端接上晶振电容,在锁相环压控振荡器的阻容输入 VCP 端接上相应的电容电阻后即 可工作。其他不用的电源端和地端接上 0.1 F的去藕电容提高抗干扰能力。 2.2.1 SPCE061A 单片机概述 随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为控制处理、数据处理以及数字信号处理( DSP, Digital Signal Processing)等领域。凌阳的 16 位单片机就是为适应这种发展而设计的。它的 CPU 内核采用凌阳最新推出的 nSP ( Microcontroller and Signal Processor) 16位微处理器芯片(以下简称 nSP )。围绕 n SP所形成的 16 位 nSP 系列 单片机(以下简称nSP 家族)采 用的是 模块式集成结构 ,它以 nSP内核为中心集成不同规模的ROM、 RAM和功能丰富的各种外设接口部件。 SPACE061A单片机内部结构如图 7所示。其主要功能模块有并行 I/O端口、数/模转换 ADC、数 /模转换 DAC、存储器 RAM&FLASH、定时器 /计数器 T/C(脉宽调制输出 PWM)、 WatchDog、异步串行通信口 UART、指令寄存器 IR、设备串行口 SIO、低电压检测 LVD(低电压复位)等。 黄石理工学院毕业设计(论文) 14 图 6 单片机的最小系统图 图 7 SPACE061A 模块结构图 nSP 内核是一个通用的核结构。除此之外的其它功能模块均为可选结构,亦即这种结构可大可小或可有可无。借助这种通用结构附加可选结构的积木式的构黄石理工学院毕业设计(论文) 15 成,便可形成各种不同系列派生产品,以适合不同的应用场合。这样做无疑会使每一种派生产品具有更强的功能和更低的成本。 2.2.2 SPCE061A 单片机的 硬件 结构 SPCE061A 芯片内部集成了 ICE (在线实时仿真 /除错器 )、 FLASH (闪存 )、SRAM (静态内存 )、通用 I/O 端口、定时器 /计数器、中断控制、 CPU 时钟锁相环 (PLL)、 ADC (模拟数字转换器 )、 DAC (数字模拟转换器 )输出、 UART (通用异步串行输入输出接口 )、 SIO (串行输入输出接口 )、低电压监测 /低电压复位等模块。在本章中我们将详细介绍各个模块的结构及应用。 nSP 的核心由总线、 ALU算术逻辑运算单元、寄存器组、中断系统及堆栈等部分组成。其结构如图 2.1所示。 ALU 算术逻辑运算单元 nSP 的 ALU 非常有特色,除了一般基本的 16 位算术逻辑运算,还提供了结合算术逻辑的 16 位移位运算。在数字信号处理方面,提供了高速的 16 位 1黄石理工学院毕业设计(论文) 16 6 位乘法运算和内积 (乘加 )运算。 1 16 位算术逻辑运算 nSP 与大多数 CPU 一样,提供了基本的算术运算与逻辑操作指令,加法、减法、比较、补码、异或、或、与、测试、写入、读出等 16 位算术逻辑运算及 数据传送操作。 2 结合算术逻辑的 16 位移位运算 nSP 的移位运算包括:算术右移 ASR、逻辑左移 LSL、逻辑右移 LSR、旋转左移 ROL 及旋转右移 ROR。 nSP 的移位器 shifter 就串接在 ALU 的前面,也就是说,操作数在经过移位处理后,马上会进入 ALU 进行算数逻辑运算。所以, nSP 的移位指令都是复合式指令,一个指令会同时完成移位和算术逻辑运算。程序设计者可利用这些复合式的指令,撰写更精简的程序代码,进而增加程序代码密集度 (Code Density)。在微控制器 应用中,如何增加程序代码密集度是非常重要的问题;提高程序代码密集度可以减少程序代码的大小,进而减少 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 项乘积的和, 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 的低字符组,用于存放乘法运算或内积运算结果。 2. 堆栈指针寄存器 SP (Stack Pointer) SP 是用来纪录堆栈地址的寄存器, SP 会指向堆栈的顶端。堆栈是一个先进后出的内存结构, nSP 的堆栈结构是由高地址往低 地址的方向来储存的。 CPU 执行 push、子程序调用 call、以及进入中断服务子程序 (ISR, Interrupt Service Routine) 时,会在堆栈里储存寄存器内容,这时 SP 会递减以反映堆栈用量的增加。当 CPU 执行 pop 时、子程序返回 ret、以及从 ISR 返回 reti 时, SP 会递增以反映堆栈用量的减少。 nSP 堆栈的大小限制在 2K 字的 SRAM 内,即地址黄石理工学院毕业设计(论文) 17 为 0x0000000x0007FF 的内存范围中。 3. 基址指针寄存器 BP (Base Pointer) nSP 提供了一种方便的寻址方式,即基址寻址方式 BP+IM6;程序设计者可通过 BP 来存取 ROM 与 RAM 中的数据,包括:局部变量( Local Variable)、函数参数( FunctionParameter)、返回地址( Return Address)等等。 BP 除了上述用途外,也可做为通用寄存器 R5,用于数据运算传送的来源及目标寄存器。因此,在本书或程序中, BP 与 R5 是共享的,均代表基址指针寄存器。 4. 程序计数器 PC (Program Counter) 它的作用与一般微控制器中的 PC 相同 ,是用来纪录程序目前执行位置的寄存器,以控制程序走向。 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字段在 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 一般用于无符号数运算的进、借位判断。 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),运算结果为正( S=0),且无进位( C=0)发生;在此情况下,负标志黄石理工学院毕业设计(论文) 18 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 一般用于无符号数运算的进、借位判断。 3 N, 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=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 说明有进位产生;若作为有符号数看待,此时: 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=0x黄石理工学院毕业设计(论文) 19 C7C7 R1-=R2 /运算后的标志位为 N=1, Z=0, S=0, C=0, R1=0xB038 作为无符号数看待,此时: C 为 0,说明有借位产生;若作为有符号数看待此时 N!=S 说明有溢出产生; S 为 0 说明运算结果为正。 数据总线和地址总线 nS P是 16 位单片机,它具有 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 与 Offset的配合即可产生 22 位地址,如图 2.1中 ADDRGEN 所示。(注意: SPCE061A 只有 32K字闪存 FLASH,仅占一页存储空间,所以 CS字段和 DS字段在 SPCE061A 用不到,都设为 0 2.2.3 SPCE061A 单片机 的特点极其主要性能 (1) nSP 家族有以下特点 : 体积小、集成度高、可靠性好且易于扩展 nSP 家族把各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。另外,模块化的结构易于系统扩展,以适应不同用户的需求。 具有较强的中断处理能力 nSP 家族的中断系统支持 10 个中断向量及 10余个中断源,适合实时应用领域。 高性能价格比 nSP 家族片内带有高寻址能力的 ROM、静态 RAM和多功能的 I/O 口。另外, nSP 的指令系统提供具有较高运算速度的 16 位 16 位的乘法运算指令和内积运算指令,为其应用增 添了 DSP功能,使得 nSP 家族运黄石理工学院毕业设计(论文) 20 用在复杂的数字信号处理方面既很便利,又比专用的 DSP芯片廉价。 功能强、效率高的指令系统 nSP 指令系统的指令格式紧凑,执行迅速 ,并且其指令结构提供了对高级语言的支持 ,这可以大大缩短产品的开发时间。 (2) SPCE061A 单片机 的主要性能 SPCE061A 是继 nSP系列产品 SPCE500A 等之后凌阳科技推出的又一个 16位结构的微控制器。 具有体积小、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点,内嵌 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(数 -模转换 )输出通道 ; 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 芯片的引脚排列和说明 目前 SPCE061A 有两种封装形式:一种为为 80 个引脚, LQFP80 封装 ; 另一种黄石理工学院毕业设计(论文) 21 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 振荡器输入,采用石英振时,接晶振 OSCO 12 振荡器输出,采用石英振时,接晶振 黄石理工学院毕业设计(论文) 22 RESB 6 复位信号输入,低电平有效 ICE_EN 16 ICE 使能端,接在线调试器 PROBE 的使能脚ICE_EN ICE_CLK 17 ICE 时钟脚,接在线调试器 PROBE 的时钟脚ICE_CLK ICE_SDA 18 ICE 数据脚,接在线调试器 PROBE 的数据脚ICE_SDA PVIN 20 程序保密设定电源输入脚 PFUSE 29 程序保密设定输入脚 DAC1 21 音频输出通道 1 DAC2 22 音频输出通道 2 VREF2 23 2V参考电压输出脚 AGC 25 语音输入自动增益控制引脚 OPI 26 Microphone 第二级运放输入脚 MICOUT 27 Microphone 第一级运放输出脚 MICN 28 Microphone 正向输入脚 MICP 33 Microphone 负想输出脚 VRT 35 A/D转换参考电压输入脚 VCM 34 ADC参考电压输出脚 VMIC 37 Microphone 电源 SLEEP 63 睡眠状态指示,即当 CPU 进入睡眠状态时,输出高电平 VCP 8 锁相环压控振荡器阻容输入端 XROMT PVPP XTEST(61.69.14) 出厂测试管脚,使用时悬空即可 VDDH 51.52.75 I/O 电平参考电压输入端,当输入参考电压为5V/3.3V 时, I/O输入、输出高电平为 5V/3.3V VDD 7 锁相环 PLL电源 黄石理工学院毕业设计(论文) 23 VSS 9 锁相环 PLL地 VSS 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 的相应管脚 , 并可直接通过目标电路板上的 CPU (SPCE061A)来调试并运行用户编制的程序, PROBE 的另一头是标准的 25 针打印机 接口 , 可直接连接到计算机的打印口。它与上位机的通讯可在计算机 IDE 集成开发环境软件包下完成。图 10所示即为是计算机、 PROBE、用户目标板三者之间在线调试时的外围连线接口电路。 图 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外包运输劳务合同范本
- 房产365租房合同范本
- 大件搬运维修合同范本
- 食堂档口合同范本
- 农产品溯源体系在2025年农业产业扶贫中的应用报告
- 图书漂流试题及答案
- 锅炉制造试题及答案
- 写材料短语题目及答案
- 2025年初二函数题库及答案
- 光伏组件技能考试试题及答案
- 第八届全国职工职业技能大赛(网络和信息安全管理员)安徽选拔赛试题及答案
- 无人机装调检修工理论知识考试题及答案
- 湖北省2025届高三(9月)起点考试 语文试卷(含答案)
- 2024重庆机场集团公开招聘57人(高频重点提升专题训练)共500题附带答案详解
- JGJT384-2016 钻芯法检测混凝土强度技术规程
- 七年级英语阅读理解专项练习题及答案
- 食品化学全套教学课件
- 资金拆借合同通用范本
- 闽教版2023版3-6年级全8册英语单词表
- 女性领导的培养和使用
- 染料化学课件
评论
0/150
提交评论