基于单片机的压力传感器实验_第1页
基于单片机的压力传感器实验_第2页
基于单片机的压力传感器实验_第3页
基于单片机的压力传感器实验_第4页
基于单片机的压力传感器实验_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、精品课程设计说明书题目:压力传感器设计学院(系): 年级专业:电子信息科学与技术学 号:学生姓名:指导教师:目录摘要 2关键字 第一章 总体设计方案及模块划分21.1 总体设计方案21.2 模块划分3感谢下载载精品1.3 设计框图如下图所示5第二章各模块设计参数52.1 传感器元件模块52.2 A/D 转换模块2.3 控制器处理模块122.4 AD0809 接口电路及 LED 接口电路14第三章 压力传感器实验数据采集、显示及程序感谢下载载3.1 数据采集及显示14第 四 章 心 得 体15附录16程序设计16参考文献资料25实物图25摘要此次设计是基于 8051 单片机的压力检测系统, 简要

2、介绍了压力传感器电路 的工作原理和弱信号传感器电路以及 A/D 变换电路的工作原理 ,通过压力传感器将需 要测量的位置的压力信号转化为电信号, 再经过运算放大器进行信号放大, 送 至8位A/ D转换器ADC0808 ,然后将模拟信号转换成单片机可以识别的数 字信号,再经单片机转换成 LED 显示器可以识别的信息,最后显示输出。关键词: 单片机 压力传感器A/D变换电路LED显示器第一章总体设计方案及模块划分1.1 总体设计方案本次设计是基于 8051 单片机的测量与显示。 电路采用 ADC0809 模数转换电路, ADC0809 是 CMOS 工艺,采用逐次逼近法的 8 位 A/D 转换芯片,

3、 精品片内有带锁存功能的 8 路模拟电子开关,先用 ADC0809 的转换器对各路电 压值进行采样, 然后将模拟信号转换成单片机可以识别的数字信号, 再经单片 机转换成 LED 显示器可以识别的信息,最后显示输出。本次设计是以单片机 组成的压力测量, 系统中必须有前向通道作为电信号的输入通道, 用来采集输 入信息。压力的测量,需要传感器,利用传感器将压力转换成电信号后,再经 放大并经 A/D 转换为数字量后才能由计算机进行有效处理。 然后用 LED 进行 显示。本设计的最终结果是,将软件下载到硬件上调试出来了需要显示的数据, 当输入的模拟信号发生变化的时候,通过 A/D 转换后, LED 将显

4、示不同的数 值。1.2 模块划分(1 ) 传感器元件模块 传感器元件主要是对压力这样的物理量转变成电信号。(2 ) A/D 转换电路模块A/D 转换电路是将模拟量转换为数字量,便于单片机的处理。(3 ) 控制器处理模块控制器是通过 51 系列单片机对数字信号, 按照预定目的进行处理(4 ) 显示与报告模块 显示与报告是对于最终输出结果进行直观的表达。1.3 设计框图如下图所示 :图1.3.1设计框图第二章 各模块设计参数2.1传感器元件模块压力传感器是压力检测系统中的重要组成部分, 由各种压力敏感元件将被 测压力信号转换成容易测量的电信号作输出, 给显示仪表显示压力值,或供控 制和报警使用。力

5、学传感器的种类繁多,如电阻应变片压力传感器、半导体应 变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器 谐振式压力传感器及电容式加速度传感器等。而电阻应变式传感器具有悠久的历史。由于它具有结构简单、体积小、使用方便、性能稳定、可靠、灵敏度 高动态响应快、适合静态及动态测量、测量精度高等诸多优点,因此是目前应 用最广泛的传感器之一,本实验采用电阻应变式传感器作为压力传感器。压力传感器构成:电阻应变式传感器由弹性元件和电阻应变片构成, 当弹性元件感受到物理 量时,其表面产生应变, 粘贴在弹性元件表面的电阻应变片的电阻值将随着弹 性元件的应变而相应变化。 通过测量电阻应变片的电阻

