多通道温度采集系统

更新时间:2023-03-08 05:33:04 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

四川师范大学成都学院本科毕业设计

多通道温度采集系统的设计

摘要: 温度测量与控制技术在工业、农业、国防等行业有着广泛的应用。利用单片机技术的温度测控系统以其体积小,可靠性高,利用 AD5741做模数转换器精度非常高的优点而被广泛采用。本文对该测控系统进行了分析与设计。本系统主要包括五大模块:温度信号发生器、 A/D 转换采集模块、主控模块、键盘、显示模块。 本文重点对测控系统的硬件、软件的组成进行了分项、模块化逐步分析设计。在硬件上对各部分电路一一进行了理论分析与方案论证进行了设计,完成了该系统的硬件电路。在软件设计上根据硬件电路和采集系统所需要实现的功能,进行软件设计,经过反复的调试、修改,最终完成了该采集系统的软件设计。通过硬件与软件的密切配合,最终设计完成达到了题目所要求的技术参数与功能。

关键词 : 单片机 AD5741 软件系统 硬件系统

I

四川师范大学成都学院本科毕业设计

The Design Of More Channel Temperature Collection System

Abstract: the temperature survey and the control in profession and so on industry, agriculture,

national defense has the widespread application. Using monolithic integrated circuit technology temperature observation and control system by its volume small, the reliability is high is widely used,specially,the high conversion precion of A/D574 .This article has carried on the analysis design to this observation and control system.This system contains five large module :the temperature signal generator 、A/D conwersion and collection module、main control module、keyboard and display module.The article emphases face tothe system’s buildup of hardware and software and carry through Subentry、modualrize and one-step analyse and design.In the hardware part ,we go along with theiretics analyse and project demonstrate,Then,design and succed the hardware circuit.In the software part,face to the function carry out of hareware circuit and collection system,then design the software system and run、rework、succeed the softwre syetem’s design.at last,through the hardware and the software,achieve the technology parameter and funtion require of the whole syetem.

Keyword: Single Chip Microcomputer、 AD7451、 Hardware、 Software

目 录

II

四川师范大学成都学院本科毕业设计

硬件设计框图3 ................................................................................................................................................... 5 键盘控制子系统流程图11 ................................................................................................................................ 12 (三)相关程序的设计..................................................................................................................................... 12 我们以初始化和工作方式选择程序及显示程序为例,其他不详述。 ......................................................... 12 1. 初始化和工作方式选择程序的设计 系统上电时,初始化程序将70h~77h内存单元清零,P2口置0。 ORG0000H LJMPSTART ORG0003H RETI ORG000BH RETI ORG0013H RETI ORG001BH RETI ORG0023H RETI ORG002BH RETI CLERMEMIO:CLRA MOVP2,A MOVR0,#7OH MOVR2,#0DH LOOPMEM:MOV@R0,A INCR0 DJNZR2,LOOPMEM MOV20H,#00H MOVA,#0FFH MOVP0,A MOVP1,A MOVP2,A RET START:LCALLCLEARMEMIO;初始化 LCALLTEST;测量一次 LCALLDISPLAY;显示数据一次 AJMPMAIN NOP ;PC值出错处理 NOP NOP LJMPSTART 2. 显示程序的设计 显示子程序采用动态扫描法实现四位共阴极数码管的数值显示,测量所得的A/D转换数据放在70h~77h内存单元中,测量数据在显示时转换为温度值十进制BCD码放在78h~7bh内存单元中,其中7bh存放通道标志数。寄存器R3用作八路循环控制,R0用作显示数据地址指针。 DISPLAY:JB00H,DISP11;标志位为1,则转单路显示控制程序 MOVR3,#08H;8路信号循环显示控制子程序 MOVR0,#70H;显示数据初值70H~77H MOV7BH,#00H;显示通道数初始值 DISLOOP1:LCALLYNCD;显示数据转为三位BCD码存入7AH,79H,78H MOVR2,#0FFH;每路显示时间控制在4ms*255,约1s DISLOOP2:LCALLDISP;调四位显示程序 LCALLKEYWORK1;按键检测 DJNZR2,DISLOOP2 INCR0;显示下一路 INC7BH;通道数据加1 DJNZR3,DISLOOP1 RET DISP11:MOVA,7BH;单路显示控制子程序 SUBBA,#01H MOV7BH,A ADDA,#70H MOVR0,A DISLOOP11:LCALLTUNBCD;显示数据转为三位BCD码存入7AH,79H,78H MOVR2,#0FFH;每路显示时间控制在4ms*25 DISLOOP22:LCALLDISP;调四位显示程序 LCALLKEYWORK2;按键检测 DJNZR2,DISLOOP22 INC7BH;通道显示数据加1 RET .................................................................... 12

