压力测量系统的设计
基于LabVIEW的压力测试系统设计

基于LabVIEW的压力测试系统设计作者:李豪帅王高来源:《电子世界》2014年第19期【摘要】设计了压力测试系统,该系统以压力传感器、信号调理电路、数据采集卡、PC 机为硬件开发平台,以图形化编程语言LabVIEW为软件开发平台,将虚拟仪器技术运用到压力测试中。
结果表明,本设计各项功能运行情况良好,使工作效率和准确性都得到较大提升,同时也减少了故障率,能够有效地应用于各种通用的测试系统中。
【关键词】压力测试;LabVIEW;虚拟仪器一、引言压力是过程生产中四大重要参数之一,它是检测生产过程能否完全可靠正常运行的重要参数指标。
目前很多传统的压力测试多采用手动方式或者是单片机来采集相关测试信息。
其测试系统功能单一,开发周期长,功能难以扩展,测试精度不高[1]。
应用LabVIEW虚拟仪器技术能按照客户的需求来设计仪器,方便灵活而且开发周期短。
它不仅降低了仪器成本,而且提高了工作效率[2]。
本文应用LabVIEW软件设计的压力测试系统,包括压力传感器、信号调理电路、数据采集与传输和计算机软件模块等。
二、压力测试系统硬件部分设计压力测试系统的硬件由压力传感器、信号调理电路、数据采集卡及PC机等组成,压力信号的处理过程是:压力传感器把压力转换成电信号,经过调理电路,将信号放大,通过数据采集卡采集,再送入PC机进行各种处理。
1.压力传感器压力传感器是用金属弹性体将压力转换为应变的功能元件,通过粘贴在弹性体敏感表面的电阻应变计及其以一定方式组成的电桥网络,在外加电源的激励下,实现压力、应变、电阻变化、电信号变化等转换环节的一种压力传感器[3]。
此硬件系统主要利用陶瓷压力传感器AP681来测量压力信号。
2.信号调理电路设计信号调理电路,是把模拟信号变换为用于数据采集、控制过程、执行计算显示读出或其他目的的数字信号。
包括零点调整电路,信号的放大、滤波、隔离电路,多路数据转换电路及电源电路。
3.数据采集卡的选择本系统采用研华PCI-1711,该数据采集卡完全符合PCI规格Rev2.1标准。
基于Labview的压力测试系统

基于L a b v i e w的压力测试系统The latest revision on November 22, 2020现代检测技术综合设计报告课程设计题目:基于虚拟仪器的压力测量系统学院名称:电子与信息工程学院专业:电气工程及其自动化班级:电气12-1 姓名:杨育新学号同组者姓名:指导教师:黄晶日期:~目录一、任务书..................................................1二、总体设计方案2.1 现代测控技术发展概述.....................................12.2 自动检测系统的原理框图...................................2三、压力传感器3.1 传感器的选择.............................................23.2 工作原理.................................................23.3 工作特性.................................................3四、硬件设计4.1 应变片的测量转换电路.....................................34.2 电桥的放大电路...........................................44.3 压力测量的总电路图...........................................5五、Labview软件设计5.1 程序流程图的设计..........................................65.2 前面板的设计.............................................65.3 实验框图的设计...........................................8六、调试情况及结论6.1 程序的调试..............................................126.2 实验结论................................................14七、课程设计心得体会.......................................14参考资料.....................................................14一、任务书用虚拟仪器Labview软件来编写压力测量系统。
小型压力测量系统的设计

