第11章 STC89C52与AD、DA转换器的接口

合集下载

第十章 单片机与AD、DA转换器的接口

第十章 单片机与AD、DA转换器的接口

§10-1 A/D转换器及其接口 转换器及其接口 §10-2 D/A转换器及其接口 转换器及其接口
§10-1 A/D转换器及其接口 转换器及其接口
一、A/D转换器的分类与性能指标 转换器的分类与性能指标
A/D转换器种类很多,按工作原理分为: A/D转换器种类很多,按工作原理分为: 转换器种类很多 逐位比较型:转换速度适中,转换精度从高到低都有,是集成A/D转换器中最普通的形式; 逐位比较型:转换速度适中,转换精度从高到低都有,是集成A/D转换器中最普通的形式; A/D转换器中最普通的形式 并行比较型:转换速度快,但精度不高; 并行比较型:转换速度快,但精度不高; 双积分型:抗干扰能力强, 精度较高,但转换速度慢; 双积分型:抗干扰能力强,精度较高,但转换速度慢; 电压频率型(V/F) 用于将模拟量转换为脉冲进行测量,精度高,成本低; 电压频率型(V/F):用于将模拟量转换为脉冲进行测量,精度高,成本低; (V/F): 计数比较型:有中高精度芯片,但转换速度慢。 计数比较型:有中高精度芯片,但转换速度慢。
第十章 单片机与A/D、D/A转换器的接口 单片机与A/D D/A转换器的接口 A/D、
教学目的:本章主要学习MCS-51单片机与 单片机与A/D、D/A转换器的接口。其中 转换器的接口。 ●教学目的:本章主要学习 单片机与 、 转换器的接口 A/D转换器选用了具有多通道的 位AD转换器 转换器选用了具有多通道的8位 转换器 转换器ADC0809,D/A转换器选用了典 转换器选用了具有多通道的 , 转换器选用了典 型的DAC0832。通过本章的学习,同学们应能掌握单片机与这些接口芯片的 型的 。通过本章的学习, 连线方法,编程技巧,以及这两种典型芯片的特点和初步应用。 连线方法,编程技巧,以及这两种典型芯片的特点和初步应用。

计算机系统结构课件-AD DA转换器接口

计算机系统结构课件-AD DA转换器接口
⑥OE:输出允许信号。其用于控制三态输出锁 存器向单片机输出转换得到的数据。OE=0,输 出数据线呈高电阻;OE=1,输出转换得到的数 据。 ⑦CLK:时钟信号。ADC0809的内部没有时钟电 路,所需时钟信号由外界提供,因此有时钟信 号引脚。通常使用频率为500kHz的时钟信号。
⑧EOC:转换结束状态信号。EOC=0,正在进行转 换;EOC=1,转换结束。该状态信号既可作为查 询的状态标志,又可以作为中断请求信号使用。
③中断方式 把表明转换完成的状态信号(EOC)作为中断 请求信号,以中断方式进行数据传送。
MOV DPTR,#0000H MOVX A, @DPTR
;选中通道0 ;信号有效,输出转
换后的数据到A累加器
四、任务实施 1、 硬件设计 数字电压表硬件设计如图6-6所示。U1为单 片机AT89C51,U3为A/D转换器AD0808,采用的 是共阳极数码管显示,四个数码管的片选为 P2.0、P2.1、P2.2、P2.3,低电平为选中,段 码从P0口输出。
LJMP
INT_T0
;存放段码 ;定义ADC0808时钟位
START:
MOV MOV MOV MOV MOV MOV MOV MOV SETB WAIT: SETB CLR
LED_0,#00H LED_1,#00H LED_2,#00H DPTR,#TABLE TMOD,#02H TH0,#245 TL0,#00H IE,#82H TR0 CLR ST ST ST
SJMP CPL
RETI MOV MOVC CLR MOV LCALL
SETB MOV MOVC CLR MOV
DISP WAIT CLOCK
A,LED_0 A,@A+DPTR P2.3 P0,A DELAY P2.3 A,LED_1 A,@A+DPTR P2.2 P0,A

AD与DA接口PPT教学课件

