涡流计数器设计_第1页
涡流计数器设计_第2页
涡流计数器设计_第3页
涡流计数器设计_第4页
涡流计数器设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、涡流计数器设计毕业论文涡流计数器设计毕业论文 摘摘 要要 介绍了一种基于 AT89S52 系列单片机为核心的,以电涡流传感器为信号检 测的计数装置的设计与实现,并由此组成完整的最小系统。根据电涡流传感器 的涡流效应,实现开关信号的控制,并通过单片机的定时计数功能,完成开关 信号的输出。该系统主要由两部分构成,分别是负责数据采集的涡流传感器部 分和数据处理的单片机部分。原始数据经整形后送入单片机的 I/O 口,经单片 机的进一步处理,运用其计数功能对信号脉冲进行计数,最后将计数结果在 LED 数码管上显示。 关键词:计数器;涡流传感器;微处理器 Counter Current Design Ab

2、stract:AT89S52 based on introducing a series of single-chip microcomputer as the core to eddy current sensor for signal detection device count Design and Implementation, and thus the composition of the minimum system integrity. Eddy current sensor in accordance with the eddy current effect, the real

3、ization of switch control signal, and counting function of single-chip timing to complete the switch signal output. The system consists of two parts, which are responsible for data collection part of the eddy current sensor and data-processing part of the single-chip microcomputer. After the raw dat

4、a by the plastic into the I/O port of MCU, the microcontroller for further processing, the use of their counting function to count the signal pulses,Finally, the result of the calculation in the LED digital tube display. Keywords: Counter;Eddy current sensor;Microprocessor 目 录 摘 要.I 第 1 章 前 言.1 1.1课

5、题背景及实际意义.1 1.2论文主要工作.1 1.3主要研究内容.2 1.4主要成果.2 第 2 章 硬件电路设计.3 2.1总体方案设计.3 2.1.1方案论证.3 2.1.2方案设计.3 2.2传感器选择.4 2.2.1涡流传感器工作原理.6 2.2.2电涡流传感器结构.7 2.2.3三线直流传感器的技术指标.8 2.3信号放大与整形.9 2.4AT89S52 单片机 .13 2.4.1AT89S52 单片机特性 .14 2.4.2AT89S52 单片机的硬件设计 .16 第 3 章 软件设计.20 3.1开发环境介绍.20 3.1.1C51 简介.21 3.1.2Keil C51 集成开

6、发平台 .22 3.2程序设计.23 3.2.1程序流程图.24 3.2.2主程序.24 3.2.3系统调试结果.24 第 4 章 结 论.25 致 谢.26 参考文献.27 第第 1 章章 前前 言言 近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的 应用正在不断地走向深入,然而传感器技术是现代科技的前沿技术,是现代信 息技术的三大支柱之一,其水平高低是衡量一个国家科技发展水平的重要标志 之一。 1.1 课题背景及实际意义课题背景及实际意义 传感器产业是国内外公认的具有发展前途的高技术产业,它以其技术含量 高、经济效益好、渗透能力强、市场前景广等特点为世人瞩目。而电涡流传感

7、器能静态和动态地非接触、高线性度、高分辨力地测量被测金属导体距探头表 面的距离。电涡流传感器以其长期工作可靠性好、测量范围宽、灵敏度高、分 辨率高、响应速度快、抗干扰力强、不受油污等介质的影响、结构简单等优点, 在大型旋转机械状态的在线监测与故障诊断中得到广泛应用。目前,全球的传 感器市场在不断变化的创新之中呈现出快速增长的趋势。有关专家指出,传感 器领域的主要技术将在现有基础上予以延伸和提高,各国将竞相加速新一代传 感器的开发和产业化,竞争也将日益激烈。新技术的发展将重新定义未来的传 感器市场。 计数检测测量的方法有很多种,针对被测物体,可以大致分为检测金属和非金 属两大类。此次设计是根据涡

8、流传感器的涡流效应,灵活的将传感器运用于电 子领域,充分的体现了涡流传感器的便捷实用及其良好的性能指标,更能展现 出传感器市场的广阔的前景。 1.2 论文主要工作论文主要工作 1)首先对总体设计方案进行了一个总体的介绍。阐述了设计的思想以及基 本原理,以框图的形式加以说明,并阐明设计方案的可行性。 2)分别总体介绍了构成该系统的各个部分;硬件部分和软件部分。在硬件 部分中主要介绍了传感器、触发器、单片机及其接口扩展等器件的工作原理, 结构、性能指标和工作方式,核心为 AT89S52 单片机芯片。软件部分就主要简 介了 Keil C51 集成开发平台,单片机内部定时器的工作模式以及相关的 I/O