13主 控 单 元 .
系 统 的 主 控 单 元 采 用 8 位 MC 芯 片 U SC245 、 T 1C 0 2 内部 4 Fah空 间 、0引 脚小 型 封装 、 K ls 2 指令 与传 统 8 5 兼 容 。S C系列 MC 01 T U最 大 的特点
是 可 以 进 行 在 系 统 编 程 (S ) 不 需 要 使 用 专 用 的 编 IP ,
建 一 个 完 整 的 数 字 式 压 力 测 量 系 统 , 量 结 果 可 直 测
其 中 : 是指电桥两端 的供电 电压 , △尺. 指应变 片产 生 的电阻变化 , 指应 变片不受外力时 的电阻值 。 尺.
12模 拟前 端 _
压 力传感 器 的输 出一般 是 毫伏 级 的信 号 , 统 传
5 2
第 6期
徐 晓 菲 : 型 压 力 测 量 系 统 的 设计 小
+5 VDC
图 2 模 拟 前 端 的硬 件 连 接
的输 入 电 压 范 围 内 , D 8 A 7 0提 供 的 基 准 电 压 精 度 为
l mV 。
升 级 。 同 时 ,用 于 IP 编 程 的 串 口 硬 件 电 路 S ( X2 2 完 成程 序 下 载后 还可 用 于 与上 位 机 的串 MA 3 )
千秋 。比如光纤 压力测 量精 度高 , 成本也 高 ; 弦 但 振 式 传感 器压 力测 量稳 定性 好 , 易受 温度 影响 。本 但
易 实 现小 型 化 等优 点 , 且技 术 十分 成熟 , 而 系 并 因 统 采用 它作 为测 量前 端 .实 现压 力 到 电量 的 转变 。 其工 作 原理 为 :采用 全桥 式 等臂 电桥 为基 本线 路 ,
用 电阻应 变片作 为桥臂 。当外 力作用 时 电阻应 变片 的 阻值 发 生 变化 , 使 电桥 失 去 平 衡 , 而 有 与外 致 从 力成 正 比的电压信 号输 出。输 出电压 的表达式 为 :
智能压力检测系统的设计

题目:智能压力检测系统的设计基于单片机的智能压力检测系统的设计摘要压力是工业生产过程中的重要参数之一。
压力的检测或控制是保证生产和设备安全运行必不可少的条件。
实现智能化压力检测系统对工业过程的控制具有非常重要的意义。
本设计主要通过单片机及专用芯片对传感器所测得的模拟信号进行处理,使其完成智能化功能。
介绍了智能压力传感器外围电路的硬件设计,并根据硬件进行了软件编程。
本次设计是基于AT89C51单片机的测量与显示。
是通过压力传感器将压力转换成电信号,再经过运算放大器进行信号放大,送至8位A/D转换器,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。
而在显示的过程中通过键盘,向计算机系统输入各种数据和命令,让单片机系统处于预定的功能状态,显示需要的值。
本设计的最终结果是,将软件下载到硬件上调试出来了需要显示的数据,当输入的模拟信号发生变化的时候,通过A/D转换后,LED将显示不同的数值。
关键词:压力;AT89C51单片机;压力传感器;A/D转换器;LED显示;Design of pressure detecting system based on single-chipAbstractPressure is one of the important parameters in the process of industrial production. Pressure detection or control is an essential condition to ensure production and the equipment to safely operating, which is of great significance. The single-chip is infiltrating into all fields of our lives, so it is very difficult to find the area in which there is no traces of single-chip microcomputer. In this graduation design, primarily through by using single-chip and dedicated chip, handling of analog signal measured by the sensor to complete intelligent function. This design illustrates external hardware circuit design of intelligent pressure sensor, and conduct software development to the hardware.The design is based on measurement and display of AT89C51 single-chip. Thisis the pressure sensors will convert the pressure into electrical signals. After using operational amplifier, the signal is amplified, and transferred to the 8-bit A/D converter. Then the analog signal is converted into digital signals which can be identified by single-chip and then converted by single-chip into the information which can be displayed on LED monitor, and finally display output. In the course of show, through the keyboard to input all kinds of data and commands into the computer, the single-chip will locate in a predetermined function step to display required values.The end result of this design is that by downloading software to the hardware, it will get the data which is required to display by debugging. When the input analog signals change, the LED monitor will display different values through the A/D converting.Key words:pressure; AT89C51 single-chip; pressure sensor; A/D converter; LED monitor;目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 研究背景 (1)1.2 基于单片机的智能压力检测的原理 (2)1.2.1 压力的概念 (2)1.2.2 测量压力的意义 (3)第二章基于单片机的智能压力检测系统的硬件设计 (4)2.1 压力传感器 (4)2.1.1 压力传感器的选择 (4)2.1.2金属电阻应变片的工作原理 (4)2.1.3电阻应变片的基本结构 (6)2.1.4 电阻应变片的测量电路 (6)2.2 信号放大电路 (8)2.1.2 放大器的选择 (8)2.2.4 三运放大电路 (9)2.3 A/D转换器 (10)2.3.1 A/D转换模块器件选择 (10)2.3.2 A/D转换器的简介 (10)2.3.3 配置位说明 (11)2.3.4 ADC0832工作时序图 (12)2.3.3 单片机对ADC0832的控制原理 (13)2.4 单片机 (14)2.4.1 AT89C51单片机简介 (14)2.4.2主要特性.... (15)2.4.3 管脚说明 (15)2.4.5 芯片擦除 (17)2.5 单片机于键盘的接口技术 (18)2.5.1 键盘功能及结构概述 (18)2.5.2 键盘抖动及去除 (18)2.5.3 单片机与键盘的连接 (19)2.6 LED显示接口 (21)2.6.1发光二极管及LED显示器 (21)2.6.2七段数码显示器 (22)2.6.3 LED数码管静态显示接口 (24)第三章软件设计 (26)3.1 A/D转换器的软件设计 (26)3.1.1 ADC0832芯片接口程序的编写 (26)3.2 单片机与键盘的接口程序设计 (27)3.4 LED数码管显示程序设计 (28)第四章总结 (30)参考文献 (31)附录A (32)附录B (33)致谢 (38)第一章绪论1.1 研究背景近年来,随着微型计算机的发展,他的应用在人们的工作和日常生活中越来越普遍。
开题报告压力检测系统设计

