浅谈如何完善I/O接口实验

时间:2022-09-17 09:25:07

浅谈如何完善I/O接口实验

摘 要 微机原理与接口技术的实验教学是该课程教学中的重点环节。I/O接口实验承前启后,要获得良好的教学效果有一定难度。本文在实际教学的基础上,总结了好的教学经验,对如何完善实验内容及方法进行了一定探索。

关键词 I/O接口 实验教学 霓虹灯

中图分类号:G642文献标识码:A

0 前言

在微机原理与接口技术这门课的教学中,I/O接口一章起到了承前启后的作用。在前面的章节中介绍了Intel微处理器的结构、汇编语言程序设计,在后续章节中将介绍中断系统、定时器/计数器芯片、并行I/O接口、数模转换接口等。①学生在学习汇编语言的过程中,经常会把汇编语言同其他高级语言(例如C语言)加以比较,觉得汇编语言在解决同类问题上繁琐复杂、难以学习,无法直观地理解汇编语言的优点。而后续学习8259、8237、8253、8255等芯片时,都要用到汇编语言。I/O接口实验内容简单,程序很简短,远比利用汇编语言解决纯软件的问题容易得多,学生可以更好地理解汇编语言的优势。②从实验教学的角度说,之前完成的汇编语言编程,侧重于对语言本身规则的熟悉与使用,并不涉及对硬件的编程,在任何一台计算机上都可以完成实验。而I/O接口实验是学生第一个涉及硬件芯片的编程,要使用到开关,LED灯等简单外设,实验还可以体现出存储器地址译码等知识点的应用。可以说实验本身很简单,但涉及的知识的应用却很丰富,要求学生真正理解软硬件之间的关系。因此做好这项实验很重要。如果只是单纯完成验证性实验,往往达不到实验的预期目的,也很难引起学生的学习兴趣,所以应该对这项实验进行进一步完善。

1 基本实验

笔者所在学校采用DJ系列8086/8088微机实验开发系统。验证性实验内容为利用74LS244作为输入口,读取开关状态,并将此状态通过74LS273再驱动发光二极管显示出来。③实验接线图如图1所示:

开关作为输入设备接缓冲器74LS244,LED灯作为输出设备连接锁存器74LS273。缓冲器、锁存器作为接口,其地址由74LS138译码器产生,分别是FF80H、FF90H。实验程序如下:

实验中,AL某位为0,对应LED灯亮;AL某位为1,对应LED灯不亮。该实验可要求学生思考以下几个问题:能否用74LS244连接LED灯,用74LS273连接开关?接口地址在编程中如何体现的?程序最后为什么要有一条无条件转移语句?

通过基本实验,学生对接口编程有了一个直观的了解,也认识到汇编语言在解决硬件类问题的方便。由于实验本身内容简单,学生的学习兴趣难以持续较长时间。

图1 简单I/O口扩展实验接线图

2 拓展实验

城市里每到夜晚,五光十色的霓虹灯构成了一种亮丽的风景。利用现有设备,可以将I/O接口实验与霓虹灯效果制作结合起来。教师可以介绍几种基本的霓虹效果制作,然后由学生自由发挥,制作自己喜欢的霓虹效果。

2.1 利用一个开关控制8个LED灯亮灭

在制作霓虹灯效果之前,可做此准备实验,加强学生对软硬件结合的理解,熟悉查询式传送的使用。硬件连线可以同基本实验。首先,需要学生加强理解的是LED灯的状态直接取决于从输出接口写出的AL值。一个开关控制8个灯意味着输出AL的值只有两个选择:00H(全0)、FFH(全1)。其次,基本实验中一个开关对应一个LED灯,采用的是无条件传送方式。本实验只用一个开关,应采用软件查询式传送。实验程序修改如下:

具体采用哪一个开关控制,是可以调整的,可要求学生加以变化。

2.2 单灯闪烁效果制作

一种最基本的霓虹效果即单灯闪烁效果。硬件连线类似于基本实验,可以不采用输入接口,即霓虹效果完全由程序控制。本实验涉及到一个新的知识点――软件延时。所谓灯的闪烁,即灯亮一段时间,灭一段时间,循环往复。其中的一段时间如何控制?由于在学习I/O接口一章时,尚未介绍到硬件定时芯片8253,因此本实验只适用软件来控制延时。其原理也很简单,利用循环执行一些不影响程序最终结果的指令来消耗时间,从而达到延时目的。灯的闪烁也就是AL对应位在0和1之间跳变。实验程序修改如下:

软件延时的长短可在实验过程逐步调整。如果闪烁时间间隔过长,可减小CX的值;如果闪烁时间间隔过段,可在LOOP循环体中增加语句,如INCBX,DECBX等。建议时间间隔不要过短,容易影响灯丝使用寿命。

2.3 单灯循环移动闪烁效果制作

单灯循环移动闪烁也是一种简单霓虹效果。硬件连线同上。与上述实验的区别在于具体实现这种变化的指令是移位指令,类似于接力赛跑,在8个LED灯之间传递0状态(灯亮)。实验程序修改如下:

可让学生思考尝试,采用普通移位指令会是什么结果;如果要实现多灯移动闪烁,程序又该如何修改。

通过介绍以上几个例子,学生将对如何实现霓虹效果有了一个直观认识。总结一句话就是改变AL值,输出,延时。不同的霓虹效果,主要取决于对AL的变化。可以让学生自行设计想要的霓虹效果。指导学生实验时,为提高实验作用,注意要求学生先考虑好想要实现的效果,编程运行调试,根据调试结果修改程序以达到预期目的。要求学生对调试中出现的错误或非预期效果,要思考原因,不要胡乱写一个程序,无任何预期目的,直接将运行结果作为最终结果。

3 总结

通过近三年的实际教学,I/O接口实验完善前后,学生的学习兴趣完全不同。之前只做基本实验,学生学习兴趣不浓,觉得不好玩,没有参与感。改善后的拓展实验,很多学生都积极设计属于自己的霓虹效果,形成一种有益的竞争,争取做出更有趣、更复杂的效果,如多灯跳变,多种霓虹效果按一定顺序实现、通过开关控制霓虹的始终等。教学相长,学生的创新也给教师带来很多新思路。实验中所用软件延时还可以与后续章节中硬件延时形成呼应。本文介绍的对实验的完善,主要是与生活中的实际应用相结合,提高学生的参与感和积极性,可按照此思路继续完善各章节的实验。

注释

① 赵树升,赵雪梅.现代微机原理及接口技术[M].北京:清华大学出版社,2008.

② 周荷琴,吴秀清.微型计算机原理与接口技术(第三版)[M].合肥:中国科技大学出版社,2004.

③ 启东市东疆计算机有限公司 DJ系列8086/88实验指导书.

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:基于Labwindow/CVI的水温测试系统研究与实现 下一篇:广告设计与制作课程项目式教学探析