9、 口 的应用。 3)最后,对本次设计结果做了分析,并对于设计中的不足和改进的构想方 面也做了简单的介绍 1.3 主要研究内容主要研究内容 本文主要研究电涡流传感器的工作原理、现状、特殊功能及发展前景,并 完成实现传感器与单片机系统的接口以实现特定的问题。并进一步研究了 AT89S52 系列单片机的结构,功能以及其接口扩展以及其它性能指标。设计 LED 显示电路及显示程序,通过传感器-单片机系统对测量所得数据进行数码管 显示,并校验。也介绍了该系统的硬件及软件部分,系统中主要器件:传感器 LM12-3004NA、触发器 DM7474N、AT89S52 单片机。采用 keilC51 语言进行 系统

10、程序的控制。 1.4 主要成果主要成果 本次设计完成了传感器采集数据、单片机控制计数的目标,全方位的提高 了自身的综合能力,无论是在理论上还是实际的操作中都有了很大的提高。首 先是要自己去收集相关的大量资料,了解电涡流传感器的工作原理和发展趋势; 熟悉 51 单片机的工作方式及软硬件资源;进一步掌握 Protel、Keil 等软件协同 开发单片机系统的开发方法;最终实现计数和测速及将所得数据进行数码管显 示的功能。这在某种程度上提高了对所需资料的提取能力,之后便是画原理图 和 PCB 排板,在画 PCB 的过程中让自己更加熟练了 DXP 软件的应用从而得到 了很好的锻炼,动手焊接、调试等。一系

11、列的实际操作使得自己在各方面的能 力得到了相应的提高,对整合理论知识与实践操作的能力有了很大的提高。 第 2 章 硬件电路设计 2.1 总体方案设计 设计以传感器敏感器件作为起点,以单片机数码管显示作为结尾,其中包 含了信号采集,信号处理,硬件显示电路及软件程序设计等部分。全部设计围 绕 AT89S52 单片机为核心,充分利用其接口扩展等功能以完成设计目的。 2.1.1 方案论证 首先,本次设计所需知识和能力准备通过我的努力可以达到;所需软硬件 物质环境条件亦均可以实现。传感器采集的原始信号是数字信号,经过处理后 能够直接送入单片机处理,并能经过单片机的内部资源和软件控制将测量结果 在 LED

12、 上显示出来,并能通过单片机的定时计数功能实现测量结果的自增和 累加等功能,能够把传感器和单片机结合起来组成完整的小系统,并充分发挥 传感器和单片机的各项功能。 2.1.2 方案设计 方案一:将传感器所采集的信号直接送入单片机,再由单片机控制显示, 如图 21 所示: 信号脉冲 处理 图 21 方案一设计原理框图 如此设计使得脉冲信号不稳定,有毛刺,影响测量结果。 方案二:将传感器采集的信号经信号整形,使得其变成标准的方波信号, 对测量结果的精确性做了保证。总体思路如图 22 所示: 采集信号 信号脉冲 处理 图 22 方案二设计原理框图 涡流传感器信号整形控制器显示 涡流传感器控制器显示 本

13、次设计采用方案二的设计思路,利用传感器探头采集信号,经 DM7474N 整形后能得到标准的方波脉冲信号,信号送入 AT89S52 单片机的 I/O 口,再经 单片机的内部处理及显示电路和软件程序控制将测量的结果在 LED 上显示,并 运用定时/计数器的特殊功能将显示结果进行自增和累加。 2.2 传感器选择 信息处理技术取得的进展以及微处理器和计算机技术的高速发展,都需要 在传感器的开发方面有相应的进展。微处理器现在已经在测量和控制系统中得 到了广泛的应用。随着这些系统能力的增强,作为信息采集系统的前端单元, 传感器的作用越来越重要。传感器已成为自动化系统和机器人技术中的关键部 件,作为系统中的

14、一个结构组成,其重要性变得越来越明显。 最广义地来说,传感器是一种能把物理量或化学量转变成便于利用的电信 号的器件。传感器是实现自动检测和自动控制的首要环节。如果没有传感器对 原始参数进行精确可靠的测量,那么无论是信号转换或信息处理或最佳数据的 显示与控制都是不可能实现的。 传感器根据输入物理量可分为:位移传感器、压力传感器、速度传感器、 温度传感器及气敏传感器等。 根据工作原理可分为:电阻式、电感式、电容式及电势式等。 根据输出信号的性质可分为:模拟式传感器和数字式传感器。即模拟式传 感器输出模拟信号,数字式传感器输出数字信号. 根据能量转换原理可分为:有源传感器和无源传感器。有源传感器将非

