基于MCS51单片机的压力传感器实验.docx

上传人:b****7 文档编号:9033460 上传时间:2023-02-02 格式:DOCX 页数:34 大小:281.60KB
下载 相关 举报
基于MCS51单片机的压力传感器实验.docx_第1页
第1页 / 共34页
基于MCS51单片机的压力传感器实验.docx_第2页
第2页 / 共34页
基于MCS51单片机的压力传感器实验.docx_第3页
第3页 / 共34页
基于MCS51单片机的压力传感器实验.docx_第4页
第4页 / 共34页
基于MCS51单片机的压力传感器实验.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于MCS51单片机的压力传感器实验.docx

《基于MCS51单片机的压力传感器实验.docx》由会员分享,可在线阅读,更多相关《基于MCS51单片机的压力传感器实验.docx(34页珍藏版)》请在冰豆网上搜索。

基于MCS51单片机的压力传感器实验.docx

基于MCS51单片机的压力传感器实验

燕山大学

课程设计说明书

 

题目:

压力传感器实验

 

学院(系):

里仁学院

年级专业:

仪表10-2

学号:

学生姓名:

指导教师:

教师职称:

 

燕山大学课程设计(论文)任务书

院(系):

电气工程学院基层教学单位:

仪器科学与工程系

学号

学生姓名

专业(班级)

设计题目

压力传感器实验

研究压力传感器电路的工作原理和弱信号传感器电路。

熟悉A/D变换电路的工作原理。

利用试验板上提供的压力传感器电路,完成压力的采样和显示。

 

设计测量和显示的硬件电路;编制相应的程序。

设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。

查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。

单片微型计算机接口技术及其应用张淑清国防工业出版社

单片机原理及应用技术张淑清

单片机应用技术汇编

指导教师签字

基层教学单位主任签字

说明:

此表一式四份,学生、指导教师、基层教学单位、系部各一份。

年月日

 

摘要

此次设计是基于8051单片机的压力检测系统,简要介绍了压力传感器电路的工作原理和弱信号传感器电路以及A/D变换电路的工作原理,通过压力传感器将需要测量的位置的压力信号转化为电信号,再经过运算放大器进行信号放大,送至8位A/D转换器ADC0808,然后将模拟信号转换成单片机可以识别的数字信号,再经单片机转换成LED显示器可以识别的信息,最后显示输出。

 

关键词:

8051单片机压力传感器A/D变换电路LED显示器

 

摘要-----------------------------------------------------------------------------------------------------2

关键字--------------------------------------------------------------------------------------------------2

第一章总体设计方案及模块划分---------------------------------------------------------------4

1.1总体设计方案--------------------------------------------------------------------------------4

1.2模块划分--------------------------------------------------------------------------------------4

1.3设计框图如下图所示-----------------------------------------------------------------------5

第二章各模块设计参数-------------------------------------------------------------------------------5

2.1传感器元件模块------------------------------------------------------------------------------5

2.2A/D转换模块---------------------------------------------------------------------------------8

2.3控制器处理模块-----------------------------------------------------------------------------14

第三章压力传感器实验数据采集、显示及程序---------------------------------------------20

3.1数据采集及显示-----------------------------------------------------------------------------20

3.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压力传感器电桥电路

设桥臂电阻分别为

,则当压力传感器受力时,电阻变化对应的输出电压值为

,由于

<<1,则上式可化简为

(2.1.2)

带入电阻、电压值得

.(2.1.3)

最后经过放大部分,如图2.1.3,为压力传感器的微弱电压输出的放大电路。

分析它是一个差分放大电路,其放大倍数为

那么放大后的电压值为

,选定材料,这里取

,代入式(4.1.3)得

.因为A∕D转换器的最大输入电压为5v,所以该压力传感器的测量范围为0~80N。

 

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组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

2.2.1ADC0809的内部逻辑结构

由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

图2.2.1

2.2.2ADC0809的引脚结构

ADC0809各脚功能如下:

D7-D0:

8位数字量输出引脚

IN0-IN7:

8位模拟量输入引脚

VCC:

+5V工作电压

GND:

REF(+):

参考电压正端

REF(-):

参考电压负端

START:

A/D转换启动信号输入端。

当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。

ALE:

地址锁存允许信号输入端,高电平有效。

当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。

EOC:

转换结束信号输出引脚。

当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。

OE:

输出允许控制端,用以打开三态数据输出锁存器。

CLK:

时钟信号输入端(一般为500KHz)。

A、B、C:

地址输入线,用于选通IN0-IN7上的一路模拟量输入。

ADC0809对输入模拟量要求:

信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。

2.2.3ADC0809应用说明

1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。

2)初始化时,使ST和OE信号全为低电平。

3)送要转换的哪一通道的地址到A,B,C端口上。

4)在ST端给出一个至少有100ns宽的正脉冲信号。

