视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
温度监控系统的设计(软件设计)
2025-09-29 05:15:35 责编:小OO
文档
温度监控系统的设计

                          ——系统的软件设计

                          

指导老师:** 老师

摘  要

随着科技的发展,相较于很多年以前人们对于自己生活的需求也发生了戏剧性的改变。而监控系统恰恰迎合了人们的这一需要。在众多先进测量控制技术中,由于单片微处理器的性能日益提高、价格又不断降低,使其性能价格比的优势非常明显并且我们知道利用MATLAB可以方便地进行仿真整定PID参数。本文介绍一个以单片机为核心的温度监控系统,主要包括控制算法的仿真分析(用MATLAB)和软件编程(用C51),它是利用传感器采集温度信号, 温度信号经放大电路放大、A/D转换后送到单片机中,并将温度值显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出控制量,然后将控制量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。

本人主要负责系统的软件设计,在软件设计过程中,我们尽可能使其功能化、模块化、尽量采用子程序调用的方法。

【关键字】单片机;温度监控系统;PID控制算法;MATLAB;软件设计(C51)。

Abstract

With the increasing pace of science and technology, perhaps no change has characteristic the past decades more dramatic than that of people’s demands of their own life. Supervision and monitoring system meet the requirements of them. In these numerous advanced measurement and control technology, because of the enhanced performance and reduced price of MCU, making the advantage that its ratio of performance to price been obvious and as we know MATLAB is easy to simulate the setting of PID parameter. This text, which comprised by the simulation and analysis of control algorithms (using MATLAB) and the program of software (using C51), introduces a temperature monitor whose core is a MCU. It gathers the temperature signal and amplifies it by an amplifier circuit microcomputer. Simultaneity sends it into the MCU after A/D conversion. Then show it on in the LED. The single chip compares it with the temperature, which  realizes by the keyboard and give control measure according to the control strategy. In the end, the MCU sends control measure to drive circuit in order to drive the heating installation and warning device. And a closed system is formed.

  I am mainly responsible for the software design of the system .In process of the software design; we make its function, modularization and use subroutine as far as possible. 

KEYWORDS: MCU; temperature monitor system; The control algorithm of PID;MATLAB; software design(C51).

目  录

引  言    3

1 系统概述    4

1.1系统功能描述    4

1.2 系统的框图    4

2 、PID控制与MATLAB仿真    5

2.1 PID控制    5

2.1.1 PID控制的优点    5

2.1.2 数字PID    5

2.1.3 凑试法确定PID参数    5

2.1.4 电炉传递函数    6

2.1.5 PID控制框图    7

2.2 MATLAB仿真    7

2.2.1 Simulink模型的建立    8

2.2.2 PID 的MATLAB编程实现    9

3 、硬件概述    10

3.1 硬件电路概述    10

3.2 ATC51端口定义    11

3.3 模数转换模块    11

3.4键盘模块    12

3.5显示模块    13

4、 软件设计    14

4.1 单片机编程语言的选择    14

4.1.1 汇编语言    14

4.1.2  C语言    14

4.2 软件总体结构图    15

4.2.1系统初始化    15

4.2.2主程序模块软件设计    15

4.3 A/D模块软件设计    16

4.4 键盘模块软件设计    16

4.5 报警模块软件设计    18

4.6 采样、PID校正及PWM     输出模块软件设计    19

4.7 显示模块软件设计    20

5、 系统调试与总结    21

5.1 系统调试    21

5.2程序链接    22

5.3总结    24

5.4英文及翻译链接    24

参考文献    25

鸣  谢    26

引  言