硬件系统结构
软件系统结构
研究的方法及过程
第1步,采用文献研究法,本设计将通过 文献研究法是根据本设计研究目的或课题, 通过调查文献来获得资料,从而全面地、正 确地了解掌握所要研究问题。系统地掌握控 制器的开发设计过程,相关的电子技术和传 感器技术等,完成设计任务和功能的描述。
第2步,研究文献后结合本设计的研究目 的、研究提纲,提出设计。通过实验法根据 研究的需要,借助计算机和各种方法技术, 减少或消除各种可能影响结果的无关因素的 干扰。完成系统设计方案的论证和总体设计。
1.传感器的选型
• 压力传感器的选择是本设计成功的关键要 素之一。所选压力传感器应具有体积小、 动态响应快、测量精度和灵敏度高、使用 简便等优点。用压力传感器检测压力, 可以 选用硅压力传感器。压力传感器内部最好 是采用了温度补偿措施,温度漂移要小, 适应环境温度范围要大。量程漂移和零点 漂移要尽可能小,必要时可采取一定的措 施进行补偿。传感器的线性特性应比较理 想
• 主体程序:实现系统主体功能。中断服务子程序 则需要完成以下功能:1)配合定时器确定数据采 样周期与时钟输出;2)进行数据采样、存储;3) 对采样所得数据进行预处理然后交给主程序。
4.系统测试环境
• 设计的压力检测系统是基于应用的。所以, 检验系统的方式时,要将产生的电动势信 号送到单片机之前,必须要经过滤波、放大 和信号处理。在高噪声环境中,要考虑采 取接地,敏感器件噪声屏蔽和使用屏蔽导 线等措施。
研究目标和任务
1.系统地掌握控制器的开发设计过程,相关的电子 技术和传感器技术等,进行设计任务和功能的描 述;
2.进行系统设计方案的论证和总体设计; 3.从全局考虑完成硬件和软件资源分配和规划,分
别进行系统的硬件设计和软件设计; 4.进行硬件调试,软件调试和软硬件的联调。
基于单片机压力检测系统设计