一、前言????????????????????????????????1 二、单片机多通道温度采集系统分析与设计?????????????????2 (一) 总体分析?????????????????????????????2 (二)AT89C51单片机的性能及应用????????????????????2 (三) 控制框图的设计系统????????????????????????3 (四)设计系统的功能描述????????????????????????3 三、总体方案??????????????????????????????4 (一) 方案的比较和论证选择???????????????????????4 (二)系统硬件设计框图?????????????????????????4 (三) F/V 现场温度信号发生器的设计??????????????????5 1.频率信号发生器???????????????????????????5 2.F/V 频率电压变换电路的设计?????????????????????6 (四) 多路采集器的设计?????????????????????????6 (五)单片机系统模块的设计???????????????????????7 1.单片机电源电路模块的设计??????????????????????7 2.键盘控制及显示电路模块的设计????????????????????7 (六)与上位机的通信电路连接??????????????????????8 (七)整体单片机系统的连接???????????????????????9 四、系统软件设计程序??????????????????????????10

III

四川师范大学成都学院本科毕业设计

(一)CPU 内部与外部资源分配?????????????????????10 (二)程序流程图????????????????????????????11 (三) 相关程序的设计?????????????????????????12 1.初始化和工作方式选择程序的设计???????????????????12 2.显示程序的设计??????????????????????????? 12 (四)串口通讯?????????????????????????????13 五、系统的抗干扰技术??????????????????????????14 (一) 硬件抗干扰技术?????????????????????????14 (二)软件抗干扰技术??????????????????????????14 六、系统的调试?????????????????????????????15 (一) 调试仪器????????????????????????????15

(二)调试方法???????????????????????????15

七、总 结???????????????????????????????17 谢辞?????????????????????????????????18 附录?????????????????????????????????19 参考文献???????????????????????????????23

IV

四川师范大学成都学院本科毕业设计

一、前言

温度测量在工业、农业,国防等行业有着广泛的应用,而且随着科学技术的发展对温度测量的精度要求愈来愈高。由于AT89C51单片机的精度不是很高,它的测温范围在0~100℃之间,可以应用在对温度精度要求不高的各种现场。

单片机多通道温度采集系统采用集成温度传感器满足温度测量,并将温度信号转换成电流,转换为电压信号,通过放大电路最终交由模/数转换芯片转换成数字信号经单片机处理并经输出驱动电路显示于共阴极数码管。该测量仪可实现多点(8点)不同区域测量,单通道,循环测量。还具有超温报警和自动控制功能,当温度超过某一设定值时,系统控制继电器来关闭加温设备。

除此之外,考虑到测控会用于工业生产当中,可靠性要求比较重要,并要具有抗干扰能力和避免、消除干扰的能力,以保证系统平稳工作。

由以上大致分析,整个系统控制将由AT89C51单片机为核心构成。选用AD7451作为模/数转换芯片,各个检测信号、控制信号、显示信号可由单片机的I/O口进行,并由程序保证系统抗干扰的能力。

设计任务为:用单片机设计一个测温范围在0~100的多通道温度测量仪。设计要求:完成该系统的软硬件设计,学习掌握单片机采集系统的设计方法,提高学习新知识、新技能的能力,培养独立设计的能力。

1

四川师范大学成都学院本科毕业设计

二、单片机多通道温度采集系统分析与设计 (一) 总体分析

由于AT89C51单片机的精度不是很高,它的测温范围在0~100℃之间,可以直接应用在对温度精度要求不高的各种现场。单片机多通道温度采集系统可采用集成温度传感器满足温度测量,再完成:温度信号—电流---电压的转换,最后通过放大电路最终交由模/数转换芯片转换成数字信号经单片机处理并经输出驱动电路显示于共阴极数码管。该测量仪可实现多点(8点)不同区域测量,单通道,循环测量。还具有超温报警和自动控制功能,当温度超过某一设定值时,系统控制继电器来关闭加温设备,同时还要考虑到系统会用于工业生产当中,可靠性,抗干扰能力要求较高,以保证系统平稳工作。

由以上大致分析,整个系统控制将由AT89C51单片机为核心构成。选用AD7451作为模/数转换芯片,各个检测信号、控制信号、显示信号可由单片机的I/O口进行,并由程序保证系统抗干扰的能力。

(二)AT89C51单片机的性能及应用

单片机是早期Single Chip Microcomputer的直译,它反映了早期单片机的形态和本质。然后,按照面向对象,突出控制功能,在片内集成了许多外围电路及外设接口,突破了传统意义上的计算机结构,发展成microcontroller的体系结构,目前国外已普遍称之为微控制器MCU(Microcontroller Unit)。鉴于它完全作嵌入应用,故又称为嵌入式微控制器(Embedded Microcontrolle)。

大多数单片机采用哈佛(Harvard)结构体系,即数据存储空间与程序存储空间相互独立的结构体系。它不同于一般通用计算机系统结构,即程序和数据共用一个空间的冯•诺伊曼(Von Neumann)结构。