15、电 量转换为电能量,如电动势、电荷式传感器等;无源程序传感器不起能量转换 作用,只是将被测非电量转换为电参数的量,如电阻式、电感式及电容光焕发 式传感器等。传感器分类方法如表 21 所示。 其中,电涡流式传感器最大的特点是能对位移、厚度、表面温度、速度、 应力、材料损伤等进行非接触式连续测量, 另外还具有体积小, 灵敏度高, 频率 响应宽等特点, 应用极其广泛。电涡流传感器是利用电涡流效应将位移等非电 被测参量转换为线圈的电感或阻抗变化的变磁阻式传感器。 表 21 传感器分类表 传感器分类 转换形式 中间 参量 转换原理传感器名称典型应用 移动电位器角点改变电阻电位器传感器位移 改变电阻丝或片

16、的尺寸 电阻丝应变传感器、 半导体应变传感器 微应变、力、负荷 热丝传感器气流速度、液体流量 电阻温度传感器温度、辐射热 利用电阻的温度效应 (电阻的温度系数) 热敏电阻传感器温度 利用电阻的光敏效应光敏电阻传感器光强 电阻 利用电阻的湿度效应湿敏电阻湿度 改变电容的几何尺寸力、压力、负荷、位移 电容 改变电容的介电常数 电容传感器 液位、厚度、含水量 改变磁路几何尺寸、 导磁体位置 电感传感器位移 涡流去磁效应涡流传感器位移、厚度、含水量 利用压磁效应压磁传感器力、压力 差动变压器位移 自速角机位移 电感 改变互感 旋转变压器位移 振弦式传感器压力、力 振筒式传感器气压频率改变谐振回路中的固

17、有参数 石英谐振传感器力、温度等 利用莫尔条纹光栅 改变互感感应同步器计数 利用拾磁信号磁栅 大角位移、大直线位移 电 参 数 数字利用数字编码角度编码器大角位移 温差电动势热电偶温度热流 霍尔效应霍乐传感器磁通、电流 电磁感应磁电传感器速度、加速度 电动势 光电效应光电池光强 辐射电离电离室离子计数、放射性强度 电 能 量 电荷 压电效应压电传感器动态力、加速度 2.2.1 涡流传感器工作原理 据法拉第电磁感应原理, 块状金属导体置于变化的磁场中或在磁场中作切 割磁力线运动时, 导体内将产生呈涡旋状的感应电流, 此电流叫电涡流, 以上现 象称为电涡流效应。根据电涡流效应制成的传感器称为电涡流

18、式传感器。如图 23 所示。 图 23 电涡流式传感器的基本原理 按照电涡流在导体内的贯穿情况, 此传感器可分为高频反射式和低频透射 式两类, 但从基本工作原理上来说仍是相似的。 电涡流效应是指金属导体置于交变磁场中会产生电涡流,且该电涡流所产 生磁场的方向与原磁场方向相反的一种物理现象。电涡流传感器的敏感元件是 线圈,当给线圈通以交变电流并使它接近金属导体时,线圈产生的磁场就会被 导体电涡流产生的磁场部分抵消,使线圈的电感量、阻抗和品质因数发生变化。 如果使上述参量中的某一个变动,其余皆不变,就可制成各种用途的传感器,能对 表面为金属导体的物体进行多种物理量的非接触测量。电涡流式传感器最大的

19、 特点是能对位移、厚度、表面温度、速度、 应力、材料损伤等进行非接触式连 续测量, 另外还具有体积小, 灵敏度高, 频率响应宽等特点,它是一种很有发展前 途的传感器。 2.2.2 电涡流传感器结构 此次设计选用的是电涡流三线直流传感器,其结构如图 24 所示。总体形 状为圆柱行,在探头上设置有动作指示灯,以检测传感器工作状态。不同探头 直径尺寸可检测的最远距离不同。 图 24 三线直流传感器的外观 图 25、图 26 是三线直流传感器两种不同输出晶体管的接线方法,分 别为 NPN 和 PNP 输出。 图 25 三线直流传感器 NPN 常开结构 图 26 三线直流传感器 PNP 常开结构 电涡流

