基于51单片机的压力过程控制系统设计.doc_第1页
基于51单片机的压力过程控制系统设计.doc_第2页
基于51单片机的压力过程控制系统设计.doc_第3页
基于51单片机的压力过程控制系统设计.doc_第4页
基于51单片机的压力过程控制系统设计.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

东北大学秦皇岛分校自动化工程系 过程控制系统过程控制系统课程设计课程设计 设计题目:智能化压力测量仪设计设计题目:智能化压力测量仪设计 学学 生:李玲娜生:李玲娜 专专 业:测控技术与仪器业:测控技术与仪器 班级学号:班级学号: 5091030 指导教师:宋爱娟指导教师:宋爱娟 设计时间:设计时间:2011.6.18-2011.7.1 - 1 - 前 言3 一、设计任务书.4 二、器件选择.4 2.1 压力传感器的选择.4 2.2 键盘显示控制芯片 8279.6 2.3 模数转换器7 (1)a/d 转换器 adc0809.8 (2)a/d 转换器 adc0808.9 2.4 显示数码管10 2.5 d 锁存器 74ls373.11 2.6 地址锁存器 74ls273.12 2.7 译码器 74ls13813 三、系统设计13 3.1 设计思路13 3.2 系统硬件框图14 3.3 控制系统总体结构.,14 四、硬件设计.15 4.1 气压传感器 mpx4115 模块15 4.2 温度传感器 9013 补偿模.16 4.3 数据转换模块.16 4.4 单片机处理模块.16 4.5 键盘显示模块.17 五 、 软件设计.19 5.1 系统软件流程图.19 5.2 软件模块分析.20 5.2.1 压力采集模块流程20 5.2.2 键盘显示模块21 六、 参考文献21 七、结束语. 22 附录一 仿真原理图23 附录二 仿真程序24 - 2 - 前 言 压力是过程控制系统中的重要测量参数之一,压力的检测和控制是使生产 顺利进行和设备安全工作的必要条件。如高压容器的压力超过额定值时便是不 安全的,必须进行测量和控制。在某些工业生产过程中,压力还直接影响产品 的质量和生产效率,如生产合成氨时,氮和氢不仅须在一定的压力下合成,而 且压力的大小直接影响产量高低。此外,在一定的条件下,测量压力还可间接 得出温度、流量和液位等参数。 实现智能化压力测量系统对工业生产过程的控制具有非常重要的意义。在 生产过程控制系统中,被控对象参数检测的精确与否将直接影响一个生产企业 的经济利益,在以往的控制系统中,由于对环境温度、生产设备老化等影响因 素的考虑较少,传感器检测到的信号往往存在偏差,造成了不可避免的损失。 而压力测量的智能化可以弥补一些外界因素对系统造成的干扰,单片机通过对 外界各种干扰因素的检测、整合、处理,可以得到更理想的控制变量,可以使 控制更精确也更及时。 本课设主要完成了以单片机为核心的智能化压力测量仪的设计。课题结合 了实际生产过程控制系统的相关技术特点,利用压力传感器获取被控对象指标, 以温度传感器监测环境变量,由键盘输入控制该控制系统的启停及置位复位, 运用芯片 adc0808 实现由模拟量到数字量的转换,at89s52 单片机采集处理 信号,并由芯片 8279 实现对 led 显示的实时控制,此外,通过温度补偿电路 减小了测量误差,完成对被控对象的压力实时检测,并能够根据处理结果,使 系统做出实时调整,保证生产的顺利进行。 - 3 - 一、设计任务书一、设计任务书 压力传感器采用美国 icsensors 公司生产的 icsl220 型硅压力传感器,单片 机为核心流量控制系统。系统主要由压力传感器,单片机控制系统、对象、执 行器(查找资料自行选择)等组成. 写出压力测量过程,绘制压力测量仪组成框图 系统硬件电路设计 单片机采用 89s52;键盘显示电路采用 8279 方案,矩阵键盘,共阴极数码管, a/d 采用 adc0808,测量温度的三极管 9013 作为温度补偿器件。 编制压力测量程序:软件采用模块化程序结构设计,由压力采集程序、压力校 准程序、与测量程序三部分组成。 二、器件选择二、器件选择 2.12.1 压力传感器的选择压力传感器的选择 压力传感器芯片的性能受温度的影响非常大,主要表现为零点和灵敏度随 温度变化而发生漂移。1220 型是经过温度补偿的硅压阻式压力传感器,采用双 列直插封装结构,适用要求成本低,性能优越,长期稳定性好的应用领域。 通过激光修正的电阻实现了 050的温度补偿,还提供一个激光修正的 电阻用于调节差动放大器的增益来校正传感器的压力灵敏度变化,使具有良好 的互换性,互换性误差仅为1。从 02psi 至 0100psi 量程范围内均有表 压,差压和绝压产品。 icsl220 系列具有如下优点: (1)放大、校准和温度补偿; (2)多级压力非线性修正; (3)直接输出经放大校准的模拟信号; - 4 - (4)输出与输入电压成正比; (5)温补范围为 070,满足绝大部分用户的需求; (6)有表压、差压和绝压配置,有微压和低压等量程; icsl220 传感器性能参数图如下: 图 2.1 icsl220 传感器性能参数 - 5 - 2.22.2 键盘显示控制芯片键盘显示控制芯片 82798279 8279 是通用的可编程键盘/显示器接口芯片。它包含有键盘输入和显示输出 两种功能,在单片机系统中应用很广泛。8279 内部有键盘 fifo (先进先出堆 栈)/传感器,当键盘输入时,8279 能提供自动扫描,能与按键或传感器组成 的矩阵相连,接收输入信息,还能自动消除抖动并具有双键锁定保护功能。显 示 ram 容量为 16*8,即显示器最大配置可达 16 位 led 数码显示。 8279 芯片特点: (1)可同时进行键盘扫描及文字显示; (2)键盘扫描模式(scanned keyboard mode); (3)传感器扫描模式(scanned sensor mode); (4)激发输入模式(strobe input entry mode); (5)8 乘 8 键盘 fifo(先进先出); (6)具有接点消除抖动,2 键锁定及 n 键依此读出模式; (7)双排 8 位数或双排 16 位数的显示器; (8)右边进入或左边进入。16 位字节显示存储器。 - 6 - 图 2.2 控制芯片 8279 引脚图 (1 1)数据线)数据线 db0db7db0db7 是双向三态数据总线,在接口电路中与系统数据总线相连,用以 传送 cpu 和 8279 之间的数据和命令。 (2 2)地址线)地址线 /cs=0/cs=0 ,8279 被选,当 a0=1 时,为命令字及状态字地址;当 a0=0 时,为 片内数据地址,故 8279 芯片占用 2 个端口地址。 (3 3)控制线)控制线 clkclk:8279 的时钟输入线,100khz 为最佳选择。 irqirq:中断请求输出线,高电平有效。 /rd/rd、/wr/wr:读、写输入控制线。 sl0-sl3sl0-sl3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出 线。 rl0-rl7rl0-rl7:回复输入线,它们是键盘或传感器矩阵的信号输入线。 shiftshift:来自外部键盘或传感器矩阵的输入信号,它是 8279 键盘数据的次高 位即 d6 位的状态,该位状态控制键盘上/下档功能。在传感器方式和选通方式 中,该引脚无用。 cntl/scntl/s :控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位 (d7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升 - 7 - 沿到时,把 rl0-rl7 数据存入 fifo ram 中。 outa0-outa3outa0-outa3:通常作为显示信号的高 4 位输出线。 outb0-outb3outb0-outb3:通常作为显示信号的低 4 位输出线。 /bd/bd:显示熄灭输出线,低电平有效。当/bd=0 时将显示全熄灭 2.32.3 模数转换器模数转换器 (1) a/d 模数转换芯片模数转换芯片 adc0809 adc0809 是目前广泛使用的逐位逼近型 8 位单片 a/d 转换芯片,片内含 8 路模拟开关,可允许 8 路模拟量输入。主要由 3 部分组成:模拟输入选择部分、 转换器部分、输出部分。adc0809 芯片为 28 引脚为双列直插式封装, adc0809 主要信号引脚功能说明如下: in7in0八路模拟量输入通道。 ale地址锁存允许信号。 start转换启动信号。start=1 转换启动。 a、b、c地址线、 通道端口选择线。 clk时钟信号。adc0809 要求外接时钟频率为 10khz1.2mhz。通常 使用频率为 500khz 的时钟信号。 eoc转换结束信号。eoc=1,转换结束。 d7d0数据输出线。 oe输出允许信号。oe=1,输出转换得到的数据。 vcc +5v 电源。 vref参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近 的基准。其典型值为+5v(vref(+)=+5v, vref(-)=-5v)。 adc0809 与 mcs-51 单片机的连接主要涉及两个问题。一是 8 路模拟信号 通道的选择,二是 a/d 转换完成后转换数据的传送。转换数据的传送有定时传 送方式、查询方式、中断方式这三种方式。a、b、c 的值与被选择的通道之间 - 8 - 的关系如下表 21 所示: 表 21 通道选择表 实际画图时由于 proteus 中没有 adc0809,因此用 adc0808 代替。 adc0808 和 adc0809 的使用接发相同,只是 adc0809 的转换误差为 1 位, adc0808 为 5 位而已。 (2)a/d(2)a/d 模数转换器芯片模数转换器芯片 adc0808adc0808 adc0808 是逐位逼近型 8 位模/数转换器件。其内部有一个 8 通道多路开关, 它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 a/d 转换。总的不可调误差: adc0808 为0.5lsb , adc 0809 为1lsb。使 用时不需进行零点和满刻度调节。adc0808 是 adc0809 的简化版本,它们除精 度略有差别外(前者精度为 8 位、后者精度为 7 位),功能基本相同。 - 9 - 图 2.3 adc0808(adc0809)芯片引脚图 adc0808 芯片有 28 条引脚,采用双列直插式封装,如图 2.3 所示。引脚功 能如下: (1)in0in7:8 路模拟量输入端。 (2)d0d7:8 位数字量输出端。 (3)ale:地址锁存允许信号,输入,高电平有效。 (4)start: a/d 转换启动脉冲输入端,输入一个正脉冲(至少 100ns 宽)使其启动(脉冲上升沿使 0809 复位,下降沿启动 a/d 转换) 。 (5)eoc: a/d 转换结束信号,输出,当 a/d 转换结束时,此端输出 一个高电平(转换期间一直为低电平)。 (6)oe:数据输出允许信号,输入,高电平有效。当a/d 转换结束时, 此端输入一个高电平,才能打开输出三态门,输出数字量。 (7)clk:时钟脉冲输入端。要求时钟频率不高于640khz。 (8)vref(+)和 vref(-):参考电压输入端 (9)vcc:主电源输入端。 (10)gnd:地。 (11)adda、addb、addc:3 位地址输入线,用于选通 8 路模拟输 入中的一路。 - 10 - 2.42.4 显示数码管显示数码管 把发光二极管的阴极连在一起构成公共阴极。使用时会共阴极接地,阳极 端输入高电平的段发光二极管导通点亮,输入低电平的则不点亮。 图 2.4 共阴极数字显示数码管示意图 2.52.5 d d 锁存器锁存器 74ls37374ls373 在 mcs-51单片机系统中,常采用74ls373作为地址锁存器使用。其中输入 端1d8d 接至单片机的 p0口,输出端提供的是低8位地址,g 端接至单片机的地 址锁存允许信号 ale。输出允许端 oe 接地,表示输出三态门一直打开。芯片引 脚图如图2.5,真值表如表2-2所示: - 11 - 图2.5 74ls373芯片引脚图 表2-2 芯片74ls373真值表 工作原理:工作原理:(1)1脚是输出使能 oe,低电平有效,当1脚是高电平时,不管输 入及锁存控制端 g 如何,输出 q0、q1、q2、q3、q4、q5、q6、q7全部呈现高阻 状态(或者叫浮空状态);(2)当1脚是低电平时,只要11脚(锁存控制端 g)上出 现一个下降沿,输出 q0、q1、q2、q3、q4、q5、q6、q7立即呈现输入脚 3、4、7、8、13、14、17、18的状态;(3)锁存端 le 由高变低时,输出端8 位信息被锁存,直到 le 端再次有效。 当三态门使能信号 oe 为低电平时,三 态门导通,允许 q0q7输出,oe 为高电平时,输出悬空。 当74ls373用作地址锁存器时,应使 oe 为低电平,此时锁存使能端 c 为高 电平时,输出 q0q7 状态与输入端 d1d7状态相同;当 c 发生负的跳变时,输 入端 d0d7 数据锁入 q0q7。51单片机的 ale 信号可以直接与74ls373的 c 连接。 2.62.6 地址锁存器地址锁存器 74ls27374ls273 工作原理:工作原理:(1)1 脚是复位/mr,低电平有效,当 1 脚是低电平时,输出脚 q1、q2、q3 、q4 、q5 、q6 、q7 全部输出 0,即全部复位;(2)当 1 脚是高 电平时,脚 11(即 cp)是锁存器控制端,属于上升沿触发;当 11 脚有一个上 升沿,立即锁存输入端的电平信号,并立即呈现在输出脚 q1、q2、q3 、q4 、q5 、q6 、q7 上。其引脚图及真值表如下: - 12 - 图 2.6.1 芯片 74ls273 引脚图 图 2.6.2 芯片 74ls273 真值表 2.72.7 译码器译码器 74ls13874ls138 74ls138的管脚排列和真值表见下图。由真值表可知,4、5、6脚是控制脚, 只有当6脚为高电平而4、5脚都为低电平时,74ls138才对1、2、3脚的输入进行 译码,选择和从这三个管脚输入的三位二进制码相对应的某一个输出脚输出低 电平,否则所有的输出脚都是输出高电平。 图2.7 74ls138引脚图 表2-3 74ls138真值表 - 13 - 三、系统设计三、系统设计 3.13.1 设计思路设计思路 压力传感器(1210030g3s)测量气缸中的压力(0207kpa)输出电流信 号(75150ma) ,经 a/d 模数转换(结果为 0000000011111111 即 0255)后给 单片机,单片机进行算法处理将传感器的输出信号和测量的压力对应起来并实 时显示在 led 上,当所测压力大于 176kpa 时,放气阀打开进行放气,当所测压 力小于 64kpa 时,放气阀关闭,进气阀给气缸充气。此过程中若放气或充气 10s 任没达到正常的压力范围则进行 1s 报警。当然 a/d 转换的启停、压力大小 的判断、10s 延时都由单片机来控制。 由于硬件条件有限,本设计只能着重于整个系统中的反馈回路即测量部分 的设计。本智能化压力测量仪基于 icsl220 压力传感器,设计通过 proteus 进 行软件仿真;根据设计要求,硬件部分设计以压力传感器、温度补偿电路、a/d 软换芯片、单片机、led 显示电路、键盘等几部分组成。软件部分通过 c 语言 进行编程,实现压力测量,压力信号修正,测量数据的显示,以及外围的键盘 控制,其中,外围键盘能够实现设定给定值,对外输出相应的控制信号等功能。 3.23.2 系统硬件框图系统硬件框图 系统硬件主要由四几大模块组成:信号采集模块、数据转换模块、单片机处 理模块、键盘控制显示模块。结构框图如图 3.1 所示: 电电 源源 模模 块块 温度补偿温度补偿 压力传感器压力传感器 a/d 数据转换数据转换 at89s52 单片机单片机 led 显示显示键盘控制键盘控制 信号输出信号输出 - 14 - 图 3.1 系统结构框图 3.33.3 控制系统总体结构控制系统总体结构 完整的闭环过程控制系统结构如图 3.2,根据要求及硬件条件,本设计只 设计以单片机为核心的检测回路。 图 3.2 控制系统总体结构图 四、硬件设计四、硬件设计 4.14.1 气压传感器气压传感器 mpx4115mpx4115 模块模块 气压传感器 mpx4115 的主要作用就是感知系统的气压的变化,并将这种气 压值转变成电流信号,传到 i/v 转换器中。 报警报警 键盘输入键盘输入 显示显示 a/d 转换转换i/v 转换转换传感器压力采集传感器压力采集 单片机控制单片机控制被控对象参数被控对象参数执行器执行器 - 15 - 图 4.1 气压传感器 mpx4115 电路 4.24.2 温度传感器温度传感器 90139013 补偿补偿模块模块 温度传感器 9013 的作用是通过温度补偿的方法是测量值更加靠近真实值, 以此来减小误差。 图 4.2 温度补偿电路 系统采用三极管 9013 进行环境温度的监测,并对压力检测装置进行补偿。 利用三极管 9013 作为温度传感器,主要依据三极管的 pn 结对温度比较敏感来 实现,连接电路如图。三极管 9013 基极和集电极短接,利用基极与发射结之间 的 pn 结随温度变化的特性,输出相应的电压信号 ube, 工作温度 -55 +150,变化率为-2.2mv/,因此根据ube 的变化将电路接入传感器参考电 压端,即可实现温度补偿。 - 16 - 4.34.3 数据转换模块数据转换模块 传感器电压由通道 0 送入 ad 转换器,当启动转换时,由单片机 wr 端和 74ls373 的 a3 端口选通 in0,同时启动转换,通过检测 eoc 端口信号来判断转 换是否结束,如果结束,由 rd 和 74ls373 的 a3 端口控制,从地址 0xfff0 端口 读出转换数据进行处理。 图 4.3 a/d 数据转换电路 4.44.4 单片机处理模块单片机处理模块 at89s52 单片机主要功能分为:电压值读取、电压值校正、给定值输入、 键盘控制、显示部分几个部分。单片机系统含有 74ls373 用来使 p0 和 p2 口联 合输出地址进行外部器件的寻址,另外还包含 8279,用来扩展单片机端口从而 更方便的控制键盘和 led 显示器。 - 17 - 图 4.5 单片机系统电路图 4.54.5 键盘显示模块键盘显示模块 利用 8279 的独特功能与特性设计了键盘显示模块,该设计主要通过两个 地址端口 0xffef 和 0xffcf 对 8279 进行读写。其中数码管位选和矩阵键盘扫描 部分,由 74ls138 译码器对 8279 输出的扫描信号进行译码来实现,使其能够随 时扫描键盘和显示端口。键盘电路能够很稳定的实现对系统的控制,包括启动、 停止,输入给定值等。数码管选用六位的数码管,能够充分显示数据的精度。 仿真图如下: - 18 - 图 4.6 键盘显示电路 键盘显示采用人性化设计,本设计给键盘设置以下功能: start 键: 该键用于启动电路工作,只有按下此键,电路才能进入工模 式,才能实现其他相应功能; stop 键: 停止键用于关闭工作电路,按下之后电路停止工作; disset 键: 用于查询输入的给定值;按下之后显示系统的给定值; set 键: 该键用于设定给定值,对于控制电路,给定值会随实际情 况不同而定,按下此键,可以进入给定值输入模式,数值 范围为 15kp-115kp,五位有效值,还有一位小数点,可以 根据要求人为设定; enter 键: 清除键用于退出给定值输入模式和显示给定值模式,按下 之后,进入正常显示模式; - 19 - 09 键: 数字键盘包括小数点主要用于数据输入,此系统只用于输 入给定值. 五五 、 软件设计软件设计 5.15.1 系统软件流程图系统软件流程图 系统软件采用 c 语言,利用 keil c 软件进行编程,具体的软件模块分为: 压力信号采集模块、压力数据校正模块、键盘控制和显示模块。系统的整体流 程图为: 图 5.1 系统软件流程图 - 20 - 5.25.2 软件模块分析软件模块分析 5.2.15.2.1 压力采集模块流程压力采集模块流程 传感器直接输出电压信号,电压信号经过 a/d 转换变为数字信号,单片机 通过地址端口读取该数据,流程图为: 图 5.2.1 采集流程图 程序设定 0xfff0 为 adc0808 的端口地址,首先通过端口地址选择模拟通 道 0,并启动转换,当转换结束后,eoc 输出一个高电平,通过查询 eoc 端口, 然后从地址 0xfff0 端口度出数据。 线性化原理:采用线性参数标度变换的方法进行电压与压力的线性化标度 变换,同时进行校正。 设电压转换值用 x 表示,kpa 用 p 表示,则根据此公式 即可求出线性化后的显示值,即程序中的 y 值;线性化公式如下: - 21 - 5.2.25.2.2 键盘显示模块键盘显示模块 键盘和显示电路采用 8279 方案,该方案可大大节省单片机资源,通过该方 案可以很大程度的减少控制和显示的复杂性。该模块关键是对 8279 芯片的掌握, 重点掌握端口地址和命令格式。在程序中对 8279 设置两个地址端口,分别是 ode 0xffef 以及 dat 0xffcf。通过这两个端口对 8279 进行命令操作和数据 传输。该模块的流程结构为: 图 5.2.2 键盘和显示流程框图 六、六、 参考文献参考文献 1邵裕森、戴先中.过程控制工程.北京:机械工业出版社,2000.5 2刘文定.过程控制系统的仿真机械工业出版社,2009.2 3萧德云译过程控制系统应用、设计与整定(第 3 版) 清华大学出版 社,2004.5 4金以慧过程控制清华大学出版社,2002.3 - 22 - 七、七、结束语结束语 本课设是基于 at89s52 单片机的测量与显示,通过压力传感器将压力转换 为电信号,再经过运算放大器进行信号放大,送至 adc0808,将模拟信号转换 成单片机可以识别的数字信号,再经过单片机转换成 led 显示器可以识别的信 息,显示输出。在显示的过程中通过键盘,向计算机系统输入各种数据和命令, 亦可通过使用键盘,让单片机系统处于预定的功能状态,显示需要的值。要实 现压力的显示需硬件与软件的配合,最终调试出来的。 本次课设,我学会了使用 proteus 软件进行单片机系统仿真,我们组内成员 通过仪器讨论,分工合作,从找元器件开始学起,讨论并研究解决一个一个问 题,我们从中学会了很多知识。该课设用到学过的单片机的知识,有些芯片我 们之前没接触过,通过查阅资料,熟悉芯片管脚以及芯片引脚功能。在此基础 上,需要对系统进行设计编程。通过进一步的交流,让我明白了,编程不难, 难的是总体的编程思想,这正是我所欠缺的,需要在以后加以学习弥补。此次 课设的硬件软件都是我们自己设计,这更加锻炼了我们对于整个系统的从设计 到实现的技能,提高了全面性思考问题的能力。通过解决一个又一个的问题让 我意识到系统的设计需要将理论与实践相结合,软件硬件相结合,我深刻体会 到自身能力的严重不足。 此次的课程设计的顺利完成,离不开我们大家的团结合作和共同努力,在 此感谢大家的辛苦付出,更要对我们的组长,也感谢老师给我们这次宝贵的锻 炼机会。 - 23 - 附录一附录一 仿真原理图仿真原理图 - 24 - 附录二附录二 仿真程序仿真程序 程序一程序一: #include #include #include /用 74ls 系列芯片 用于 扩展 i/o 口 #define uchar unsigned char #define uint unsigned int char data disbuf6=16,16,16,16,16,16;/disbuf是一个显示缓冲,里面放的是实际要显示 的数值. unsigned char code seg=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71;/共阴级 数码管 编码表 unsigned char code key_table=0xee,0xde,0xbe,0x7e, 0xed,0xdd,0xbd,0x7d, 0xeb,0xdb,0xbb,0x7b, 0xe7,0xd7,0xb7,0x77;/ 按键值 编码表 uchar xdata order _at_ 0xff82;/8279 命令口地址 uchar xdata data _at_ 0xff80;/8279 数据口地址 uchar xdata adc08 _at_ 0xfff0; /adc0808 地址 uchar ge,shi,bai,shifen,baifen,value,zhengshu,x,st;/ 定义相关标量 sbit ps=p22; / 压力传感器信号号 sbit beep=p23; / 蜂鸣器报警 sbit dula=p26; / 数码管段选线 声明 锁存器的的端口 sbit wela=p27; / 数码管位选线 声明 锁存器的端 口 sbit eoc= p34; / 传输数据的 开始 和 停止 sbit adwr=p36; / 定义 wr 的 端口 sbit adrd=p37; / 定义 rd 的 端口 sbit led0=p10; / 定义发光二极管 的 数值 sbit led1=p11; uint press, keyval,oe; / 定义压力 数据 uint press_l1=64; / 设置压力的自自值 uint press_h1=176; / 设置压力的高值 uint xiaoshu,shuzhi; double sum,y,dat6; float f_press; / 定义浮点型的压力数据 void delay_ms(int i) uchar j; - 25 - while(i-) for(j=115;j0;j-) /延时程序 ; void delay1ms(uint a) /延时子程序设计 uchar b,c; for(;a0;a-) for(b=125;b0;b-) for(c=10;c0;c-); /* 压力值的选区及控制阀门 */ void fun1(uint m) /ad 转换处理子程序 extern uint ; /定义全局变量 while(m0) if(m0) oe=1; /启动转换 ps=p0; ps=(p0*1.0)/255*207; /压力转换 oe=0; p2=0xfe; /个位延时 p1=segp0%10; delay1ms(500); p2=0xfd; /十位延时 p1=segp0/10%10; delay1ms(500); p2=0xfb; /百位延时 p1=segp0/100%10; delay1ms(500); - 26 - if(p0176) beep=1; led0=1; /打开放气 if(p00;i+) display(shuzhi); if(eoc=1) value =adc08; /取 adc0808 值 x=value; y=0.4347*x+9.297826; display(); /显示转换值 /* 键值处理子程序* */ void keyvalue() uchar key; if(order order=0x50; /取键值 key= data; beep=0; switch(key) case 0x1b: setvalue();break; /set 功能键 case 0x1a: disset();delay_ms(500);break; /disset 功能键 case 0x19: st =0;init_8279(); break; /stop 键 /* *主程序* */ void main() init_8279(); /初始化 8279 while(1) if(order - 30 - beep=0; led0=0; led1=0; st= data; while(st =0x18) /等待 start 键按下 beep=1; led0=1; led1=0; getvalue(); /取 adc08 值 delay1ms(10); keyvalue(); /按键处理 led1=1; 程序二:程序二: #include #include #define uchar unsigned char #define uint unsigned int sbit eoc= p34; char data disbuf6=16,16,16,16,16,16; uchar code keyval= 0x00,0x01,0x02,0x03,0x08,0x09,0x0a,0x0b, 0x10,0x11,0x12,0x13,0x18,0x19,0x1a,0x1b;/键值 表 uchar code seg= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, /09 等字符 0x6f,0x80,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40; /数 码管表 uchar xdata ode _at_ 0xffef;/8279 命令口地址 uchar xdata dat _at_ 0xffc

温馨提示

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

评论

0/150

提交评论