1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 单片机adc0809模数转换实验c语言 实验ADC0809-0832模数转换实验.doc

单片机adc0809模数转换实验c语言 实验ADC0809-0832模数转换实验.doc

时间:2019-09-04 07:02:17

相关推荐

单片机adc0809模数转换实验c语言 实验ADC0809-0832模数转换实验.doc

实验ADC0809-0832模数转换实验

实验十三 ADC0809模数转换实验

一、实验目的

1、掌握ADC0809模/数转换芯片与单片机的连接方法及ADC0809的典型应用。

2、掌握用查询方式、中断方式完成模/数转换程序的编写方法。

二、实验说明

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

各引脚功能如下:

IN0~IN7ADD-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。

VCC和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 ;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。