接口实验知识交流.docx

上传人:b****1 文档编号:1323106 上传时间:2022-10-20 格式:DOCX 页数:16 大小:711.85KB
下载 相关 举报
接口实验知识交流.docx_第1页
第1页 / 共16页
接口实验知识交流.docx_第2页
第2页 / 共16页
接口实验知识交流.docx_第3页
第3页 / 共16页
接口实验知识交流.docx_第4页
第4页 / 共16页
接口实验知识交流.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

接口实验知识交流.docx

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

接口实验知识交流.docx

接口实验知识交流

接口实验:

实验一:

可编程并行接口

(一)(8255方式0)

一、实验目的

掌握8255方式0的工作原理及使用方法。

二、实验内容

1、实验电路如原理图,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2、编程从8255C口输入数据,再从A口输出。

三、编程提示

1、8255控制寄存器端口地址28BH

A口的地址288H

C口的地址28AH

参考源程序

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

;*8255方式0的C口输入,A口输出*;

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

io8255aequ288h

io8255bequ28bh

io8255cequ28ah

codesegment

assumecs:

code

start:

movdx,io8255b;设8255为C口输入,A口输出

moval,8bh

outdx,al

inout:

movdx,io8255c;从C口输入一数据

inal,dx

movdx,io8255a;从A口输出刚才自C口

outdx,al;所输入的数据

movdl,0ffh;判断是否有按键

movah,06h

int21h

jzinout;若无,则继续自C口输入,A口输出

movah,4ch;否则返回

int21h

codeends

endstart

原理图

流程图

实验二“

竞赛抢答器

一、实验目的

1、了解微机化竞赛抢答器的基本原理。

2、进一步学习使用并行接口。

二、实验内容

逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)显示出来,并使微机扬声器响一下。

三、编程提示

设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

从键盘上按空格键开始下一轮抢答,按其它键程序退出。

参考源程序:

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

;*本程序为模拟抢答器*

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

datasegment

io8255aequ28ah

io8255bequ28bh

io8255cequ288h

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h;数码表

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdx,io8255b;设8255为A口输出,C口输入

movax,89h

outdx,al

movbx,offsetled;使BX指向段码管首址

sss:

movdx,io8255a

inal,dx;从8255的C口输入数据

oral,al;比较是否为0

jesss;若为0,则表明无键按下,转sss

movcl,0ffh;cl作计数器,初值为-1

rr:

shral,1

inccl

jncrr

moval,cl

xlat

movdx,io8255c

outdx,al

movdl,7;响铃ASCII码为07

movah,2

int21h

wai:

movah,1

int21h

cmpal,20h;是否为空格

jneeee;不是,转eee

moval,0;是,关灭灯

movdx,io8255c

outdx,al

jmpsss

eee:

movah,4ch;返回

int21h

codeends

endstart

实验二流程图

实验二原理图

实验四:

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

一、实验目的

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

二、实验内容

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

三、编程提示

1、8254控制寄存器地址283H

计数器0地址280H

计数器1地址281H

CLK0连接时钟1MHZ

参考源程序

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

;*8254分频*

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

io8253aequ280h

io8253bequ281h

io8253cequ283h

codesegment

assumecs:

code

start:

movdx,io8253c;向8254写控制字

moval,36h;使0通道为工作方式3

outdx,al

movax,1000;写入循环计数初值1000

movdx,io8253a

outdx,al;先写入低字节

moval,ah

outdx,al;后写入高字节

movdx,io8253c

moval,76h;设8254通道1工作方式2

outdx,al

movax,1000;写入循环计数初值1000

movdx,io8253b

outdx,al;先写低字节

moval,ah

outdx,al;后写高字节

movah,4ch;程序退出

int21h

codeends

endstart

实验四流程图

实验四原理图

实验五:

中断

一、实验目的

1、掌握PC机中断处理系统的基本原理。

2、学会编写中断服务程序。

3、掌握扩展中断控制器8259。

二、实验原理与内容

1、实验原理

PC机用户可使用的硬件中断只有可屏蔽中断,由8259中断控制器管理。