AD与DA接口PPT教学课件
位 数:16 电源电压:±15V 输 入:串行或并行。 输 出:电压或电流。 生产厂家:美国B-B公司 特 点:①片内带有基准电压。
②片内带有电压输出放大器。 ③具有双缓冲输入寄存器 ④能完全与微处理器兼容。
第14页/共88页
Page14
8.串行DAC(MAX517、518、5198)
主要特点:
8位DAC 串行2线接口 满摆幅输出, 多种参考电压 低功耗
数字量
模拟量
Rfb
d0 d1
I01
DAC 0832 I02
-+
VO
dn-
1
VR
VO
I RF
VR 28
NB
VR 256
NB
11111111 · ·
10000001
10000000 · ·
00000001
00000000
VR
255 256
VR
129 256
VR
128 256
VR
1 256
VR
0 256
(2VO单+VR )
如VR=5V
1000000
VR
1 128
0
0111111 1
·
·
VR
127 128
VR
128 128
NB=0:Vo=-5V
0000000 1
NB=128:Vo=0 0000000
NB=255:Vo=0.99VR=4.96V0
第26页/共88页
Page26
③作控制放大器输出
Vin
一般< ±1/2LSB。 5. 其它指标
电源电压、输出方式(电流、电压)、输出范围等等。
选择DAC需考虑的 主要指标:分辨率、转换速度。 次要指标:输出方式、输出范围(VR取值)。 其它指标集成DAC一般都能满足。

第11章AT89S51单片机与DAC、ADC的接口

第11章AT89S51单片机与DAC、ADC的接口
(2)建立时间 建立时间是描述D/A转换器转换速度的参数,表明转换 时间长短。其值为从输入数字量到输出达到终值误差± (1/2)LSB(最低有效位)时所需的时间。电流输出的转换时 间较短,而电压输出的转换器,由于要加上完成I-V转换的 时间,因此建立时间要长一些。快速D/A转换器的建立时间 可控制在1us以下。
11.1 单片机扩展DAC概述
2.主要技术指标
(3)转换精度 理想情况下,转换精度与分辨率基本一致,位数越多精 度越高。但由于电源电压、基准电压、电阻、制造工艺等各 种因素存在误差。严格地讲,转换精度与分辨率并不完全一 致。两个相同位数的不同的DAC,只要位数相同,分辨率则 相同,但转换精度会有所不同。例如,某种型号的8位DAC 精度为± 0.19%,而另一种型号的8位DAC精度为± 0.05%。
11.1 单片机扩展DAC概述 11.2 DAC工作原理
CONTENTS

11.3 单片机扩展并行8位DAC0832设计

11.4 ADC工作原理
11.5 单片机扩展并行8位ADC0809设计
11.3.1 8位并行DAC 0832简介
1.DAC0832的引脚及逻辑结构
01 分辨率为8位。
OPTION
D0
R 2
U REF 23 R
(23 D3
22 D2
21 D1
20
D0 )
U REF 24
(23 D3
22 D2
21 D1 20 D0 )
19
11.2 DAC工作原理
权电阻网络
优点:电路简单 缺点:电阻值相差太大,难于保证精度,且大电阻不宜于集成 在IC内部
20
11.2 DAC工作原理
U

MCS-51与DA、AD转换器的接口相关知识讲解

MCS-51与DA、AD转换器的接口相关知识讲解

INC R1 SETB RS0
; 修改addr1指针0区R1 ; 转1区。
MOV R0,#0FEH ;1区R0指向2#DAC0832数字量 ;控制端口
MOV A,@R1 ;addr2中数据送A
MOVX @R0,A ;addr2中数据送2#DAC0832
INC R1
;修改addr2指针1区R1
INC R0
MCS-51与D/A、A/D转换器的接口相关知识讲解
内容提要 §11.1 MCS-51与DAC的接口 §11.2 MCS-51与ADC的接口
第十一章 MCS-51与D/A、A/D转换器的接口
➢ 非电物理量(温度、压力、流量、速度等),须经 传感器转换成模拟电信号(电压或电流),必须转 换成数字量,才能在单片机中处理。
缓冲和锁存 输入数字量
存放待转换 的数字量
由T型电阻网络和电子 开关组成,T型电阻网 络输出和数字量成正 比的模拟电流。
LE1或LE2=1,当前寄存器的输出跟随输 入
LE1或LE2=0,锁存数据
三种工作形式:直通、单缓冲、双缓冲
§11.1 MCS-51与DAC的接口
2) DAC的应用 接口与DAC的具体应用有关。
(2) 建立时间 描述DAC转换快慢的参数,表明转换速度。 定义:为从输入数字量到输出达到终值误差± (1/2)LSB (最低有效位)时所需的时间。
✓ 电流输出时间较短,电压输出的,加上I-V转换的时 间,因此建立时间要长一些。快速DAC可达1s以下。
(3)精度 理想情况,精度与分辨率基本一致,位数越多精度越高。 但由于电源电压、参考电压、电阻等各种因素存在着误差, 精度与分辨率并不完全一致。
量叠加,其和就是D/A转换的结果。
✓ 使用D/A转换器时,要注意区分:

