收藏 分享(赏)

东南大学微机实验4.doc

上传人:tkhy51908 文档编号:4572796 上传时间:2019-01-02 格式:DOC 页数:7 大小:486KB
下载 相关 举报
东南大学微机实验4.doc_第1页
第1页 / 共7页
东南大学微机实验4.doc_第2页
第2页 / 共7页
东南大学微机实验4.doc_第3页
第3页 / 共7页
东南大学微机实验4.doc_第4页
第4页 / 共7页
东南大学微机实验4.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、微机实验及课程设计实验报告 0东南大学微机实验及课程设计实验报告简单输入输出姓 名: 学 号: 专 业: 自动化 实 验 室: 实验时间: 2014 年 05 月 06 日 报告时间: 2014 年 05 月 12 日评定成绩: 审阅教师: 微机实验及课程设计实验报告 1一. 实验目的与内容(1) 实验目的1) 进一步掌握TPC实验装置的基本原理和组成结构2) 掌握利用I/O指令单步调试检查硬件接口功能,学会用示波器检测I/O指令执行时总线情况3) 掌握简单并行输入输出接口的工作原理和使用方法,进一步熟悉掌握输入输出单元的功能和使用(2) 实验内容4) 连接简单并行输出接口电路,编程从键盘输入

2、一个字符或数字,将其ASCII码通过这个输出接口电路输出,根据8个放光二极管发光情况验证正确性5) 连接简单并行输入接口电路,用逻辑电平开关K0K7预置一字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来6)二. 基本实验原理(1) 简单并行输入输出接口电路连线图输出接口电路 输入接口电路(2) 简单并行输入输出电路原理数据 D0D7 先预存入 273 中,当输出端口 2A8H 和写信号同时低电平时,发生时钟触发,此时将数据运送到输出端 Q1Q8。开关电平预先将所输入信号存入 244 中,同样当端口 2A0H 和读信号同时低电平时,使 244 使能端工作,数据通过 2

3、44 的输出端存入到 D0D7三. 方案实现与测试(1) 按照图搭接好电路,编程从键盘输入字符或数字,将其 ASCII 码通过输出接口输出,根据点阵某一列微机实验及课程设计实验报告 2的发光情况验证正确性。1) 实验电路中并行输出接口的地址为 2A8H,输出数据需要三条指令:MOV AL,8MOV DX,EC28OUT DX,ALDEBUG 中运行如下图所示,则点阵的某一列灯点亮表示的二进制值为 00001000,即为 8。2) 编写程序如下:ioport equ 0ec00h-0280h ;tpc 卡中设备的 io 地址ls273 equ ioport+2a8h ;译码输出端地址 Y5 片选

4、 ls273stacks segment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksmain proc farstart: mov ax, stacksmov ss, axmov ah,2 ;回车符mov dl,0dhint 21hmov ah,1 ;等待键盘输入int 21hcmp al,27 ;判断是否为 ESC 键je exit ;若是则退出mov dx,ls273 ;若不是,从 2A8H 输出其 ASCII 码out dx,aljmp start ;转 startexit: mov ah,4ch

5、;返回 DOS微机实验及课程设计实验报告 3int 21hmain endpcode endsend start若输入字符为 a,则点阵的某一列灯点亮表示的二进制值为 01100001,即为 61,是 a 所对应的ASCII 码。(2) 用逻辑电平开关 K0-K7 预置一字母的 ASCII 码,编程输入这个 ASCII 码,并将其对应字母在屏幕上显示出来。 (标准 ASCII 码的范围为 20H-FFH)1) 判断输入动态调试程序DEBUG/TD 的直接I/O 操作方法(Input)。 TD 模式下,启动TD(全屏模式),将光标置于代码区右击后可得到代码区局部菜单,选中I/O 选项出现菜单;

