东南大学微机第六次实验报告

《微机实验及课程设计》实验报告 学号

东南大学

《微机实验及课程设计》

实验报告

实验六 8255 并行输入输出

姓 名: 学 号:

专 业: 实 验 室:

实验时间:年05月22日 报告时间:年05月29日

评定成绩: 审阅教师: 0

《微机实验及课程设计》实验报告 学号

一. 实验目的与内容

(一) 实验目的

1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示;

2)掌握8段数码管的动态刷新显示控制;

(二)实验内容及要求

1、8段数码管静态显示: 编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。(必做)

2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f)(必做)

3、静态显示:用逻辑电平开关预置某个数字(0~9)的二进制码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来。

4、动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ······ 9a······f0,一直循环直至退出)

注:3,4中选做一题,必做一题

二. 实验基本原理

(一)实验接线图

东南大学微机第六次实验报告

1

《微机实验及课程设计》实验报告 学号

? PA0~PA6分别接数码管的a~g

? PC0~PC7分别逻辑电平开关的K0~K7 ? 位选端S1接+5V

? 位选端S0接地

? 数码管dp端接地

必做1,3 接线图

东南大学微机第六次实验报告

? PA0~PA6分别接数码管的a~g

? 位选端S0 、S1接8255C口的PC0、PC1端

必做2 接线图

(二)程序流程图

2

《微机实验及课程设计》实验报告 学号

开 始设置8255C口输入A口输出从C口输入数据将此数据自A口输出

Y结 束

东南大学微机第六次实验报告

图 1.1 8255 简单输入输出程序流程图图 2.1 8255 动态显示5 6 程序流程图

三 方案实现与测试(或调试)

必做实验1: data segment ioport io8255a io8255b

equ 0b800h-0280h equ ioport+288h equ ioport+28bh

mov ah,01 ;从键盘接收字符 int 21h

cmp al,'0' ;是否小于0 jl exit ;若是则退出 cmp al,'9' ;是否大于9 jg exit ;若是则退出 sub al,30h ;将所得字符的ASCII

led db

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

mesg1 db 0dh,0ah,'Please input a num (0--9h):',0dh,0ah,'$' data ends

stacks segment stack db 100 dup (?) stacks ends

3

码减30H

mov bx,offset led ;bx为数码表的起始

地址

xlat ;求出相应的段码 mov dx,io8255a ;从8255的A口输出

《微机实验及课程设计》实验报告 学号

code segment

assume cs:code,ds:data,ss:stacks start: mov ax,stacks mov ss,ax mov ax,data

out dx,al

jmp sss ;转sss

exit: mov ah,4ch ;返回DOS

int 21h

code ends end start

mov ds,ax

mov dx,io8255b ;使8255的A口为

输出方式 mov ax,80h

out dx,al

sss: mov dx,offset mesg1 ;显示提示信息 mov ah,09h int 21h

必做实验2:

data segment ioport equ 0b800h-0280h ;tpc卡中设备的io地址 io8255a

equ ioport+28ah ;8255C口地址 io8255b

equ ioport+28bh ;8255控制寄存器端口地址 io8255c

equ ioport+288h ;8255A口地址

led db

3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码

buffer1 db 5,6 ;存放要显示的个位和十位

4

mov si,offset led ;led数码表偏移地址为SI

add si,bx ;对应的led数码

mov al,byte ptr [si]

mov dx,io8255c ;8255A的口输出

out dx,al

mov al,byte ptr bz ;应的数码管亮

mov dx,io8255a

out dx,al mov cx,3000

delay: loop delay ;

求出

使相

《微机实验及课程设计》实验报告 学号

bz dw ? ;位码 data ends

stacks segment stack db 100 dup (?) stacks ends code segment

assume cs:code,ds:data,ss:stacks start: mov ax,stacks mov ss,ax mov ax,data mov ds,ax

mov dx,io8255b ;将8255设

为A口输出 mov al,80h out dx,al

mov di,offset buffer1 ;设di为

显示缓冲区 loop2: mov bh,02

lll: mov byte ptr bz,bh push di dec di add di, bz

