A/D模数转换实验<代码详细注释>
一、实验要求
利用实验板上的 ADC0809 做 A/D 转换器,实验板上的电位器提供模拟量输入,编制程序,
将模拟量转换成二进制数字量,用 8255 的 PA 口输出到发光二极管显示。
二、实验目的
1、 掌握 A/D 转换与微处理器的接口方法。了解 A/D 芯片 ADC0809 转换性能及编程。
2、 通过实验了解微处理器如何进行数据采集。
实验连线如下!!!
连线不同的小伙伴请自行调整后面的代码!!!
AD_CS0 EQU 8000H
PA_8255 EQU 9000H
CS1_8255 EQU 9003H
ORG 0000H
START:
MOV DPTR,#CS1_8255 ;选中8255
MOV A,#0 ;这里A给什么值都可以(下面同)
MOVX @DPTR,A ;注意用MOVX
MOV DPTR,#AD_CS0 ;选中ADC0809
MOV A,#0
MOVX @DPTR,A
MOV TMOD,#01H ;定时器T0
MOV TH0,#0B1H ;定时器T0置初值:45536
MOV TL0,#0E0H
SETB TR0 ;启动T0
JNB TF0,$ ;溢出等待
CLR TF0 ;查询方式需手动清除TF0标志位
MOV R7,#500
MOVX A,@DPTR ;取ADC0809中的值
DELAY:
MOV DPTR,#PA_8255 ;选中8255的PA口
MOVX @DPTR,A ;PA口输出到8个LED
DJNZ R7,DELAY ;来个小延时
SJMP START
END