随着电子技术和微电子技术的发展,微型计算机发展也越来越快。单片机作为计算机的一个独特分支,打破了微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小、功能强、性价比高等优点被广泛应用于诸多领域。单片机在一块芯片上集成CPU, ROM, RAM、I/0接口,定时器/计数器和中断系统等功能部件,构成一个完整的微型计算机。由于单片机体积小、重量轻、噪声低、可靠性高,具有很强的灵活性,而且价格便宜,抗干扰能力强,开发效率高,易于产品化, 它的应用已深入到工业、农业、国防、科研以及日常生活用品(家电、玩具)等各种领域;温度是工业生产和科学实验中的重要参数之一,它已广泛应用于化工、冶金、医药、航空等领域里,对温度的控制效果直接影响到许多产品的质量及使用寿命,因此温度控制成为各个领域中的一项关键技术;本系统研究的即是一个以单片机为核心的温度监控系统,包括控制算法的仿真分析(用MATLAB)和软件编程(用C51),利用Keil和Protues软件进行联合仿真,并最终达到对温度信号进行监测和控制的目的。 

1 系统概述

1.1系统功能描述

本系统即是一个以单片机为核心的温度监控系统,利用传感器采集温度信号, 温度信号经放大电路放大、A/D转换后送到单片机中,并将其显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出PWM输出量,然后将输出量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。

1.2 系统的框图 

本系统框图如图1-1所示:

2 、PID控制与MATLAB仿真

2.1 PID控制

2.1.1 PID控制的优点

PID控制是历史最悠久、生命力最强的一种控制方法。上世纪40年代前,除了在最极端的情况下可使用开关控制以外,他是唯一的控制方式。随着科技的不断进步尤其是计算机技术的迅速发展,又涌现出很多新的控制方法。然而,PID控制却没有因此而略显逊色。迄今为止,它仍是应用最广泛的基本控制方式。

PID控制是比例微分和积分控制的简称,它具有如下的几个优点:

(1)原理简单,使用方便;

(2)适应性强,可广泛应用于热工,造纸等各种生产部门;

(3)鲁棒性强(也即其控制品质对被控对象特性参数的变化不敏感)。

2.1.2 数字PID

用计算机进行PID控制时,因计算机仅能处理离散信号,故而必须把PID控制算法变换成计算机能实现的形式,即数字PID:

2.1.3 凑试法确定PID参数

增大比例系数一般将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。

增大积分时间有利于减小超调,减小振荡,使系统更加稳定,但静差的消除将随之减慢。

增大微分时间有利于加快系统响应,使超调量减小,稳定性增强,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。

在凑试时,可以参考以上参数对过程的影响趋势,对参数进行先比例、后微分,再积分的整定步骤。

首先,只整定比例部分。即将比例系数由小到大,并观察相应的系统响应,直到得到响应快、超调小的响应曲线。

如果在比例调节的基础上系统的静差不能满足设计要求,则需要加入积分环节。整定时首先设置积分时间为一较大值,并将前面整定得到的比例系数略微减小,然后减小积分时间,使在保持系统良好的动态性能的情况下,静差得到消除。

若使用比例积分调节器消除了静差,但动态过程反复调整仍不满意,可加入微分环节,构成比例积分微分调节器,在整定时,可先置微分时间为零,在第二步整定的基础上,增大微分时间,同时相应地改变比例系数和积分时间,逐步凑试,以得到满意的调节效果和控制参数。

2.1.4 电炉传递函数

要实现对系统进行MATLAB仿真,首先要建立电炉数学模型。常见的电炉模型是一阶惯性延时环节,在本次MATLAB仿真中用的就是此环节,如下示:

2.1.5 PID控制框图

2.2 MATLAB仿真

在计算仿真中,采用C语言实现,算法复杂,编程量大。而MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。作为强大的科学计算平台,它几乎能满足所有的计算需要。在科研院所、大型公司、或企业的工程计算部门,MATLAB也是最为普遍的计算工具之一。用MATLAB实现PID参数控制器的参数整定,实现方法容易,程序简洁,可读性强加之强大的绘图功能使得整个结果更加清楚明了有助于读者的理解。

   MATLAB与其它软件相比具有如下的优势和特点:

(1)友好的工作平台和编程环境:

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交换更强。操作更简单。

(2)强大的科学计算及数据处理能力

MATLAB拥有600多个工程中用到的数算函数,可以方便地实现用户所需要的各种计算功能.

(3)出色的图形处理功能