学号: xxxxxxxxx 大学毕业设计(论文)(xxxx届)题目基于51单片机的压力检测系统设计学生 xxxx学院 xxxxxxxxxxxxxxxx 专业班级 xxxxxxxx校内指导教师 xxxx 专业技术职务 xxxxxx校外指导老师专业技术职务二〇xxx年六月基于51单片机的压力检测系统设计摘要:本设计借助压力传感器将压力信号转换成电信号,经过信号放大,使用高精度A/D转换器件,将模拟信号转换成数字信号,再经单片机运算处理转换成LCD液晶可以识别的信息,最后显示输出。
初始化后可以重设阈值,系统能够实现手动存储八个以内的数据,并可以查询历史记录,对存储的数据进行统计分析,并且在实时压力检测的过程中,预警电路一直监视系统的运行。
本设计根据压力传感器零点补偿与非线性补偿原理,设计出了测量压力传感器的硬件电路。
采用单片机设计实现,具有精度高、功能强等特点。
但是由于自身的稳定性其测量结果仍存在误差。
本课题设计的压力检测系统具有压力测量、超重报警、压力存储及历史数据查阅和压力值数据的统计分析。
该系统的压力检测范围为0-10Kg,测量精度可以达到10g,具有高精度,低成本,易携带的特点。
采用LCD12864液晶显示测量结果,比传统压力检测系统的精确度更高和直观性更好。
另外,该系统电路简单,成本低,使用寿命长,应用范围广等优点。
关键词:压力传感器;A/D转换器;LCD12864Design of pressure detection system based on MCU 51Abstract:Using pressure sensor converts the pressure signal into electrical signal, after amplification, using high precision A/D conversion device that converts analog signals into digital signals in this design, then through single chip microcomputer processing into the information that LCD can identify, at last displaying and outputting information. After initialization the system can reset the threshold, achieve storing within eight data manually, and can query the history records, the the stored data and in the process of real-time pressure detection, early warning circuit has been monitoring the operation of the system.This paper according to the principle of zero compensation and nonlinear compensation for pressure sensor, designing measuring pressure sensor hardware. Single-chip implementation has the characteristics of high precision, strong function. Because of its stability errors still exist in the measurement. The topic functions for pressure detection system are overweight alarm, storage, statistical analysis of historical data access and pressure value. The measurement range of the system is from 0 to 10 kg, measurement accuracy can reach to 10 g. It has the advantage of high precision, low cost, easy to carry. Measurement results display with LCD 12864 , Contrast to the traditional pressure test system, it has higher accuracy and intuitive. In addition, the system circuit is simple, low cost, long service life and wide scope of application.Key words:Pressure sensor; A/D converter; LCD12864目录1 引言研究背景及意义近年来,微型计算机越来越普遍地应用于人们的日常工作、生活中。
注汽井高温度压力测量系统设计

【 关键 词】P T 1 0 0 0 ;高温度 ;压力测量;恒流源;数据存储
在 注汽 井 石油 开采 的过 程 中 ,需要 根 据 井 下的蒸汽温 度 、压 力等参数进 行适当调 节, 所 以井 下温度 、压力 分布的测量 就显得十 分重 要 ,对井 下的油层状 况、合理开采 及采油 率和 节 能都有着 重大的意 义。本设计 的难度在 于井
器 ,是用高纯度 铂做 电阻导体 ,它耐 高温 、线 性度好、灵敏度高 、寿命长 ,并且具有高温 稳定 性和复现性 。本设计 的传感器采 用恒流源 驱动 的测 量方式 ,这样可 以实现线性 ,并且具 有稳 定度 高 、灵敏 度高 、精 度高等优 点。压强
双 电源供 电时 ,输 出 电流为双 极性,恒定 电流 大小通过改变输入参考基准V 或调整参考 电阻R 5 的大 小来实现 ,很 容易得到稳 定的小 电流和 补 偿校准。由于电阻的失配,参考 电阻 的两端电 压将 会受到其 驱动 负载的端 电压 的影响 。从 而
下温度很 高测 量环境 比较恶劣 。在 传统 的测 量 井温 过程 中,使用过温 度传感器 阵列、红 外测 温仪 、红外 热成像仪等 ,但 由于注 气井下环 境 恶 劣,会对测 试仪器产 生较大的影 响,容 易造 成测 量误差 ,并且对 于温度场 的测 量会体现 出 很 多不足之处 。在 本设计 中温度传感 器采用
就会影 响恒流源 的稳定性 。显然 这对高精度 的 恒流源是不能接 受的。所 以R ,R ,R 3 ,R 这4 个
电阻的选取原则是 失配要尽量 的小,且每对 电 阻 的失配大小方 向要 一致 。采用精密 电阻进行 筛选 ,选 出其 中阻值最接近 的4 个 电阻。 1 . 3信号采集 本 系 统 中,所 需 恒流 源 要具 有输 出电流 恒定 ,温度 稳定性好 ,输 出 电阻很大 ,输 出电
随钻地层压力测量装置测量控制系统的设计

