微机接口技术【Proteus在微机接口技术教学中的应用研究】

Proteus在微机接口技术教学中的应用研究

Proteus在微机接口技术教学中的应用研究 一、引言 微机原理与接口技术是自动化、电子、电信、计算机等 专业的学科基础课。大部分的本科教材皆以80x86CPU为核心, 介绍微处理器的内部结构和指令系统、存储器组织、常用接 口芯片等,培养学生计算机硬件和软件应用的能力,因此, 软硬件结合是本课程的一个重要特点,学生必须通过实践环 节加深和提高对课程内容的理解,最终达到能够利用外围芯 片设计开发小规模计算机应用系统的目的。

从教学的情况看,这门课程既难教又难学,教学效果普 遍不太理想,在以往讲授汇编语言程序设计时,教师可以用 汇编软件进行程序的调试和演示,让学生理解汇编程序的执 行过程和运行原理,激发学生的学习兴趣;但对于接口技术 方面的内容,则只有在实验课实验箱上来操作验证,导致课 堂讲授枯燥难懂,学生学习热情不高。直到Proteus仿真软 件的出现,为微机原理及单片机这类软硬件结合课程的学习, 打开了另一扇窗口,使学生能够在离开实验室以后,也能随 时随地进行接口电路程序设计仿真。Proteus很好地克服了 硬件实验箱结构固定、资源有限的缺点,给学生更多实践和 锻炼的机会,让他们能够在掌握各接口芯片使用方法的基础 上,设计开发各种应用系统,培养了整机概念、创新思维以及软硬件开发的综合能力。[1]借助于Proteus仿真软件,教 师可以在授课中随时讲解知识点,随时连接硬件,并进行调 试讲演,学生形象地观察并深刻地理解每一步软件和硬件之 间的内在关系。[2] 文献[3][4][5]介绍了Proteus仿真技术对微机原理理 论与实验教学的改进,在Proteus上开发了相应的实验仿真 平台,学生可以使用仿真平台实现对8255、8253、8251等接 口芯片的编程和调试,仿真平台虽然功能完善但比较复杂, 学生一方面需要花较多的时间去熟悉仿真平台的使用,另一 方面又难以根据自己的需求进行创新。学生依然停留在单个 芯片的学习上,在微处理器系统整机开发能力的培养上还存 在欠缺,本文提出以Proteus自带的8086 Demo Board为导向, 采用任务驱动方法,拓展微机接口技术教学,培养学生创新 思维和学科素养,提高微机系统的设计和开发综合能力。

二、以8086 Demo Board为导向的教学设计 (一)8086 Demo Board介绍 2009年,Labcenter公司推出了VSM for 8086平台,支 持8086微处理器与8255A、8253、8259、8251等接口芯片的 系统仿真。用户安装了Proteus后,在其安装目录SAMPLES\VSM for 8086\8086 Demo Board下面有如图1所示的模板文 件,该模板文件已设计有相对完整的微处理器系统,将微机 原理课程的核心芯片、地址锁存与译码等微机系统知识囊括 在了一起,包括8086CPU、地址锁存模块、地址译码模块、 8255A应用电路、8253应用电路、8251应用电路。

(二)8086 Demo Board的案例教学设计 传统的微机接口技术教材,一般会按照接口芯片的内部 结构、引脚特性、控制字设置、初始化编程、应用实例这一 循序渐进的教学思路进行介绍,但是在大多数的教材里,各 接口芯片的应用是相互独立的,彼此之前毫无关系,同学们 学完后,只能大致明白这些接口芯片的使用方法,但是建立 不起整机的概念,印象也不深刻。8086 Demo Board为学生 提供了一个很好的学习模板,由这个电路出发,可引导学生 做如下思考:“这些芯片与CPU之间是怎么通信的?”、“我 能用这些芯片来做什么?”、“多芯片构成的微处理器系统 是怎么设计的?”、“如何访问每个芯片?”、“如何设计 自己的微处理器系统?”……诸如此类,进行从点到面,由 浅入深的学习,从单个芯片的学习上升到系统的学习,目的 是让学生进一步加深对所学知识的理解与应用,将已学过的 知识串在一起形成体系。在此案例的教学过程中,要让学生认知以下三方面的内容:
1.接口芯片与CPU的连接。分析地址总线、数据总线、 控制总线的连接方法,理解8086地址 / 数据复用总线的使 用方法和总线时序,从而真正明白地址锁存器的作用。