MATALB自产生之日起就具有方便的数据可视化功能,同样表现出强大的数据处理能力,同时对一些特殊的可视化要求,例如图形动画。

(4)模块化的设计和系统的仿真

    Simulink是MATLAB的一个分之产品,主要用来实现对工程的模型化和动态仿真。由于Simulink提供了用方框图进行建模的接口,使得用Simulink建模 就像用笔在纸上画图一样。它与传统的软件包相比具有直观、方便、灵活的优点。

2.2.1 Simulink模型的建立

U作为输出,设计反馈回路将U(即电炉当前温度)与设定温度值进行比较,然后通过PID控制器对偏差e进行控制,使电炉温度接近设定温度值。将加PID控制器后的电炉温度值通过示波器输出,作为仿真结果,以判断控制的好坏。 

    对PID参数按上述凑试法进行整定,当Kp=0.9;Ki=0.001;Kd=0.1时,得到最佳控制结果,仿真结果如下图2-1所示:

图2-1

2.2.2 PID 的MATLAB编程实现 

整定PID的M函数如下示:

function u=PID (e, t)

persistent e_1 e_I

T=1;

Kp=0.6;

Ki=0.001;

Kd=0.1;

if (t==0)

    e_1=0;

    e_I=0;

end

e_I=e_I+e;

e_D= (e-e_1)/T;

u=Kp*e+Ki*e_I+Kd*e_D;

e_1=e;

    这是数字PID里的位置式PID控制算法,常见的数字PID还有:梯形积分式PID控制、积分分离式PID控制、增量式PID控制等。

    通过以上Simulink的仿真,整定出数字PID在采样周期为1秒时的3个最佳参数,Kp=0.9;Ki=0.001;Kd=0.1。以下内容即为利用这组参数而进行的基于单片机的温度监控系统的设计。

3 、硬件概述

3.1 硬件电路概述

硬件电路包括:单片机(ATC51)、信号的模数转换(ADC0808)、键盘电路(中断方式)、显示电路(74LS47译码兼驱动)、µP监控电路(MAX813)、报警电路(NE555)和加热电路等,由于是硬件仿真图,故后三者省略。整体图如下3-1示:

3.2 ATC51端口定义

本系统的单片机选用的是ATC51芯片,ATC51芯片是一种低损耗、高性能、CMOS八位微处理器,片内有8K字节在线可重复编程快擦快写程序存储器。图 3-2为其PDIP封装的管脚排列图 下面将概述其部分管脚功能:

⑴ P0口(39-32):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用;本设计中用于传输AD数据。

⑵ P1口(1-8):准双向通用I/O口;本口用于键盘输入(P1.3—SET,P1.4—ADD,P1.5--SUB),启动555(P1.2)以及改变555的频率(P1.6)。P1.7口喂狗。P1.0,P1.1没有用到。

⑶ P2口(21-28):准双向口,既可作地址总线口输出地址高8 位,也可作普通I/O用;此口用于LED显示,P2.5、P2.6、P2.7分别用于LED个、十、百位的片选;P2.0—P2.3接74LS47的ABCD用于译码。P2.4口没用。

4P3口(10-17):多用途端口,既可作普通I/O口用,也可按每位定义的第二功能操作;P3.0接PWM输出驱动电路;ADC0808的模数转换结束后EOC经过一反相器将转换结束信号送入P3.2口,C51产生中断,进而通过P0口开始读数据;P3.3外部中断1,接键盘中断;P3.5定时器1为ADC0808提供时钟;P3.6写信号,送出一个下降沿,经反相器后启动AD;P3.7读信号,经反相器后接ADC0808的读允许;P3.1,P3.4不接。

5RST:复位信号输入端,高电平有效;看门狗复位。

6EA/Vpp:内部和外部程序存储器选择线。

3.3 模数转换模块 

输入电路通过温度传感器采集温度信号,经滤波、隔离、放大处理后,得到是一个模拟电压信号。这一模拟信号通过A/D转换器把它转化为数字信号,进而让CPU对其进行处理和控制。我们选用了以下器件:模数转换器(ADC0808)、或非门2个(74LS02)、非门1个。