中断控制器用于接收外部的中断请求信号,经过优先级判别等处理后向CPU发出可屏蔽中断请求。

IBMPC、PC/XT机内有一片8259中断控制器对外可以提供8个中断源:

中断源中断类型号中断功能

IRQ008H时钟

IRQ109H键盘

IRQ20AH保留

IRQ3OBH串行口2

IRQ40CH串行口1

IRQ50DH硬盘

IRQ60EH软盘

IRQ70FH并行打印机

8个中断源的中断请求信号线IRQ0~IRQ7在主机的62线ISA总线插座中可以引出,系统已设定中断请求信号为“边沿触发”,普通结束方式。

对于PC/AT及286以上微机内又扩展了一片8259中断控制,IRQ2用于两片8259之间级连,对外可以提供16个中断源:

中断源中断类型号中断功能

IRQ8070H实时时钟

IRQ9071H用户中断

IRQ10072H保留

IRQ11O73H保留

IRQ12074H保留

IRQ13075H协处理器

IRQ14076H硬盘

IRQ15077H保留

USB实验板上,固定的接到了3号中断IRQ3上,即进行中断实验时,所用中断类型号为0BH。

2、实验内容

直接用手动产单脉冲作为中断请求信号。

每按一次开关产生一次中断,在屏幕上显示相应的中断号信息:

中断0(IN0):

mess1db'Hello!

Thisisinterrupt*0*!

',0dh,0ah,'$'

中断1(IN1):

mess2db'Hello!

Thisisinterrupt*1*!

',0dh,0ah,'$'

中断2(IN2):

mess3db'Hello!

Thisisinterrupt*2*!

',0dh,0ah,'$'

中断3(IN3):

mess4db'Hello!

Thisisinterrupt*3*!

',0dh,0ah,'$'

中断4(IN4):

mess5db'Hello!

Thisisinterrupt*4*!

',0dh,0ah,'$'

中断5(IN5):

mess6db'Hello!

Thisisinterrupt*5*!

',0dh,0ah,'$'

中断6(IN6):

mess7db'Hello!

Thisisinterrupt*6*!

',0dh,0ah,'$'

中断7(IN7):

mess8db'Hello!

Thisisinterrupt*7*!

',0dh,0ah,'$'

接线:

8259片选接IO地址译码Y6

8259的INTA接VCC

8259的请求(IN0~IN7)分别接单脉冲信号

实验五:

参考源程序

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

;8259中断查询

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

I8259_1EQU2B0H;8259的ICW1端口地址

I8259_2EQU2B1H;8259的ICW2端口地址

I8259_3EQU2B1H;8259的ICW3端口地址

I8259_4EQU2B1H;8259的ICW4端口地址

O8259_1EQU2B1H;8259的OCW1端口地址

O8259_2EQU2B0H;8259的OCW2端口地址

O8259_3EQU2B0H;8259的OCW3端口地址

datasegment

mes1db'youcanplayakeyonthekeyboard!

',0dh,0ah,24h

mes2ddmes1

mess1db'Hello!

Thisisinterrupt*0*!

',0dh,0ah,'$'

mess2db'Hello!

Thisisinterrupt*1*!

',0dh,0ah,'$'

mess3db'Hello!

Thisisinterrupt*2*!

',0dh,0ah,'$'

mess4db'Hello!

Thisisinterrupt*3*!

',0dh,0ah,'$'

mess5db'Hello!

Thisisinterrupt*4*!

',0dh,0ah,'$'

mess6db'Hello!

Thisisinterrupt*5*!

',0dh,0ah,'$'

mess7db'Hello!

Thisisinterrupt*6*!

',0dh,0ah,'$'

mess8db'Hello!

Thisisinterrupt*7*!

',0dh,0ah,'$'

dataends

stackssegment

db100dup(?

stacksends

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

stacks,ES:

DATA

.386

START:

movax,data

movds,ax

moves,ax

movax,stacks

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

当前位置:首页 > 经管营销 > 公共行政管理

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

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