实验五 A/D 0809转换实验
一、实验目的
(1)掌握A/D 转换与单片机接口的方法;
(2)了解A/D 芯片0809转换性能及编程方法;
(3)通过实验了解单片机如何进行数据采集。
二、实验内容
利用实验系统上的0809做A/D 转换器,实验系统上的电位器提供模拟量输入,编制程序,将模拟量转换成数字,通过数码管显示出来。
三、实验接线图
四实验程序框图 开始
程序初始化
调用显示子程序
结束0809 采样
采样值送显示缓存区
五、实验步骤
IN0→VOUT (可调电压输出口),VIN →+5V (直流电源),CS4→FF80H ,
JX0→JX6,WR→/IOWR,RD→/IORD,ADDA、ADDB、ADDC→地(直流电源GND)CLK→500K运行程序,数码管上显示0809.XX,后二位显示当前采集的电压转换的数字量,调节W1,该二位将随着电压变化而相应变化。
快捷连线说明:IN0→VOUT
VIN→+5V
CS4→FF80H
JX0→JX6
WR→/IOWR
RD→/IORD
ADDA、ADDB、ADDC→地
程序如下:(1)基本程序(文件名HW09.ASM)
ORG 0000H
LJMP SE11
ORG 0590H
SE11: MOV SP,#53H ;堆栈初始化
mov p2,#0ffh ;P2口初始化
MOV A,#81H ;8255控制口初始化
MOV DPTR,#0FF23H
MOVX @DPTR,A
MOV 7EH,#00H ;显示缓冲区初值
MOV 7DH,#08H
MOV 7CH,#00H
MOV 7BH,#09H
MOV 7AH,#10H
MOV 79H,#10H
LO18: LCALL SSEE ;调用显示子程序
MOV A,#00H
MOV DPTR,#0FF80H ;0809的0通道采样
MOVX @DPTR,A
MOV R7,#0FFH ;延时
LO17: DJNZ R7,LO17
MOVX A,@DPTR ;取出采样值
MOV R0,#79H
LCALL PTDS
SJMP LO18 ;采样值送显示缓冲区
ORG 05D0H
PTDS: MOV R1,A
ACALL PTDS1
MOV A,R1
SWAP A
PTDS1: ANL A,#0FH
MOV @R0,A
INC R0
RET
ORG 0D50H ;显示子程序
SSEE: SETB RS1 ;换工作区
MOV R5,#05H
SSE2: MOV 30H,#20H
MOV 31H,#7EH
MOV R7,#06H
SSE1: MOV R1,#20H
MOV A,30H
CPL A
MOVX @R1,A ;字位送入
MOV R0,31H
MOV A,@R0
MOV DPTR,#DDFF
MOVC A,@A+DPTR ;取字形代码
MOV R1,#21H
MOVX @R1,A
MOV A,30H
RR A
MOV 30H,A
DEC 31H
MOV A,#0FFH ;关显示
MOVX @R1,A
DJNZ R7,SSE1 ;六位显示完了吗?
DJNZ R5,SSE2 ;5次显示完了吗?
CLR RS1
RET
DDFF: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
END
六、思考修改程序和ADDA、ADDB、ADDC接线,用IN0、IN7通道轮流采样。并送数码管上显示Y .XX,Y为通道号,XX是采样数字量,每隔4S采样一次,轮流循环。
七、实验心得
通过本次实验,我对A/D转换有了更深入的理解,A/D转换是把连续的模拟电信号转换成时间和数值离散的数字信号的过程。A/D转换主要包括采样、量化和编码。现实中的物理量经过传感器转换成微弱的电信号,在经过放大后转换成幅度较大的电信号。而且通过该实验,是我的单片机的运行有了更深刻的了解。