6、值变化, 可以用来测量 位移加速度、力、力矩、压力等各种参数。压力传感器的工作原理 : 本质上是惠斯通电桥,这里采用的是最常见的电阻应变片式的压力传感 器。它得到广泛应用的原因是温度特性好, 减小温度变化带来的误差。 膜片上 的压力使得电桥不平衡, 从而产生一个差动的输出信号, 这种结构的基本特性 之一是它的差动输出电压 U 与偏置电压 U 成正比关系,这种关系隐含压力 测量精度直接决定偏置电源的容限值, 当四个桥臂电阻达到相应的关系时, 电 桥输出为零,或则就有电压输出同时, 它也能提供一种温度补偿最通用的方法。 本实验研究压力传感器电路如图 2.1.1 所示,为压力传感器的电路,其由三部

7、分组成( 1 )电源电路部分;( 2 )电桥电路部分;( 3)放大电路部分。如图示,传感器采用恒压源供电,VCc为+15V,经过R23与R40分压(电 容起滤波作用),点5、6、7三点处有相同电压U!:U 1R23VCC /( R23 R40)(2.1.1)根据上式,带入数据R23 1K ,R40 4K ,Vcc 15V,求得5 3V。经过电路电桥部分,简化如下图2.1.2感谢下载载精品UO图2.1.2压力传感器电桥电路设桥臂电阻分别为Ri, R2, R3, R4 ,RR3R1/(1/R101/(R11R12)118,R2R4R120,贝卩当压力传感器受力时,电阻变化对应的输出电压值为Uo U

8、Uo U1 RRRRRR 1Rr,由于RRRR 1 RrR 1,则上式可化简为(2.1.2)感谢下载载 11带入电阻、电压值得UO 0.75仝.(2.1.3)R最后经过放大部分,如图2.1.3,为压力传感器的微弱电压输出的放大电路。分析它是一个差分放大电路,其放大倍数为A R,20002500,那么放大后的电压值为R22.43Uo 0.75竽 625 又 SF ,选定材料,这里取S 10 4, 3 RR R代入式(4.1.3 )得Uo 0.0625F.因为A D转换器的最大输入电压为5v,所以该压力传感器的测量范围为 080N-VCC-12V “ Dl 1 a - LI.VsJ .- JTte

9、-U1R5精品UOUO图 2.1.3 放大电路2.2. A/D 转换模块模拟量输入通道的任务是将模拟量转换成数字量。 能够完成这一任务的器 件称之为模数转换器,简称 A/D 转换器。本次设计的中 A/D 转换器的任务是 将放大器输出的模拟信号转换位数字量进行输出。A/D 转换电路的核心元件是 ADC0808 芯片ADC0808 是 ADC0809 的简化版本,功能基本相同。一般在硬件仿真时 采用 ADC0808 进行 A/D 转换,实际使用时采用 ADC0809 进行 A/D 转换。 ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控制逻 辑的 CMOS 组件。

10、它是逐次逼近式 A/D 转换器,可以和单片机直接接口。 2.2.1 ADC0809 的内部逻辑结构由下图可知, ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、 一个 A/D 转换器和一个三态输出锁存器组成。 多路开关可选通 8 个模拟通道,允许8路模拟量分时输入,共用 A/D转换器进行转换。三态输出锁器用于锁 存A/D转换完的数字量,当0E端为高电平时,才可以从三态输出锁存器取 走转换完的数据。IND41和W5N6EST7AECJiLEEOC图 2.2.1222 ADC0809 的引脚结构ADC0809各脚功能如下:D7-D0 : 8位数字量输出引脚IN0-IN7:8位模拟量输

11、入引VCC: +5V工作电压GNDREF( + ):参考电压正端REF(-):参考电压负端START: A/D转换启动信号输入端。当ST上跳沿时,所有内部寄存器清零; 下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。ALE:地址锁存允许信号输入端,高电平有效。 当ALE线为高电平时,地址锁 存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的 通道的模拟量进入转换器进行转换。EOC:转换结束信号输出引脚。当 EOC为高电平时,表明转换结束;否则, 表明正在进行A/D转换。OE :输出允许控制端,用以打开三态数据输出锁存器。CLK : 时钟信号输入端(一般为 500K

12、HZ )。A、B、C:地址输入线,用于选通IN0 IN7上的一路模拟量输入。ADC0809对输入模拟量要求:信号单极性,电压范围是0 5V,若信号太小, 必须进行放大; 输入的模拟量在转换过程中应该保持不变, 如若模拟量变化太 快,则需在输入前增加采样保持电路。2 丄 2 ztnieddd D DFFQ 尊需皺2726252d23222120191 81716152.2.3 ADC0809 应用说明1 ) ADC0809 内部带有输出锁存器,可以与 AT89S51 单片机直接相连。2)初始化时,使ST和0E信号全为低电平。3)送要转换的哪一通道的地址到 A, B, C 端口上。4)在ST端给出

