设计与开发

单片机a d转换实验 学习笔记单片机的40个经典实验之32:ADC0809AD 转换器基本应用技术

小编 2024-10-06 设计与开发 23 0

学习笔记单片机的40个经典实验之32:ADC0809AD 转换器基本应用技术

1. 基本知识

ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控制逻辑的 CMOS 组件。它是逐次逼近式 A/D 转换器,可以和单片机直接接口。

(1). ADC0809 的内部逻辑结构

由上图可知,ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。

(2). 引脚结构

IN0-IN7:8 条模拟量输入通道ADC0809 对输入模拟量要求:信号单极性,电压范围是 0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4 条ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁存与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0-IN7 上的一路模拟量输入。通道选择表如下表所示。

数字量输出及控制线:11 条

ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为 500KHZ,VREF(+),VREF(-)为参考电压输入。

2. ADC0809 应用说明

(1). ADC0809 内部带有输出锁存器,可以与 AT89S51 单片机直接相连。

(2). 初始化时,使 ST 和 OE 信号全为低电平。

(3). 送要转换的哪一通道的地址到 A,B,C 端口上。

(4). 在 ST 端给出一个至少有 100ns 宽的正脉冲信号。

(5). 是否转换完毕,我们根据 EOC 信号来判断。

(6). 当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单片机了。

3. 实验任务

如下图所示,从 ADC0809 的通道 IN3 输入 0-5V 之间的模拟量,通过 ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809 的 VREF 接+5V电压。

4. 电路原理图

5. 系统板上硬件连线

(1). 把“单片机系统板”区域中的 P1 端口的 P1.0-P1.7 用 8 芯排线连接到“动态数码显示”区域中的 A B C D E F G H 端口上,作为数码管的笔段驱动。

(2). 把“单片机系统板”区域中的 P2 端口的 P2.0-P2.7 用 8 芯排线连接到“动态数码显示”区域中的 S1 S2 S3 S4 S5 S6 S7 S8 端 口 上 ,作为数码管的位段选择。

(3). 把“单片机系统板”区域中的 P0 端口的 P0.0-P0.7 用 8 芯排线连接到“模数转换模块”区域中的 D0D1D2D3D4D5D6D7 端口上,A/D 转换完毕的数据输入到单片机的 P0 端口

(4). 把“模数转换模块”区域中的 VREF 端子用导线连接到“电源模块”区域中的 VCC 端子上;

(5). 把“模数转换模块”区域中的 A2A1A0 端子用导线连接到“单片机系统”区域中的 P3.4 P3.5 P3.6 端子上;

(6). 把“模数转换模块”区域中的 ST 端子用导线连接到“单片机系统”区域中的 P3.0 端子上;

(7). 把“模数转换模块”区域中的 OE 端子用导线连接到“单片机系统”区域中的 P3.1 端子上;

(8). 把“模数转换模块”区域中的 EOC 端子用导线连接到“单片机系统”区域中的 P3.2 端子上;

(9). 把“模数转换模块”区域中的 CLK 端子用导线连接到“分频模块”区域中的 /4 端子上;

(10). 把“分频模块”区域中的 CK IN 端子用导线连接到“单片机系统”区域中的 ALE 端子上;

(11). 把“模数转换模块”区域中的 IN3 端子用导线连接到“三路可调压模块”区域中的 VR1 端子上;

6. 程序设计内容

(1). 进行 A/D 转换时,采用查询 EOC 的标志信号来检测 A/D 转换是否完毕,若完毕则把数据通过 P0 端口读入,经过数据处理之后在数码管上显示。

(2). 进行 A/D 转换之前,要启动转换的方法:ABC=110 选择第三通道ST=0,ST=1,ST=0 产生启动转换的正脉冲信号

7. 汇编源程序

CH EQU 30H

DPCNT EQU 31H

DPBUF EQU 33H

GDATA EQU 32H

ST BIT P3.0

OE BIT P3.1

EOC BIT P3.2

ORG 00H

LJMP START

ORG 0BH

LJMP T0X

ORG 30H

START: MOV CH,#0BCH

MOV DPCNT,#00H

MOV R1,#DPCNT

MOV R7,#5

MOV A,#10

MOV R0,#DPBUF

LOP: MOV @R0,A

INC R0

DJNZ R7,LOP

MOV @R0,#00H

MOV TMOD,#01H

MOV TH0,#(65536-4000)/256

MOV TL0,#(65536-4000) MOD 256

SETB TR0

SETB ET0

SETB EA

WT: CLR ST

SETB ST

CLR ST

WAIT: JNB EOC,WAIT

SETB OE

MOV GDATA,P0

CLR OE

MOV A,GDATA

MOV B,#100

DIV AB

MOV 33H,A

MOV A,B

MOV B,#10

DIV AB

MOV 34H,A

MOV 35H,B

SJMP WT

T0X: NOP

MOV DPTR,#DPCD

MOV A,DPCNT

ADD A,#DPBUF

MOV R0,A

MOV A,@R0

MOVC A,@A+DPTR

MOV P1,A

MOV DPTR,#DPBT

MOV P2,A

INC DPCNT

MOV A,DPCNT

CJNE A,#8,NEXT

MOV DPCNT,#00H

NEXT: RETI

DPCD: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH,00H

DPBT: DB 0FEH,0FDH,0FBH,0F7H

DB 0EFH,0DFH,0BFH,07FH

END

8. C 语言源程序

#include <AT89X52.H>

unsigned char code dispbitcode={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};

unsigned char code dispcode={0x3f,0x06,0x5b,0x4f,0x66,

0x6d,0x7d,0x07,0x7f,0x6f,0x00};

unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};

unsigned char dispcount;

sbit ST=P3^0;