2.接口芯片片选电路的设计。在芯片较多的微处理器系 统中,必须为每个芯片分配地址,需要设计相应的地址译码 电路对各芯片片选端进行有效控制,分析图1所示各芯片的 地址范围,再引导学生思考“如果用我们所熟悉的74138(3-8 译码器)能否实现同样功能的电路”。

3.接口芯片的应用和编程。需要学生掌握常用I / O外 设的基本使用方法和电路设计,例如独立按键、矩阵按键、 二极管、数码管等,能够根据系统要求进行编程和控制。

三、任务驱动法进行微机接口技术拓展教学 (一)任务驱动法简介 任务驱动教学法是一种通过建立特定任务来驱动学生 自主学习的教学方法。它转变以往只重视知识的传授,以完 成一个任务来驱动学生进行自主学习,使学生带着特定的目 的去解决问题,进而调动学生的自主学习的积极性,提高学 生的自学能力、创新精神和合作意识。任务驱动教学法的本 质就是要充分发挥学习者的主观能动性,以学生为主体、教 师为主导、任务为主线,让学生就一个明确的任务为中心,在特定的一系列问题的驱动下,通过对学习过的知识进行总 结及应用,在完成已有任务的同时使学生逐步养成一种主动 学习的习惯。[6] (二)任务驱动法的实施 当学生已完全理解图1所示电路的设计后,可采用任务 驱动法,进一步培养学生的动手能力和创新意识。

任务驱动法的具体实施过程可参照图2所示。

1.教师的工作 教师的主要工作是引导。首先要根据所教学生的特点和 能力提出合理可行的任务,笔者所在班级的大三学生专业课 较多,学习时间很紧,8086 Demo Board的使用有效解决了 学生能力不足或者学时紧张的问题,笔者布置的任务就是在 8086 Demo Board上直接进行创新,要求给芯片重新设计片 选译码电路,同时所设计的微处理器系统能最大限度地使用 多个芯片实现。学生根据任务要求提出方案,教师接着对学 生所提方案进行评估和审核,对学生电路设计和程序设计过 程中遇到的问题进行指导。最后安排答辩对所有作品采取民 主评价的方法,让所有学生参与到学习过程。

2.学生的工作 本着互助互学的原则自由组建3~5人的团队,查资料进 行方案设计,根据教师的意见不断完善方案,确定使用的接 口芯片及其地址,所用外设及外设驱动电路;在8086 Demo Board基础上进行总体电路设计,编写程序调试电路,最后在全班同学面前展示团队的作品并接受其他学生的质询和 教师的点评。这样将学生置身于一项真实的“任务”之中, 变“学”为“做”,在“做中学”,通过学生“做”的主动 探究,锻炼他们的学思结合、独立思考、自由探索、勇于创 新的精神,培养他们的团队意识、动手能力和解决问题的能 力。

3.实施效果 任务布置下去以后,学生的学习积极性和主动性得到极 大提高,利用各接口芯片设计出了花样流水、步进电机控制、 交通灯控制、简易计算器、点阵花样控制等作品,其中也不 乏让人眼前一亮的创新作品,虽然电路规划编程技巧上还有 待提高,但是对于只是两周时间的团队作业而言已经不易。

图3为其中一个团队的设计作品,利用8255和8253芯片实现 的电子琴,电路设计有两个功能:功能一是用8个按键当作 电子琴的8个音阶输入——1、2、3、4、5、6、7、1,通过 8253输出一定频率的脉冲信号驱动喇叭发出对应音阶的声 音;功能二是音乐播放器功能。电路是在8086 Demo Board上 改进后得到的,利用74LS138译码器重新设计了片选译码控 制电路,设定8255A端口地址为:800H~806H;8253的端口地 址为:400H~406H。在答辩过程中,该团队的同学对电子琴 的发音原理、电路的设计方法、控制程序的设计思路给同学 们做了详细介绍和交流。