6、选择in byte,在编辑菜单中输入所要读入数据的地址,确认后即可得到该地址的数据内容,要读74ls244 的当前输出端的数据,可在编辑菜单中输入:0EC00-280+2A0H 或 0EC20H 确认后即可得到74LS244 输入端的数据,结果如下图所示2) 实验电路中并行输入接口的地址是 2A0H,通过上述并行接口输入数据需要 2 条指令:MOV DX,EC20IN AL,DXDEBUG 中运行如下图所示,执行完这两条语句过后开关代表的数字 08 被存入 AL。微机实验及课程设计实验报告 43) 编写程序让其显示开关电平所输入的 ASCII 码对应的数据值编写程序如下:ioport equ

7、0EC00h-0280h ;tpc 卡中设备的 io 地址ls244 equ ioport+2a0h ;译码地址 Y4 片选 ls244stacks segment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksmain proc farstart: mov ax,stacksmov ss,axmov dx,ls244 ;从 2A0 输入一数据in al,dxmov dl,al ;将所读数据保存在 DL 中mov ah,02int 21hmov dl,0dh ;显示回车符int 21hmov dl,0ah ;

8、显示换行符int 21hmov ah,06 ;是否有键按下mov dl,0ffhint 21hjnz exitje start ;若无 ,则转 startexit: mov ah,4ch ;返回 DOSint 21h微机实验及课程设计实验报告 5main endpcode endsend start如图所示,开关对应的二进制输入信号为 01001000,即为 48,此时屏幕显示字符 H。符合程序设计要求。4选做实验内容:(1) 利用基本实验(1)中输出锁存电路将 L0L7 制成流水灯,流水方向由键盘控制,可随时切换,流水间隔时间也由键盘控制设计思路:选择两个按键如“1” “2”分别控制流水灯的

9、方向,至于控制流水间隔,我的想法是通过按一次键灯移位一次,这样由两个键控制了流水灯的方向和间隔,具体程序在之前的输出地程序中进行改动编写程序:ioport equ 0b800h-0280h ;tpc 卡中设备的 io 地址ls273 equ ioport+2a8h ;译码输出端地址 Y5 片选 ls273stacks segment stackdb 100 dup (?)stacks endscode segmentassume cs:code,ss:stacksmain proc farstart: mov ax, stacksmov ss, axmov ah,2 ;回车符mov dl,0d

10、hint 21h微机实验及课程设计实验报告 6mov ah,1 ;等待键盘输入int 21hcmp al,27 ;判断是否为 ESC 键je exit ;若是则退出mov dx,ls273 ;若不是,从 2A8H 输出其 ASCII 码out dx,aljmp start ;转 startexit: mov ah,4ch ;返回 DOSint 21hmain endpcode endsend start五分析与总结本次实验熟悉了并行输入输出电路,学会了用 TD 和 DEBUG 对 I/O 进行直接操作的方法,也通过编程实现实验要求加深了对于 I/O 操作的理解 。做输出实验时,按 ESC 键不

11、退出,我们把 CMP AL,27 改为了 CMP AL,32。希望程序在按下数字键 2 的时候退出,结果按了 2 还是不退出,在老师的指导下,通过单步调试发现,按下 2 键,AL 变为 32,但是比较的那一行代码不是 CMP AL,32 了,而是 CMP AL,20经过研究,在 debug 下和 TD 中直接输入代码mov al,32cmp al,32运行以后 ZF 等于 1,即此时默认 32 都是十六进制数,但是假如像下图一样在记事本中写好这样的代码,通过编译链接,在 TD 打开可以看到代码的第二行变成了 CMP AL,20,也就是说明这时候的 32 被当成 10 进制数来处理了。因此我们在源代码中改写成 32H,这样按下数字键 2 就可以退出程序了。输入实验完成比较顺利。总之,通过这部分的实践操作,我进一步掌握了 TPC 实验装置的基本原理和组成结构 , 熟悉测试检查 TPC-PCI 总线转接卡地址、I/O 地址译码电路的工作原理、动态调试程序直接 I/O 操作方法;掌握利用I/O 指令单步调试检查硬件接口功能,学会利用示波器检测 I/O 指令执行时总线情况;掌握简单并行输入输出接口的工作原理及使用方法, 进一步熟悉掌握输入输出单元的功能和使用,同时也熟悉了对于软件的编写以及配合硬件的使用。收获很大

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

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报