AT89C51单片机温度测控仪采用Atmel公司的AT89C51单片机,采用双列直插封装(DIP),有40个引脚。该单片机采用Atmel公司的高密度非易失性存储技术制造,与美国Intel公司生产的MCS—51系列单片机的指令和引脚设置兼容。它有以下特性: (1)8位CPU,内置4K字节可重复编程Flash,可重复擦写1000次;

(2)完全定态操作0Hz~24Hz,可输出时钟信号,并且有128B的片内数据存储器; (3)32根可编程I/O线; (4)2个16位定时/计数器;

(5)中断系统有6个中断源,可编为两个优先级;

(6)一个全双工可编程串行通道; 具有两种节能模式:闲置模式和掉电模式。

2

四川师范大学成都学院本科毕业设计

值得注意的是,P0、P1、P2、P3口作为普通I/O口使用时都是准双向口结构,其输入操作和输出操作本质不同,输入操作是读引脚状态,输出是对锁存器的写入操作。当内部总线给口锁存器置0或1时,锁存器中的0、1状态立即反映到引脚上。但在输入操作时,如果锁存器状态为0引脚被钳位0状态,导致无法读出引脚的高电平输入。因此,准双向口作为输入口时,应先使锁存器置1(称之为置输入方式)。然后,再读引脚,例如:要将P1口的状态读入到累加器A中,应执行以下两条指令: MOV P1,#0FFH ;P1口置入方式 MOV A, P1 ;读P1口引脚状态到A

另外,其I/O口的端口自动识别功能,保证了P1口(低8位地址)P2口(高8位地址)的总线复用,P3口的功能复用,系统自动选择不需指令。

近年来,随着计算机技术的发展,单片机的功能越来越强大。由于单片机的寿命长、速度快、低功耗、低噪声、可靠性高的特点及16位、32位单片机的出现,在工业领域仍具有很大的发展潜力。 (三) 系统硬件设计框图

括对A/D7451的数据采集,检测单通道、循环检测工作方式、温度的显示

等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有通道选择键、温度设置键、自动方式键、A/D转换芯片。执行机构有4位数码管两个。

设计一个八路温度采集系统 , 系统基本原理框图如图 2所示 , 要求主控器能对 40 米以内的各路温度 ,通过传输线进行温度数据采集和显示。系统设计模块分为:现场温度信号发生器(温度范围为: 0 ~ 100 ℃)、八路数据采集器、主控器、显示器、键盘控制器、上位机通讯等几个重要模块。

现 场温度多路数据采 地址、数据 信 号发生集器 主控器 显示器 器 系统原理图2

(四) 系统功能描述

1.现场温度信号发生器:要 求现场采集温度范围为 0 ~ 100 ℃。可以选用不同的测温方法,要求温度检测电路能够测量环境比较复杂的场所。

2.多路温度数据采集器:要求主控器能对多路的温度数据进行采集,数据采集器第一

3

四川师范大学成都学院本科毕业设计

路输入制作的 0V ~ 5V 直流电压 ,第 2 ~ 8 路分别输入来自直流源的 5V 、 4V 、 3V 、 2V 、 1V 、 0V 直流电压。将各路模拟信号通过 A/D 转换分别转换成二进制数字信号 , 各通道的采集用模拟开关和软件实现。对温度信号的分辨度要求达到≦ 0.5 ℃。 3.主控器通过多路模拟开关对各路数据进行采集和显示。采集方式包括循环采集(即 1 路、 2 路 ??8 路、 1 路 ?? )和选择采集(任选一路)二种方式。显示部分能同时显示地址和相应的数据。采集温度信号主要通过多路模拟开关实现,采集哪一路的温度或是循环显示各路温度通过主控器实现。

4.将主控器所采集的 8 路温度信号利用串口通讯传到上位机中,并在上位机上编写一个介面,用以显示各路信号地址和相应的数据。 三、总体方案

在选择系统方案中,主要以选择测温电路的方案为主要,测温电路的方案选择可以直接的影响到测得温度值的准确性和要求达到的精度问题,测温电路要求能把环境温度通过传感器把温度信号转换为我们所需要的电压信号或电流信号,把得到相应的电信号送入模数转换器,通过模数转换器的转换,在通过主控器的控制和程序的处理最后得到准确的环境温度值,实现温度的检测。所以在测温电路中我们进行了认真的比较和最后方案的确定。 (一)方案的比较和论证选择

在测温系统中我们常常用到集成型温度传感器,集成型温度传感器可以达到较高的精度,但其价格的昂贵让许多的人望而生畏,并且由于采用的单总线传输方式进行对远距离的多点温度进行检测,所以在程序的控制上比较复杂。因为题目的要求测温精度在 ≦ 0.5 ℃,所以不必选用精度较高、价格昂贵的集成型温度传感器,选用一般的温度传感器便可以达到题目要求。

