基于单片机实现的数据采集系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计报告
题目:数据采集系统
(一)设计任务
1. 采用8051和ADC0809构成一个8通道数据采集系统。能够顺序采集各个通道的信号。
2. 先利用A/D转化器对各路电压进行采样,得到相应数字量,再按数字量与模拟量成正比关系运算得到相应的模拟电压值,然后将模拟量通过显示器显示出来。
3. 采集信号的动态范围:0~5V。每个通道的采样速率:100 SPS。
4.要求四位LED数码管上轮流显示或单路选择显示,测试最小分辨率为0.019V,测量误差为± 0.02V。
5.利用单片机仿真器,将采样数据送入单片机70H~77H存储单元。
6.编写相应的单片机采集程序,到达规定的性能。
(二)设计方案
硬件选择:89C51,ADC0809,电源,单片机仿真器,LED,电位器,RAM,74LS02,开关K1K2。
接口芯片:74LS244驱动及四个共阳极的LED数码管
软件部分:
1测量电压值最大是5V,显示最大值为5V。
2使用89C51单片机,6MH晶振,P0口读入A/D值,P2口为A/D转换控制口。
3采用T0定时100uS来产生5分钟来进行数据采集,
以下为主要芯片的简要介绍:
AD0809引脚图
1、AD0809 的逻辑结构
ADC0809 是8 位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D 转换器和一个三态输出锁存器组成(见图1)。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
2、AD0809 的工作原理
IN0-IN7:8 条模拟量输入通道
ADC0809 对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:4条
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 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11 条
ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D 转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF(-)为参考电压输入。
3 、ADC0809 应用说明
(1)ADC0809 内部带有输出锁存器,可以与A T89S51 单片机直接相连。(2)初始化时,使ST 和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C 端口上。
(4)在ST 端给出一个至少有100ns 宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC 信号来判断。
(6)当EOC变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。
4、AD0809 的应用
了解完A/D 转换芯片,下面我们以图2 为例来完成它的程序设计。电路说明:
CLK:时钟输入信号,0809的时钟频率范围在10~1200kHz ,典型值为640kHz 。
1.数据采集系统电路图:
图3 ADC0809时序图
ADC0809是带有8:1多路模拟开关的8位A/D 转换芯片,所以它可有8个模拟量的输入端,由芯片的A ,B ,C 三个引脚来选择模拟通道中的一个。A ,B ,C 三端分别与8051的P1.0~P1.2相接。地址锁存信号(ALE)和启动转换信号(START ),由P2.7和/WR 或非得到。输出允许,由P2.7和/RD 或非得到。时钟信号,可有8051的ALE 输出得到,不过当采用6M 晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K 的要求。
(三)实验程序 ORG 0000H
LJMP START START: CLR A MOV P2,A MOV R0,#70H MOV R2,#0DH LOOPMEM: MOV @R0,A INC R0
DJNZ R2,LOOPMEM MOV 20H,#00H ;00H 位在20H 字节中 MOV A,#0FFH
MOV P0,A ;数据口 MOV P1,A ;段码口 MOV P3,A ;字位口
MAIN: LCALL TEST ;调用A/D 转换程序 LCALL DISPLAY ;调用显示程序 ;显示子程序
DISPLAY: JB 00H,DISP11 ;为1跳DISP11 MOV R3,#08H ;00H 位=0循环显示 MOV R0,#70H ;首地址 MOV 7BH,#00H ;选中0通道 DISLOOP1: LCALL TUNBCD MOV R2,#0FFH
D 0-7A B C OE
START ALE CLOCK
74LS74
02
02
P 0.1-P 0.7
P 2.0P 2.1P 2.2/RD
P 2.7
/WR ALE
8051
0809
Vref-
Vref+
VCC
IN0IN7
...
EOC P 1.0图4 系统电路图