5)是否转换完毕,我们根据EOC信号来判断。

6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。

(4)ADC0809工作时序图

在ALE=1期间,模拟开关的地址(ADDC、ADDB和ADDA)存入地址锁存。

输入启动信号START的上升沿复位ADC0809,下降沿启动A/D转换。

EOC为输出的转换结束信号,正在转换时为0,转换结束时为1。

OE为输出允许控制端,在转换完成后用来打开输出三态门,以便从ADC0809输出这次转换的结果。

ADC0809的时序图如下图

 

2.2.4.接口电路的设计

实验电路及接线如下图示:

连线

连接孔1

连接孔2

1

IN0

压力传感器输出

2

AD_CS

CS2

图2.2.3接线框图

图2.2.4实验电路连线图

A/D转换器的结构及连线图如上图所示,AD0809的工作过程如下:

首先用指令选择0809的一个模拟输入通道,当执行MOVX@DPTR,A时,产生一个启动信号给START引脚送入脉冲,开始对选中通道转换。

当转换结束后发出结束信号,置EOC引脚信号为高电平,该信号可以作为中断申请信号,当读允许信号到,OE端有高电平,则可以读出转换的数字量,利用MOVXA,@DPTR把该通道转换结果读到累加器A中。

转换电压为0—5V,调节桥路中的电位器,使其输出电压为0—5V,可以在较小范围内波动,当满量程输出时对应八个1的输出,由于前边计算的电压变化和电阻变化成正比关系,而且电阻变化和应变成正比,进而得出的压力和电压是成正比的。

传感器桥路输出的电压经过比例变换后转换成二进制码的形式送入P0口。

其程序框图如下:

 

启动AD0809

 

产生中断

 

图五主程序流程图图六中断子程序

2.3控制器处理模块

本实验采用8051单片机,其管脚图如下:

图4.4.18051管脚图

其管脚功能如下:

1.电源

(1)VCC-芯片电源,接+5V;

(2)VSS-接地端;

2.时钟

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

3.控制线(4根)

(1)ALE/PROG:

地址锁存允许/片内EPROM编程脉冲。

①ALE功能:

用来锁存P0口送出的低8位地址。

②PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

(2)PSEN:

外ROM读选通信号。

(3)RST/VPD:

复位/备用电源。

①RST(Reset)功能:

复位信号输入端。

②VPD功能:

在Vcc掉电情况下,接备用电源。

(4)EA/Vpp:

内外ROM选择/片内EPROM编程电源。

①EA功能:

内外ROM选择端。

②Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

4.I/O线

80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

P3口还有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

2.4显示与报告模块-----------LCD1602的显示操作

2.4.1四种基本操作

LCD有四种基本操作,具体如表2.4.1所示。

表2.4.1 LCD与单片机之间有四种基本操作

RS

R/W

操作

0

0

写命令操作(初始化,光标定位等)

0

1

读状态操作(读忙标志位)

1

0

写数据操作(要显示内容)

1

1

读数据操作(可以把显示存储区中的数据反读出来)

(1)读状态字

执行读状态字操作,如表2.4.2满足RS=0,R/W=1。

根据管脚功能,当为有效电平时,状态命令字可从LCD模块传输到数据总线。

同时可以保持一段时间,从而实现读状态字的功能。

读状态字流程如图2.4.1所示。

图2.4.1 读入状态字流程图

(2)命令字

表2.4.2所示为命令字,其主要介绍了指令名称、控制信号及控制代码。

其指令名称是指要实现的功能;控制代号是采用的十六进制的数值表示的。

1)清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;

2)归home位:

将光标送到初始位;其中的*号为任意,高低电平均可;

3)输入方式:

设光标移动方向并指定整体显示,是否移动。

I/D=0:

减量方式,S=1:

移位方式,S=0:

不移位;

4)显示状态:

D指设置整体显示开关;C指设置光标显示开关;B指设置光标的字符闪耀;

5)光标画面滚动:

R/L指右移或左移;S/C指移动总体或光标;

6)功能设置:

DL接口数位,L指显示行数,F显示字型;如DL=1:

8位=0,4位N=1:

2行=0:

1行,G=1:

5×10=0:

5×7(点阵)

7)CGRAM地址设制:

相当于一个数据库,可以在其中选择所需要的符号;

8)DDRAM地址设制:

显示定位;

9)读BF和AC:

B为最高位忙的标志,F为标志位;

10)写数据:

将数据按要求写入到对应的单元;

11)读数据:

读相应单元内的数据;

表2.4.2 命令字

指令名称

控制信号

控制代码

RS

RW

D7

D6

D5

D4

D3

D2

D1

D0

清屏

0

0

0

0

0

0

0

0

0

1

归HOME位

0

0

0

0

0

0

0

0

1

*

输入方式设制

0

0

0

0

0

0

0

1

I/D

S