ADC0809是逐次逼近型的A/D转换芯片,它具有较高的转换速度和精度,受温度影响较小,能较长时间保证精度,重现性好,功耗低,具有8通道模拟开关,而且具有TTL三态输出易于单片机接口,所以它是用于过程控制比较理想的器件。因此,我们选用了ADC0808。

硬件电路设计如图3-3所示:ADDC、ADDB、ADDA接高电平,这样只要ALE端有高电平出现,就会把IN7选中。启动信号START由P2.0结合/WR提供,地址锁存信号ALE与START连接, 所以,在单片机执行写操作同时P2.0为低电平,便可启动转换。转换结束信号EOC经过非门与单片机的IN7连接,当转换结束时,EOC上的高电平经非门取反后,便可向单片机请求中断;输出允许信号OE由P2.0结合/RD产生,在执行读操作同时P2.0为低电平时,便可读取转换后的数字量。由此可见,启动转换和读取数字量占用同一地址,我们将这个地址设为0000H。

ADC0808的时钟频率范围为10~1280KHZ,我们的CPU使用的是12MHZ的晶振,那么CPU执行一条指令的频率为12MHZ/12=1MHZ,所以,其指令周期为10-6s,又知定时器1为AD提供CLK,其初值为0FEH,到100H须执行两条指令,所以,取反一次就是四条指令,即4×10-6s。而ADC0808把模拟量转化为数字量需要个时钟周期,所以ADC0808的时钟频率为250KHZ/»1HZ(CPU1秒钟取1次数),完全满足要求。

3.4键盘模块

按照键盘与CPU与键盘的连接方式可以分为式和矩阵式键盘。式键盘是各个按键相互,每个键盘占用一个I/O口,各个I/O口上的按键不会相互影响。在使用较多键盘时,占用的I/O口过多,这样会浪费I/O口线,而且电路结构也显得复杂;矩阵式键盘有行线和列线组成,按键设置在行列结构的交叉点,行列线分别连在按键开关的两端。列线通过上拉电阻接至正电源,以使无键按下时列线处于高电平状态。      

硬件电路设计如图3-4所示:

单片机的P1.3,P1.4,P1.5口分别与“SET”键,“+”键,“-”键三个键相连接,键的左端均接地,右端通过上拉电阻接至5V 电压,通过一个三输入的与门接至单片机的INT1。这样在没有键按下时,三个I/O口都是高电平,当有键按下时,不仅会使某个I/O口的输入为低电平,而且会通过与门给INT7端输入低电平,从而产生中断。

3.5显示模块

LED数码管是最常用的显示器件之一。LED显示器是由发光二极管显示字段组成的,它有共阴极和共阳极两种连接方式。LED显示方法有两种:动态显示和静态显示。动态显示是CPU对显示器件进行动态地扫描,显示器件分时工作,每次只能有一个显示。但由于人视觉的占留现象,所以,仍觉得器件都在显示;动态显示是CPU只一次输出显示数据后,就能保持数据一直在显示,直到下一次刷新显示数据。比较两种显示方式,前者占用机时长,一旦CPU不执行显示程序,就立刻停止显示;后者占用机时少,并且可靠性好。通常静态显示电路使用元件多,线路复杂,但是现已出现功能比较强大的显示驱动器,使线路显得也比较简单。

本系统显示模块选用的器件如下:显示驱动译码器是74LS47(动态显示)、共阳极LED数码管显示器。接法见右图3-5。

4、 软件设计

一个成熟的单片机应用系统是由软硬件结合而成的,二者相辅相成,缺一不可。可以这样形容软件和硬件之间的关系,硬件是系统的“载体”,而软件是使“载体”产生动力的发电机。所以硬件要在软件的配合下才能完成预先确定要实

现的各种功能,本章主要阐述系统的软件设计。

4.1 单片机编程语言的选择

对于单片机,特别是8位51系列单片机,有两类编程语言支持:即低级语言和高级语言。低级语言即指汇编语言,高级语言有C和PL/M。

4.1.1 汇编语言

