您当前位置:主页 > 新闻动态 > > 正文

压力测试系统课程设计

  压力测试系统课程设计_工学_高等教育_教育专区。压力测试系统课程设计---赵云龙 目录 摘要· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

  压力测试系统课程设计---赵云龙 目录 摘要· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·2 第一章 设计背景 1.1 压力测试系统的相关背景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 1.2 总体设计方案论证· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 1.2.1 压力测试系统设计框图· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 1.2.2 压力测试系统设计框图分析· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·3 1.2.3 总体设计方案分析· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·4 第二章 硬件设计 2.1AT89C51 单片机简介· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·5 2.1.1 主要特性· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·5 2.1.2 管脚说明· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·6 2.1.3AT89C51 单片机在电路图中连接· · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·7 2.2 51 单片机最小系统的设计· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·8 2.2.1 单片机组成· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·8 2.2.2 51 单片机最小系统电路介绍· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·8 2.3 压力传感器· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·9 2.3.1 压力传感器的选择· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·9 2.3.2 压力传感器工作原理· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·9 2.3.3 电阻应变片· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·9 2.4 模数转换电路的设计· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·10 2.4.1 模数转换· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·10 2.4.2 ADC0808 芯片· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·10 2.5 接口电路的设计· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·13 2.6 驱动与显示电路· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·14 2.6.1 74LS245 的原理· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·14 2.6.2 74LS245 驱动电路· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·15 2.7 电源电路的设计· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·16 2.8 原理图· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·16 第三章软件设计 3.1 总体流程图· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·17 3.2 子程序· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·17 3.2.1 A/D 转换子程序· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·17 3.2.2 显示子程序· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·17 第四章调试及仿线 程序代码· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·18 4.2 仿真结果· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·20 4.3 数据分析· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·20 附录一课程设计总结· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·21 附录二 参考文献· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·22 1 压力测试系统课程设计---赵云龙 摘要 此次设计是基于单片机的压力检测系统, 选择的单片机是基于 AT89C51 单片 机的测量与显示,将压力经过压力传感器转变为电信号,经过放大器放大,然后 进入 A/D 转换器将模拟量转换为数字量显示,我们所采样的 A/D 转换器为 ADC0808。 2 压力测试系统课程设计---赵云龙 第一章 设计背景 1.1 压力测试系统的相关背景 近年来, 随着微型计算机的发展,传感器在人们的工作和日常生活中应用越 来越普遍。 压力是工业生产过程中的重要参数之一。压力的检测或控制是保证生 产和设备安全运行必不可少的条件。 实现智能化压力检测系统对工业过程的控制 具有非常重要的意义。压力传感器是工业实践、仪器仪表控制中最为常用的一种 传感器, 并广泛应用于各种工业自控环境, 涉及水利水电、 铁路交通、 生产自控、 航空航天、军工、石化、油井、电力、船舶、机床、管道等众多行业。压力测量 对实时监测和安全生产具有重要的意义。在工业生产中,为了高效、安全生产, 必须有效控制生产过程中的诸如压力、流量、温度等主要参数。由于压力控制在 生产过程中起着决定性的安全作用,因此有必要准确测量压力。通过压力传感器 将需要测量的位置的压力信号转化为电信号,再经过运算放大器进行信号放大, 送至 8 位 A/D 转换器,然后将模拟信号转换成单片机可以识别的数字信号,再 经单片机转换成 LED 显示器可以识别的信息,最后显示输出。 1.2 总体设计方案论证 1.2.1 压力测试系统设计框图 压 力 检 测 电 路 74LS254 LED AT89C51 ADC0808 808 最小系统 单 片 机 显 示 电 路 图 1-1 压力测试系统原理方框图 1.2.2 压力测试系统设计框图分析 电路主要分成两个模块:A/D 转换模块和显示模块,我们选用的 A/D 转换器 是 ADC0808,单片机为 AT89C51,显示为 4 位数码管显示。根据硬件电路编程, 调试出来并显示结果。 3 压力测试系统课程设计---赵云龙 1.2.3 总体设计方案分析 本次设计是基于 AT89C51 单片机的测量与显示。 电路采用 ADC0808 模数转换 电路,ADC0808 是 CMOS 工艺,采用逐次逼近法的 8 位 A/D 转换芯片,片内有带 锁存功能的 8 路模拟电子开关,先用 ADC0808 的转换器对各路电压值进行采样, 然后将模拟信号转换成单片机可以识别的数字信号, 再经单片机转换成 LED 显示 器可以识别的信息,最后显示输出。本次设计是以单片机组成的压力测量,系统 中必须有前向通道作为电信号的输入通道,用来采集输入信息。压力的测量,需 要传感器, 利用传感器将压力转换成电信号后,再经放大并经 A/D 转换为数字量 后才能由计算机进行有效处理。然后用 LED 进行显示。本设计的最终结果是,将 软件下载到硬件上调试出来了需要显示的数据, 当输入的模拟信号发生变化的时 候,通过 A/D 转换后,LED 将显示不同的数值。 4 压力测试系统课程设计---赵云龙 第二章 硬件设计 2.1AT89C51 单片机简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储( FPEROM — Falsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微 处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件 采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和 输出管脚相兼容。 由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器。如图 2-1: 图 2-1AT89C51 外部引脚图 2.1.1 主要特性 · 8031 CPU 与 MCS-51 兼容· 全静态工作:0Hz-24KHz · 4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环) · 三级程序存储器保密锁定· 128*8 位内部 RAM · 32 条可编程 I/O 线 位定时器/计数器 · 6 个中断源· 可编程串行通道 · 低功耗的闲置和掉电模式· 片内振荡器和时钟电路 5 压力测试系统课程设计---赵云龙 2.1.2 管脚说明 VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储 器,它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入 口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接 收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收, 输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行 存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口, 可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口: P3 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电 平时间。 ALE:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的 频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输 出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳 过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只 有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微 处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个 6 压力测试系统课程设计---赵云龙 机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信 号将不出现。 /EA:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) , 不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于 施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.1.3AT89C51 单片机在电路图中连接 连接如下图 2-2 所示: 图 2-2AT89C51 单片机在电路图中的连接 7 压力测试系统课程设计---赵云龙 2.2 51 单片机最小系统的设计 2.2.1 单片机组成 单片机的最小系统由 RAM,ROM,晶振电路,复位电路,电源,地线组成。 电路设计如图 2-3 所示: 图 2-3 单片机最小系统 随着电子技术的发展, 单片机的功能将更加完善,因而单片机的应用将更加 普及。 它们将在智能化仪器、 家电产品、 工业过程控制等方面得到更广泛的应用。 单片机将是智能化仪器和中、小型控制系统中应用最多的有种微型计算机。 2.2.2 51 单片机最小系统电路介绍 2.2.2.151 单片机最小系统复位电路的极性电容 C1 的大小直接影响单片机 的复位时间, 一般采用 10~30uF,51 单片机最小系统容值越大需要的复位时间越 短。 2.2.2.251 单片机最小系统晶振 Y1 也可以采用 6MHz 或者 11.0592MHz, 在正 常工作的情况下可以采用更高频率的晶振,51 单片机最小系统晶振的振荡频率 直接影响单片机的处理速度,频率越大处理速度越快。 2.2.2.3 51 单片机最小系统起振电容 C2、C3 一般采用 15~33pF,并且电容 离晶振越近越好,晶振离单片机越近越好 4.P0 口为开漏输出,作为输出口时需 加上拉电阻,阻值一般为 10k。 2.2.2.4 设置为定时器模式时,加 1 计数器是对内部机器周期计数(1 个机 器周期等于 12 个振荡周期,即计数频率为晶振频率的 1/12) 。计数值 N 乘以机 器周期 Tcy 就是定时时间 t。 2.2.2.5 设置为计数器模式时,外部事件计数脉冲由 T0 或 T1 引脚输入到计 数器。在每个机器周期的 S5P2 期间采样 T0、T1 引脚电平。当某周期采样到一高 电平输入,而下一周期又采样到一低电平时,则计数器加 1,更新的计数值在下 8 压力测试系统课程设计---赵云龙 一个机器周期的 S3P1 期间装入计数器。由于检测一个从 1 到 0 的下降沿需要 2 个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为 12MHz 时,最高计数频率不超过 1/2MHz,即计数脉冲的周期要大于 2 ms。 2.3 压力传感器 2.3.1 压力传感器的选择 压力传感器是将压力转换为电信号输出的传感器。 通常把压力测量仪表中的 电测式仪表称为压力传感器。压力传感器一般由弹性敏感元件和位移敏感元件 (或应变计) 组成。 弹性敏感元件的作用是使被测压力作用于某个面积上并转换 为位移或应变, 然后由位移敏感元件或应变计转换为与压力成一定关系的电信号。 有时把这两种元件的功能集于一体。压力传感器广泛应用于各种工业自控环境, 涉及水利水电、 铁路交通、 智能建筑、生产自控、航空航天、军工、石化、油井、 电力、船舶、机床、管道等众多行业。 力学传感器的种类繁多, 但常用的压力传感器有电阻应变片压力传感器、半 导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传 感器、谐振式压力传感器及电容式加速度传感器,光纤压力传感器等。应用最为 广泛的是压阻式压力传感器, 它具有极低的价格和较高的精度以及较好的线性特 性。 压力传感器是使用最为广泛的一种传感器。 传统的压力传感器以机械结构型 的器件为主,以弹性元件的形变指示压力,但这种结构尺寸大、质量轻,不能提 供电学输出。随着半导体技术的发展,半导体压力传感器也应运而生。其特点是 体积小、质量轻、准确度高、温度特性好。特别是随着 MEMS 技术的发展,半导 体传感器向着微型化发展,而且其功耗小、可靠性高。 2.3.2 压力传感器工作原理 压阻式应变压力传感器的主要由电阻应变片按照惠斯通电桥原理组成。 2.3.3 电阻应变片 一种将被测件上的应变变化转换成为一种电信号的敏感器件。 它是压阻式应 变传感器的主要组成部分之一。 电阻应变片应用最多的是金属电阻应变片和半导 体应变片两种。 金属电阻应变片又有丝状应变片和金属箔状应变片两种。通常是 将应变片通过特殊的粘和剂紧密的粘合在产生力学应变基体上, 当基体受力发生 应力变化时,电阻应变片也一起产生形变, 使应变片的阻值发生改变, 从而使加在电阻上的电压发生变化。这种应变片 在受力时产生的阻值变化通常较小,一般这种应变片都组成应变电桥,并通过后 续的仪表放大器进行放大,再传输给处理电路(通常是 A/D 转换和 CPU)显示或 执行机构。 金属电阻应变片的内部结构如图 2-4: 9 压力测试系统课程设计---赵云龙 图 2-4 金属电阻应变丝的结构 如图所示,是电阻应变片的结构示意图,它由基体材料、金属应变丝或应变 箔、绝缘保护片和引出线等部分组成。根据不同的用途,电阻应变片的阻值可以 由设计者设计,但电阻的取值范围应注意:阻值太小,所需的驱动电流太大,同 时应变片的发热致使本身的温度过高,不同的环境中使用,使应变片的阻值变化 太大,输出零点漂移明显,调零电路过于复杂。而电阻太大,阻抗太高,抗外界 的电磁干扰能力较差。一般均为几十欧至几十千欧左右。 2.4 2.4.1 模数转换电路的设计 模数转换 模拟量输入通道的任务是将模拟量转换成数字量。 能够完成这一任务的器件 称之为模数转换器, 简称 A/D 转换器。本次设计的中 A/D 转换器的任务是将放大 器输出的模拟信号转换位数字量进行输出。 A/D 转换电路的核心元件是 ADC0808 芯片 2.4.2ADC0808 芯片 ADC 0808 和 ADC 0809 除精度略有差别外(前者精度为 8 位、后者精度为 7 位),其余各方面完全相同。它们都是 CMOS 器件,不仅包括一个 8 位的逐次逼近 型的 ADC 部分, 而且还提供一个 8 通道的模拟多路开关和通道寻址逻辑,因而有 理由把它作为简单的“数据采集系统” 。利用它可直接输入 8 个单端的模拟信号 分时进行 A/D 转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。 1) 主要技术指标和特性 (1)分辨率: 8 位。 (2)总的不可调误差: ADC0808 为±1/2LSB,ADC 0809 为±1LSB。 (3)转换时间:取决于芯片时钟频率,如 CLK=500kHz 时,TCONV=128μ s。 (4)单一电源: +5V。 (5)模拟输入电压范围:单极性 0~5V;双极性±5V,±10V(需外加一定电 路)。 10 压力测试系统课程设计---赵云龙 (6)具有可控三态输出缓存器。 (7)启动转换控制为脉冲式(正脉冲),上升沿使所有内部寄存器清零,下 降沿使 A/D 转换开始。 (8)使用时不需进行零点和满刻度调节。 2) 内部结构和外部引脚 ADC0808/0809 的内部结构和外部引脚分别如图 2-5 和图 2-6 所示。内部各 部分的作用和工作原理在内部结构图中已一目了然,在此就不再赘述,下面仅对 各引脚定义分述如下: 图 2-5 ADC0808/0809 内部结构框图 (1)IN0~IN7——8 路模拟输入,通过 3 根地址译码线 ADDA、ADDB、ADDC 来选通一路。 (2)D7~D0——A/D 转换后的数据输出端,为三态可控输出,故可直接和 微处理器数据线)ADDA 、ADDB、ADDC——模拟通道选择地址信号, ADDA 为低位,ADDC 为高位。地址信号与选中通道对应关系如表 1 所示。 (4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内 DAC 电阻网 络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、 VR(-)分别接正、负极性的参考电压。 表 1 地址信号与选中通道的关系 地址 ADDC 0 0 0 0 1 1 1 ADDB 0 0 1 1 0 0 1 ADDA 0 1 0 1 0 1 0 选中通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 11 压力测试系统课程设计---赵云龙 1 1 1 IN7 图 2-6 ADC0808/0809 外部引脚图 (5)ALE——地址锁存允许信号,高电平有效。当此信号有效时,A、B、C 三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和 START 信号连在一起,以便同时锁存通道地址和启动 A/D 转换。 (6)START——A/D 转换启动信号,正脉冲有效。加于该端的脉冲的上升沿 使逐次逼近寄存器清零, 下降沿开始 A/D 转换。如正在进行转换时又接到新的启 动脉冲,则原来的转换进程被中止,重新从头开始转换。 (7)EOC——转换结束信号,高电平有效。该信号在 A/D 转换过程中为低电 平,其余时间为高电平。该信号可作为被 CPU 查询的状态信号,也可作为对 CPU 的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC 也可作为 启动信号反馈接到 START 端,但在刚加电时需由外电路第一次启动。 ( 8 ) OE ——输出允许信号,高电平有效。当微处理器送出该信号时, ADC0808/0809 的输出三态门被打开,使转换结果通过数据总线被读走。在中断 工作方式下,该信号往往是 CPU 发出的中断请求响应信号。 3) 工作时序与使用说明 ADC 0808/0809 的工作时序如图 2-7 所示。当通道选择地址有效时,ALE 信 号一出现, 地址便马上被锁存, 这时转换启动信号紧随 ALE 之后(或与 ALE 同时) 出现。 START 的上升沿将逐次逼近寄存器 SAR 复位,在该上升沿之后的 2μ s 加 8 个时钟周期内(不定),EOC 信号将变低电平,以指示转换操作正在进行中,直到 转换完成后 EOC 再变高电平。 微处理器收到变为高电平的 EOC 信号后,便立即送 出 OE 信号,打开三态门,读取转换结果。 12 压力测试系统课程设计---赵云龙 图 2-7 ADC 0808/0809 工作时序 模拟输入通道的选择可以相对于转换开始操作独立地进行(当然,不能在转 换过程中进行),然而通常是把通道选择和启动转换结合起来完成 (因为 ADC0808/0809 的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道 又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址 总线选择,一种是通过数据总线选择。 如用 EOC 信号去产生中断请求,要特别注意 EOC 的变低相对于启动信号有 2 μ s+8 个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利 用 EOC 上升沿产生中断请求,而不是靠高电平产生中断请求 2.5 接口电路的设计 ADC0808 与 AT89C51 采用中断方式。由于 ADC0808 片内有三态输出锁存器, 因此可以直接与 AT89C51 接口。这里将 ADC0808 作为一个外部扩展并行 I/O 口, 采用先选法寻址。 由 P3.0 控制启动转换信号端 (START) , 三位地址线 的 ADDA、ADDB、ADDC 端。当启动 ADC0808 时,先送通道号地址到 ADDA、ADDB 和 ADDC;锁存通道号并启动 A/D 转换。A/D 转换完毕,EOC 端置 1,然后使 OE 端有效,打开输出锁存器三态门,8 位数据便读入到单片机中。 接口电路原理图 2-8 所示: 13 压力测试系统课程设计---赵云龙 图 2-8 ADC0806 接口电路原理图 2.6 驱动与显示电路 2.6.1 74LS245 的原理 ,DIR 两个控制端控制, 控制端 74LS245 为 8 路通向三态双向总线收发器,可双向传输数据。16 个三态门每 两个三态门组成一路双向驱动。驱动方向由 控制驱动器有效或高阻态,在 控制端有效( =0)时,DIR 控制端控制驱动器 =1 时,A、B 的驱动方向.即:DIR=0 信号由 B→A;DIR=1 信号由 A→B 传输。在 为高阻状态。74LS245 的管脚图如图 2-9 所示: 14 压力测试系统课程设计---赵云龙 图 2-9 74LS245 引脚图 2.6.2 74LS245 驱动电路 当数码管显示时, 由于单片机的驱动能力达不到数码管的驱动电流,有时工 作不稳定,因此需要一个驱动电路,使数码管显示电路,如下图 2-10 所示。本 电路用 74LS245 16 个三态门每两个三态门组成一路双向驱动。通过单片机输送过来的信号 有 74LS245 进行驱动,由数码管进行显示。 图 2-10 74LS245 驱动电路与数码管连接图 15 压力测试系统课程设计---赵云龙 2.7 电源电路的设计 电源电路设计图如 2.11 所示: 图 2-11 电源电路的设计图 2.8 原理图 图 2-12 原理图 16 压力测试系统课程设计---赵云龙 第三章软件设计 3.1 总体流程图 主程序模块 主程序主要完成定时器初始化和 A/D 转换模拟值通道口选定, 调用显示子程 序等。主程序的流程图如图 3-1 所示: 开始 初始化 A/D 转换模拟值通道口选定 调用显示子程序 图 3-1 主程序流程图 3.2 子程序 3.2.1 A/D 转换子程序 A/D 转换子程序用于对 ADC0808 的输入模拟电压进行 A/D 转换,并将转换的 数值存入 8 个相应的存入单元中。A/D 转换子程序每隔一定时间调用一次,即每 隔一段时间对输入电压采样一次。 3.2.2 显示子程序 显示子程序采用动态扫描法实现 4 位数码管的数值显示。LED 数码管采用软 件译码动态扫描方式。 在显示子程序中包含多路循环显示和单路显示程序。多路 循环显示把 8 个存储单元的数值依次取出送到 4 位数码管上显示。每一路显示 1 秒, 单路显示程序只对当前选中的一路数据进行显示。每路数据显示时需经过转 换变成十进制 BCD 码, 放于 4 个数码管的显示缓冲中。单路显示或多路显示通过 标志位控制。 在显示控制程序中加入了对单路或多路循环按键和通道选择按键判 断。 17 压力测试系统课程设计---赵云龙 第四章调试及仿线 程序代码 #includereg52.h #define uchar unsigned char #define uint unsigned int unsigned char code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code tab1[]={0xfe,0xfd,0xfb,0xf7}; uchar dis_buf[4]; sbit ST=P3^0; sbit OE=P3^1; sbit EOC=P3^2; sbit CLK=P3^3; sbit P20=P2^0; sbit P21=P2^1; sbit P22=P2^2; sbit P23=P2^3; sbit AA=P3^5; sbit BB=P3^6; sbit CC=P3^7; void delay()//延时函数 { uchar t; for(t=0;t250;t++); } void display() { uchar j; for(j=0;j4;j++) { P1=tab[dis_buf[j]]; P2=tab1[j]; delay(); P2=0xff; } } void t1() interrupt 1 //定时器中断服务函数;作用:产生 CLK 信号 { TH0=(65536-200)/256; TL0=(65536-200)%256; CLK=~CLK; } 18 压力测试系统课程设计---赵云龙 void main()//主函数 { uchar sj=0,ge=0,shi=0,bai=0,qian=0; uint temp; TMOD=0x01; TH0=(65536-200)/256;//定时时间为 0.2us,亦即 CLK 周期为 0.4us TL0=(65536-200)%256; EA=1; ET0=1; TR0=1; while(1) { AA=0;//选择通道 0 BB=0; CC=0; ST=0;//关闭转换 OE=0;//关闭输出 ST=1;//开启转换 ST=0;//关闭转换 while(EOC==0);//判断是否转换结束:是则执行以下语句,否则等待 OE=1;//开启数据输出允许 sj=P0;//将数据取走,存放在变量 sj 中 OE=0;//关闭输出 temp=sj;//电压值转换,5V 作为参考电压,分成 256 份 qian=temp/1000; //个位 bai=(temp-qian*1000)/100;//十位 shi=(temp-qian*1000-bai*100)/10;//百位 ge=temp-qian*1000-bai*100-shi*10;//千位 dis_buf[0]=ge; dis_buf[1]=shi; dis_buf[2]=bai; dis_buf[3]=qian; display(); OE=0; } } 19 压力测试系统课程设计---赵云龙 4.2 仿线 仿线 数据分析 由外部传感器检测压力,数码显示管显示范围为 0~255,本次课程设计用滑动 变阻器代替外部传感器, 将滑动变阻器平均分成 266 份, 通过上调或下调压力同 步改变压力值,得到仿线V 电压: 当外部传感器检测到压力,为显示相应电压(电压显示范围为 0~5V) ,因数 码管显示范围为 0~255,根据数码管显示的值可以求得相应电压的变化,结合压 力检测传感器的参数可得到压力的值。如图 4-2 所示: 图 4-2 电压值与数码管显示值换算表 20 压力测试系统课程设计---赵云龙 附录一课程设计总结 为期两周的的压力测试系统课程设计结束了,我的感觉是真正的收获了很多, 不同于普通课堂上老师说我们记的模式,这是一次实打实的善战演练,通过老师 给的课题,度过了最初的迷茫和担忧,首先进行的的是资料的收集,我通过图书 馆和网上查找资料首先根据课题确定了课题的方向。 我做的是基于 AT89C51 单片 机的压力检测系统的设计, 用到的主要芯片是 AT89C51 和 ADC0808, 实现的功能 是将传感器采集到的模拟信号转换成单片机可以识别的数字信号, 再经单片机转 换成 LED 显示器可以识别的信息,最后显示输出。由于没有学习过单片机,因此 对 AT89C51 和 ADC0808 则比较陌生,但通过有目标的学习和网上搜索的资料对 我单片机特别是 AT89C51 和 ADC0808 方面的知识有了系统性的了解,遇到不懂 的问题自己解决不了,就和大家一起讨论,通过讨论加强了朋友间的友谊。小组 成员间相互分配任务, 共同完成。 自己解决不了也可以通过寻求指导老师的帮助。 此次课程设计使我更加了解 C51 程序的强大功能,Keil 和 proteus 的使用加深了 我对着两种软件的理解程度,单片机控制数码管的显示时,尤其是多个时,要使 用驱动电路。 课程设计暴露了我在平时学习中的不足,以及对知识缺乏融会贯通的能力, 课程设计过程中,我们不断发现错误,不断修改,不断领悟,不断获取。实践出 真知,自己亲自动手去做,才知道知识的匮乏! 课程设计同样是一门专业课,它一不同于课程的形式让我们学习到更加实用 的知识。提升的也不仅仅是专业技能,更是我们独立思考,解决问题的能力。小 组成员相互配合使我们之间的默契大大提高。非常感谢有这样的一次课程设计, 希望学校能够多多进行这样的专业设计活动。 21 压力测试系统课程设计---赵云龙 附录二参考文献 【1】 《测控电路》 张国雄编著机械工业出版社 【2】 《微型计算机接口技术》 吴延海编著重庆大学出版社 【3】 《微型计算机原理及接口技术》 裘雪红 顾新编著西安电子科技大 学出版社 【4】 《电路》 邱关源编著 高等教育出版社 【5】 《微型计算机接口原理与技术》邹逢兴编著国防科技大学出版社 【6】 《电子系统设计》 余小平等编著 北京航空航天大学出版社 【7】 《单片机典型外围器件及应用实例》 是实科技编著人民邮电出版社 【8】 《 《LED 数显仪表设计与应用实例》 沙占友编著 中国电力出版社 【9】 《数字电子技术基础》 阎石编著高等教育出版社 【10】 《全国大学生电子设计竞赛》 黄智伟编著 北京航空航天大学出版社 22

关于我们 产品中心 新闻动态 工程案例 联系我们

联系人: 张经理

传真: 0371-64030077

E-MALL: 63333@163.com

网址: http://www.egames4kids.com

地址: 信阳市 西村镇永安路南段22号

联系我们 →

0371-64030077

扫一扫关注我们

Copyright ©2015-2020 乐橙-官网平台 版权所有 乐橙保留一切权力!