实验 ADC0809-0832模数转换实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十三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:地址锁存允许信号输入端。八路模拟通道地址由A、B、C输入,在ALE信号有效时将该八路地址锁存。
START:启动A/D转换信号输入端。当START端输入一个正脉冲时,将进行A/D转换。
EOC:A/D转换结束信号输出端。当 A/D转换结束后,EOC输出高电平。
Vref(+)、Vref(-):正负基准电压输入端。基准正电压的典型值为+5V。
V CC和GND:芯片的电源端和地端。
三、实验步骤
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”的二进制值,调节模拟信号输入端的电位器旋
钮,显示值随着变化,顺时针旋转值增大,AD转换值的范围是0~FFH。
四、流程图及源程序
1.源程序
DBUF EQU 30H
TEMP EQU 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 ;段码字节数
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 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5
DB 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.流程图
1、A/D转换程序有三种编制方式:中断方式、查询方式、延时方式,实验中使用了查询方式,