叶 聪
稠 . 洚
浮
6 1 0 5 0 0 ;
( 西 南石油 大学 电气信息 学院 , 四川 成都
中国石 油集 团工程 设计 有限 责任公 司新疆 石油勘 察设计研 究院 , 新 疆 克拉 玛依
8 3 4 0 0 0 )
摘
要 :为 了解决 地层压 力随钻测 量 中存在 的困难 , 针对地 层压 力测 量装 置 的工作 特 点 和测试 环 境 , 设 计 了一 种 基 于随 钻地 层 压力
c ha r a c t e is r t i c s a n d t e s t i n g e n v i r o n me n t o f t h e f o m a r t i o n p r e s s u r e me a s u in r g d e v i c e, t h e me a s u r e me n t a n d c o n t r o l s y s t e m b a s e d o n f o ma r t i o n p r e s s u r e t e s t i n g d e v i c e wh i l e d il r l i n g i s d e s i g n e d. Bo t h t h e d o wn h o l e t u r b i n e g e n e r a t o r a n d t h e h i g h — t e mp e r a t u r e L i t hi um b a t t e r y a r e u s e d t o s u p p l y p o we r d u a l l y,a n d t h e d a t a a c q u i s i t i o n f o r d o wn h o l e a n n u l u s p r e s s u r e a n d c o l u mn p r e s s ur e,a s we l l a s t he a c c u r a t e c o n t ol r f o r t h e d o wn h o l e s o l e n o i d v a l v e s a n d p r e d i c t i o n o f f o ma r t i o n p r e s s u r e a r e i mp l e me n t e d. Th e c o mma n ds do wn l o a d f r o m we H h e a d c a n b e r e c e i v e d wh i l e d r i l l i ng;me a n wh i l e t h e me a s u r e me n t d a t a c a n b e u p l o a de d t o t h e g ou r n d.Ex p e ime r n t a l a n d t e s t r e s u l t s s h o w t h a t i t i s f e a s i b l e f o r t h e s y s t e m t o me a s u r e t h e f o ma r t i o n p r e s s u r e,a n d t h e s y s t e m p o s s e s s e s t h e me r i t s o f r e a s o n a b l e d e s i g n, s ma l l s i z e s ,l o w p o we r c o n s u mp t i o n a n d h i g h r e l i a bi l i t y.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告题目:压力测量系统的设计院系:信息与电气工程学院姓名:学号:12894040专业:电气工程及其自动化指导老师:目录1设计内容及要求…………………………………………………………………………2智能电子天平的总体设计分析………………………………………………………………2.1 智能电子天平的基本结构2.2智能电子天平系统的工作原理2.3 智能电子天平设计的基本思路3硬件设计…………………………………………………………………..3.1 总体规划3.2 主控制器电路3.3 电源变换电路3.4 信号放大电路3.5信号变换电路3.6 显示电路4软件设计…………………………………………………………………4.1 系统应用程序组成4.2 主程序流程图4.3 AD采样程序块4.4 液晶显示程序块5心得体会………………………………………………………………………………1设计内容及要求设计一个智能电子天平,可以同时测量两个物体的重量并进行比较。
该系统应具有数码管显示、键盘设定、数据存储等功能。
设计要求:①测量范围:0~5kg②测量精度:正负0.1kg③测量通道:2通道(被测物体重量1通道,参照物体重量1通道)④供电电源:220V AC2 、智能电子天平设计总体分析2.1智能电子天平的基本结构所谓智能电子天平,即可以同时测量两个物体的重量并进行比较的装置。
它和电子称的原理类似,都是是利用物体的重力作用来确定物体质量(重量)。
智能电子天平可以说是电子称的改进装置,把原有的电子称压力传感器测量端换成两个,相继的数据处理等后续装置做一定的改进即可。
2.2 系统的工作原理电子天平称重系统的工作原理。
首先是通过两个压力传感器分别采集到两个被测物体的重量并将其转换成电压信号。
输出电压信号通常很小,需要通过前端信号处理电路进行准确的线性放大。
放大后的模拟电压信号分别经A/D转换电路转换成数字量通过两个通道被送入到主控电路的单片机中,单片机通过程序结合按键控制译码显示器,从而显示出某个被测物体的重量或是比较结果。
在实际应用中,为提高数据采集的精度并尽量减少外界电气干扰,还需要在传感器与A/D芯片之间加上信号调整电路。
2.3 系统设计基本思路按照设计的基本要求,系统可分为四大模块,电源转换模块、数据采集模块、控制器模块、显示器模块。
其中数据采集模块由压力传感器、信号的前级处理和A/D转换部分组成。
转换后的数字信号送给控制器处理,由控制器完成对该数字量的处理,驱动显示模块完成人机间的信息交换。
此部分对软件的设计要求比较高,系统的大部分功能都需要软件来控制。
3、硬件电路设计3.1 总体规划按照本设计功能的要求,系统由5个部分组成:控制器部分、两个相同的测量部分、数据显示部分、键盘部分和电路电源部分,系统设计总体方案框图如图1所示。
图一:系统总体框图其中,本设计采用SP20C-G501电阻应变式传感器,其最大量程为5Kg.称重传感器由组合式S型梁结构及金属箔式应变计构成,具有过载保护装置。
由于惠斯登电桥具诸如抑制温度变化的影响,抑制干扰,补偿方便等优点,所以该传感器测量精度高、温度特性好、工作稳定等优点,广泛用于各种结构的动、静态测量及各种电子秆的一次仪表。
该称重传感器主要由弹性体、电阻应变片电缆线等组成,其工作原理如图3所示。
图3 称重传感器原理图本设计的测量电路采用最常见的桥式测量电路,用到的是电阻应变传感器半桥式测量电路。
它的两只应变片和两只电阻贴在弹性梁上,测量电阻随重力变化导致弹性梁应变而产生的变化。
其测量原理:用应变片测量时,将其粘贴在弹性体上。
当弹性体受力变形时,应变片的敏感栅也随同变形,其电阻值发生相应变化,通过转换电路转换为电压或电流的变化。
由于内部线路采用惠更斯电桥,当弹性体承受载荷产生变形时,输出信号电压可由下式给出:上式说明电桥的输出电压V和四个桥臂的应变片感受的应变量的代数和成正比。
3.2主控器电路本设计中主控制器采用AT89C51单片机,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
其中主控电路图如下:3.3 电源转换电路设计:由于本设计中要求用220V电源供电,而设计中用到的芯片大多工作电压为5V,因此需要将220V交流电变换为5V直流电。
具体实现电路如下:220V交流电变换成5V直流电电路图3.4 信号放大电路由于称重传感器输出电压振幅范围0~20mV。
而A/D转换的输入电压要求为0~2V,因此需要一定的放大环节,且增益为100倍左右。
这里采用专用仪表放大器,如:AD620,INA126等。
此类芯片内部采用差动输入,共模抑制比高,差模输入阻抗大,增益高,精度也非常好,且外部接口简单。
以 INA126为例,接口如下图所示:图2.7 INA126仪表放大结构图3.5 信号转换电路要想利用单片机进行数据处理进而达到各种控制功能,必须先把传感器测得的模拟信号通过INA126芯片放大后,再通过A/D芯片进行转换,得到数字信号才能够送达单片机进行处理。
本设计中利A/D0805进行数据转换,具体电路如下:图8 1602液晶模块的读操作时序4 软件设计图10 程序结构4.2 主程序流程图系统程序固化在STC12C5A60S2内部的flash存储器中,分为主程序和若干子程序。
主程序的功能是系统初始化,管理和调用各个子程序。
本设计的程序流程图如图11所示。
图11 程序流程图4.3 AD采样程序块本文设计的STC12C5A60S2片内AD程序如下:#include "config.h"//---------------------------------------------------------------------// SPEED1 SPEED0 A/D转换所需时间#define AD_SPEED 0x60 // 0110,0000 1 1 90 个时钟周期转换一次,// CPU工作频率21MHz时 A/D转换速度约 300KHz//#define AD_SPEED 0x40 //0100,0000 1 0 140 个时钟周期转换一次//#define AD_SPEED 0x20 //0010,0000 0 1 280 个时钟周期转换一次//#define AD_SPEED 0x00 //0000,0000 0 0 420 个时钟周期转换一次//---------------------------------------------------------------------unsigned int get_AD_result(unsigned char channel){unsigned char AD_finished=0; //存储 A/D 转换标志ADC_RES = 0; //A/D 转换结果高8位ADC_RESL = 0; //A/D 转换结果低2位channel &= 0x07; //0000,0111 清0高5位ADC_CONTR = AD_SPEED;_nop_();ADC_CONTR|=0xE0; //1110,0000清ADC_FLAG,ADC_START位和低三位ADC_CONTR |= channel; //选择 A/D 当前通道_nop_();ADC_CONTR |= 0x80; //启动 A/D 电源delay(1); //使输入电压达到稳定ADC_CONTR |= 0x08; //0000,1000 令 ADCS = 1, 启动A/D转换AD_finished = 0;while (AD_finished == 0 ) //等待A/D转换结束{AD_finished = (ADC_CONTR & 0x10); //0001,0000 测试A/D转换结束否}ADC_CONTR &= 0xE7; //1111,0111 清 ADC_FLAG 位, 关闭A/D转换return (ADC_RES<<2|ADC_RESL);//返回转换后的结果}4.4 液晶显示程序块本文设计的1602液晶操作程序如下:/*****************************************************函数名:WriteDataLCD()功能:向1602写数据说明:入口参数:WDLCD返回值:无*****************************************************/void WriteDataLCD(unsigned char WDLCD){ReadStatusLCD(); //检测忙LCD_Data = WDLCD;LCD_RS = 1;LCD_RW = 0;LCD_E = 0; //若晶振速度太高可以在这后加小的延时LCD_E = 0;LCD_E = 0; //延时LCD_E = 1;}/*****************************************************函数名:WriteCommandLCD()功能:向1602写指令说明:入口参数:WDLCD,BuysC返回值:无*****************************************************/void WriteCommandLCD(unsigned char WCLCD,BuysC) //BuysC为0时忽略忙检测{if (BuysC) ReadStatusLCD(); //根据需要检测忙LCD_Data = WCLCD;LCD_RS = 0;LCD_RW = 0;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;}/*****************************************************函数名:ReadDataLCD()功能:从1602读数据说明:入口参数:无返回值:LCD_Data*****************************************************/unsigned char ReadDataLCD(void){LCD_RS = 1;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;return(LCD_Data);}/*****************************************************函数名:ReadStatusLCD()功能:读取1602状态说明:如果为忙,则一直等到非忙为止入口参数:无返回值:LCD_Data*****************************************************/unsigned char ReadStatusLCD(void){LCD_Data = 0xFF;LCD_RS = 0;LCD_RW = 1;LCD_E = 0;LCD_E = 0;LCD_E = 0;LCD_E = 1;delay_18B20(200);// Delay5Ms(); //检测忙信号 proteus仿真时,延迟5MS,关闭while循环while (LCD_Data&Busy) //硬件使用时,不延迟,打开while循环return(LCD_Data);}/*****************************************************函数名:LCDInit()功能:1602初始化说明:入口参数:无返回值:无*****************************************************/void LCDInit(void){LCD_Data = 0;WriteCommandLCD(0x38,0); //三次显示模式设置,不检测忙信号Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,0);Delay5Ms();WriteCommandLCD(0x38,1); //显示模式设置,开始要求每次检测忙信号WriteCommandLCD(0x08,1); //关闭显示WriteCommandLCD(0x01,1); //显示清屏WriteCommandLCD(0x06,1); // 显示光标移动设置WriteCommandLCD(0x0C,1); // 显示开及光标设置}/*****************************************************函数名:DisplayOneChar()功能:按指定位置在1602显示一个字符说明:X为列,Y为行,DData为字符入口参数:X,Y,DData返回值:无*****************************************************///按指定位置显示一个字符void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData) {Y &= 0x1;X &= 0xF; //限制X不能大于15,Y不能大于1if (Y) X |= 0x40; //当要显示第二行时地址码+0x40;X |= 0x80; //算出指令码WriteCommandLCD(X, 0); //这里不检测忙信号,发送地址码WriteDataLCD(DData);}/*****************************************************函数名:DisplayListChar()功能:按指定位置在1602显示一串字符说明:X为列,Y为行,*DData为字符串入口参数:X,Y,DData返回值:无*****************************************************/void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData) {unsigned char ListLength;ListLength = 0;Y &= 0x1;X &= 0xF; //限制X不能大于15,Y不能大于1while (DData[ListLength]!='\0') //若到达字串尾则退出{if (X <= 0xF) //X坐标应小于0xF{DisplayOneChar(X, Y, DData[ListLength]); //显示单个字符ListLength++;X++;}}}/*****************************************************函数名:Delay5Ms()功能:5ms延时说明:入口参数:无返回值:无*****************************************************/void Delay5Ms(void){unsigned int TempCyc = 5552;while(TempCyc--);}/*****************************************************函数名:Delay400Ms()功能:400ms延时说明:入口参数:无返回值:无*****************************************************/void Delay400Ms(void){unsigned char TempCycA = 5;unsigned int TempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);}}4 心得体会首先,这篇课程设计就我而言还是有很大难度的。