在多点测温系统中,传统的方法是用温度敏感元件通过电路的调整可以把温度信号转换为一模拟电压信号,在将模拟电压信号远距离传输进行采集并通过 A/D 转换得到相应的数字信号,通过程序进行处理得到实时的温度值。为了获得较高的测温精度,在测温系统中就必须采取措施解决远距离的温度信号的传输,而保证高强度的抗干扰能力,从而得到准确的精确高的环境温度值。

热敏电阻是一种较传统的检测温度信号的敏感元件。测温范围为 -40 ℃ ~200 ℃,能够满足大多数场合测温的要求,而且价格低廉。选具有负温度系数的特性的热敏电阻,热敏电阻的阻值随环境温度的改变而比较线性地变化。远距离的传输中可以把温度信号转换为频率信号进行传输,增加了系统的抗干扰能力,使测得的温度更加的精确。在传感器部

4

四川师范大学成都学院本科毕业设计

分可以用频率发生器,热敏电阻的阻值变换导致频率发生器的输出频率相应地性线变化,再通过远距离传输线输入频率电压变换器进行转化,得到相应的线性模拟电压信号,通过多路模拟开关可以很方便地控制进行多点的温度测量,然后通过 A/D 转换和处理可得到较高精度的温度值。

根据上述的方案比较和实际情况分析和题目所需的要求,用热敏电阻做温度传感器采集温度的技术含量高,并且既简单可靠又精确,在制作成本上也更低。

通过多路模拟开关可以方便的实现对多路的温度信号进行采集。因此,综上所述我们采用的是第二种方案。 (二)系统硬件设计

系统的硬件设计是整个系统的核心,是完成整个系统功能和稳定性的核心部分。在整个硬件系统的设计中,我们设计了一个以单片机为核心的最小系统。该系统有:单片机、显示器、键盘、串口通讯、多路模拟开关、A/D 转换器等以及整个系统中所要需要的电源组成的一个系统,此外还有测温电路的硬件电路。其整个系统硬件设计的原理框图如图3 。 显示器 F/V现 A/D数 场温度多路模据采集CPU主上机位 信号发拟 器 控器 生器 开关 控制键盘

硬件设计框图3

(三) F/V 现场温度信号发生器的设计

本系统设计的现场温度信号发生器电路由两部分组成:频率信号发生器和频率电压变换电路。

1. 频率信号发生器

频率信号发生器我们利用芯片 NE555 产生方波信号,热敏电阻的阻值发生变换导致输出频率随之而变化,输出频率范围为 200HZ — 2KHZ 。通过标定使得在温度为 0 ℃时对应输出频率为 200HZ , 100 ℃时对应的输出频率为 2KHZ 。 通过传输线把性线的频率信号传输到主控系统的 F/V 频率电压变换器中进行转换,传输线上传输的的频率信号,所以系统的抗干扰能力很强,而且传输距离比较大。完全可以达到所需要求,调节滑动电

5

四川师范大学成都学院本科毕业设计

阻可改变方波的输出频率。 2. F/V 频率电压变换电路的设计

频率电压变换电路的输入的频率信号由频率发生器产生的频率提供。通过 F/V 变换器后可以得到非常性线的模拟电压信号,便于 A/D 的转换。调节电位器 P3 , P4 ,使得 200Hz 对应 0V 输出 ,2kHz 对应 5V 输出。 其电路图如图4所示。

F/V频率电压变换电路原理4

(四) 多路采集器的设计

对多路的温度信号进行检测,我们使用了多路模拟开关。把模拟开关的译码端接到单片机的 P1 口上,结合程序可以方便的控制,进行多路数据的采集。设计中多路模拟开关选用的 CD4051 模拟开关,它具有较强的抗干扰能力,能够保证各路数据不相互干扰,从而得到各路准确的温度值。在采集数据中为了保证采集的速度和精确度,我们采用的芯片是具有 12 位高精度,转换速度高的 AD5741模数转换器。 能够保证题目的要求,精确度达到 ≦ 0.5 ℃。设计原理图如图5 。

6

四川师范大学成都学院本科毕业设计

多路数据采集电路原理图5

(五) 单片机系统模块的设计 1. 单片机电源电路模块的设计

本部分电路使用一个 220V 、 15W 的变压器将交流电压转变为所需的三组不同大小的低幅电压,再分别经过整流、滤波及三端集成稳压模块产生 +5V 、 +12V 、 -12V 三组直流电压。设计原理图见图 6 。

电源原理图6

2. 键盘控制及显示电路模块的设计

本模块电路采用 8255 作为控制扩展芯片,因为它有 3 个可编程使用的 I/O 端口,可以通过编程实现不同的功能。8255 的 A 端口控制显示段码, B 端口控制显示的位选, C