sbit OE=P3^1;

sbit EOC=P3^2;

unsigned char channel=0xbc;//IN3

unsigned char getdata;

void main(void)

{

TMOD=0x01;

TH0=(65536-4000)/256;

TL0=(65536-4000)%256;

TR0=1;

ET0=1;

EA=1;

P3=channel;

while(1)

{

ST=0;

ST=1;

ST=0;

while(EOC==0);

OE=1;

getdata=P0;

OE=0;

dispbuf[2]=getdata/100;

getdata=getdata%10;

dispbuf[1]=getdata/10;

dispbuf[0]=getdata%10;

}

}

void t0(void) interrupt 1 using 0

P1=dispcode[dispbuf[dispcount]];

P2=dispbitcode[dispcount];

dispcount++;

if(dispcount==8)

{

dispcount=0;

阅读本文用了: 秒,转发只需1秒

转载是一种智慧 分享是一种美德❀

电脑的单片机AD转换

改变电脑和自然界联系的最高设计:A/D 转换器。

1. 现在我们来画一个 ad 转换的电路图,这个电路图产生于 1970 年到 1980 年间段的程控工程师的设计,当然他是依据于电脑或者没有电脑了,他使用程序控制程控电路来实现 ad 转换。

2. 接着我们找一个比较器,这是电阻,通过梯形网络结构实现电压的分压,现在找到一个,我们可以用来比喻像温度感应头这样一个元件,就是红色的二极管拼音拼音节的意思,这提醒网络了,要给它供电,供五伏的电。

3. 真的置化一个 ID 转换器的元件,现在给它画一个地线,然后连接梯形网络的分压点,这个是梯形网络的分压点,这是我们一个口八位的,一个口连接 ad 转换器八位,然后它就转换成 255 个数据。

4. 当我们输出的数据或者连续的变化,或者某一个确定的去探测飞行网络的电压的时候,这个比较器就会翻转,然后它就有中断信号截到我们的外部中断,在现在的终端信号或者其他的设置,那都是通过这个叫做单片机的,这个叫做特殊功能寄存器映像 SFR Mapping。

5. 通过这个连接在电脑里面,CPU 里面让 CPU 自动识别、自动控制,还有很多的参数,比如转换速度、转换的电压的范围、转换的数据的大小,8 位还是 16 位还是 32 位都是要通过设置,但就建议单片机只能搞成这个,就是一个比较固定的一种方式、一种方案,就适合各领域的控制。

6. 比方说再增加一个片口,数据就翻倍,255*255 就是 0,65535,就 6 万多个数据,现在 255 就能够测量 255 度,这是过去的 8031 的特殊功能寄存器映像 SFR Mapping。

7. 现在的继承器了,就你看装满了整个的特殊功能寄存器映像 SFR Mapping,也就像电脑一样,电脑的设备管理器一样,单片机的接口和传感器的功能和控制都可以写入里面,具有 80 到 255 这样的一个空间,假如你有了光刻机类,这个除了就是你的最佳选择。This addition is your best choice.

相关问答

... D转换 器的作用是将& shy;______量转换成_______量。 D / A转...

[最佳回答]如果你是一个全职的,你属于学生。只要你是年龄小于24岁的,你可能会被征集服现役。

单片机 ADC 是如何进行采集的?

摘要:本文设计并实现了基于2.4GHzISM频段射频收发芯片nRF2401的计算机短距离无线数据采集系统。该系统采用PC作为系统控制中心,以C8051F021单片机...

单片机AD转换 问题. ad转换 是什么概念?为什么要 ad转换 才能输入...

[最佳回答]1,什么是AD转换?A是模拟信号的意思,D是数字信号的意思,AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号,例如把电压值转化为数字信号.2,...

设计后续放大和信号调理电路,进行 A & #47; D转换 ,用 单片机 进...

[最佳回答]压力传感器用于数据采集,将物理量转化为电参量,一般是电压,将采集的电参数进行调理,比如大信号衰减,小信号放大等,调理到适合A/D的一个范围。接入A/...

现有一个stc14w401as 单片机 ,片内支持 ad转换 ,请问输入模拟信号如何赋值给变量 a 。这个程序如何写?

是STC15W401AS,没有14W的。模拟信号加到输入端后,需要启动转换,由内部的AD电路转换成数字量,才能赋值给变量。模拟信号是不能赋值的,也不需要赋值的。去STC...

怎样利用 单片机 来改变占空比来实现方波转正弦波?

只用单片机不行的,单片机是数字输出,要么高电平要么低电平,单片机很少带da输出。要轴出正弦波要有外围,最简单就是整形电路了,占空比和频率配合,慢慢调是可...

单片机 如何通过 AD C模块采集模拟信号?

朋友们好,我是电子及工控技术,我来回答这个问题。众所周知单片机是一种超大规模的集成电路,它只能“读懂”并处理数字信号,对于连续量的模拟信号则无能为力。...

什么模块可以让 单片机 的数字信号 转换 成音频信号?

你好!关于这个问题:什么模块可以让单片机的数字信号转换成音频信号?1、单片机本身可以模拟输出音频信号2、输出音频信号其实就是AD采样的逆向工程。即DA3、...

单片机 中调整指令: DA A 是什么意思?

BCD码转换指令;比如说:81D+91D=172D而:81H+91H=112H这里为了将81H+91H结果与81D+91D一致,经过DA有:DA(112H)=112H+60H=172H虽然一个是16...

请问 单片机AD转换 是怎么回事啊?

不管哪个单片机或者哪个应用系统,AD转换的作用都是,将被测电压转换成相对应的数值,这样的话单片机才能够据此进行运算、判断、和控制处理.例如,一个温度传感...

猜你喜欢