20、三线直流传感器的电路原理示意图如图 27 所示。器件内部由感应 线圈、施密特触发器、保护二极管等元器件组成,晶体三极管做输出级。当被 检测物体接近到检测距离范围时,不需要机械接触及施加任何压力即可使开关 动作。 图 27 三线直流传感器电路原理示意图 2.2.3 三线直流传感器的技术指标 三线直流传感器的技术指标: 接线电压:6-36V 直流; 常开触点(NO) ; 电压降1.8V; 防短路的输出; 完备的极性保护。 表 22 是 LM12 系列电涡流传感器主要参数: 表 22 LM12 系列传感器主要参数 检测距离4mm NOLM12-3004NA NCLM12-3004NB NPN NO+

21、NCLM12-3004NC NOLM12-3004PA NCLM12-3004PB PNP NO+NCLM12-3004PC NOLM12-3004LA 直流 DC636VDC 二线制NCLM12-3004LB NOLM12-2004A NCLM12-2004B SCR 可挂硅 NO+NC 非 埋 入 式 交流 AC90250VAC 继电器输出 DC200mA 输出电流 SCR/继电器300mA 输出电压降 消耗电流 标准检测物体 15*15*1(A3 铁) 重复精度0.01 响应频率400Hz/25Hz 工作环境温度-25+75 绝缘电阻50M 欧姆 2.3 信号放大与整形 设计中利用 D

22、触发器对毛刺信号不敏感,消除毛刺,保证系统的稳定性。 电平触发的主从触发器工作时,必须在正跳沿前加入输入信号。如果在 CP 高 电平期间输入端出现干扰信号,那么就有可能使触发器的状态出错。而边沿触 发器允许在 CP 触发沿来到前一瞬间加入输入信号。这样,输入端受干扰的时 间大大缩短,受干扰的可能性就降低了。 该触发器由 6 个与非门组成,其中 G1 和 G2 构成基本 RS 触发器。边沿 D 触发器的逻辑图和逻辑符号如图 28 所示。 28 (a) 边沿 D 触发器的逻辑图 图 28 (b) 边沿 D 触发器的逻辑符号 边沿 D 触发器工作原理: SD 和 RD 接至基本 RS 触发器的输入端

23、,它们分别是预置和清零端,低 电平有效。当 SD=0 且 RD=1 时,不论输入端 D 为何种状态,都会使 Q=1,Q=0,即触发器置 1;当 SD=1 且 RD=0 时,触发器的状态为 0,SD 和 RD 通常又称为直接置 1 和置 0 端。我们设它们均已加入了高电平,不影响电路的 工作。工作过程如下: 1)CP=0 时,与非门 G3 和 G4 封锁,其输出 Q3=Q4=1,触发器的状态不变。 同时,由于 Q3 至 Q5 和 Q4 至 Q6 的反馈信号将这两个门打开,因此可接收输 入信号 D,Q5=D,Q6=Q5=D。 2)当 CP 由 0 变 1 时触发器翻转。这时 G3 和 G4 打开,

24、它们的输入 Q3 和 Q4 的状态由 G5 和 G6 的输出状态决定。Q3=Q5=D,Q4=Q6=D。由基本 RS 触 发器的逻辑功能可知,Q=D。 3)触发器翻转后,在 CP=1 时输入信号被封锁。这是因为 G3 和 G4 打开后, 它们的输出 Q3 和 Q4 的状态是互补的,即必定有一个是 0,若 Q3 为 0,则经 G3 输出至 G5 输入的反馈线将 G5 封锁,即封锁了 D 通往基本 RS 触发器的路径; 该反馈线起到了使触发器维持在 0 状态和阻止触发器变为 1 状态的作用,故该反 馈线称为置 0 维持线,置 1 阻塞线。Q4 为 0 时,将 G3 和 G6 封锁,D 端通往基 本

25、RS 触发器的路径也被封锁。Q4 输出端至 G6 反馈线起到使触发器维持在 1 状态的作用,称作置 1 维持线;Q4 输出至 G3 输入的反馈线起到阻止触发器置 0 的作用,称为置 0 阻塞线。因此,该触发器常称为维持-阻塞触发器。总之,该 触发器是在 CP 正跳沿前接受输入信号,正跳沿时触发翻转,正跳沿后输入即 被封锁,三步都是在正跳沿后完成,所以有边沿触发器之称。与主从触发器相比, 同工艺的边沿触发器有更强的抗干扰能力和更高的工作速度。 边沿 D 触发器状态描述: 状态转移真值表如表 23 所示。 表 23 状态转移真值表 DQnQn+1说明 000 010 101 111 输出状态与 D

