接口实验报告.docx

上传人:b****6 文档编号:3756173 上传时间:2022-11-25 格式:DOCX 页数:13 大小:85.34KB
下载 相关 举报
接口实验报告.docx_第1页
第1页 / 共13页
接口实验报告.docx_第2页
第2页 / 共13页
接口实验报告.docx_第3页
第3页 / 共13页
接口实验报告.docx_第4页
第4页 / 共13页
接口实验报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

接口实验报告.docx

《接口实验报告.docx》由会员分享,可在线阅读,更多相关《接口实验报告.docx(13页珍藏版)》请在冰豆网上搜索。

接口实验报告.docx

接口实验报告

计算机接口技术

实验报告

 

学号:

姓名:

提交日期:

成绩:

 

东北大学秦皇岛分校

 

实验一:

可编程计数器/定时器(8253)

1、计数器

一、实验目的

掌握8253的基本工作原理和编程方法。

二、实验内容

按图16虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

三、编程提示

8253控制寄存器地址283H

计数器0地址280H

计数器1地址281H

CLK0连接时钟1MHZ

四、实验原理图

五、源程序代码

ioportequ0d400h-0280h

io8253aequioport+283h

io8253bequioport+280h

codesegment

assumecs:

code

start:

moval,14h;设置8253通道0为工作方式2,二进制计数

movdx,io8253a

outdx,al

movdx,io8253b;送计数初值为0FH

moval,0fh

outdx,al

lll:

inal,dx;读计数初值

calldisp;调显示子程序

pushdx

movah,06h

movdl,0ffh

int21h

popdx

jzlll

movah,4ch;退出

int21h

dispprocnear;显示子程序

pushdx

andal,0fh;首先取低四位

movdl,al

cmpdl,9;判断是否<=9

jlenum;若是则为'0'-'9',ASCII码加30H

adddl,7;否则为'A'-'F',ASCII码加37H

num:

adddl,30h

movah,02h;显示

int21h

movdl,0dh;加回车符

int21h

movdl,0ah;加换行符

int21h

popdx

ret;子程序返回

dispendp

codeends

endstart

 

六、实验运行结果

 

2、定时器

一、实验目的

掌握8253的基本工作原理和编程方法。

二、实验内容

按图17连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)

三、编程提示

8253控制寄存器地址283H

计数器0地址280H

计数器1地址281H

CLK0连接时钟1MHZ

四、实验原理图

五、实验运行结果

 

实验二:

七段数码管

1、静态显示

一、实验目的

掌握数码管显示数字的原理

二、实验内容

静态显示:

按图22连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

三、编程提示

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

四、实验原理图

五、源程序代码

atasegment

ioportequ0d400h-0280h

io8255aequioport+288h

io8255bequioport+28bh

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

mesg1db0dh,0ah,'Inputanum(0--9h):

',0dh,0ah,'$'

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdx,io8255b;使8255的A口为输出方式

movax,80h

outdx,al

sss:

movdx,offsetmesg1;显示提示信息

movah,09h

int21h

movah,01;从键盘接收字符

int21h

cmpal,'0';是否小于0

jlexit;若是则退出

cmpal,'9';是否大于9

jgexit;若是则退出

subal,30h;将所得字符的ASCII码减30H

movbx,offsetled;bx为数码表的起始地址

xlat;求出相应的段码

movdx,io8255a;从8255的A口输出

outdx,al

jmpsss;转SSS

exit:

movah,4ch;返回DOS

int21h

codeends

六、实验运行结果

 

2、动态显示

一、实验目的

掌握数码管显示数字的原理

二、实验内容

动态显示:

按图23连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。

编程在两个数码管上显示“56”

三、编程提示

实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

四、实验原理图

五、实验运行结果

 

实验三:

模/数转换器

1、电压转十六进制数据

一、实验目的

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

二、实验内容

1、实验电路原理图如图38。

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

启动IN0开始转换:

Out02980

读取转换结果:

In0298

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

三、实验提示

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

2、IN0单极性输入电压与转换后数字的关系为:

N=Ui/(Uref/256)

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

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

MOVDX,口地址

OUTDX,AL;启动转换

;延时

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

 

四、实验原理图

五、源程序代码

ioportequ0d400h-0280h

io0809aequioport+298h

codesegment

assumecs:

code

start:

movdx,io0809a;启动A/D转换器

outdx,al

movcx,0ffh;延时

delay:

loopdelay

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

movbl,al;将AL保存到BL

movcl,4

shral,cl;将AL右移四位

calldisp;调显示子程序显示其高四位

moval,bl

andal,0fh

calldisp;调显示子程序显示其低四位

movah,02

movdl,20h;加回车符

int21h

movdl,20h

int21h

pushdx

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

movdl,0ffh

int21h

popdx

jestart;若没有转START

movah,4ch;退出

int21h

dispprocnear;显示子程序

movdl,al

cmpdl,9;比较DL是否>9

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

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

ddd:

adddl,30h;显示

movah,02

int21h

ret

dispendp

codeends

endstart

六、实验运行结果

 

2、波形显示

一、实验目的

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

二、实验内容

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

三、实验提示

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

2、IN0单极性输入电压与转换后数字的关系为:

N=Ui/(Uref/256)

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

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

MOVDX,口地址

OUTDX,AL;启动转换

;延时

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

四、实验原理图

五、实验运行结果

 

实验四:

交通灯控制实验

一、实验目的

通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

二、实验内容

如图-29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

三.编程提示:

十字路口交通灯的变化规律要求:

(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。

(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右。

(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。

(5)转

(1)重复。

四、实验原理图

五、源程序代码

datasegment

ioportequ0d400h-0280h

io8255aequioport+28ah

io8255bequioport+28bh

portc1db24h,44h,04h,44h,04h,44h,04h;六个灯可能

db81h,82h,80h,82h,80h,82h,80h;的状态数据

db0ffh;结束标志

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdx,io8255b

moval,90h

outdx,al;设置8255为C口输出

movdx,io8255a

re_on:

movbx,0

on:

moval,portc1[bx]

cmpal,0ffh

jzre_on

outdx,al;点亮相应的灯

incbx

movcx,20;参数赋初值

testal,21h;是否有绿灯亮

jzde1;没有,短延时

movcx,2000;有,长延时

de1:

movdi,9000;di赋初值5000

de0:

decdi;减1计数

jnzde0;di不为0

loopde1

pushdx

movah,06h

movdl,0ffh

int21h

popdx

jzon;没有,转到on

exit:

movah,4ch;返回

int21h

codeends

endstart

六、实验运行结果(包括修改程序后的实验运行结果)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1