1、微机原理汇编实验四微机原理与接口技术课程实验报告实验名称:_ 地址译码电路设计实验 _ _ _姓名: 应旻婕 学号: 1452536 同组: 邓修齐 实验日期: 2016年11月15日 一、实验目的(1) 学习3-8 译码器在接口电路中的应用。(2) 掌握地址译码电路的一般设计方法。二、实验器材PC 微机一台、TD-PIT+ 实验系统一套。三、实验内容用74LS138 译码器设计地址译码电路,并用其输出作为基本输入输出微机接口电路中,常采用74LS138 译码器来实现I/O 端口或存储器的地址译码。74LS138 有3 个输入引脚、3 个控制引脚及8 个输出引脚,其管脚信号如图6 所示。当3
2、个控制信号有效时,相应于输入信号A、B、C状态的那个输出端为低电平,该信号即可作为片选信号。32 位扩展系统总线上有一个IOM/信号,该信号为低电平时指示当前操作为I/O 操作,为高电平指示当前操作为存储器操作,它和译码器不同的连接可以用来区分是I/O 端口译码还是存储器端口译码。32 位总线地址是由A2 开始,所以地址是以4 字节边界对齐的。实验系统的I/O 地址空间共有256 字节,偏移地址一般从00HFFH。起始地址由PC 机系统分配,可以用CHECK 程序读出。所以设计地址译码电路,主要是针对低8 位地址线译码,得到偏移在00HFFH 之间的端口。本实验要求不使用总线上的片选信号,自行
3、设计端口偏移地址分别为C0HDFH 和E0HFFH 的译码电路,然后用译码输出作为基本输入输出单元的片选。编写程序,完成I/O 数据操作。四、实验方案(简要总结)基础实验:(1) 确认从 PC 机引出的两根扁平电缆已经连接在实验台上。 机引出的两根扁平电缆已经连接在实验台上。(2) 按图所示连接实验线路。(3) 首先运行 CHECK查看 I/O I/O端口始地址。(4) 利用设计好的端口、地址编写程序,然后译链接。(5) 运行程序,拨动开关观看数据灯显示是否正确。拓展实验: 修改相关地址,重复试验,观察现象五、实验结果及体会1、实验结果基础实验1)根据实验指导书连线如图所示:2)进入tddeb
4、ug,获取得到各I/O端口端口号如图所示3)输入汇编语言代码如图所示:4)编译、连接文件后,运行程序结果如图所示结果:开关K0-K7分别与LED灯D0-D7相对应,打开/闭合开关K7-K0,对应的LED小灯D7-D0也依次点亮/熄灭。结论:学习并掌握了静态存储器操作原理。学习了32 位总线存储器接口电路设计。掌握不同总线字节宽度访问存储器的编程方法。分析:试验中PUSH,POP,CALL,INT等指令都会用到栈,必须为它们分配合适空间。该程序的功能是通过不断地读开关的状态并输出到LED灯实现对灯的控制。拓展实验连线图不变经过计算后得出结果,将程序代码中的0e0h替换为0a0h 输入汇编语言代码
5、如图所示:编译、连接文件后,运行程序结果如图所示结果:开关K0-K7分别与LED灯D0-D7相对应,打开/闭合开关K7-K0,对应的LED小灯D7-D0也依次点亮/熄灭。结论:学习并掌握了静态存储器操作原理。学习了32 位总线存储器接口电路设计。掌握不同总线字节宽度访问存储器的编程方法。分析:观察到的现象和基础实验完全相同,但本质上有区别,要深入探究其中原理。2.实验心得本次实验不难,但需要一颗细致的心。连接电路是一个细致的活,经过几次检测线路,才发现线路问题,经过重新连接电路,得到预期效果。在做地址译码电路设计实验前,我以为不会难做,就像以前做物理实验一样,做完实验,然后两下子就将实验报告做
6、完。直到做完实验时,我才知道其实并不容易做,但学到的知识与难度成正比,使我受益匪浅。通过这个实验,我学习了汇编语言,掌握了汇编语言的基本语法和编程,同时我掌握了在PC机上不同进制数及编码相互转换的程序设计方法,部分DOS功能调用使用方法,并且熟悉了Tddebug调试环境和对Turbo Debugger的使用。 这次的实验,我学到了不少实用的知识,更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我受益匪浅。六、实验程序清单1.基础实验代码;地址译码电路设计实验;*根据查看端口资源修改下列符号值*;IOY0 EQU 0DC00H ;片选IOY0对应的端口起始地址Y7 EQ
7、U IOY0+0E0H ;译码电路输出Y7对应的端口地址STACK SEGMENT STACKDW 256(?)STACK1 ENDSDATA1 SEGMENTMES DB Press any key to exit!,0AH,0DH,0AH,0DH,$DATA1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA1START:MOV AX,DATA1MOV DS,AXMOV DX,OFFSET MES ;显示退出提示MOV AH,09HINT 21HAL:MOV DX,Y7 ;读写片选接Y7端口IN AL,DXOUT DX,ALMOV AH,1 ;判断是否有按键按下
8、INT 16H JZ A1 ;无按键则跳回继续循环,有则退出QUIT: ;结束程序退出MOV AX,4c00hINT 21HCODE ENDSEND START2.拓展实验代码;地址译码电路设计实验;*根据查看端口资源修改下列符号值*;IOY0 EQU 0DC00H ;片选IOY0对应的端口起始地址Y7 EQU IOY0+0A0H ;译码电路输出Y7对应的端口地址STACK SEGMENT STACKDW 256(?)STACK1 ENDSDATA1 SEGMENTMES DB Press any key to exit!,0AH,0DH,0AH,0DH,$DATA1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA1START:MOV AX,DATA1MOV DS,AXMOV DX,OFFSET MES ;显示退出提示MOV AH,09HINT 21HAL:MOV DX,Y7 ;读写片选接Y7端口IN AL,DXOUT DX,ALMOV AH,1 ;判断是否有按键按下INT 16H JZ A1 ;无按键则跳回继续循环,有则退出QUIT: ;结束程序退出MOV AX,4c00hINT 21HCODE ENDSEND START
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1