汇编语言是面向硬件的低级语言,它有着面向硬件的低级语言的一般优点

⑴ 占用内存单元少,占用CPU资源少;

⑵ 代码效率高,程序执行速度快;

⑶ 可直接对硬件进行操作;

⑷ 能精确掌握指令的执行时间,适合实时控制场合及对时间精度要求高的场合。

但也有它的缺点:

⑴ 不是结构化程序设计语言;

    ⑵ 编写较难,编写效率低,不适合开发复杂的大型项目;

    ⑶ 调试较难;

⑷ 由于完全面向硬件,故可移植性很差。

4.1.2  C语言

C语言是一种编译型程序设计语言,它有如下特点:

⑴ 具有完善的模块程序结构,可以进行模块化程序设计;

⑵ 兼顾了多种高级语言的特点,并具备汇编语言的功能,可以直接面向单片机的硬件编程

⑶ 可读性好,可靠性高,代码转换质量较高;

⑷ 程序编制效率高、周期短。

对于本系统,由于C语言优于汇编语言,所以我们选择C语言中C51作为

编制系统软件的编程语言。

4.2 软件总体结构图

本系统的软件设计过程中,我们尽可能使其功能化、模块化、尽量采用子程序调用的方法。其软件设计包括系统初始化、主程序模块、A/D模块、键盘模块、显示模块、报警模块和加热模块。

4.2.1系统初始化

  本系统的初始化包括定义头文件和各个输入管脚以及初始化全局变量和各标志位。

4.2.2主程序模块软件设计

本系统的主程序模块包括初始化、A/D转换模块、PID校正值计算、键盘模块、显示模块、加热模块、报警模块。初始化定时器T1为自动重装载的模式并让其无限工作下去,从而为AD提供时钟信号。定时器0每1/127秒中断一次,定时器每中断127次(1秒)为一个采样周期;首先判断有没有到采样时间;到的话再判断温度是否越限;然后判断是否需要PID校正值计算。

主程序流程图如图4-2所示:

4.3 A/D模块软件设计

AD转换的软件设计主要负责:AD地址的初始化、启动转换和转换结束时的数据读取。

为了提高系统的效率,本系统采用中断方式采集温度。在A/D转换结束后,EOC引脚自动变为高电平,通过一个反向器使得外部中断0受到下降沿触发,从而进入外部中断0服务子程序,在中断结束返回主程序前,再次启动A/D转换,进行下一次转换,即可采集到当前比较可靠的温度值。

A/D转换流程图如图4-3所示:

4.4 键盘模块软件设计

⑴ 键盘防抖动措施

键盘实际上是一组按键开关的组合。一般情况下,键盘采用机械弹性开关来反映一个电压信号的开、断。由于机械触点的弹性作用,在闭合和断开瞬间会有抖动发生,抖动时间长短由按键的机械特性决定,一般为5~10ms。为了确保按键不产生误动作,必须消除抖动的影响。否则,一次按键的动作会当作几次按键动作。 对于本系统,我们使用的是软件消抖的方法。 

⑵ 键盘处理控制方式    

CPU对键盘控制主要有三种:程序控制扫描方式,定时扫描控制方式和中断控制方式。第一种方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求;第二种方式是利用定时器/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描并在有键闭合时转入该键的功能子程序;中断控制方式是利用外部中断源,响应键输入信号,当无键按下时,CPU执行正常工作程序。当有键按下时,CPU立即中断,在中断服务子程序中扫描键盘,判断是哪个键被按下,然后执行该键的功能子程序。从这三种控制方式来看,第一种方式占用了太多时间,第二种方式也可能产生空扫描和不能及时响应键输入,同时占用了一个定时器,而第三种方式既能及时的处理键输入,又提高了CPU的运行效率 。为了提高CPU的运行效率,我们采用了中断方式。

⑶ 键盘模块程序设计

键盘模块主要包括三个模块:中断模块、键值处理模块、设置模块(调节设定温度值子模块、调节温度上限子模块、调节温度下限子模块)。

①中断模块:当有键按下时,进入中断服务子程序。此程序中还包括键盘的防抖动处理和判断键值。

