- 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
- 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
- 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
ADC0809软件查询法
《计算机原理实验报告》----- 接口部分
实验( 五 )名称: ADC0809 软件查询法
一、实验目的:
了解ADC0809模/数转换器的基本原理,外围电路结构及编程方法。
二、实验要求:
采用查询法编程。通过试验台左下角电位器RE1输出0~5V直流电压送入ADC0809通道0,再利用中断服务程序读取ADC中的数据,送到8255,再用PA口与LED连接并输出。
三、编程算法与说明:
芯片的控制信号及引脚定义:
ALE:通道代码锁存控制。高电平有效。
START:ADC芯片转自动控制。正脉冲的下降沿有效。
EOC:ADC转化完成的标志。高电平表示转化完成。
2. 地址的设计,确定方法:
0809启动端口地址为200H
8259A启动端口地址为210H
3. 一次A/D转化的完整过程如下:
MOV DX,200H
OUT DX,AL
ADD DX,02H
LOOP:
IN AL,DX
AND AL,01H
JZ LOOP
MOV DX,200H
ADD DX,01H
IN AL,DX
四、实验中相关模块的连接逻辑图(实验电路图):
五、程序流程图:
Y
六、程序清单:
.model small
.386
ad_io equ 200h ;adc启动端口
i8255_a equ 210h
i8255_k equ 213h ;8255控制端口
data segment
buf db ?
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,i8255_k ;8255初始化
mov al,80h
out dx,al
rpt:
mov dx,ad_io ;adc转化程序
out dx,al
mov dx,ad_io
add dx,2
l1:
in al,dx
test al,01h ;测位,查看adc是否转化完成
jz l1
mov dx,ad_io
inc dx
in al,dx
mov buf,al
call disp ;调用显示子程序
jmp rpt
disp proc ;将数据送给8255,用A口输出
mov dx,i8255_a
mov al,buf
out dx,al
ret
disp endp
code ends
end start
七、实验结果:
按电路连接电路图,编译构建程序,运行,转动逻辑笔,观察到8个led灯的亮灭
按电压大小变化,实验成功。
学生签字: 日期:
- 3 -
开始
启动ADC模块
N
EOC=1?
读取ADC数据
送给8255显示
文档评论(0)