数字压力测量仪器设计实验报告_第1页
数字压力测量仪器设计实验报告_第2页
数字压力测量仪器设计实验报告_第3页
数字压力测量仪器设计实验报告_第4页
数字压力测量仪器设计实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告 数字压力测量仪器设计学生姓名: 学号: 专业:测控技术与仪器 学院:机械电子工程学院 2011 年 12月10日1. 原理图2.硬件设计:1时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的xtal1和xyal2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器和对振荡频率有微调作用,通常取(3010)pf石英晶体选择6mhz或12mhz都可以。时钟电路如图2-1所示。图2-1系统时钟电路2 a/d 转化模块根据系统设计功能的要求,初步确定设计系统由ad转换模块、单片机控制模块、显示模块组成。1 ad转换模块 adc0832 cs_ 片选使能,低电平芯片使能。

2、 ch0 模拟输入通道0,或作为in+/-使用。 ch1 模拟输入通道1,或作为in+/-使用。 gnd 芯片参考0 电位(地)。 di 数据信号输入,选择通道控制。 do 数据信号输出,转换数据输出。 clk 芯片时钟输入。 vcc/ref 电源输入及参考电压输入(复用)。adc0832 为8位分辨率a/d转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05v之间。芯片转换时间仅为32s,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过d

3、i 数据输入端,可以轻易的实现通道功能的选择。adc0832数据读取程序流程:2.单片机控制模块 由at89c51单片机、时钟电路、复位电路组成at89c51是一种带4k字节闪烁可编程可擦除只读存储器(fperomfalsh programmable and erasable read only memory)的低电压,高性能cmos8位微处理器,俗称单片机。at89c2051是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu

4、和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,at89c2051是它的一种精简版本。at89c单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外部时钟电路:主要是通过一个12hz的时钟晶振产生时钟信号,以作为单片机工作的外部时钟。其xtal1、xtal2分别接到单片机相应的引脚上。外部时钟的晶振频率为12mhz,则通过电路提供给单片机的频率也为12mhz。3显示模块设计3.1lcd显示模块显示模块 显示控制采用lcd1602数码管。rs:数据和指令选择控制端,rs=0命令状态rs=1 数据r/w:读写控制线,r/w=0写操作;r/w=1读操作。e:数据读

5、写操作控制位,e线向lcd模块发送一个脉冲,lcd模块将与单片机进行一次数据交换。db0-db7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源。lcd显示器分为字段显示和字符显示两种。其中字段显示与led显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用lcd1602作为显示器件输出信息。与传统的led数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。lcd1602可以显示2行16个汉字。vss vdd vo

6、rs r/w e db0 db1 db2 db3 db4 db5 db6 db7 a klcd 模 块1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 163.2.传感器模块 压力传感器mpx41154 .主程序设主程序主要负责各个模块的初始化工作:设置定时器、寄存器的初值,启动a/d转换,读取转换结果,处理量程转换响应,控制液晶实时显示等。1、初始化程序 系统刚上电时,初始化程序将70h77h内存单元清0,p2口置0。2、主程序 刚上电时,系统默认为循环显示8个通道的电压值状态。当进行一次测量后,将显示每一通道的a/d转换值,每个通道的数据显示时间为1s左右。主程序在调

7、用显示子程序和测试子程序之间循环。3、显示子程序 显示子程序采用动态扫描法实现数码管的数值显示。测量所得的ad转换数据放在70h77h内存单元中,测量根据在显示时需转换成为十进制bcd码放在78h7bh单元中,其中7bh存放通道标志数。寄存器r3用作8循环控制,r0用作显示数据地址指针。4、模/数转换测量子程序 模/数转换测量子程序用来控制对0808八路模拟输入电压的a/d转换,并将对应的数值存入内存单元。主程序#include #include intrins.h#define uint unsigned int#define uchar unsigned charsbit adcs =p2

8、0; /adc0832 chip seclectsbit addi =p37; /adc0832 k insbit addo =p37; /adc0832 k outsbit adclk =p36; /adc0832 clock signalunsigned char dispbitcode8=0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f; unsigned char dispcode11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff; unsigned char dispbuf4;uint te

9、mp;uchar getdata; void delay_1ms(void) /12mhz delay 1.01ms unsigned char x,y; x=3; while(x-) y=40; while(y-); void display(void) /数码管显示函数 char k; for(k=0;k1)&0x1; _nop_(); _nop_(); adclk=0; addi=1; _nop_(); _nop_(); dat=0; for(i=0;i8;i+) dat|=addo; adclk=1; _nop_(); _nop_(); adclk=0; _nop_(); _nop_(

10、); dat=1; if(i=7)dat|=addo; for(i=0;i8;i+) j=0; j=j|addo; adclk=1; _nop_(); _nop_(); adclk=0; _nop_(); _nop_(); j=j7; ndat=ndat|j; if(i=1; adcs=1; adclk=0; addo=1; dat=8; dat|=ndat; return(dat); /return ad kvoid main(void) while(1) unsigned int temp; float press; getdata=adc0832(0); if(14getdata243) int vary=getdata;press=(

温馨提示

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

评论

0/150

提交评论