嵌入式系统与接口技术 第9章 AT89S52单片机与DAC、ADC的接口

嵌入式系统与接口技术 第9章  AT89S52单片机与DAC、ADC的接口
27
DAC0832的双极性的电压输出 除了需要DAC0832为单极性模拟电压输出外,在有些场合
则要求DAC0832双极性模拟电压输出。
当单片机输出给DAC0832的数字量B≥128时(即数字量最高位 b7=1),输出的模拟电压vo为正;
当单片机输出给DAC0832的数字量B<128时(即数字量最高位 b7=0) ,则vo的输出电压为负。
采样-保持电容
典型采样-保持电路:AD585
31
31
A/D转换器分类
常见类型
ADC
输出方式
并联比较型ADC 计数型ADC
逐次渐近型ADC V-T变换型ADC V-F变换型ADC 并行输出ADC 串行输出ADC
32
✓ 逐次渐近型A/D转换器原理
其工作原理可用天平秤重过程作比喻来说明。若 有四个砝码共重15克,每个重量分别为8、4、2、1克。 设待秤重量Wx = 13克,可以用下表步骤来秤量:
第9章 AT89S52单片机与DAC、
ADC的接口
单片机与DAC/ADC的接口
传感器

ADC





模拟控制

DAC

单片机 数字控制
✓ 单片机只能输出数字量,但是对于某些控制场合,常常需要输 出模拟量,需要通过DAC完成数字量→模拟量的转换。
✓ 单片机只能输入数字量,但在许多数据采集的场合,传感器输 出的常常是模拟量,需经过ADC来完成模拟量→数字量转换3。
D/A转换器


u0

砝码是 否保存
放哪一 个砝码
数码寄存器
顺序脉冲发生器
清0、置1

1状态是否保留

单片机: AD、DA转换接口技术

单片机: AD、DA转换接口技术

Single-Chip microcomputer
A/D、D/A转换接口技术
// 外部中断服务程序,设置输出信号状态标识,每按下一次键,状态标志加1 void Int0 () interrupt 1 { k++; t= 0; if(k = = 4) k=0; return; }
Single-Chip microcomputer
Single-Chip microcomputer
A/D、D/A转换接口技术
else if(k = = 3) // 发送三角波信号 { P1 = 0x08; // 三角波指示灯亮 if( t = = 0) i=0; // 设置上升标志 else if ( t = = 0xff) i =1; if ( i= =0) // 数据递增 { P3_6 = 1; P0 = t++; P3_6 = 0; Delay(1); } if(i= =1) { P3_6 = 1; P0 = t--; P3_6 = 0; Delay(1); } } } } // 数据递减
A/D、D/A转换接口技术
1 A/D、D/A转换
单片机应用系统有很多场合是用于信号的检测和对外部设计进 行控制,在很多时候是需要对模拟量进行采集,或者处理,这 些模拟量涉及温度、速度、压力、电流、电压等量。由于单片 机以及计算机的强大计算处理能力,可以将这些模拟量采集到 单片机或者计算机中进行处理。
任务分析及方案的制定
信号的产生可以通过D/A转换器DAC0832来实现,通过单片机向DAC0832 发送不同的数据,就可以使DAC0832输出相对应的模拟量信号,从而得到 期望得到的波形。 方波信号的产生 锯齿波的产生 三角波的产生
Single-Chip microcomputer

第11章 51单片机与DA、AD 转换器的接口综述

第11章 51单片机与DA、AD 转换器的接口综述