显示状态设制

0

0

0

0

0

0

1

D

C

B

无标画面滚动

0

0

0

0

0

1

S/C

RL

*

*

功能设置

0

0

0

0

1

DL

N

F

*

*

CGRAM地址设制

0

0

0

1

A5

A4

A3

A2

A1

A0

DDRAM地址设制

0

0

1

A6

A5

A4

A3

A2

A1

A0

读BF和AC

0

1

BF

AC6

AC5

AC4

AC3

AC2

AC1

AC0

写数据

1

0

数据

读数据

1

1

数据

(3)写命令字

由表2.4.2可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据写到LCD模块,此时就对LCD进行调制。

可采用查询方式:

先读入状态字,再判断忙标志位,最后写命令字。

图2.4.2所示为写命令字的流程图。

图2.4.2 写命令字流程图

1)定义光标位置

显示数据的某位,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。

Set DDRAM address命令如表2.4.3所示。

光标定位,写入一个显示字符后,DDRAM地址会自动加1或减1,加或减由输入方式设置。

表2.4.3 SetDDRAMaddress命令

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

1

AC6

AC5

AC4

AC3

AC2

AC1

AC0

第1行DDRAM地址与第2行DDRAM地址并不连续,如表2.4.4所示。

表2.4.4 DDRAM地址

row

1

2

3

4

5

14

15

16

line1

80H

81H

82H

83H

84H

8dH

8eH

8fH

line2

0c0H

0c1H

0c2H

0c3H

0c4H

0cdH

0ceH

0cfH

 

2)1602LCD的一般初始化(复位)过程

延时15mS

写指令38H(不检测忙信号)

延时5mS

写指令38H(不检测忙信号)

延时5mS

写指令38H(不检测忙信号)

以后每次写指令、读/写数据操作均需要检测忙信号

写指令38H:

显示模式设置

写指令08H:

显示关闭

写指令01H:

显示清屏

写指令06H:

显示光标移动设置

写指令0CH:

显示开及光标设置

2.4.2LCD显示程序设计

LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,显示流程如图2.4.4显示。

图2.4.4 LCD显示程序流程图

2.4.3AD0809接口电路及LCD接口电路

 

第三章压力传感器实验数据采集、显示及程序

3.1数据采集及显示

数据处理子程序是整个程序的核心。

主要用来调整输入值系数,使输出满足量程要求。

另外完成A/D的采样结果从十六进制数向十进制数形式转化。

系数转换在IN0输入的数最大为5V,要求压力200pa对应的是5V,将系数进行一定倍数的变换,并用小数点位置的变化体现这一过程。

数制之间的转换:

在二进制数制中,每向左移一位表示数增加两倍。

要求压力80N对应的是5V,而压力与电压的变换是线性关系,对应AD转换器的输出为八个1,当有一定的压力值输入时,对应这个关系转化成相应的二进制代码送入P0口。

然后再反过来应用这个变化关系,经最终得到的数值进行二进制到BCD码转化,然后逐位在LED数码管上显示。

数据采集用A/D0809芯片来完成,主要分为启动、读取数据、延时等待转换结束、读出转换结果、存入指定内存单元、继续转换(退出)几个步骤。

ADC0809初始化后,就具有了将某一通道输入的0~5模拟信号转换成对应的数字量00H—FFH,然后再存入存储器的指定单元中。

在控制方面有所区别。

可以采用程序查询方式,延时等待方式和中断方式。

显示子程序是字符显示,首先调用事先编好数码管显示子程序。

初始化命令,然后输出显示命令。

在显示过程中一定要调用延时子程序。

当输入通道采集了一个新的过程参数,当有压力信号输入时,调用显示子程序在数码管上显示。

3.2程序设计

;

ADResultEQU40H

RSBITP2.0;定义LCM的接脚RS、R/W、Enable为P2.0、P2.1、P2.2

R_WBITP2.1

ENABLEBITP2.2

DB0_DB7DATAP1;DB0-DB7的接脚为P1来控制,以方便程式的撰写与维护

;*------------------------------------------------------------------------

ORG0000H;通知编译器下面的程式由程式记忆体

 ;地址1000H开始存放

AJMPSTART;跳到标记start处执行程式

ORG000BH;跳到中断服务程式

AJMPINSERS

ORG0013H

AJMPINT

ORG30H;通知编译器下面的程式由程式记忆体地址0030H开始存入。

START:

NOP

MOVTMOD,#0;初始化TO

MOVTL0,#0

MOVTH0,#0

SETBEA

SETBET0

SETBTR0

  SETBEX1

  SETBIT1

MOVR5,#50;设定延时次数。

MOVSP,#60H;设定MCS-51从内容资料记忆体地址61H开始存放堆栈资料。

  CALLInitial;调用启动LCM的子程式

  CALLCLS;调用清除显示器的子程式

MOVA,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1