实验 ADC0809-0832模数转换实验

更新时间:2024-01-14 16:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

- 1 -

实验十三 ADC0809模数转换实验

一、实验目的

1、掌握ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用。 2、掌握用查询方式、中断方式完成模/数转换程序的编写方法。

二、实验说明

本实验使用ADC0809模数转换器,ADC0809是8通道8位CMOS逐次逼近式A/D转换芯片,片内有模拟量通道选择开关及相应的通道锁存、译码电路,A/D转换后的数据由三态锁存器输出,由于片内没有时钟需外接时钟信号。下图为该芯片的引脚图。

各引脚功能如下:

IN0~IN7:八路模拟信号输入端。

ADD-A、ADD-B、ADD-C:三位地址码输入端。八路模拟信号转换选择由这三个端口控制。 CLOCK:外部时钟输入端(小于1MHz)。 D0~D7:数字量输出端。

OE:A/D转换结果输出允许控制端。当OE为高电平A/D转换结果从D0~D7端输出。

ALE:地址锁存允许信号输入端。八路模拟通道地址C输入,在ALE信号有效时将该八路地址锁存。

START:启动A/D转换信号输入端。当START端输入冲时,将进行A/D转换。

EOC:A/D转换结束信号输出端。当 A/D转换结束后,EOC输出高电平。 Vref(+)、Vref(-):正负基准电压输入端。基准正电压的典型值为+5V。 VCC和GND:芯片的电源端和地端。

一个正脉由A、B、时,允许

三、实验步骤

1、单片机最小应用系统1的 P0口接A/D转换的D0~D7口,单片机最小应用系统1的Q0~Q7口接0809的A0~A7口,单片机最小应用系统1的WR、RD、P2.0、ALE、INT1分别接A/D转换的WR、RD、P2.0、CLOCK、INT1,A/D转换的IN接入+5V,单片机最小应用系统1的P1.0、P1.1连接到串行静态显示实验模块的DIN、CLK。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 AD转换.ASM源程序,进行编译,直到编译无误。

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为38400。

5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。5LED静态显示“AD XX”,“XX”为AD转换后的值,8位发光二极管显示“XX”的二进制值,调节模拟信号输入端的电位器旋

- 2 -

钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0~FFH。

四、流程图及源程序

1.源程序

DBUF EQU TEMP EQU

30H 40H

DIN BIT P1.0 CLK BIT P1.1 ORG 0000H

LJMP START

ORG 50H

START: MOV R0,#DBUF ;显示缓冲器存放0AH,0DH,-,0XH,0XH

MOV @R0,#0AH ;串行静态显示“AD XX”XX表示0~F INC R0

MOV @R0,#0DH

INC R0

MOV @R0, #10H INC R0

MOV DPTR,#0FEF3H ;A/D地址

MOV A,#0 ;清零 MOVX @DPTR,A ;启动A/D JNB P3.3,$ ;等待转换结束

MOVX A,@DPTR ;读入结果

MOV P1,A ;转换结果送入发光二极管显示

MOV B,A ;累加器内容存入B中 SWAP A ;A的内容高四位与低四位交换 ANL A,#0FH ;A的内容高四位清零 XCHD A,@R0 ;A/D转换结果高位送入DBUF3中

INC R0

MOV A,B ;取出A/D转换后的结果

ANL A,#0FH ;A的内容高四位清零 XCHD A,@R0 ;结果低位送入DBF4中 ACALL DISP1 ;串行静态显示“AD XX” ACALL DELAY ;延时 AJMP START

DISP1: ;静态显示子程序 MOV R0,#DBUF

MOV R1,#TEMP MOV R2,#5

DP10: MOV DPTR,#SEGTAB ;表头地址 MOV A,@R0 MOVC A,@A+DPTR ;取段码

MOV @R1,A ;到TEMP中 INC R0 INC R1

DJNZ R2,DP10

MOV R0,#TEMP ;段码地址指针 MOV R1,#5 ;段码字节数

- 3 -

DP12: MOV R2,#8 ;移位次数 MOV A,@R0 ;取段码 DP13: RLC A ;段码左移

MOV DIN,C ;输出一位段码 CLR CLK ;发送一个位移脉冲 SETB CLK DJNZ R2,DP13 INC R0 DJNZ R1,DP12

RET

SEGTAB: DB

DB

3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,b

DB 58H,5EH,79H,71H,0,40H ;C,d,E,F,(空格),- DELAY: ;延时 MOV R4,#08H AA1: MOV R5,#0FFH AA: NOP NOP

NOP

DJNZ R5,AA DJNZ R4,AA1 RET END 2.流程图

开始

初始启动A/D转换 A/D转换完 成? 数据输出 延时 结束 五、思考题

1、A/D转换程序有三种编制方式:中断方式、查询方式、延时方式,实验中使用了查询方式,

- 4 -

请用另两种方式编制程序。