15
(3)转换精度
理想情况下,转换精度与分辨率基本一致,位数越多 精度越高。 实际,由于电源电压、基准电压、电阻、制造工艺等 各种因素存在着误差。因此,转换精度与分辨率并不完全 一致。 位数相同,分辨率则相同,但相同位数的不同转换器转换
精度会有所不同。
例如,某种型号的8位DAC精度为0.19%,而另一种 型号的8位DAC精度为0.05%。
(4)EA 为片内、片外程序存储器的选择控制信号。
AT89S51的4个并行I/O口,如果用于片外系统并行扩展的 需要,真正作为数字I/O用,就剩下P1和P3的部分口线了。
8
A/D转换器(ADC) D/A转换器(DAC)用途
A/D转换器(ADC)--将模拟量转换成数字量的器件
用在单片机测控系统的前向通道中:
(2)数据总线(Data Bus,DB):用于单片机与外部存储
器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线。
5
1.P0口作为低8位地址/数据总线
AT89S51受引脚数目限制,P0口既用作低8位地址总线,又 用作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/O接口寄存器时: 先发出低8位地址送地址锁存器锁存,锁存器输出作为系统 的低8位地址(A7~ A0)。 随后,P0口又作为数据总线口(D7~ D0),如图11-2所示。 2.P2口的口线作为高位地址线
第11章
51单片机与D/A、 A/D 转换器的接口
1
第11章
目录
11.0 51单片机片外并行扩展(接口)结构 11.1 AT89S51单片机与DAC的接口

单片机AD及DA转换器

单片机AD及DA转换器

例2 产生锯齿波
MOV A,00H ;起始值
MOV DPTR,0FEFFH
MM:MOVX DPTR,A ;送转换
INC A
NOP
NOP
NOP
;决定坡度
SJMP MM
DAC0832编程应用举例:例3产生三角波
MOV A,00H
MOV DPTR,0FEFFH
SS1: MOVX DPTR,A ;送转换
NOP
P0.0-P0.7
+5V EA
30Px2
ALE
6
WR
P2.0
12MHz
INT1 RD
锁存器 74LS373 8D Q0
Q1 G Q2
OE
≥1
≥1
ADC 0809
D0-D7 ADDA ADDB ADDC
CLK START ALE OE EOC
口地址可 以为: 0FE00~ 0FE07H 也可为: 0FEF0~ 0FEF7H
SETB EA
;已完就关中断、停采集
SETB EX1
CLR EA
MOV DPTR,0FEF0H CLR EX1
MOVX DPTR, A
RETI
HERE:SJMP HERE
RTN:MOVX DPTR,A;启动采集
RETI
思考题
请编写89C51单片机通过DAC0832产 生锯齿波信号、三角波、梯形波的程序 可以为任意频率.
DB 0A5H,0A8H,0ABH,0AEH
···
DB 6FH,72H,76H,79H,7CH,80H
A/D转换接口扩展
8位CMOS模数转换芯片ADC0809
√8位A/D,量化间隔=Vin/256-1

第11章 DA、AD转换的接口

第11章 DA、AD转换的接口
19
(2)编写产生图11-5的三角波程序。
图11-5 DAC0832产生的三角波输出
20
产生三角波的程序如下:
#include <adsacc.h>
#define DAC0832 XBYTE[0x7fff] /* 0832端口地址*/ #define uchar unsigned char /*定义uchar代表单字节无符号数*/
13
2.AT89S51单片机与DAC0832的接口电路设计
设计接口电路时,常用单缓冲方式或双缓冲方式的单极性 输出。 (1)单缓冲方式 指DAC0832内部的两个数据缓冲器有一个处于直通方式, 另一个处于受AT89S51单片机控制的锁存方式。在实际应用 中,如果只有一路模拟量输出,或虽是多路模拟量输出但并
每一个上升斜边要分成256个小台阶,改变延时,则可以改变
锯齿波的频率。
17
图11-4 DAC0832产生的锯齿波输出
产生锯齿波的参考程序如下:
#include <adsacc.h> #define DAC0832 XBYTE[0x7fff] /* 0832端口地址*/ #define uchar unsigned char /*定义uchar代表单字节无符号数*/ #define uint unsigned int /*定义uint无符号字*/ void stair(void ); {uchar i; while(1) {for(i=0;i<255;i++);/*锯齿波输出值,最大为255*/ { DAC0832=i; /*DAC转换输出*/ } } }
时需要转换为模拟信号输出。数字量转换成模拟量的器件
称为D/A转换器(DAC)。

单片机AD与DA转换

单片机AD与DA转换

