基于MCS-51单片机的压力传感器实验

上传人:jun****875 文档编号:17807083 上传时间:2020-12-07 格式:DOC 页数:34 大小:516.91KB
返回 下载 相关 举报
基于MCS-51单片机的压力传感器实验_第1页
第1页 / 共34页
基于MCS-51单片机的压力传感器实验_第2页
第2页 / 共34页
基于MCS-51单片机的压力传感器实验_第3页
第3页 / 共34页
点击查看更多>>
资源描述
燕山大学课 程 设 计 说 明 书题目: 压力传感器实验 学院(系): 里仁学院 年级专业: 仪表10-2 学 号: 学生姓名: 指导教师: 教师职称: 燕山大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:仪器科学与工程系学 号学生姓名专业(班级)设计题目压力传感器实验设计技术参数研究压力传感器电路的工作原理和弱信号传感器电路。熟悉A/D变换电路的工作原理。利用试验板上提供的压力传感器电路,完成压力的采样和显示。设计要求设计测量和显示的硬件电路;编制相应的程序。工作量设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。工作计划查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。参考资料单片微型计算机接口技术及其应用 张淑清 国防工业出版社单片机原理及应用技术 张淑清单片机应用技术汇编指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。 年 月 日摘要 此次设计是基于8051单片机的压力检测系统,简要介绍了压力传感器电路的工作原理和弱信号传感器电路以及A/D变换电路的工作原理,通过压力传感器将需要测量的位置的压力信号转化为电信号,再经过运算放大器进行信号放大,送至8位AD转换器ADC0808,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。 关键词: 8051单片机 压力传感器A/D变换电路LED显示器目录摘要- -2关键字- -2第一章 总体设计方案及模块划分-41.1总体设计方案-41.2模块划分-41.3设计框图如下图所示-5第二章各模块设计参数-52.1传感器元件模块-52.2 A/D转换模块-82.3控制器处理模块-14第三章 压力传感器实验数据采集、显示及程序-20 3.1数据采集及显示-203.2程序设计-20第四章 心得体会-29参考文献资料-30第一章总体设计方案及模块划分1.1 总体设计方案本次设计是基于8051单片机的测量与显示。电路采用ADC0809模数转换电路,ADC0809是CMOS工艺,采用逐次逼近法的8位A/D转换芯片,片内有带锁存功能的8路模拟电子开关,先用ADC0809的转换器对各路电压值进行采样,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。本次设计是以单片机组成的压力测量,系统中必须有前向通道作为电信号的输入通道,用来采集输入信息。压力的测量,需要传感器,利用传感器将压力转换成电信号后,再经放大并经A/D转换为数字量后才能由计算机进行有效处理。然后用LED进行显示。本设计的最终结果是,将软件下载到硬件上调试出来了需要显示的数据,当输入的模拟信号发生变化的时候,通过A/D转换后,LED将显示不同的数值。1.2 模块划分(1) 传感器元件模块 传感器元件主要是对压力这样的物理量转变成电信号。(2) A/D转换电路模块 A/D转换电路是将模拟量转换为数字量,便于单片机的处理。(3) 控制器处理模块 控制器是通过51系列单片机对数字信号,按照预定目的进行处理。(4) 显示与报告模块 显示与报告是对于最终输出结果进行直观的表达。1.3设计框图如下图所示:图1.3.1 设计框图第二章 各模块设计参数2.1传感器元件模块压力传感器是压力检测系统中的重要组成部分,由各种压力敏感元件将被测压力信号转换成容易测量的电信号作输出,给显示仪表显示压力值,或供控制和报警使用。力学传感器的种类繁多,如电阻应变片压力传感器、半导体应变片压力传感器、压阻式压力传感器、电感式压力传感器、电容式压力传感器谐振式压力传感器及电容式加速度传感器等。 而电阻应变式传感器具有悠久的历史。由于它具有结构简单、体积小、使用方便、性能稳定、可靠、灵敏度高动态响应快、适合静态及动态测量、测量精度高等诸多优点,因此是目前应用最广泛的传感器之一,本实验采用电阻应变式传感器作为压力传感器。压力传感器构成:电阻应变式传感器由弹性元件和电阻应变片构成,当弹性元件感受到物理量时,其表面产生应变,粘贴在弹性元件表面的电阻应变片的电阻值将随着弹性元件的应变而相应变化。通过测量电阻应变片的电阻值变化,可以用来测量位移加速度、力、力矩、压力等各种参数。压力传感器的工作原理:本质上是惠斯通电桥,这里采用的是最常见的电阻应变片式的压力传感器。它得到广泛应用的原因是温度特性好,减小温度变化带来的误差。膜片上的压力使得电桥不平衡,从而产生一个差动的输出信号,这种结构的基本特性之一是它的差动输出电压U与偏置电压U成正比关系,这种关系隐含压力测量精度直接决定偏置电源的容限值,当四个桥臂电阻达到相应的关系时,电桥输出为零,或则就有电压输出同时,它也能提供一种温度补偿最通用的方法。本实验研究压力传感器电路如图2.1.1所示,为压力传感器的电路,其由三部分组成(1)电源电路部分;(2)电桥电路部分;(3)放大电路部分。 图2.1.1压力传感器电路 如图示,传感器采用恒压源供电,为+15V,经过与分压(电容起滤波作用),点5、6、7三点处有相同电压: (2.1.1) 根据上式,带入数据 , ,求得。 经过电路电桥部分,简化如下图2.1.2 UO图2.1.2压力传感器电桥电路设桥臂电阻分别为, ,则当压力传感器受力时,电阻变化对应的输出电压值为,由于 100us;*;工程量代换:B存高八位,A存低八位;程序中除以256相当于右移八位,即高八位变为整数位,低八位变为小数位;最后结果为: B存整数部分,A存小数部分;*DAIHUAN:MOV B,#200MOV A,ADResultMUL AB MOV 51H,A;小数部分MOV 50H,B;整数部分RET;-;INT1查询服务子程式;-INT: MOV DPTR,#8000HMOVX A, DPTR ; 读入结果CALL CLSMOV A,#10000000B ;将二进制10000000的值放入累加器内,代表设定DDRAM的地址为00H, ;即将光标移到第一行第一个列的位置上。 CALL Write_instruction ;调用写指令码子程式。 MOV DPTR,#LINE1 ;将第一行字串在程式记忆体中的起始地址存入DPTR CALL STRING ;调用STRING子程式,将字串显示到LCMMOV A,#11000010B ;将二进制11000000的值放入累加器内,代表设定DDRAM的地址为40H, ;即将光标移到第二行第三个列的位置上 CALL Write_instruction ;调用写指令码子程式。 MOV A,#50H MOV ADResult, A CALL DAIHUAN MOV DPTR,#LINE2 ;将第二行字串在程式记忆体中的起始地址存DPTR。 CALL DATE ;调用DATE子程式,将数据显示到LCM RETI;-;TO中断服务子程式;-INSERS: MOV TH0,#0 MOV TL0,#0 DJNZ R5,NO MOV R5,#50 NO: RETI ;-;Initial子程序设定LCM使用8BITS汇流排,显示两行,;使用5*7字型,显示器要显示光标要显示但不闪烁;-Initial: MOV A,#00111000B ; CALL Write_instruction ;第一次设置显示模式 MOV A,#00111000B ; CALL Write_instruction ;第二次设置显示模式 MOV A,#00111000B ; CALL Write_instruction ;第三次设置显示模式 MOV A,#00111000B ; CALL Write_instruction ;第四次设置显示模式 MOV A,#00001110B ; CALL Write_instruction ;设置光标 MOV A,#00000110B ; CALL Write_instruction ;设置LCD数据指针自动加一 RET;-;CheckBusy子程序;等待LCM有空可以执行下一行命令;-CheckBusy: PUSH ACC ;将累加器ACC的内容放到堆栈内, ;以免破坏原来的ACC的资料CheckBusyLoop: CLR ENABLE ;设定E=0,禁能读模式 SETB R_W ;设定R/W=1,选择读模式 CLR RS ;设定RS=0,选择指令寄存器IR SETB ENABLE ;将P3.3脚设定为1,使能LCM MOV A,DB0_DB7 ;将存在ACC内的资料经由P1存入ACC中 ;以便查封第7位元及BF是否为0什么 CLR ENABLE ;将P3.3脚设定为0 MOV A,#00H JB ACC.7,CheckBusyLoop ; 判断由LCM读入资料的第7位及BF ;是否为1,若等于1表示LCM忙碌中,CPU ;跳到标记CheckBusyLoop继续执行程序 POP ACC ;将累加器ACC内容从堆栈区取出 CALL DELAY ;调用延迟子程序,延时约数个mS RET ;返回主程序;-;Write_instruction子程序;将ACC内的资料输入到LCM的IR寄存器;-Write_instruction: CALL CheckBusy ;调用CheckBusy子程序确定LCM可以执行指令 CLR ENABLE ;设定E=0,禁能LCM CLR R_W ;设定R/W=0,选择写模式 CLR RS ;设定RS=0,选择指令寄存器IR SETB ENABLE ;将P3.3脚设定为1,使能LCM MOV DB0_DB7,A ;将存在ACC内的指令码经由P1输出到LCM CLR ENABLE ;将P3.3设定为0,MCS-51向LCM存取资料后, ;必须将LCM的E脚输出0,让LCM禁能(Disable) ;不做介面的资料传送或设定 RET ;返回主程序;-;WriteLCDData子程序;将ACC内的资料输入到LCM的DR寄存器;-WriteLCDData: CALL CheckBusy ;调用CheckBusy子程序,确定LCM可以执行指令 CLR ENABLE ;设定E=0,禁能LCM CLR R_W ;设定R/W=0,选择写模式 SETB RS ;设定RS=1,选择U寄资料存器DR SETB ENABLE ;将P3.3脚设定为1,使能LCM MOV DB0_DB7,A ;将存在ACC内的指令码经由P0输出到LCM CLR ENABLE RET ;返回主程序;-;CLS子程序清除LCM的显示字幕;-CLS: MOV A,#01H CALL Write_instruction RET;-;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 AB;除法做分位处理MOVC A,A+DPTRLCALL WriteLCDDataMOV A,BSHI:CLR CCJNE A,#0AH,CJ2;判断是否等于10等于10则直接显示10MOV A,#01HMOVC A,A+DPTRLCALL WriteLCDDataDEC ALCALL WriteLCDDataSJMP XSDCJ2:JC GEE;判断是否大于10MOV A,B;否则跳转到个位显示程序GEE:MOV B,#0AHDIV ABMOVC A,A+DPTRLCALL WriteLCDDataMOV A,BMOVC A,A+DPTRLCALL WriteLCDDataXSD:MOV A,#0AH;小数点显示程序MOVC A,A+DPTRLCALL WriteLCDDataLOWER:INC R1;小数位显示程序 分位原理同上MOV A,R1MOV B,#64HDIV ABMOVC A,A+DPTRLCALL WriteLCDDataMOV A,BMOV B,#0AHDIV ABMOVC A,A+DPTRLCALL WriteLCDDataMOV A,BMOVC A,A+DPTRLCALL WriteLCDDataPO
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!