2、P0口是数据/地址复用的端口,请说明实验中ADC0809的模拟通道选择开关在利用P0口的数据口或地址地位口时,程序指令和硬件连线的关系。

六、电路图 +5V 123P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRRXDTXDALE/PPSEN1011302956P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728GND3.3K*8111347813141718OEGD0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q7256912151619 10010uF45678131215+5V74LS37317141581819202123726272812345D0D1D2D3D4D5D6D7IN-0IN-1IN-2IN-3IN-46MHz1431 1K20pF191820pF91716RXDTXDA12524234229EOCIN-5ADD-AADD-BADD-CIN-7ALEOESTARTCLOCKref(+)ref(-)IN-674LS02BAT89C5110K161274LS026910 10C874LS02ADC0809实验十四 DAC0832数模转换实验

一、实验目的

1、 掌握DAC0832直通方式,单缓冲器方式、双缓冲器方式的编程方法

2、掌握D/A转换程序的编程方法和调试方法 二、实验说明

DAC0832是8位D/A转换器,它采用CMOS工艺制作,具有双缓冲器输入结构,其引脚排列如

图所示,DAC0832各引脚功能说明:

DI0~DI7:转换数据输入端。 CS:片选信号输入端,低电平有效。

ILE:数据锁存允许信号输入端,高电平有效。 WR1:第一写信号输入端,低电平有效, Xfer:数据传送控制信号输入端,低电平有效。 WR2:第二写信号输入端,低电平有效。

Iout1:电流输出1端,当数据全为1时,输出电流最大;当数据全为0时,输出电流最小。 Iout2:电流输出2端。DAC0832具有:Iout1+Iout2=常数的特性。 Rfb:反馈电阻端。

Vref:基准电压端,是外加的高精度电压源,它与芯片内的电阻网络相连接,该电压范围为:

-10V~+10V。

VCC和GND:芯片的电源端和地端。

DAC0832内部有两个寄存器,而这两个寄存器的控制信号有五个,输入寄存器由ILE、CS、WR1

控制,DAC寄存器由WR2、Xref控制,用软件指令控制这五个控制端可实现三种工作方式:直通方式、单缓冲方式、双缓冲方式。

- 5 -

直通方式是将两个寄存器的五个控制端预先置为有效,两个寄存器都开通只要有数字信号输

入就立即进入D/A转换。

单缓冲方式使DAC0832的两个输入寄存器中有一个处于直通方式,另一个处于受控方式,可

以将WR2和Xfer相连在接到地上,并把WR1接到80C51的WR上,ILE接高电平,CS接高位地址或地址译码的输出端上。

双缓冲方式把DAC0832的输入寄存器和DAC寄存器都接成受控方式,这种方式可用于多路模

拟量要求同时输出的情况下。

三种工作方式区别是:直通方式不需要选通,直接D/A转换;单缓冲方式一次选通;双缓冲

方式二次选通。

三、实验步骤

1、单片机最小应用系统1的 P0口接0832的DI0~DI7口,单片机最小应用系统1的P2.0、WR分别接D/A转换的P2.0、WR,Vref接-5V,D/A转换的OUT接示波器探头。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加 DA转换.ASM源程序,进行编译,直到编译无误。

4、进行软件设置,选择硬件仿真,选择串行口,设置波特率为12M。

5、打开模块电源和总电源,点击开始调试按钮,点击RUN按钮运行程序。观察示波器测量输出波形的周期和幅度。

四、流程图及源程序

1. 源程序

ORG 0000H

AJMP START ORG 0050H

START: MOV DPTR,#0FEFFH ;置DAC0832的地址 LP: MOV A,#0FFH ;设定高电平

MOVX @DPTR,A ;启动D/A转换,输出高电平

LCALL DELAY ;延时显示高电平

MOV A,#00H ;设定低电平

MOVX @DPTR,A ;启动D/A转换,输出低电平 LCALL DELAY ;延时显示低电平 SJMP LP ;连续输出方波 DELAY: MOV R3,#11 ;延时子程序 D1: NOP NOP NOP NOP

NOP

DJNZ R3,D1 RET

- 6 -

END

2.流程图

开始

五、思考题

1、计算输出方波的周期,并说明如何改变输出方波的周期。

2、硬件电路不改动的情况下,请编程实现输出波形为锯齿波及三角波。

3、请画出DAC0832在双缓冲工作方式时的接口电路,并用两片DAC0832实现图形x轴和y轴偏转放大同步输出。

结束 转换结束输出 延时 等待 转换 延时 启动D/A转换 六、电路图

10K+5V20-12V4120pF23P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRAT89C51P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2738373635343332212223242526272865416151413117lsbDI0DI1DI2DI3DI4DI5DI6msbDI7Vcc1397Iout1Iout2RfbVref11129823656MHz4567HA741720pF813121514+12VILE19182WR2WR1+5VCSXferDAC08321003110uFRESET191891716RXDTXDALE/PPSEN101130291K

本文来源:https://www.bwwdw.com/article/d5mo.html

Top