26、 端状态相同 特征方程为: Qn+1=D 状态转移图及工作波形图如图 29、图 210 所示。 图 29 D 触发器的状态转移图 图 210 D 触发器的工作波形图 边沿 D 触发器脉冲特性:脉冲特性包括建立时间、保持时间、传输延迟时 和间最高时钟频率。 建立时间的约束和时钟周期有关,当系统在高频时钟下无法工作时,降低 时钟频率就可以使系统完成工作。保持时间是一个和时钟周期无关的参数,如 果设计不合理,使得布局布线工具无法布出高质量的时钟树,那么无论如何调 整时钟频率也无法达到要求,只有对所设计系统作较大改动才有可能正常工作, 导致设计效率大大降低。因此合理的设计系统的时序是提高设计质量的关键

27、。 在实际集成触发器中,每个门传输时间是不同的,并且作了不同形式的简 化。图 211 是集成 D 触发器 DM7474N, 其内部集成了两个边沿 D 触发器。 图 211 DM7474N 触发器的内部结构 DM7474N 真值表见表 24。通过图中的逻辑符号和 D 触发器的逻辑功能 表可以看出,DM7474N 是带有预置、清零输入、上跳沿触发的边沿触发器。 表 24 DM7474N 真值表 InputsOtputs PRCLRCLKDQ/Q LHXXHL HLXXLH LLXXH(Note1)H(Note2) HHHHL HHLLH HHLLLH 表中: VCC=5V H = 高逻辑 x =

28、低或高的逻辑水平 L = 低逻辑平实 = 时钟的正面去的转折 综上所述,对 D 触发器归纳为以下几点: 1)D 触发器具有接收并记忆信号的功能,又称为锁存器; 2)D 触发器属于脉冲触发方式; 3)D 触发器不存在约束条件和一次变化现象,抗干扰性能好,工作速度快。 2.4 AT89S52 单片机 AT89S52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可 编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程, 亦适于常规编程器。 2.4.1 AT89S52

29、单片机特性 AT89S52 芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统 提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口 线,看门狗定时器,2 个数据指针, 三个 16 位定时器/计数器,一个 6 向 量 2 级中断结构,全双工串行口,片 内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作, 允许 RAM、定时 器 /计数器、串口、中断继续工作。 掉电保护方式下,

30、RAM 内容被保存, 振荡器被冻结,单片机一切工作停止, 直到下一个中断或硬件复位为止。图 212 为 AT89S52 引脚图。其中:VCC 为电源 ;GND 是地 。 P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱 动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外 部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下, P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序 校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的

31、8 位双向 I/O 口,p1 输出缓冲器 能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻 的原因,将输出电流(IIL) 。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外 部计数输入(P1.0/T2)和时器/计数器 2 的触发输入(P1.1/T2EX) ,具体如表 25 所示。在 flash 编程和校验时,P1 口接收低 8 位地址字节。 图 212 AT89S52 引脚图 表 25 P1 口的第二功能 引脚号第二功能 P1.0T2(定时器/计数器 T2 的外部计数输入) ,

32、时钟输出 P1.1T2(定时器/计数器 T2 的捕捉/重 载触发信号和方向控制) P1.5MOSI(在系统编程用) P1.6MISO(在系统编程用) P1.7SCK(在系统编程用) P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器 能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻 的原因,将输出电流(IIL) 。在访问外部程序存储器或用 16 位地址读取外部数 据存储器(例如执行 MOVX DPTR)时,P2 口送出高八位地址。在这种应用 中,P2 口使

33、用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX RI)访 问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时, P2 口也接收高 8 位地址字节和一些控制信号。 表 26 P3 口的第二功能 引脚号第二功能 P3.0RXD(串行输入) P3.1TXD(串行输出) P3.2INT0(外部中断 0) P3.3INT0(外部中断 0) P3.4T0(定时器 0 外部输入) P3.5T1(定时器 1 外部输入) P3.6WR(外部数据存储器写选通) P3.7RD(外部数据存储器写选通) P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2

34、 输出缓冲器 能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高, 此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻 的原因,将输出电流(IIL) 。 P3 口亦作为 AT89S52 特殊功能(第二功能)使 用,如表 26 所示。在 flash 编程和校验时,P3 口也接收一些控制信号。 RST:复位输入。晶振工作时,RST 脚持续 2 个机器周期高电平将使单片 机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存 器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下, 复位高电

35、平有效。 ALE/(PROG/):地址锁存控制信号(ALE)是访问外部程序存储器时, 锁存低 8 位地址的输出脉冲。在 flash 编程时,此引脚(PROG/)也用作编程 输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来 作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳过。如果需要,通过将地址为 8EH 的 SFR 的第 0 位置 “1”, ALE 操作将无效。这一位置 “1”, ALE 仅在执行 MOVX 或 MOVC 指令时有 效。否则,ALE 将被微弱拉高。这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0 位

