《微机实验及课程设计》实验报告 学号
东南大学
《微机实验及课程设计》
实验报告
实验六 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
高等数学数学实验报告实验人员院系学号姓名实验地点计算机中心机房实验一一实验题目设数列xn由下列递推关系式给出x观察数列1x111x…
高等数学A下册数学实验实验报告姓名刘川学号02A13306实验一空间曲线与曲面的绘制实验题目利用参数方程作图作出由下列曲面所围成的…
东南大学数学建模实验报告学号姓名成绩一实验名称中国近30年的人口马尔萨斯模型一实验目的1掌握matlab绘制拟合图的方法2掌握马尔…
高等数学数学实验报告实验人员院系计算机学号姓名成绩实验时间20xx年12月25日9001130实验一观察数列的极限一实验题目一1n…
高等数学数学实验报告实验人员院系电子学号姓名成绩实验一一实验题目观察级数n1nnn的部分和序列的变化趋势并求和二实验目的和意义学会…
虚拟仪器技术实验报告实验二利用DAQmx创建测量任务学生姓名学号日期20xx4一实验项目名称利用DAQmx创建测量任务二预习要求熟…
交流电桥交流电桥与直流电桥相似,也是由四个桥臂组成,但组成桥臂的元件不单是电阻,还可包括电容、电感、互感以及它们的组合。由于交流电…
激光增益的测量一实验目的1掌握用腔内损耗法测量激光参数的原理和方法2根据自动测试系统测得的曲线取适当的数据编写程序利用计算机进行计…
东南大学自动控制原理实验报告实验名称实验四系统频率特性的测试院系专业姓名学号实验室416实验组别同组人员实验时间评定成绩审阅教师1…
物理演示实验报告院系土木工程学院学号05110540姓名顾红楼在这个学期的第七周的周六上午我们在老师的安排下去观看一些具有代表性的…