7

四川师范大学成都学院本科毕业设计

端口控制键盘。采用两片 ULN2803 作为数码管显示和选择显示位置的驱动元件,显示采用两片四位 LED 八段译码共阴极数码管,采用动态连接方式。此外还选用了 16 个独立式开关按键。其各按键的功能见表 3-1 。工作原理:我们运用动态显示技术和动态扫描键盘技术,便于人、机交互接口。设计原理图见图7。

键盘显示电路原理图7

键盘功能说明:按“循环”键用于控制循环显示各通道数据,按数字键“1,2,3…8”用于实时显示“1,2,3…8”通道的温度。 (六)与上位机的通信电路连接

在设计中用到的CPU全双工的串口通讯口,可以很简便的把 CPU 和电脑之间通过串口通讯连接起来进行数据通讯。在设计中串口转换芯片我们用到 MAX232 专用串口通讯芯片。其原理图8。

8

四川师范大学成都学院本科毕业设计

原理图8

(七) 整体单片机系统的连接

本方案核心芯片采用 AT89C51 单片机,它包含了作为微型计算机所必需的基本功能部件,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。它不仅可以进行字节操作,还可以进行位操作,特别适合控制应用,带有单片机复位的作用,在数据总线上需要接上拉电阻对数据进行缓冲,以免对数据总线的工作造成干扰。其次在该单片机系统中我们还考虑到以后的扩展功能,所以把单片机的 I/O 口都用接口进行外接,将所有模块连接起来,就可以进行测试。我们通过芯片74HC573对单片机进行并行I/O扩展,通过主线将各部分模块进行连接,都用一根主线进行信息交换,最后还通过对单片机的串行扩展,通过芯片MAX232与计算机进行通讯。

9

四川师范大学成都学院本科毕业设计

整个采集系统的整体连接图9

0

1

四川师范大学成都学院本科毕业设计

四、 系统软件设计程序

软件设计是完成系统各种功能的重要保障,本系统软件设计编程方式采用汇编语言进行编程。程序主要完成用 A/D 转换器对多路温度信号进行采集,把采集到的数据进行运算转换为 BCD 码的温度值送到数码管显示,并且扫描键盘完成控制工作方式等功能。温度显示状态有两种:循环显示和选择显示两种模式。 (一)CPU 内部与外部资源分配 显示数据缓冲区: 78H — 7bH 采集数据存储区: 70H — 77H P0 口用于数据传输 P1 口用于控制多路模拟开关 P2 口用于地址 (二)程序流程图

在程序设计中,主程序至关重要的。在主程序中首先对各模块进行初始化,以便在运行的过程中用到,通过扫描方式不断的扫描键盘完成各项功能和控制。在主程序中采用调用子程序的方式,主要调用了:显示子程序、键盘扫描子程序、控制采集数据子程序、运算子程序、串行通讯子程序、延时子程序等。主程序流程图如图 10所示。在程序中我们调用了多个子程序来完成了整个程序的设计,并得以实现各中功能,键盘控制子程序如图11所示。

初始化 键盘扫描 采集数据 置显示方式 单通道显示 循环显示

主程序流程图10 1

1

四川师范大学成都学院本科毕业设计

开始

循环显示方式

键盘扫描

有按键吗 是按键1? 显示通道1数据 是按键2? 显示通道2数据

是按键3? 显示通道3数据

是键4? 显示通道4数据

是按键5? 显示通道5数据 是按键6? 显示通道6数据 是键7? 显示通道7数据

是按键8? 显示通道8数据

键盘控制子系统流程图11

(三)相关程序的设计

我们以初始化和工作方式选择程序及显示程序为例,其他不详述。 1. 初始化和工作方式选择程序的设计

系统上电时,初始化程序将70h~77h内存单元清零,P2口置0。 ORG0000H LJMPSTART

2

1

四川师范大学成都学院本科毕业设计

ORG0003H RETI

ORG000BH RETI

ORG0013H RETI

ORG001BH RETI

ORG0023H RETI

ORG002BH RETI

CLERMEMIO:CLRA MOVP2,A

MOVR0,#7OH MOVR2,#0DH

LOOPMEM:MOV@R0,A INCR0

DJNZR2,LOOPMEM MOV20H,#00H MOVA,#0FFH MOVP0,A MOVP1,A MOVP2,A RET

START:LCALLCLEARMEMIO;初始化 LCALLTEST;测量一次

LCALLDISPLAY;显示数据一次 AJMPMAIN

NOP ;PC值出错处理 NOP NOP

LJMPSTART

2. 显示程序的设计

显示子程序采用动态扫描法实现四位共阴极数码管的数值显示,测量所得的A/D转换数据放在70h~77h内存单元中,测量数据在显示时转换为温度值十进制BCD码放在78h~7bh内存单元中,其中7bh存放通道标志数。寄存器R3用作八路循环控制,R0用作显示数据地址指针。