36、)的设置对微控制器处于外部执行模式下无效。 (PSEN/):外部程序存储器选通信号(PSEN/)是外部程序存储器选通信 号。当 AT89S52 从外部程序存储器执行外部代码时,PSEN/在每个机器周期被 激活两次,而在访问外部数据存储器时,PSEN/将不被激活。 (EA/)/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存储器读取指令,EA/必须接 GND。为了执行内部程序指令,EA/ 应该接 VCC。在 flash 编程期间,EA/也接收 12 伏 VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输

37、出端。 2.4.2 AT89S52 单片机接口电路设计 整个单片机课程系统电路由 AT89S52 单片机、44 键盘、4 位数码管、串 行通信和附加功能扩展等 5 个部分组成。图 213 为系统组成结构框图。 图 213 系统组成结构框图 1)触发器工作电压为 5V,信号从触发器的 D1 端输入,R 为上拉电阻。信 号从 Q1 输出,经上拉电阻送入单片机 P1.0 口,如图 214 所示。 图 214 DM7474N 电路原理图 2)LED 数码管显示电路采用动态扫描方式驱动,P0 口作为段码输入,P2 高 4 位作为位选线输入。图 215 是数码管显示电路原理图。其中,数码管为 共阳极性。

38、动态扫描的工作原理:段码线不断送出待显示字符的共阳字符表,位选线 在同一时刻选中 4 位数码管中的一位,并使每位显示字符停留一段时间,一般 15ms,利用眼睛的视觉惯性,在数码管上就可以同时看到 4 位不同字符显示。 涡流传感器 单片机 AT89S52 4 位数码管 串行通信 附加功能 DM7474N a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS1 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS2 a bf c g d e DPY 1 2 3 4 5 6 7 a b

39、 c d e f g 8 dp dp DS3 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS4 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 Q1 9015 Q2 9015 Q3 9015 Q4 9015 VCC+5v Com4Com3Com2Com1 图 215 数码管显示电路图 3)单片机与 PC 机串行通信电平转换芯片采用 MAX232。MAX232 外接 4 个 1.0uF 的电

40、容可完成 TTL 电平和 RS-232C 电平之间的转换。图 216 是串行 通信接口电路图: 1 6 2 7 3 8 4 9 5 J5 DB9 T1IN 11 T2IN 10 R1OU T 12 R2OU T 9 C1+ 1 C1- 3 C2+ 4 C- 5 T1OUT 14 T2OUT 7 R1IN 13 R2IN 8 V+ 2 VCC 16 V- 6 GND 15 IC102 MAX232 C6 1.0uF C7 1.0uF C9 1.0uF C8 1.0uF MCU_T XD MCU_RX D 图 216 串行通信接口电路图 4)AT89S52 单片机外围电路主要包括复位和时钟电路。图

41、 217 为单片 机的复位电路,复位操作通常有两种基本形式:上电复位和上电或开关复位。 上电复位要求接通电源后,自动实现复位操作。上电或开关复位要求电源接通 后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。 单片机复位电路原理是在单片机的复位引脚上外接电阻和电容,实现上电复位。 图 217 单片机复位电路 图 218 是单片机的外部晶振电路,为单片机工作提供了逻辑时序。 图 218 单片机的外部晶振电路 第 3 章 软件设计 3.1开发环境介绍 软件开发环境是指在基本 的硬件和软件的基础上,为支持系统软件和应 用软件的工程化开发和维护而使用的一组软件。它由软件工具和环境集

42、成机 制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成 和软件的开发、维护及管理提供统一的支持。 软件开发环境可按以下几种角度分类: 1) 按软件开发模型及开发方法分类,有支持瀑布模型、演化模型、螺旋 模型、喷泉模型以及结构化方法、信息模型方法、面向对象方法等不同模型 及方法的软件开发环境。 2) 按功能及结构特点分类,有单体型、协同型、分散型和并发型等多种 类型的软件开发环境。 3) 按应用范围分类,有通用型和专用型软件开发环境。其中专用型软件 开发环境与应用领域有关,故又可称为应用型软件开发环境。 4) 按开发阶段分类,有前端开发环境 (支持系统规划、分析、设计等阶 段的

43、活动)、后端开发环境 (支持编程、测试等阶段的活动 )、软件维护环境 和逆向工程环境等。此类环境往往可通过对功能较全的环境进行剪裁而得到。 软件开发环境由工具集和集成机制两部分构成,工具集和集成机制间的关系 犹如“插件”和“插槽”间的关系。 工具集:软件开发环境中的工具可包括:支持特定过程模型和开发方法 的工具,如支持瀑布模型及数据流方法的分析工具、设计工具、编码工具、 测试工具、维护工具,支持面向对象方法的OOA 工具、OOD 工具和 OOP 工具等;独立于模型和方法的工具,如界面辅助生成工具和文档出版工具; 亦可包括管理类工具和针对特定领域的应用类工具。 集成机制:对工具的集成及用户软件的

