电子压力计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ADDC=P1.4,ADDB=P1.5,ADDA=P1.6.OUT1~7=P3,P0输出到数码管动态显示的断码,P2.1,P2.2,P2.3作为数码管的位码。用单片机作为控制模块,通过控制AD转换芯片ADC0809对模拟电压信号采集转换成8位数字信号,采用中断的方式转换,经单片机程序转换后由数码管输出反应输入值,操作方便。
OE=0; //关闭输出
}
}
//T0定时器中断给ADC0809提供时钟信号
void Timer0_INT() interrupt 1
{
CLK=!CLK; //ADC0809时钟信号
}


出现的故障及排除方法
1)电路不通,首先按照仿真电路图认真仔细检查电路,改正后重新测试,万用表测端点电压,发现某些引脚没有电压,重新检查线路或者更换元件,直至通为止。
ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
C
B
A
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
电路设计的总体框图
图1系统总体框图
2单元电路设计
⑴AD转换电路:
图2
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变。
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。
5)电路整体分析
此设计基本完成了题目所要求的内容,其中既有可圈之处由于不足之处,具体说来:
优点:在基本部分中实现了对设计的要求,电路简单易懂,尽量使用了常见的器件,容易实现。
缺点:发挥部分中,由于调试问题,在比赛时没能完全调试出来。
⑷三位数码管显示
使用共阴极数码管3个,显示3位
3单片机软件设计
软件部分是实现将从ADC0809上输出的8位二进制数经过转换,输出到数码管上显示。由延时子程序,显示子程序和主程序构成。
// ADC0809模数转换
//ADC0809采样通道3输入的模拟量,转换后结果显示在数码管上
#include <reg51.h>
P0=LEDData[d%10];
Delayms(5);
P2=0xfd;
P0=LEDData[d%100/10];
Delayms(5);
P2=0xfd;
P0=LEDData[d/100];
Delayms(5);
}
//主程序
void main()
{
TMOD=0x02;
TH0=0x14;
TL0=0x00;
sbit EOC=P1^1;
sbit ST=P1^2;
sbit CLK=P1^3;
//延时
void Delayms(uint ms)
{
uchar i;
while(ms--)for(i=0;i<120;i++);
}
//显示转换结果
void Display_Result(uchar d)
{
P2=0xf7;
DC0809的输入通道的电压范围0~5V,故对mv级的电压进行必要的电压放大1000倍。
⑵电压基准电路
图3
TL431是一种并联稳压集成电路,本实验中利用TL431给ADC0809芯片提供电压基准(5v),上图给出的即是利用电阻分压的输出为5v的电压基准电路。
⑶单片机控制ADC0809电路
图4
单片机的P1口与0809的对应关系为OE=P1.0,EOC=P1.1,ST=P1.2,CLK=P1.3,
#define uchar unsigned char
#define uint unsigned int
uchar code wk.baidu.comEDData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//ADC0809引脚定义
sbit OE=P1^0;
IE=0x82;
TR0=1;
P1=0x3f;//选择ADC0809通道3(0111)
//高4位设通道地址为0111
while(1)
{
ST=0;ST=1;ST=0;//启动转换
while(EOC==0); //等待转换结果
OE=1; //允许输出
Display_Result(P3); //显示A/D转换结果
2)数码管显示不全或不亮,检查数码管的连线,是否接有保护电阻,电源线和接地线是否接错,检查驱动电路是否有问题,将驱动电路所不用的引脚接地,防止干扰。
3)还要注意整体布局,走线要横平竖直,以免造成交叉干扰,尽量做到接线短、接线少、测量方便;第一级的输入线与末级的输出线、高频线与低频线要远离,以免形成空间交叉耦合。

设计制作一个简易电子压力计,要求检测电路测量该压力信号输入;
测量值用数字显示,显示范围为000~999。

1.设计思路
本实验完成对模拟信号电压的采集,并通过单片机程序转换成数字信号,并在数码管上显示。模拟测试压力的电子压力计,对从压力传感器输出的电压信号放大,输入ADC0809芯片做A/D转换,并有单片机的辅助,从单片机的引脚上输出到数码管显示。由于实验中起到模拟的作用,故在本实验中,采用恒压电源作为ADC0809的输入模拟电压信号。结果用3个数码管显示三位电压信号,总共4个部分, ADC0809数模转换器,由TL431提供基准源,将8位数字二进制输入给单片机,在经单片机的软件中断处理,将要输出的数经由P0口到数码管显示。
相关文档
最新文档