DISPLAY:JB00H,DISP11;标志位为1,则转单路显示控制程序 MOVR3,#08H;8路信号循环显示控制子程序 MOVR0,#70H;显示数据初值70H~77H MOV7BH,#00H;显示通道数初始值

DISLOOP1:LCALLYNCD;显示数据转为三位BCD码存入7AH,79H,78H MOVR2,#0FFH;每路显示时间控制在4ms*255,约1s DISLOOP2:LCALLDISP;调四位显示程序

3

1

四川师范大学成都学院本科毕业设计

LCALLKEYWORK1;按键检测 DJNZR2,DISLOOP2 INCR0;显示下一路 INC7BH;通道数据加1 DJNZR3,DISLOOP1 RET

DISP11:MOVA,7BH;单路显示控制子程序 SUBBA,#01H MOV7BH,A ADDA,#70H MOVR0,A

DISLOOP11:LCALLTUNBCD;显示数据转为三位BCD码存入7AH,79H,78H MOVR2,#0FFH;每路显示时间控制在4ms*25 DISLOOP22:LCALLDISP;调四位显示程序 LCALLKEYWORK2;按键检测 DJNZR2,DISLOOP22

INC7BH;通道显示数据加1 RET

(四)串口通讯

上位机的接口界面,我们运用 C++ 程序设计完成的。通过程序控制和相应的硬件电路可以把下位机(单片机)和上位机(计算机)连接起来,进行数据的观测和控制。

4

1

四川师范大学成都学院本科毕业设计

五、系统的抗干扰技术

由传感器等组成的检测系统主要应用于实际的工业生产过程中,由于工业现场的环境往往比较恶劣干扰严重,这些干扰的存在较大的影响了检测系统的正常工作,所以有效的排除和抑制各种干扰,保证传感器等能在实际应用中可靠的工作和测量数据的准确性。因此,在我们设计的多路温度采集系统中,对排除和抑制各种干扰尤为重要。为了更好、更有效的保重系统工作的可靠性和测量的准确性,我们运用了硬件抗干扰技术和软件抗干扰技术。

(一) 硬件抗干扰技术

在硬件抗干扰技术中,我们主要运用元件和电子线路板的合理布局,以及系统的接地技术。因为此系统属于低频系统,所以我们采用的是单点接地技术。即各电路的地线只在一点(系统地)汇合的并联单点接地。各电路的对地电位只与本电路的地电流和电线阻抗有关因而无公共阻抗耦合噪声干扰。此外,还对整个电子线路板的地线和电源线加粗。通过了这些技术,在系统硬件上具备了较强的抗干扰能力。 (二)软件抗干扰技术

为了提高检测系统的可靠性,仅靠硬件抗干扰措施是不够的,需要进一步借助于软件措施来克服某些干扰。常用的软件抗干扰技术主要有两方面,其一是采取软件的方法抑制叠加在模拟输入信号上噪声对检测结果的影响,如数字滤波技术等;其二是对于干扰使运行的程序发生混乱或陷入死循环时,我们使程序纳入正规的措施,如软件陷阱、“看门狗”技术等。可以用软件或软硬件结合的方法

实现。我们主要运用到了数字滤波技术,一个点采取多次取平均值的方法。附加一段数字滤波程序就可以实现。各个通道可以共用一个数字滤器,可以得到很好的效果。

5

1

四川师范大学成都学院本科毕业设计

六、系统的调试

(一) 调试仪器

在此系统的原理设计和制作完成之后,还对系统进行必要的标定和调试。使系统达到更高的精度和性能的稳定,在标定和调试中我们运用 到了以下仪器。

(1)数字多用表 (2)双踪示波器 (3)合成函数信号发生器 (4)伟福仿真机 (5)直流稳压电源 (6)恒温实验箱 (7)温度计 (8)计算机 (二)调试方法

1. 热敏电阻值对应的温度表,将测得的电阻值查找对应的温度值。如表12 所示。 温度 T( ) 电阻 R (K) 14 15.53 16 14.50 20 12.00 23 10.90 25 9.20 27 8.10 45 5.65 50 4.90 60 3.85 表12

2. 温度的测试,在一组数据里测试温度的值,将预测值的温度和实测温度相比较,得出相对误差,如果误差在规定的范围内,那么所测的温度值是符合要求的。如果不正确,误差很大说明硬件部分或是软件部分有误差,那么继续检查和调试硬件与软件。使误差在要求的范围内。如表13 所示 实验箱的温度T 实验箱显示的温度T 相对误差温度T (摄氏度) (摄氏度) (摄氏度) 10.0 10.2 0.2 15.0 15.1 0.1 20.5 20.5 0.0 25.0 25.5 0.5 31.0 30.4 0.4 40.0 40.0 0.0 53.5 53.3 0.2 60.5 60.0 0.5 79.0 7809 0.1 表13