mov bl,[di] ;bl为要显示的数

pop di

mov al,0 mov dx,io8255a out dx,al mov bh,0

5

延时 mov bh,byte ptr bz shr bh,1 jnz lll mov dx,0ffh mov ah,06 int 21h

je loop2 ;按下则退出 mov dx,io8255a

mov al,0 ;数码管显示 out dx,al

mov ah,4ch ;

int 21h

code ends

end start

有键

关掉

返回

《微机实验及课程设计》实验报告 学号

必做实验3: data segment ioport 的io地址

in al,dx

cmp al,0 ;是否小于0 jl exit ;若是则退出 cmp al,9 ;是否大于9 jg exit ;若是则退出 equ 0d400h-0280h ;tpc卡中设备

io8255a equ ioport+288h ;8255A口地址 io8255b

equ ioport+28bh ;8255控制寄

存器端口地址 io8255c

equ ioport+28ah ;8255C口

地址

led db

3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh data ends

stacks segment stack db 100 dup (?) stacks ends code segment

assume cs:code,ss:stacks,ds:data main proc far start: mov ax,stacks mov ss,ax mov ax,data mov ds,ax

mov dx,io8255b ;设8255为C口输入,A口

输出 mov al,8bh

out dx,al

inout: mov dx,io8255c ;从C口输入一数据

6

mov bx,offset led ;bx的起始地址

xlat ;段码

mov dx,io8255a ;口输出 out dx,al

jmp inout ;exit: mov ah,4ch ;DOS

int 21h

code ends end start

为数码表

求出相应的

从8255的A

转inout

返回

《微机实验及课程设计》实验报告 学号

四.分析与总结

1、8255作为一个并行输入输出接口电路可实现动态和静态的输入输出,在静态实验中,我们通过键盘输入数据,实际上就是用计算机读取键盘的输入值通过8255输出给外设的过程,动态实验中计算机直接读取内存中的数通过8255送到数码管上显示出来

2、8255的A口、B口、C口和控制口的端口地址分别为288H~28BH。编程首先要设置控制字输出到控制口。

4、动态显示时应先从A口输出段码,然后再从C口输出位码,然后应该延时一段时间才能看到数码管的显示。

其中段码需要查表

Led db 3fh,06h,…………71h

位码分别为:左边的数码管xxxxxx10

右边的数码管xxxxxx01

5、动态显示时为了使两个数码管的字符可以同时看到,应注意延时的时间。

7

 

第二篇:东南大学微机第四次实验报告

《微机实验及课程设计》实验报告 学号 22008322 22008325

东南大学

《微机实验及课程设计》

实验报告

实验四(1)

简单输入输出

姓 名: 张希 张耀武 学 号: 专 业: 测控技术与仪器 实 验 室: 计算机硬件技术 实验时间: 20xx年05月06日 报告时间: 20xx年05月09日 评定成绩: 审阅教师: 0

《微机实验及课程设计》实验报告 学号 22008322 22008325

一. 实验目的与内容(概述)

实验目的:

1)进一步掌握TPC实验装置的基本原理和组成结构;

2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况;

3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能和使用。 实验内容:

(1) 按图3.4-1 简单并行输出接口参考电路图连接线路(74LS273 插通用插座,74LS32 用实验台上的“或门”)。74LS273 为八D 触发器,8 个D 输入端分别接数据总线D0~D7,8 个Q 输出端接LED 显示电路L0~L7;

(2) 编程从键盘输入一个字符或数字,将其ASCⅡ码通过这个输出接口输出,根据8 个发光二极管发光情况验证正确性;

(3) 按图3.4-2 简单并行输入接口参考电路图连接电路(74LS244 插通用插座,74LS32 用实验台上的“或门”)。74LS244 为八缓冲器,8 个数据输入端分别接逻辑电平开关输出K0~K7,8 个数据输出端分别接数据总线D0~D7;

(4) 用逻辑电平开关K0~K7 预置一字母的ASCⅡ码,编程输入这个ASCⅡ码,并将其对应字母在屏幕上显示出来。(标准ASCII 码的范围为20H~FFH);