//通道0的地址送ad_adr
for(i=0;i<8;i++)
//处理8通道
{
*ad_adr=0;
//写外部I/O
地址操作,启动转换,写的内容不重要,只需写操作
i=i;
//延时等待EOC变低
. .
while(ad_y==0);//查询等待转.. 换.. 结束..
.
x[i]=*ad_a.dr;//读操作,输出允许. 信. 通道。
(4)START:转换启动信号。对应START上跳 沿时,所有内部寄存器清0;对应START下跳沿, 开始进行A/D转换;在A/D转换期间,START应保 持低电平。
(5)D7~D0:数据输出线,为三态缓冲输出形式, 可以和单片机的数据线直接相连。
A/D 转换器接口
度、信号预处理电路精度和A/D转换器及输出 电路、控制机构精度,还包括软件控制算法。 A/D转换器的位数至少要比系统总精度要求的 最低分辨率高1位,位数应与其他环节所能达到 的精度相适应。只要不低于它们就行,太高无 意义,且价高。
A/D转换器的选择
(2)A/D转换器转换速率的确定
从启动转换到转换结束,输出稳定的数字量,需 要一定的时间,这就是A/D转换器的转换时间。 低速:转换时间从几ms到几十ms 。 中速:逐次比较型的A/D转换器的转换时间可从几s~
.
.
...
DAC0832 内部结构框图
D/A 转换器接口
DAC0832 内部结构框图
DAC0832由输入寄存器和DAC寄存器构成两级数据输入锁存。 使用时数据输入可以采用两级锁存(双锁存)形式、或单级锁 存(一级锁存,另一级直通)形式,或直接输入(两级直通) 形式。
此外,由三个与门电路可组成寄存器输出控制逻辑电路, 该逻辑电路的功能是进行数据锁存控制。当=0时,输入数 据被锁存;当=1时,锁存器的输出跟随输入的数据。

STC89C52与AD、DA转换器的接口

STC89C52与AD、DA转换器的接口

11.1.2 STC89C52与并型8位A/D转换器 ADC0809的接口
1II.NN34ADC1208022987 芯片IINN21 ---逐•分次辨比率为较8型位ADC芯片
IN5 3
26
IN0
IN6 4
25
A
•转换时间100μ S
IN7 5
24
B
START 6
23
C
•工作量程为0~+5V
ADC0809
工作时序
START正脉冲启动AD转换
ALE锁存ADDA、ADDB、ADDC
EOC由高变低(AD启动后) 保持低电平(转换期间) 由低变高(转换结束)
OE正脉冲,打开三态门输出
2. STC89C52与ADC0809的接口
单片机读取ADC的转换结果时,可采用查 询和中断控制两种方式。
(1)查询方式
查询方式是在单片机把启动信号送到 ADC之后,执行其他程序,同时对ADC0809的 EOC脚不断进行检测,以查询ADC变换是否已 经结束,如查询到变换已经结束,则读入转 换完毕的数据。
第十一章 STC89C52与A/D、D/A转换器的接口
11.1 STC89C52与A/D转换器的接口 11.2 STC89C52与D/A转换器的接口
D/A转换器(Digital to Analog Converter)——能把数字 量转换为模拟量的电子器件(简称为DAC)。
A/D转换器(Analog to Digital Converter)——能把模拟 量转换成相应数字量的电子器件(简称为ADC)。
11.1 STC89C52与A/D转换器的接口
1.概述
A/D转换器把模拟量转换成数字量, 以便于单片机进行数据处理。A/D转换一般 要经过采样、保持、量化及编码4个过程。 在实际电路中,有些过程是合并进行的, 如采样和保持,量化和编码在转换过程中 是同时实现的。

第11章89C51单片机与DA、AD转换器的接口

第11章89C51单片机与DA、AD转换器的接口

1、D/A转换器概述
❖将数字量转换为模拟量,以便操纵控制对象。
单片机
D/A转换 控制对象
❖使用D/A转换器时,要注意区分:
* D/A转换器的输出形式; * 内部是否带有锁存器。 ❖D/A转换器集成电路芯片种类很多:
按输入的二进制数的位数分类,有八位、十位、十二位和十六位等。 按输出是电流还是电压分类,分为电压输出器件和电流输出器件。
MOV B,A
;存数
RETI
;返回
查询方式:
ORG 0000H
;主程序入口地址
AJMP MAIN
;跳转主程序
ORG 1000H
;中断入口地址
MAIN: MOV DPTR,#0007H ;指向0809 IN7通道地址
MOVX @DPTR,A ;启动A/D转换
L1: JB P3.3 L1
;查询
MOVX A,@DPTR ;读A/D转换结果
±2.5V,±5V和±10V; ✓内含高稳定的基准电压源,可方便地与4位、8位或16位微 处理器接口; ✓双电源工作电压:±12V~±15V。
二、A/D转换器接口
❖A/D转换器的概述 ❖典型芯片ADC0809 ❖ADC0809的应用 ❖与AD1674的接口设计 ❖与MC14433的接口设 计
1、A/D转换器的概述
多路同步输出,必须采用双缓冲同步方式。
1#DAC0832占有两个端口地址FDH和 FBH。 2#DAC0832的两个端口地址为FEH和 FBH
例11-2 设AT89C51单片机内部RAM中有两个长度为20的数据块, 其起始地址为分别为addr1和addr2,请根据图11-7所示,编写能把 addr1和addrr2中数据从1#和2#DAC0832同步输出的程序。程序中 addr1和addr2中的数据,即为绘图仪所绘制曲线的x、y坐标点。

stc89c52引脚图及引脚功用

stc89c52引脚图及引脚功用

stc89c52引脚图及引脚功用VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。

作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入1时,能够作为高阻抗输入。

在拜访外部程序和数据存储器时,P0口也能够供给低8位地址和8位数据的复用总线。

此刻,P0口内部上拉电阻有用。

在FlashROM编程时,P0端口接纳指令字节;而在校验程序时,则输出指令字节。

验证时,恳求外接上拉电阻。

P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O口。

P1的输出缓冲器可驱动(吸收或许输出电流办法)4个TTL输入。

对端口写入1时,经过内部的上拉电阻把端口拉到高电位,这是可用作输进口。

P1口作输进口运用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。

此外,P1.0和P1.1还能够作为守时器/计数器2的外部技能输入(P1.0/T2)和守时器/计数器2的触发输入(P1.1/T2EX),详细拜见下表:在对FlashROM编程和程序校验时,P1接纳低8位地址。

表XXP1.0和P1.1引脚复用功用引脚号功用特性P1.0T2(守时器/计数器2外部计数输入),时钟输出P1.1T2EX(守时器/计数器2捕获/重装触发和方向操控)P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。

P2的输出缓冲器能够驱动(吸收或输出电流办法)4个TTL输入。

对端口写入1时,经过内部的上拉电阻把端口拉到高电平,这时可用作输进口。

P2作为输进口运用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在拜访外部程序存储器和16位地址的外部数据存储器(如实施MOVX@DPTR指令)时,P2送出高8位地址。

在拜访8位地址的外部数据存储器(如实施MOVX@R1指令)时,P2口引脚上的内容(即是专用寄存器(SFR)区中的P2寄存器的内容),在悉数拜访时期不会改动。

stc89c52驱动ADC0832数模转换与显

stc89c52驱动ADC0832数模转换与显
}
//LCD忙状态检测
bit lcd_busy_check()
{
bit result;
rs=0;rw=1;e=1;
delay4us();
result=(bit)(P0&0x80);
e=0;return result;
}
//led命令
void lcd_write_command(uchar cmd)
{
lcd_write_command(0x0c);delayms(1);
lcd_write_command(0x06);delayms(1);
lcd_write_command(0x01);delayms(1);
}
//获取AD转换结果
uchar get_ad_result()
{
uchar i,dat1=0,dat2=0;
//起始控制位置
cs=0;
clk=0;
dio=1;_nop_();_nop_();
clk=1;_nop_();_nop_();
//第一个下降沿之前,设DI=1/0
//选择单端/差分(SGL/DIF)模式中的单端输入模式
clk=0;dio=1;_nop_();_nop_();
clk=1_nop_();_nop_();
while(lcd_busy_check());
rs=0;rw=0;e=0;
_nop_();_nop_();
P0=cmd;delay4us();
e=1;delay4us();e=0;
}
//设置lcd显示位置
void set_disp_pos(uchar pos)
{
lcd_write_command(pos|0x80);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Tankertanker Design
2. STC89C52与ADC0809的接口 单片机读取ADC的转换结果时,可采用查询和中断控制两 种方式。 (1)查询方式 查询方式是在单片机把启动信号送到ADC之后,执行其 他程序,同时对ADC0809的EOC脚不断进行检测,以查询ADC 变换是否已经结束,如查询到变换已经结束,则读入转换 完毕的数据。
CS :芯片选择。
Tankertanker Design
由于ADC0809片内无时 钟,可利用单片机提供 的地址锁存允许信号 ALE经D触发器二分频后 获得,ALE引脚的频率 是STC89C52单片机时钟 频率的1/6。如果单片 机时钟频率采用6MHz, 则ALE引脚的输出频率 为1MHz,再二分频后为 500kHz,符合ADC0809 对时钟频率的要求。当 然,也可采用独立的时 钟源输出,直接加到 ADC的CLK脚。
A/D转换器(Analog to Digital Converter)——能把 模拟量转换成相应数字量的电子器件(简称为ADC)。
Tankertanker Design
11.1 STC89C52与A/D转换器的接口 1.概述 A/D转换器把模拟量转换成数字量,以便于单片机进 行数据处理。A/D转换一般要经过采样、保持、量化及编 码4个过程。在实际电路中,有些过程是合并进行的,如 采样和保持,量化和编码在转换过程中是同时实现的。 目前单片的ADC芯片较多,对设计者来说,只需合理 的选择芯片即可。现在部分的单片机片内集成了A/D转换 器,仅在片内A/D转换器不能满足需要的情况下,需外扩。 当然作为扩展A/D转换器的基本方法,还是应该掌握。
Tankertanker Design
void data_acquisition(void) interrupt 2{ EA=0; temp=AD_IN0; //转换数据显示 P1=temp; AD_IN0=0; //启动A/D信号 EA=1; }
Keil uVision4
Tankertanker Design
Tankertanker Design
11.1.2 STC89C52与并型8位A/D转换器ADC0809的接口 1.ADC0809芯片---逐次比较型ADC芯片
IN3 IN4 IN5 IN6 IN7 START EOC D3 OE CLK VCC VR(+) GND D1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 IN2 IN1 IN0 A B C ALE D7 D6 D5 D4 D0 VR(-) D2
Tankertanker Design
目前,除并行输出A/D转换器外,随着单片机串行扩 展方式的日益增多,带有同步SPI串行接口的A/D转换器的 使用也逐渐增多。串行输出的A/D转换器具有占用端口线 少、使用方便、接口简单等优点。较为典型的串行A/D转 换器为美国TI公司的TLC549(8位)、TLC1549(10位)以 及TLC1543(10位)和TLC2543(12位)。
Tankertanker Design
AD转换器的分类
尽管A/D转换器的种类很多,但目前广泛应用在单片机应 用系统中的主要有逐次比较型转换器和双积分型转换器,此 外-Δ 式转换器逐渐得到重视和较为广泛的应用。 逐次比较型A/D转换器,在精度、速度和价格上都适中, 是最常用的A/D转换器。
Tankertanker Design
Tankertanker Design
• IN0~IN7的地址分别为0x7FF8~0x7FFF。ADC0809的EOC引 脚经非门74HC14与单片机的外部中断输入引脚 INT1 相连 ,A/D转换结束后变为低电平,单片机采用查询或中断方 式读取A/D转换结果。 (1)查询方式
#include <reg52.h> #include <absacc.h> #define AD_IN0 XBYTE[0X7FF8] //IN0通道地址 sbit ad_busy=P3^3; unsigned char data temp _at_ 0x50; void main(void){ while(1){ AD_IN0= 0; //启动A/D信号,是一个虚写操作。 while(ad_busy==1); //等待A/D转换结束 temp=AD_IN0; //转换数据存到片内50H单元 P1=temp; //转换数据显示 } } Keil uVision4
•分辨率为8位 •转换时间100μ S •工作量程为0~+5V •功耗为15mW •工作电压为+5V •具有锁存控制的8路模拟开关 •输出与TTL电平兼容
ADC0809
Tankertanker Design
ADC0809的结构组成
8路模拟输入信号——用三根地址线A,B,C选通IN0~IN7;A、B、 C分别与单片机的三条地址线相连,三位编码对应8个通道地址 端口。C、B、A = 000~111分别对应IN0~IN7通道的地址。
Tankertanker Design
读取转换结果时,用低电 平的读信号RD 和P2.7引 脚经一级“或非门”后产 生的正脉冲作为OE信号, 用来打开三态输出锁存器。
Tankertanker Design
【例11-1】采用ADC0809设计数据采集电路.该 电路通过调节滑线变阻器,调节IN5的输入电压 ,A/D转换结果存放至片内数据存储器50H单元 ,并通过两个BCD数码管显示出来。
双积分型A/D转换器,具有精度高、抗干扰性好、价 格低廉等优点,与逐次比较型A/D转换器相比,转换速度 较慢,近年来在单片机应用领域中也得到广泛应用。 -式ADC具有积分式与逐次比较型ADC的双重优点。 它对工业现场的串模干扰具有较强的抑制能力,不亚于 双积分ADC,它比双积分ADC有较高的转换速度,与逐次 比较型ADC相比,有较高的信噪比,分辨率高,线性度好, 不需要采样保持电路。 A/D转换器按照转换速度可大致分为超高速(转换时 间≤1ns)、高速(转换时间≤1s)、中速(转换时间 ≤1ms)、低速(转换时间≤1s)等几种不同转换速度的 芯片。 按照输出数字量的有效位数分为4位、8位、10位、 12位、14位、16位并行输出以及BCD码输出的3位半、4位 半、5位半等多种。
Tankertanker Design
(2)中断方式 采用中断方式完成对IN0通道的输入模拟量信号的采 集,当A/D转换结束后,EOC发出一个脉冲向单片机提出中 断申请,单片机响应中断请求后,由外部中断1的中断服 务程序读取A/D转换结果,并启动ADC0809的下一次转换。 外部中断1采用边沿触发方式。中断控制方式效率高,所 以特别适合于转换时间较长的ADC。
674A完全兼容,可以直接替换AD574、AD674使用,但最
大转换时间由25s提高到10s。
Tankertanker Design
与AD574A/674A相比,AD1674的内部结构更加紧凑,
集成度更高,工作性能(尤其是高低温稳定性)更好,而
且可以使设计板面积大大减小,因而可以降低成本并提高 系统的可靠性。目前,片内带有采样保持器的AD1674正以 其优良的性能价格比,取代AD574A和AD674A。 AD1674共有6个控制引脚,功能如下:
Tankertanker Design
2.ADC主要技术指标 (1)转换时间和转换速率 A/D完成一次转换所需要的时间。转换时间的倒数为转 换速率。 (2)分辨率 分辨率是衡量A/D转换器能够分辨出输入模拟量最小变
化程度的技术指标。分辨率取决于A/D转换器的位数,习惯
上用输出的二进制位数或BCD码位数表示。例如,AD1674的 满量程输入电压为5V,可输出12位二进制数,即用212个数进 行量化,其分辨率为12位,或A/D转换器能分辨出输入电压 5V/212=1.22mV的变化。
Tankertanker Design
28引脚双列直插式封装图
Tankertanker Design
由于芯片内有三态输出缓冲电路,因而可直接与各种 典型的8位或16位的单片机相连,AD1674片内集成有高精
度的基准电压源和时钟电路,从而使该芯片在不需要任何
外加电路和时钟信号的情况下完成A/D转换,使用非常方 便。 AD1674是AD574A/674A的更新换代产品。它们的内 部结构和外部应用特性基本相同,引脚功能与AD574A/
Tankertanker Design
(3)量化误差 量化过程引起的误差称为量化误差。是由于有限位数 字量对模拟量进行量化而引起的误差。理论上规定为一个 单位分辨率的-1/2 - +1/2LSB ,提高A/D位数既可以提高 分辨率,又能够减少量化误差。
(4)转换精度
转换精度定义为一个实际A/D转换器与一个理想A/D转 换器在量化值上的差值,可用绝对误差或相对误差表示。
11.1.3 STC89C52与并型12位A/D转换器AD1674的接口 在某些应用中,8位ADC常常不够,必须选择分辨率 大于8位的芯片,由于10位、16位接口与12位类似,因 此仅以常用的12位A/D转换器AD1674为例进行介绍。 1.AD1674简介 美国AD公司12位逐次比较型A/D转换器。转换时间为 10s,单通道最大采集速率100kHz。
引脚——START启动AD转换,CLOCK转换时钟,VR参考电压,EOC 转换结束标志, OE输出使能,ALE地址锁存。
Tankertanker Design
工作时序
START正脉冲启动AD转换 ALE锁存ADDA、ADDB、ADDC
EOC由高变低(AD启动后) 保持低电平(转换期间) 由低变高(转换结束) OE正脉冲,打开三态门输出
Tankertanker Design
ADC0809具有输出三态 锁存器,其8位数据输 出引脚D0~D7可直接 与单片机的P0口相连。
相关文档
最新文档