10级单片机第七章1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图7―16 ADC0809的引脚图
图7―1 6 ADC0809的内部逻辑结构图
2 典型A/D转换器芯片ADC0809简介 表7―2 ADC0809通道选择表
2.ADC0809的引脚 ADC0809芯片为28引脚双列直插式封装,其引脚排列 见图7―16。 (1)IN7~IN0:模拟量输入通道。 (2)ADDA、ADDB、ADDC:模拟通道地址线。 (3)ALE:地址锁存信号。 (4)START:转换启动信号。 (5)D7~D0:数据输出线。 (6)OE:输出允许信号。 (7)CLK:时钟信号。
C语言编程: #include <reg51.h> #include <absacc.h> //定义绝对地址访问 #define uchar unsigned char #define IN0 XBYTE[0x7ff8] //定义IN0为通道0的地址 static uchar data x[8] ; //定义8个单元的数组,存放结果
ADC0809和单片机的连接
P0 74LS373 A0 A1 A2 ALE G A0-A7
转换时钟由ALE分 频得到。
÷2
CLK 8031 A B C VR(+) VR(-) +5V GND IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
写信号、P2.0有效 时,启动AD转换。
转换结束后,输 出高电平,向CPU 发出中断请求
idata uchar x_at_0x30[8];
uchar xdata *ad_adr; //定义指向通道的指针 uchar i=0; void main(void) { IT0=1; //初始化 EX0=1; EA=1; i=0; ad_adr=&IN0; //指针指向通道0 *ad_adr=i; //启动通道0转换 for (;;) {;} //等待中断 }
启动A/D转换只需使用1条MOVX指令。在此之前,要将P2.0 清0并将末3位与所选择的通道号相对应的口地址送入数 据指针DPTR中。例如要选择IN0通道时,可采用如下两条 指令,即可启动A/D转换: MOV DPTR,#FEF8H ;送入0809的口地址 MOVX @DPTR,A ;启动A/D转换(IN0) 注意:此处的A与A/D转换无关,可为任意值。
7.5ADC0809与单片机的接口应用举例
ALE G D7 : : D0 OE Q7 : : Q0 + + 1
CK D
Q Q
CLK
P0
8051
EA WR P2.7 RD P3.2
74LS373
ADC 0809
C B A D0~D7
IN7
START ALE OE EOC
IN0
例:对8路模拟信号轮流采样一次,并依次把转换 结果存储到片内RAM以DATA(30H)为起始地址的 连续单元中。 查询方式:
例如,当满量程电压为5V,采用10位A/D转换器的量化 间隔、绝对量化误差、相对量化误差分别为: 分辨率: 绝对精度:
相对精度:
ADC0809芯片及其与单片机的接口
主要性能为: 分辨率为8位; 精度:ADC0809小于±1LSB(ADC0808小于 ±1/2LSB); 单+5V供电,模拟输入电压范围为0~+5V; 具有锁存控制的8路输入模拟开关; 可锁存三态输出,输出与TTL电平兼容; 功耗为15mW; 不必进行零点和满度调整; 转换速度取决于芯片外接的时钟频率。时钟频 率范围:10~1280KHz。典型值为时钟频率 640KHz,转换时间约为100μS。
void int_adc(void) interrupt 0 //中断函数 { x[i]=*ad_adr; //接收当前通道转换结果 i++; ad_adr++; //指向下一个通道 if (i<8) { *ad_adr=i; //8个通道未转换完,启动下一个通道返回 } else { EA=0;EX0=0; //8个通道转换完,关中断返回 } }
•双积分式A/D转换器 •逐次逼近式A/D转换器。
A/D转换器概述
逐次逼近式典型A/D转换器芯片有: (1)ADC0801~ADC0805型8位MOS型A/D转换器 (2)ADC0808 / 0809型8位MOS型A/D转换器 (3) ADC0816 / 0817
Biblioteka Baidu
逐次逼近式A/D转换器是一种速度较快、精 度较高的转换器,其转换时间大约在几微秒 到几百微秒之间。常用的这类芯片有: 分辨率(量化间隔)和转换精度(量化误 差)是A/D转换器的主要技术指标之一。分 辨率可由下式求得:
2、中断方式 读取IN0通道的模拟量转换结果,并送至片内RAM以DATA为首地址的 连续单元中。 ORG 0000H AJMP MAIN ORG 0003H ;中断服务程序入口 AJMP PINT1 ORG 0100H MAIN:MOV R1, #DATA (#30H) ;置数据区首地址 MOV R7,#08H ;置通道数 SETB IT0 ;为边沿触发方式 SETB EA ;开中断 SETB EX0 ;允许中断 MOV DPTR,#7FF8H ;指向IN0通道 MOVX @DPTR,A ;启动A/D转换 LOOP:SJMP LOOP ;等待中断
转换结果由此输出
INT1 1
D0-D7
EOC ADC0809
WR P2.0 RD
≥1
1 1
ST ALE OE
≥1
读信号、P2.0有效 时,允许输出AD 转换结果。
3
MCS-51单片机与ADC0809的接口
ADC0809与MCS-51单片机的一种常用连接方法如图所示。 电路连接主要涉及两个问题,一个是8路模拟信号的通道选择,另 一个是A/D转换完成后转换数据的传送。 1. 8路模拟通道选择 ADDA、ADDB、ADDC分别接系统地址锁存器提供的末3位地址,只 要把3位地址写入08012中的地址锁存器,就实现了模拟通道选择。
7.3
MCS-51单片机与ADC0809的接口
3)中断方式 如果把表示转换结束的状态信号(EOC)作为中断请求信号, 那么,便可以中断方式进行数据传送。 不管使用上述哪种方式,只要一旦确认转换结束,便可通 过指令进行数据传送。所用的指令为MOVX读指令,仍以图 所示为例,则有 MOV DPTR,#FEF8H MOVX A,@DPTR
ORG 1000H ;中断服务程序 PINT1:MOVX A,@DPTR ;读取转换后数据 MOV @R1,A ;数据存入以DATA为首地址的RAM中 INC R1 ;修改数据区指针 INC DPTR ;指向下一个模拟信号通道 DJNZ R7,INT0 ;8路没完则转INT1继续 CLR EA ;完毕关中断 CLR EX0 INT1: MOVX @DPTR,A ;再次启动A/D转换 RETI ;中断返回
第 七 章
单 片 机 接 口 技 术
Single Chip Microcomputer 本章内容
模拟量输入/输出接口 A/D转换接口
7.3 A/D转换器接口
A/D转换器的作用
典型芯片ADC0809
ADC0809的应用
A/D转换器的作用
将模拟量转换为数字量,以便计算机接收处理
传感器 A/D转换 单片机
ADC0809功能分析
转换有以下几步:
1. ALE信号上升沿有 效,锁存地址并 选中相应通道。 2. ST信号有效,开 始转换。A/D转换 期间ST为低电平。 3. EOC信号输出高电 平,表示转换结 束。 4. OE信号有效,允 许输出转换结果。 CLK:时钟信号,可由单片机ALE信号分 频得到。
0809完成一次A/D转换的操作过程如下: IN0~7、ABC输入稳定→ALE上升锁定通路地址→START上升 清零内部寄存器→ START下降启动A/D → EOC下降→ A/D结 束EOC上升→ OE上的正脉冲读A/D结果
图 ADC0809与8031的连接图
11.3 MCS-51单片机与ADC0809的接口
7.3
MCS-51单片机与ADC0809的接口
例如与D0~D2相连。这时启动A/D转换的指令与上述类似, 只不过A的内容不能为任意数,而必须和所选输入通道号 IN0~IN7相一致。例如当ADDA、ADDB、ADDC分别与D0、D1、 D2相连时,启动IN7的A/D转换指令如下: MOV DPTR,#FEF8H ;送入0809的口地址 MOV A,#07H ;D2D1D0=111,选择IN7通道 MOVX @DPRT,A ;启动A/D转换
MAIN:MOV R1,#DATA (#30H) ;置数据区首地址 MOV DPTR,#7FF8H ;指向0通道 MOV R7,#08H ;置通道数 LOOP:MOVX @DPTR,A ;启动A/D转换 HER:JB P3.2,HER ;查询A/D转换结束 MOVX A,@DPTR ;读取A/D转换结果 MOV @R1,A ;存储数据 INC DPTR ;指向下一个通道 INC R1 ;修改数据区指针 DJNZ R7,LOOP ;8个通道转换完否? ……
测验四:采用2片2764(EPROM)和1片6264(RAM)芯片扩展 8KB的RAM和16KB的EPROM,分别用线选法和全译码法实现。 全译码法只画出138译码器部分就可以,存储地址从8000H开始。
图 ADC0809信号的时间配合
7.3
MCS-51单片机与ADC0809的接口
2.转换数据的传送
A/D转换后得到的数据为数字量,这些数据应传送给单 片机进行处理。数据传送的关键问题是如何确认A/D转 换的完成,因为只有确认数据转换完成后,才能进行传 送。通常可采用下述3种方式。 1)定时传送方式 对于一种A/D转换器来说,转换时间作为一项技术指标 是已知的和固定的。 2)查询方式 A/D转换芯片有表示转换结束的状态信号,例如 ADC08012的EOC端。
满量程输入电压
2 1
n
满量程电压
2n
1 A/D转换器概述
其中n为A/D转换器的位数。 转换精度有两种表示方法:一种是绝对转换 精度;另一种是相对转换精度。可分别由下 式求得: 量化间隔 绝对转换精度
2
2
相对转换精度
1 n 1 2
1 A/D转换器概述