② 键值处理模块:当“Set”键按下时,即进入设置状态;当“+”键按下时,即显示最大值;当“-”键按下时,即显示最小值。

键盘模块流程图分别如图4-4所示:

③ 设置模块(如上图4-5示):

调节设定温度子模块:当“+”键按下时,设定值Set_data加1;当“-”键按下时,设定值Set_data减1; 当“Set”键按下时,表示此状态设定完毕,进入设置最大值子模块。

调节温度上限子模块:当“+”键按下时,设定值Max_data加1;当“-”键按下时,设定值Max_data减1; 当“Set”键按下时,表示此状态设定完毕,进入设置最大值子模块。

 调节温度下限子模块:当“+”键按下时,设定值Min_data加1;当“-”键按下时,设定值Min_data减1; 当“Set”键按下时,表示此状态设定完毕,退出设置函数。

4.5 报警模块软件设计

当采集的当前温度值大于温度上限值时,555定时器控制端置0并使P1.6口即F_Chng(改变555频率的口)置1,即发出上限报警声音;

当采集的当前温度值小于温度下限值时,555定时器控制端置0并并使P1.6口即F_Chng(改变555频率的口)置0,即发出下限报警声音;

当采集的温度值介于温度上限值和温度下限值时之间,555定时器控制端置1,不发出任何声音。报警模块程序流程图如图4-6所示:

4.6 采样、PID校正及PWM     输出模块软件设计

在实际应用中,可选用的控制算法很多,但最常用的仍然是数字PID算法。最优控制理论已证明:PID控制能满足大多数工业对象的控制要求。PID算法蕴含了动态控制过程中过去、现在、将来的主要信息,而且其配置几乎最优。其中比例(P)代表当前的信息,起纠正偏差的作用,使过程反应迅速;微分(D)代表了将来的信息,在信号变化时有超前控制作用,有利于克服振荡,提高系统稳定性,加快系统的过渡过程;积分(I)代表了过去积累的信息,它能消除静差,改善系统静差特性。这三种作用配合得当,可使动态过程快速、平稳、准确,并收到良好的控制效果。因此本系统采用PID控制。

定时器T0设为1/127S中断一次,T0_count=127,当进入中断程序时,首先T0_count自减1,判断T0_count=0?若是则调用PID函数,计算出PWM的宽度(即加热时间),然后打开加热器。再次启动AD转换。PWM_count自减1,判断PWM_count=0?,若PWM_count=0,表示加热结束,关闭加热器。定时器T0重赋初值,T0中断返回。

综上所述,此模块包括周期为1S的数据采样、PID校正值的计算和PWM加热输出。此模块程序流程图如图4-6、4-7所示:

4.7 显示模块软件设计

    显示模块有两个子程序配合完成:

⑴判断显示子程序:该程序首先判断是否需要报警,若需要则按照一定频率(1S左右)调用正常显示子程序和延时程序。

⑵正常显示子程序:①将传入的形参除以100,得到百位,选通数码管1显示百位。②将传入的形参除以100取余,再除以10得到十位,选通数码管2显示十位。③将传入的形参除以10取余,得到个位,选通数码管3显示个位。如图4-9 示:

5、 系统调试与总结

5.1 系统调试  

系统调试要求系统能完成预先确定要实现的各种功能。

⑴ 硬件调试

元器件是组成系统的基本单元,其性能好坏与稳定性直接影响整个系统性能与可靠性。因此,我们精选元器件,使其稳定性和精度等方面满足要求。 

⑵ 软件调试

软件调试的是整个系统设计很重要的步骤,要求所编写的程序不仅要在理论上适合功能要求,而且要在实际的电路板上可靠执行。本系统的软件调试用Keil仿真软件和Proteus仿真软件进行软硬件联合仿真:

编译通过只是说明程序没有语法错误。是否达到设计目的,还需将软硬件结合进行排错、调试和检查即通常所说的仿真。仿真有两种方式:一是采用仿真器的实时在线仿真。二是通过PC机由软件完成的模拟仿真。实时在线仿真可以完全模拟样机或实验板的工作状态,用起来比较直观、方便。软件模拟仿真不需要仿真器,仅仅通过安装在微机上的单片机模拟软件便可以进行单片机系统的仿真。

