同济大学微机原理实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《微机原理与接口技术》上机实验报告学号:姓名:班级:

课程名称:微型计算机原理与接口技术上机内容:模/数转换器

实验性质:□综合性实验□设计性实验■验证实验

实验时间: 年12月19 日实验地点:汽车学院107 实验设备TPC—2003A微机实验箱

示波器

实验报告:(包括目的、方法、原理、结果或实验小节等)。

一、实验目的

了解模/数转换的基本原理,掌握ADC0809的使用方法。

二、实验内容

1、实验电路原理图如图12-1。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug 的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。

启动IN0开始转换: Out 0298 0

读取转换结果: In 0298

2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。

三、实验提示

1、ADC0809的IN0口地址为298H,IN1口地址为299H。

2、IN0单极性输入电压与转换后数字的关系参考原理图:

其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。

3、一次A/D转换的程序可以为

MOV DX,口地址

OUT DX,AL ;启动转换

;延时

IN AL,DX ;读取转换结果放在AL中

;*******************************;

;*接收A/D转换器数据在屏幕上显示*;

;*******************************;

io0809a equ298h

code segment

assume cs:code

start:mov dx,io0809a ;启动A/D转换器

out dx,al

mov cx,0ffh;延时

delay:loop delay

in al,dx;从A/D转换器输入数据

mov bl,al;将AL保存到BL

call disp ;调显示子程序显示其高四位

mov al,bl

and al,0fh

call disp ;调显示子程序显示其低四位

mov ah,02

mov dl,20h;加回车符

int21h

mov dl,20h

int21h

push dx

mov ah,06h;判断是否有键按下

mov dl,0ffh

int21h

pop dx

je start ;若没有转START

mov ah,4ch;退出

int21h

disp proc near;显示子程序

mov dl,al

cmp dl,9;比较DL是否>9

jle ddd ;若不大于则为'0'-'9',加30h为其ASCII码

add dl,7;否则为'A'-'F',再加7

ddd: add dl,30h;显示

mov ah,02

int21h

ret

disp endp

code ends

end start

五、实验小结

通过实验,了解和掌握模/数转换的工作原理,熟悉汇编代码的编写。在实验过程中,我们小组相互帮助,共同连接电线,第一次并没有达到理想的结果,在老师们的帮助下,我们及时更正了错误,最终完成了实验,通过实验的过程,让我们对于课本的理论知识有了进一步了解。

实验图片

实验十二模/数转换器

一、实验目的

了解模/数转换的基本原理,掌握ADC0809的使用方法。

二、实验内容

1、实验电路原理图如图12-1。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道

0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。

启动IN0开始转换: Out 0298 0

读取转换结果: In 0298

2、将JP3的1、2短接,使IN2处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。

三、实验提示

1、ADC0809的IN0口地址为298H,IN1口地址为299H。

2、IN0单极性输入电压与转换后数字的关系请参考原理图:

3、一次A/D转换的程序可以为

MOV DX,口地址

IN AL,DX ;读取转换结果放在AL中

;****************************;

;* AD转换器2--示波器 *;

;* 采集数据在屏幕是作图 *;

;****************************;

io0809b equ299h

code segment

assume cs:code

start: mov ax,0012h;设屏幕显示方式为VGA 640X480模示int10h

start1:

mov ax,0600h

int10h;清屏

and cx,0;cx为横坐标

draw: mov dx,io0809b ;启动A/D转换器通道1

out dx,al

mov bx,200;500 ;延时

delay: dec bx

jnz delay

in al,dx;读入数据

mov ah,0

mov dx,368;dx为纵坐标

sub dx,ax

mov al,0ah;设置颜色

mov ah,0ch;画点

int10h

cmp cx,639;一行是否满

jz start1 ;是则转start

inc cx;继续画点

push dx

mov ah,06h;是否有键按下

mov dl,0ffh

int21h

pop dx

je draw ;无,则继续画点

mov ax,0003;有恢复屏幕为字符方式

int10h

mov ah,4ch;返回

int21h

code ends

end start

相关文档
最新文档