44、开发、维护及管理提供统一的支 持。按功能可划分为环境信息库、过程控制及消息服务器、环境用户界面三 个部分。 环境信息库:是软件开发环境的核心,用以储存与系统开发有关的信息 并支持信息的交流与共享。库中储存两类信息,一类是开发过程中产生的有 关被开发系统的信息,如分析文档、设计文档、测试报告等;另一类是环境 提供的支持信息,如文档模板、系统配置、过程模型、可复用构件等。 过程控制和消息服务器:是实现过程集成及控制集成的基础。过程集成 是按照具体软件开发过程的要求进行工具的选择与组合,控制集成并行工具 之间的通信和协同工作。 环境用户界面:包括环境总界面和由它实行统一控制的各环境部件及工 具的界面

45、。统一的、具有一致视感的用户界面是软件开发环境的重要特征, 是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。 较完善的软件开发环境通常具有如下功能: 1) 软件开发的一致性及完整性维护; 2) 配置管理及版本控制; 3) 数据的多种表示形式及其在不同形式之间自动转换; 4) 信息的自动检索及更新; 5) 项目控制和管理; 6) 对方法学的支持。 3.1.1 C51 简介 20 世纪 90 年代,C 语言成为了专业化的微处理器上的实用高级语言。 过去长时间困扰人们的所谓“高级语言产生代码长、运行速度慢、不适合单片 机使用”等致命弱点已基本被克服。目前,MCS-51 上的 C51

46、 代码长度,在未 加入人工优化的条件下,已经是最优汇编程序水平的 1.21.5 倍。 KEILC51 标准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境,同 时保留了汇编代码高效,快速的特点。C51 编译器的功能不断增强,使你可以更 加贴近 CPU 本身,及其它的衍生产品。C51 已被完全集成到 uVision2 的集成开 发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管 理器,调试器。uVision2 可为它们提供单一而灵活的开发环境。 在项目管理中,工程是由源文件、开发工具选项以及编程说明三部分组成 的。一个单一的 uVision2 工程能够产生一个或

47、多个目标程序。产生目标程序的 源文件构成“组”。开发工具选项可以对应目标、组或单个文件。 uVision2 包含一个器件数据库,可以自动设置汇编器、编译器、连接定位 器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含: 片上存储器和外围设备的信息,扩展数据指针或者加速器的特性。 3.1.2 Keil C51 集成开发平台 Keil C51 集成开发环境基于 Windows 操作系统,软件运为视窗界面,操作 非常方便,且支持 C 代码 8 级优化,产生高效率的编译代码。KEILC51 标准 C 编译器为微控制器的软件开发提供了 C 语言环境,集编译,编辑,仿真等于一体, 同时保留

48、了汇编代码高效,快速的特点。Keil C51 集成开发环境中的软件仿真功 能能够很好的将单片机的内部硬件资源中的信息,汇编指令和程序运行结果以 直观,友好的界面进行展示。C51 编译器的功能不断增强,使我们可以更加贴 近 CPU 本身,及其它的衍生产品。C51 集成开发环境包含:编译器,汇编器, 实时操作系统,项目管理器,调试器。可以非常方便的进行在线调试,易于发 现问题,解决问题。 KEIL C51 编译器在遵循 ANSI 标准的同时,为 8051 微控制器系列特别设 计。语言上的扩展能让用户使用应用中的所有资源。 1) 存储器和特殊功能寄存器的存取 C51 编译器可以实现对 8051 系列

49、所有资源的操作。SFR 的存取由 sfr 和 sbit 两 个关键字来提供。变量可旋转到任一个地址空间。用关键字at还能把变量 放入固定的存储器存储模式(大,中,小)决定了变量的存储类型。连接定 位器支持的代码区可达 32 个,这就允许用户在原有 64KROM 的 8015 基础上 扩展程序。在 V2 的编译器和许多高性能仿真器中,可以支持应用程序的调试。 2) 中断功能 C51 允许用户使用 C 语言编写中断服务程序,快速进、出代码和寄存器区的转 换功能使 C 语言中断功能更加高效。可再入功能是用关键字来定义的。多任务, 中断或非中断的代码要求必须具备可再入功能。 3) 灵活的指针 C51