我们使用Keil仿真软件和Proteus仿真软件进行软硬件联合仿真。①首先用Keil进行软件仿真,主要包括C文件的编译、连接、并生成Hex文件提供给Proteus,仿真界面如图5.1所示。②其次用Proteus进行硬件仿真,在Proteus中选择相应的元器件再结合Keil生成的Hex文件可以对系统整体性能进行仿真,仿真界面如图5.2所示。在仿真过程中我们把系统分成若干个模块,包括显示模块、键盘模块、A/D转换模块、PM控制量隔离输出模块(如图5.3所示),对各模块一一进行调试。

图5-1 Keil软件仿真

5.2程序链接

 5.3总结

历时几个月的毕业设计,在指导老师**老师的精心指导下顺利地完成了, 

并获得了成功。完成了这次毕业设计后,我对系统开发的认识提高到了一个新的高度,不仅学到了许多关于系统开发的理论知识,而且学到了许多书本上没有的实际经验。

一个完整的系统开发需要一个全新的思维模式,从系统的功能到为实现系

统功能的程序流程图,从原理图到印制板的制作,每个部分的设计都需要深思熟

虑。在设计的过程中,从查阅资料、系统的硬件设计、软件设计、系统的调试,在每一步中我都碰到了许多以往在书本上没有的知识。在硬件设计中,我们遇到了不少问题,首先元元器件的选择以及能否在Protues中找到所选芯片的模型和模型是否可用,然后是整个系统应如何连接才能实现预定功能;在软件设计中,我们对编程思想和编程语言不甚了解阻碍我们前进的步伐;但所有的问题在我组成员共同努力和老师的帮助下迎刃而解了。

回忆过去的几个月,我们克服许多困难和挫折,整个小组3位同学在*老师的带领下齐心协力、克服种种困难,这其中的苦与乐将成为大学四年中最美好的回忆。 

5.4英文及翻译链接

参考文献

[1]  康华光  陈大钦 电子技术基础(模拟部分)(第四版) 高等教育出版社,1998.

[2]  阎石  数字电子技术基础(第四版)  高等教育出版社,1997.

[3].薛定宇  反馈控制系统分析与设计—MATLAB语言应用   清华大学出版社,2000年4月。.

[4]  自动控制原理  胡寿松   国防工业出版社,2002.

[5]  吴秀清 周荷琴  微机原理与接口技术   中国科技大学出版社,2004.

[6]  孙涵芳 徐爱卿  MCS-51/96系列单片机原理及应用(修订版) 北京航空航天大学出版社,2005.

[7]  潭浩强  C程序设计(第二版)   清华大学出版社,2003.

[8]  潘新民 王燕芳  微型计算机控制技术   高度教育出版社,2000.

[9]  夏路易 石宗仪  电路原理图与电路板设计教程 Protel 99SE  北京希望电子出版社,2002.

[10]  范风强 兰婵蓝  单片机C51应用实战集锦   电子工业出版社,2003.

[11] ATMEL 8-bit Micro controller with Flash application note, 1998

[12] ATMEL Corporation. Nonvolatile Memory Date Book,May 1996

鸣  谢

在此论文完成之际,我谨向指导老师**老师表示衷心的感谢。

感谢*老师,在毕业设计阶段从生活、学习各方面给予的无微不至的关心和帮助,本人不仅得到*老师精辟的指点,还受益于*老师严谨的治学态度和高屋建瓴的思维方式;*老师以他广博的学识、严谨的治学态度、对生活的谦和朴实教育了我、感染了我,使我不仅学到了单片机开发知识,更学到了为人之道。在以后的生活和学习中,我将以*老师为榜样严格要求自己。

我要感谢各位老师,在实验室期间,他们给予了我很多帮助。

最后,我要感谢系给我们提供的良好的设计环境和硬件设备。 下载本文

显示全文
专题