注:题目要求对温度信号的分辨率达到≦ 0.5 ℃,在以上数据中可知测得的实测温度值

6

1

四川师范大学成都学院本科毕业设计

的相对误差均在 0 — 0.5 以内,所以符合题目要求,完成了任务和系统的需求功能。

7

1

四川师范大学成都学院本科毕业设计

七、总 结

(一)根据结果分析 , 我们采用热敏电阻可以完成现场采集温度 , 基于对输出频率、电阻值、采集的温度等的测量,我们发现我们所设计的系统最后采集到的温度值和实际温度值相对误差平均控制在 0.5 ℃以内,达到了题目的参数要求 , 因为 AD574 集成块的精度很高,我们可以能测出误差更小的温度值,还需要再调试程序。

(二)进行测试和调试后,用模拟值检测按键功能,接着实现了 A/D 转换器和多路模拟开关 对多路温度信号通道的采集。同时也完成了八路通道的循环采集和单通道采集,再根据采集到的实际信号进行运算处理转换成温度值送入显示器显示。根据出现的现象和情况,我们继续调试程序和硬件电路,使程序更完善,硬件电路更加稳定。从而达到技术要求。

此次毕业设计制作过程前后大概3个月,在此过程中,使我对标准化的设计研发产品的过程有了一个比较深刻的认识和理解。也使我认识到任何方案的实施和产品的开发都是一个比较艰苦具体和细化的过程,对一个人的理论和实践以及各方面的能力都是一个锻炼和挑战的过程,更是一个创新的过程。同时我还深刻感受到任何大型工作都是一个团队合作的过程。这使我对今后的生活和工作有了更深一层的感受和理解,也使我对以后的工作和生活充满了信心。

8

1

四川师范大学成都学院本科毕业设计

谢辞

经过数月的奋战,终于顺利完成了毕业设计。

我在毕业设计期间,得到导师鲁顺昌的精心指导。鲁老师治学严谨,平易近人,在鲁老师的大力帮助和指导下我顺利的完成了毕业设计。在此过程中鲁老师帮助我接受了全新的思想观念, 掌握了通用的研究方法,而且还使我明白了许多待人接物与为人处世的道理。鲁老师平日工作很忙,但仍在百忙中抽出宝贵的时间给予我们帮助,他那严以律己,宽以待人的崇高风范,朴实无华、平易近人的人格魅力, 令我如沐春风,倍感温馨。我十分感谢导师的大力帮助教诲和鼓励,在此祝愿导师身体健康,工作顺利 。同时,也将祝福送给每一位帮助过我的的师长和同学。

紧张的毕业设计就要结束了,美好的大学生活也到了尾声。此时此刻有太多的不舍与留恋,首先特别感谢指导教师鲁老师这半年的毕业设计中对我的帮助、鼓励和支持;感谢在这四年来对我的学习和生活有过莫大帮助的各位老师;感谢我的朋友和同学们在我四年生活和学习中对我的帮助,就要分别了,衷心祝福各位一路走好。再次感谢各位老师和同学,希望大家以后工作顺利。谢谢!!

9

1

四川师范大学成都学院本科毕业设计

附录

1. 2进制温度值转化成BCD码温度显示值的程序设计 TUNBCD:MOVA,@R0;255/51=5.00V运算 MOVB,#51 DIVAB

MOV7AH,A;个位数放入7AH

MOVA,B;余数大于19H,F0为1,乘法溢出,结果加5 CLRF0 SUBBA,#1AH MOVF0,C MOVA,#10 MULAB MOVB,#51 DIVAB JBF0,LOOP2 ADDA,#5

LOOP2:MOV79H,A;小数后第1为放入79H MOVA,B CLRF0 SUBBA,#1AH MOVF0,C MOVA,#10 MULAB MOVB,#51 DIVAB JBF0,LOOP3 ADDA,#5

LOOP3:MOV78H,A;小数后第2位放入78H RET

DISP:MOVR1,#78H;共阳极显示子程序,显示内容只78H~7BH

0

2

四川师范大学成都学院本科毕业设计

MOVR5,#0FFH;数据在P1口输出 PLAY:MOVP1,#0FFH MOVA,R5 ANLP3,A MOVA,@R1 MOVDPTR,#TAB MOVCA,@A+DPTR MOVP1,A

JBP3.2,PLAY1;小数点处理 CLRP1.7;小数点显示 PLAY1:LCALLDL1MS INC R1 MOVA,P3

JNBACC.3,ENDOUT RLA MOVR5,A MOVP3,#0FFH AJMPPLAY