50、提供了灵活高效的指针。通用指针用 3 个字节来存储存储器类型及目 标地址,可以在 8051 的任意存储区内存取任何变量。特殊指针在声明的同时已 指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需 12 字节, 因此,指针存取非常迅速。 Keil C51 的运行界面如图 31 所示: 图 31 Keil C51 开发环境 uVision2 运行界面 3.2 程序设计 整个系统的软件设计采用了 C 语言进行编程,并且是在 uVision2 集成开发 环境下完成的。主要设计了 LED 显示的控制程序、其中包括检测脉冲信号、计 数累加以及复位等环节。 3.2.1 程序流程图 如图 32 是本

51、次设计的显示程序设计流程图。当每检测到信号脉冲时,计 数初值加 1,当计数值到 9999 时,计数初值自动清零重新计数。 图 32 显示程序设计流程图 3.2.2 主程序 #define LedDataPort P0/LED 数据输入 #define LedCntPort P2/LED 片选 sbit datainput =P10;/传感器的输入引脚 #define uchar unsigned char #define uint unsigned int static uchar code LedCode= 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,

52、0 xf8, 0 x80,0 x90,0 x88,0 x83,0 xc6,0 xa1,0 x86,0 x8e; /LED 段码显示表 uchar DispString=0 x00,0 x00,0 x00,0 x00; /显示缓冲数组 /*函数声明*/ void LedDispString(uchar *ptr); void Delay_ms(uchar x); void covertdata(int Data); int count = 0; /检测到金属块计数值 /*主函数*/ void main(void) uchar i=0; while(1) while(datainput)LedDi

53、spString(DispString); /等待检测到有金属 count+; if(count 9999)count = 0; /最大计数为 9999 covertdata(count); /将 4 位数转化到数组 开始 显示计数初始值 有信号脉冲? 计数值加 1 计数9999 ? 转化段码表,显示 结束 Y N N Y 计数归 0 开始 显示计数初始值 有信号脉冲? 计数值加 1 计数9999 ? 转化段码表,显示 结束 中 LedDispString(DispString); /显示数组的值 while(!datainput)LedDispString(DispString); /等待金

54、属块移走 /*显示*/ void LedDispString( uchar *ptr ) uchar i=0; uchar j=0 xef; for(i=0;i4;i+) LedDataPort=LedCodeptri;/送段码到 LED 的数据端口 LedCntPort=j; /使能片选-低有效 j=1;/进行位选的移位 Delay_ms(2); void covertdata(int Data) DispString3 = Data/1000;/计数的高位 DispString2 = Data%1000/100;/计数的第 3 位 DispString1 = Data%100/10;/计数

55、的第 2 位 DispString0 = Data%10;/计数的低位 3.2.3 系统调试结果 系统主要以实现连续计数为主要功能,并能将计数结果自动累积自加,在 硬件电路中设置了复位按键,用以清零。调试过程中,通过查阅资料,完成了 整个电路的接口与设计,完整的将信号采集,信号处理以及结果显示等组合在 一起,实现开关信号的控制和数码管显示。 第 4 章 结 论 通过努力,本次设计完成了设计任务,获得了预期结果,期间也提高了自 身各方面的能力。在设计过程中,不免遇到各种各样的问题,在实际操作过程 中,通过自己动脑思考、查阅大量的资料,逐步发现问题、处理问题。从方案 选择,器件选择到电路连接,从写

56、控制程序到系统调试,各个部分我都在自己 亲自动脑思考、查资料、请教老师、跟同学探讨的过程中,不仅进一步掌握了 焊接的方法,在编程和调试的过程中,并更加熟悉的掌握了对各类工程软件的 运用,也更进一步的熟悉和掌握了传感器,单片机的各项功能和工作原理。 通过本次设计,我切实的提高了自己的动手能力和综合思维的能力,在调 试不成功时,更是培养了我认真分析问题,理清思路,综合思考的能力。在实 习过程中,让我将所学的理论和实际联系在一起,并用之于实际问题,通过实 际来检验所掌握知识的真伪。 当然,通过本次设计我也发现了自己还有很多的不足,也走了不少弯路。 在最初选器件时没有考虑周全,以致半途而废,急于求成;在硬件调试时,也 曾接错线路。本次设计让我深深的感受到以后在做

温馨提示

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

评论

0/150

提交评论