二. 基本实验原理(或基本原理)

1.参考流程图:

东南大学微机第四次实验报告

东南大学微机第四次实验报告

2. 程序简述:

(1)简单并行输出程序

①mov ah,2

mov dl,0dh

int 21h ;------------显示字符的软中断,显示回车符

②mov ah,1

int 21h ;------------输入字符并回显的软中断

③mov dx,ls273

1

《微机实验及课程设计》实验报告 学号 22008322 22008325

out dx,al ;------------从2A8H 输出其ASCII 码

(2)简单并行输入程序

①mov dx,ls244

in al,dx ;------------从LS244 指定端口输入一数据

②mov ah,06

mov dl,0ffh

int 21h ;------------是否有键按下,是直接控制台I/O的软中断

三. 方案实现与测试(或调试)

实验步骤:

(1) 动态调试程序DEBUG/TD 的直接I/O 操作方法(Input)。

① TD 模式下,启动TD(全屏模式),将光标置于代码区右击后可得到代码区局部菜单,选中I/O 选项出现菜单;

② 选择in byte,在编辑菜单中输入所要读入数据的地址,确认后即可得到该地址的数据内容,要读74ls244 的当前输出端的数据,可在编辑菜单中输入:

0B800-280+2A0H

③ 确认后即可得到74LS244 输入端的数据;

东南大学微机第四次实验报告

(2)实验电路中中并行输出接口的地址为2A8H,并行输入接口的地址为2A0H,通过上述并行接口电 路输出数据需要三条指令:

MOV AL, 数据字节

MOV DX, 0B428H ;B400H-280H+2A8H

OUT DX, AL

通过上述并行接口输入数据需要2条指令:

MOV DX, 0B420H ;B400-280H+2A0H

IN AL, DX

2

《微机实验及课程设计》实验报告 学号 22008322 22008325

1、简单并行输出

①按图搭接电路

东南大学微机第四次实验报告

②查看TPC 扩展卡 I/O地址,设计程序。主要算法如下:

start: mov ax,stacks

mov ss,ax

mov ah,2 ;回车符

mov dl,0dh

int 21h

mov ah,1 ;等待键盘输入

int 21h

cmp al,27 ;判断是否为ESC键

je exit ;若是则退出

mov dx,ls273 ;若不是,从2A8H输出其ASCII码

out dx,al

jmp start ;转start

③观察硬件电路,查看LED指示灯亮灭

观察发现,根据输入的字符不同,8位LED灯显示输入字符的ASCII码,实现电路以及代码符合设计要求,设计正确。

2、简单并行输入

①按图搭接电路

3

《微机实验及课程设计》实验报告 学号 22008322 22008325

②查看TPC 扩展卡 I/O地址,设计程序。主要算法如下:

start: mov ax,stacks

mov ss,ax

mov dx,ls244 ;从2A0输入一数据

in al,dx

mov dl,al ;将所读数据保存在DL中

mov ah,02

int 21h

mov dl,0dh ;显示回车符

int 21h

mov dl,0ah ;显示换行符

int 21h

mov ah,06 ;是否有键按下

mov dl,0ffh

int 21h

jnz exit

je start ;若无,则转start

③观察硬件电路,查看LED指示灯亮灭

观察发现,根据开关量的不同,74LS244将不同的电平输入CPU,根据电平,屏幕上显示其转化为的不同ASCII码字符。屏幕的显示与开关相对应,实现电路以及代码符合设计要求,设计正确。

四.分析与总结

通过对实验四第一部分《简单输入输出》的实践操作,我们进一步掌握TPC实验装置的基本原理和组成结构, 熟悉测试检查TPC-PCI总线转接卡地址、I/O地址译码电路的工作原理、动态调试程序直接I/O操作

东南大学微机第四次实验报告

4

《微机实验及课程设计》实验报告 学号 22008322 22008325

方法;掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况;掌握简单并行输入输出接口的工作原理及使用方法, 进一步熟悉掌握输入输出单元的功能和使用,同时也熟悉了对于软件的编写以及配合硬件的使用。

5

相关推荐