13、一个至少有100ns宽的正脉冲信号。5)是否转换完毕,我们根据 EOC 信号来判断。6)当EOC变为高电平时,这时给 0E为高电平,转换的数据就输出给单 片机了。(4) ADC0809 工作时序图在ALE=1期间,模拟开关的地址(ADDC、ADDB和ADDA )存入地址 锁存。输入启动信号START的上升沿复位ADC0809,下降沿启动A/D转换。 EOC为输出的转换结束信号,正在转换时为 0,转换结束时为1。OE为输出 允许控制端, 在转换完成后用来打开输出三态门, 以便从 ADC0809 输出这次 转换的结果。ADC0809 的时序图如下图224.接口电路的设计实验电路及接线如下图示连线连

14、接孔1连接孔21INO压力传感器输出2AD_CSCS2图2.2.3接线框图28T2AD72k20口 DEIS18AD38AD2151141?GNDwcc12I N- 0I N - 7I N- &I N-2I N- 1I N - 3IN-斗I N-5N 512-2COiC2-324fl d r - a2-5ft D 0 - B2-6ADD-C2-713b2-9ALEr e f(-)EPIftBL ES T A R Tr ef (CLOCKS725AG24A 123RSORDU3C: 口74LSB2EOCclctji nvccI fc9 4J P2.7- 100us*J;工程量代换 :B 存高八位

15、, A 存低八位;程序中除以 256 相当于右移八位 ,即高八位变为整数位 ,低八位变为小数位;最后结果为:B存整数部分,A存小数部分*JDAIHUAN: MOV B,#200MOV A,ADResultMUL ABMOV 51H,A;小数部分MOV 50H,B;整数部分RET;INT1 查询服务子程式INT:MOV DPTR,#8000HMOVX A, DPTR; 读入结果CALL CLSMOVA,#10000000B;将二进制 10000000 的值放入累加器内,代表设定DDRAM 的地址为00H ,;即将光标移到第一行第一个列的位置上。CALLWrite_instruction ;调用写

16、指令码子程式。MOVDPTR,#LINE1;将第一行字串在程式记忆体中的起始地址存入DPTRCALLSTRING;调用 STRING 子程式,将字串显示到 LCMMOVA,#11000010B;将二进制 11000000 的值放入累加器内,代表设定 DDRAM 的地址为 40H ,;即将光标移到第二行第三个列的位置上CALLWrite_instruction ;调用写指令码子程式。MOVA,#50HMOVADResult, ACALL DAIHUANMOVDPTR,#LINE2;将第二行字串在程式记忆体中的起始地址存DPTR 。CALL DATE;调用 DATE 子程式,将数据显示到 LCMR

17、ETI;TO 中断服务子程式INSERS:MOVTH0,#0MOVTL0,#0DJNZR5,NOMOVR5,#50NO:RETI;Initial 子程序 设定 LCM 使用 8BITS 汇流排 ,显示两行 ,;使用 5*7 字型 ,显示器要显示光标要显示但不闪烁Initial:MOV A,#00111000BCALL Write_instruction ; 第一次设置显示模式MOVA,#00111000BCALLWrite_instructionMOVA,#00111000BCALLWrite_instructionMOVA,#00111000BCALLWrite_instructionMOV

18、A,#00001110BCALLWrite_instructionMOVA,#00000110BCALLWrite_instructionRET第二次设置显示模式第三次设置显示模式第四次设置显示模式设置光标设置 LCD 数据指针自动加一;CheckBusy 子程序;等待 LCM 有空可以执行下一行命令CheckBusy:PUSHACC;将累加器 ACC 的内容放到堆栈内 ,;以免破坏原来的 ACC 的资料CheckBusyLoop:CLRENABLE; 设定 E=0, 禁能读模式ACC 中什么位及 BF中,CPU执行程序取出mSSETBR_W;设定 R/W=1, 选择读模式CLRRS;设定 R

19、S=0, 选择指令寄存器 IRSETBENABLE;将 P3.3 脚设定为 1,使能 LCMMOVA,DB0_DB7;将存在 ACC 内的资料经由 P1 存入;以便查封第7位元及BF是否为0CLRENABLE;将 P3.3 脚设定为 0MOV A,#00HJB ACC.7,CheckBusyLoop ; 判断由 LCM 读入资料的第 7;是否为 1,若等于 1表示 LCM 忙碌;跳到标记 CheckBusyLoop 继续POP ACC;将累加器 ACC 内容从堆栈区CALL DELAY;调用延迟子程序 ,延时约数个RET;返回主程序;Write_instruction 子程序;将 ACC 内的

20、资料输入到 LCM 的 IR 寄存器Write_instruction:CALLCheckBusy;调用 CheckBusy 子程序确定 LCM 可以执行指令CLRENABLE;设定 E=0, 禁能 LCMCLRR_W;设定 R/W=0, 选择写模式CLRRS;设定 RS=0, 选择指令寄存器 IRSETBENABLE;将 P3.3 脚设定为 1, 使能 LCMMOVDB0_DB7,A;将存在 ACC 内的指令码经由 P1 输出到LCMCLRENABLE;将 P3.3 设定为 0,MCS-51 向 LCM 存取资料后 ,;必须将 LCM 的 E 脚输出 0,让 LCM 禁能(Disable);

21、不做介面的资料传送或设定RET;返回主程序;WriteLCDData 子程序;将 ACC 内的资料输入到 LCM 的 DR 寄存器WriteLCDData:执行指令LCMCALLCheckBusy;调用 CheckBusy 子程序 ,确定 LCM 可以CLRENABLE;设定 E=0, 禁能 LCMCLRR_W;设定 R/W=0, 选择写模式SETBRS;设定 RS=1, 选择 U 寄资料存器DRSETBENABLE;将 P3.3 脚设定为 1, 使能 LCMMOVDB0_DB7,A;将存在 ACC 内的指令码经由P0 输出到CLRENABLERET;返回主程序;CLS 子程序 清除 LCM

22、的显示字幕CLS: MOV A,#01HCALL Write_instructionRET;DATE 子程序;压力数据的扫描显示DATE: PUSH ACC;入栈累加器 APUSH PSW;入栈 PSW 中的 CYHIG:MOV R1,#50HMOV A,R1CJNE A,#64H,CJ1;判断是否等于 100, 等于 100 则直接显示 100MOV A,#01HMOVC A,A+DPTRLCALL WriteLCDDataDEC ALCALL WriteLCDDataLCALL WriteLCDDataSJMP XSDCJ1: JC SHI;判断是否大于 100 大于 100 则继续执行分位操作MOV B,#64H;否则跳转到十位分位程序DIV ABMOVC A,A+DPTRLCALL WriteLCDDataMOV A,BSHI: CLR CCJNE A,#0AH,CJ2MOV A,#01HMOVC A,A+DPTRLCALL WriteLCDDataDEC ALCALL WriteLCDDataSJMP XSDCJ2: JC GEEMOV A,BGEE: MOV B,#0AHDIV ABMOVC A,A+DPT

温馨提示

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

评论

0/150

提交评论