任务驱动法使课堂教学由传统的教师为主的讲授变成了学生为主的自主学习模式,学生通过主动参与、自主合作、 探索创新完成了既定的教学目标。

四、教学设计中需要注意的几个问题 (一)任务的大小 任务的大小取决于教学的目标和学生的实际能力。一味 追求大而全,教师的出发点是好,但是大部分学生并不一定 能做到,鼓励少部分动手能力强学习能力强的同学进行更好 的创新完成更复杂的任务,但也要从绝大多数同学的实际情 况出发,在没有额外加重其学业负担的情况下能保证他们顺 利完成任务,这样才不会适得其反的打击他们的积极性和自 信心。例如本次的教学改革,如果不是以8086 Demo Board 为平台去定义任务,笔者所在班级的学生很多可能会直接从 网上下载电路,而不是自己去改进电路,这样反而失去了初 衷。

(二)作品的复杂度 作品不是越复杂就越好,有些同学在一开始做方案设计 时,为了拿到更好的分数,规划的系统功能非常多,教师在 此时应该要谨慎提醒其后续电路的复杂程度和程序的可行 性,能否在规定时间内完成正常运行的作品,有些团队就是 因为一开始设计的过于复杂,在程序设计过程中遇到了巨大 阻碍,最终只能提交一个半成品。汇编编程不同于C程序编 程,要考虑的问题太多,完成同样任务的汇编比C语言要复 杂很多。任务驱动下的作品设计应该强调功能刚好够用,作品能够清晰表达设计意图,程序能够自行设计。目前互联网 上可参考借鉴的电路和程序非常多,如何成为自己的东西需 要进行适当挑选和整合,最终消化成功的东西才是真正属于 自己的,否则都是别人的。

(三)作品的展示与点评 作品的课堂展示与点评环节非常重要,要善加应用。学 生花了心血和努力完成的作品教师应该给予足够尊重,教师 的评价可能是主观和片面的,学生互评能够让学生真正从头 到尾作为主体参与到学习中。作品展示环节要求全体队员走 上讲台,既锻炼了学生的语言表达能力,又培养了学生的自 信力,台下学生以团队为单位给其他团队实名打分,并可以 点名要求其中某个队员回答质询,从而避免某些团队成员 “打酱油,不干活”的情形。从实施效果看,作品展示点评 是整个微机原理教学过程中学生反应最热烈,思维最敏捷, 学生参与度最高的课堂教学。教师只需要在最后进行总结与 点评,提出作品的亮点,指出不足与改进建议,为学生们的 下一步学习指引方向。

五、总结 经实践证明,以Proteus 8086 Demo Board为导向的案 例教学,以及在其上进行的任务驱动法的创新实践,能让学 生在较短时间内设计出较大规模的微处理器系统,极大激发 了学生的学习兴趣、增强了学生创新意识,培养了整机概念, 提高了学生的自主能力和解决问题的能力,促进理论和应用的结合,取得了较好的教学效果。该教学方法具有一定的参 考价值和借鉴意义,可同样用于基于Proteus的单片机教学 设计中。

[ 参 考 文 献 ] [1] 陈越,顾晖,梁惺彦.PROTEUS虚拟仿真在微机原理 教学中的应用[J].电子技术应用,2012(1):106-108. [2] 陈军.Proteus仿真技术与微机原理及接口技术教学 整合的实践研究[J].自动化与仪器仪表,2013(4):216-217. [3] 高林.PROTEUS软件对“微机原理”课程教学的改进 [J].电气电子教学学报,2013(6):113-115. [4] 卿腾.基于PROTEUS的微机原理教学研究[J].电脑知 识与技术,2015(11):218-220. [5] 田社平,俞水锋,方向忠,等.Proteus在微机原理 课程教学中的应用[J].电气电子教学学报,2011(5):70-72. [6] 郭博,牛磊,王峰.任务驱动在微机原理实验教学 中的应用[J].韶关学院学报,2015(2):84-86.大学教育