ENDOUT:MOVP3,#0FFH MOVP1,#0FFH RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH 2. 延时子程序的设计 DL10MS:MOVR6,#0D0H DL1:MOVR7,#19H DL2:DJNZR7,DL2 DJNZR6,DL1 RET

DL1MS:MOVR4,#0FFH LOOP11:DJNZR4,LOOP11

1

2

四川师范大学成都学院本科毕业设计

MOVR4,#0FFH

LOOP22:DJNZR4,LOOP22 RET

3. 数模转换测量子程序的设计 TEST:CLRA;数模转换子程序 MOVP2,A;转换值放入首值 MOVR0,#70H ;转换8次控制 MOVR7,#08H;启动测试

LCALLTESTART;等A/D转化结束信号 WAIT:JBP3.7,MOVD AJMPWAIT

TESTART:SETBP2.3;测试启动 NOP NOP NOP CLRP2.3 SETBP2.4 NOP NOP CLRP2.4 NOP NOP NOP NOP RET

MOVD:SETBP2.5;取A/D转换数据 MOVA,P0 MOV@R0,A CLRP2.5 INCR0

2 2

四川师范大学成都学院本科毕业设计

MOVA,P2`;通道地址加1 INCA MOVP2,A

CJNEA,#08H,TESTEND;等八路A/D转换结束 TESTEND:JCTESTCON CLRA;结束恢复窗口 MOVA,0FFH MOVP0,A MOVP1,A MOVP3,A RET

TESTCON:LCALLTESTART LJMPWAIT

4.按键检测子程序的设计 KEYWORK1:JNBP3.5,KEY1 KEYOUT:RET KEY1:LCALLDISP JBP3.5,KEYOUT WAIT11:JNBP3.5,WAIT12 CPL00H MOVR2,#01H MOVR3,#01H RET

WAIT12:LCALLDISP AJMPWAIT11

KEYWORK2:JNBP3.5,KEY1 JNBP3.6,KEY2 RET

KEY2:LCALLDISP JBP3.6,KEYOUT

3 2

四川师范大学成都学院本科毕业设计

WAIT22:JNBP3.6,WAIT21 INC7BH MOVA,7BH

CJNEA,#08H,KEYOUT11 KEYOUT11:JCKEYOUT1 MOV7BH,#00H KEYOUT1:RET WAIT21:LCALLDISP AJMPWAIT22 END

5. 超温报警程序及继电器控制程序的设计 超温报警程序:

DIV: MOV R2,#08H;1kz持续时间 DIV1:MOV R3,#0FAH DIV2:CPL P3.3;输出1khz方波 LCALL D5ms;调用延时程序1 DJNZR3,DLV2;持续1秒 DJNZ R2,DIV1

MOV R2,#10H;2khz持续时间 DIV3:MOV R3,#0FAH DI4:CPL P3.3;输出2khz方波 LCALL D25ms;调用延时程序2 DJNZ R3,DIV4 DJNZ R2,DIV3 SIMP DIV;反复循环

D5MS:MOV R7,#0FFH;延时子程序1 LOOP:NOP NOP

DJNZ R7,LOOP RET

4 2

四川师范大学成都学院本科毕业设计

D25MS:MOVR6,#0FFH;延时子程序2 LIN:DJNZ R6,LIN RET

继电器控制程序: START1:MOV SP,#60H

JD: CPL P2.6 ;P2.6取反 LCALL DELAY ;延时 NOP SJMP JD

DELAY: MOV R0,#0AH ;DELAY33: MOV R1,#00H DELAY44: MOV R2,#0B2H DJNZ R2,$ DJNZ R1,DELAY44 DJNZ R0,DELAY33 LJMP START1 RET

5 延时子程序(1秒)

2

四川师范大学成都学院本科毕业设计

参考文献

何立民 . 单片机应用技术选编 . 北京航空航天大学版社, 1995.6

李军 .51 系列单片机高级实例开发指南 . 北京航空航天大学出版社, 2000.3 李朝青 . 单片机原理及接口技术 . 北京航空航天大学出版社, 1998.5 童诗白,华成英 . 模拟电子技术 . 高等教育出版社, 1996.1 王毅 . 单片机器件应用手册 . 人民邮电出版社, 1994.5

何希才,薛永毅 . 传感器及其应用实例 . 北京机械工业出版社, 2004.1 何立民 . 单片机应用技术选编 . 北京航空航天大学出版社, 1993.2 谢自美 . 电子线路设计实验测试 ( 第二版 ). 华中科技大学出版社, 1999.2 武庆生,仇梅 . 单片机及接口实用教程 . 电子科技大学出版社, 1995.1 段九洲 . 放大电路实用设计手册 . 辽宁科学技术出版社, 2002.5 谢志萍 . 传感器与检测技术 . 电子工业出版社, 2004.8

6

2

本文来源:https://www.bwwdw.com/article/4a5.html

Top