APP下载

浅析案例教学法在可编程并行接口8255A教学中的应用

2015-09-18谢方方谢志英韩月霞军械工程学院信息工程系石家庄050003

现代计算机 2015年15期
关键词:数码管按键芯片

谢方方,张 英,谢志英,陈 静,韩月霞(军械工程学院信息工程系,石家庄050003)

浅析案例教学法在可编程并行接口8255A教学中的应用

谢方方,张英,谢志英,陈静,韩月霞
(军械工程学院信息工程系,石家庄050003)

针对传统模式下可编程并行接口8255A教学的不足之处,引进案例教学法。将8255A的理论知识点穿插进案例的硬件电路和软件编程设计中,并通过虚拟仿真环境Proteus和实验箱在课堂上对案例进行验证,引导学生深度参与课堂教学,提高学生的学习兴趣,培养学生的工程实践能力。

案例教学法;8255A;工程实践能力

基于旁路攻击的硬件木马检测研究(No.61271152)、流水线延迟电磁旁路分析新方法研究(No.51377170)

0 引言

《计算机硬件技术基础》是面向我院通信电子类学生开设的科学文化必修课,是一门在理论指导下偏重于实际应用的课程,课程目标是培养学生计算机硬件的分析和设计能力。主要讲授计算机的基本构成、汇编语言程序设计、存储器设计及常用接口芯片使用等内容,由于课程与工程实践联系紧密,因此课程偏后部分内容即常用接口芯片的学习显得尤为重要。

8255A作为Intel系列微处理器的配套接口芯片之一,可为86系列CPU与外设之间提供并行的输入输出通道。通过该芯片的学习,可帮助学生理解并掌握CPU和外设并行通信时的基本硬件电路连接方式和程序控制流程,为今后快速掌握和使用其他接口芯片打下基础[1]。

在传统教学模式下,可编程并行接口8255A的讲授依照“基本功能、引脚分布、内部结构、工作原理、控制字和工作方式”的顺序展开,在控制字和工作方式部分列举简单实例说明用法。对于不具备工程实践经验的初学者而言,这种类似芯片手册展开的教学顺序不能激发他们的学习热情,往往造成“教师讲完了、学生仍然不懂”的状况发生。为了改善现有的教学情形,将案例教学法引入8255A章节部分的知识讲解中[2],通过科研中实际的案例串联8255A相关的理论知识点,并通过虚拟仿真环境Proteus[3]和实验箱在课堂上完成案例的设计和验证,引导学生深度参与课堂教学,提高学生的学习兴趣,培养学生的工程实践能力。

1 课堂设计

1.1紧贴工程设备,引出8 2 5 5 A

可编程并行接口8255A虽然是随着8086/8088处理器诞生的老芯片,但是8255A作为一款经典芯片,其结构设计的合理性、应用领域的广泛性仍然值得大家学习,因此现有很多I/O接口板上的并行接口电路都是借鉴8255A的设计理念。例如,一些故障检测设备上所采用的PCI-7396接口板,其作用主要是负责多个故障点的状态监测、故障点指示灯的显示控制以及故障点在上位机屏幕上的位置显示控制。该接口板所实现的就是4片可编程外围并行接口芯片的功能,也就是课程中需要讲解的8255A,它主要利用了8255A具有多个并行接口的结构特点。

1.2设计综合案例,串联理论知识点

为了能够更好地讲解8255A的理论知识,选择部分实现PCI-7396的功能,以一片8255A为核心模拟故障检测设备上的8个故障点设计综合性的教学案例展开教学。为了完成案例的设计,首先需要考虑两个问题:

(1)故障点的一般状态有几个

(2)采用什么元器件模拟故障点、故障点的指示灯和故障点在上位机上的位置显示

由于故障点一般有两种状态:正在检测和尚未检测,因此可以选择具有二值状态的元器件,例如按键开关,模拟具有两种状态的故障点:按键按下对应正在检测的故障点、按键松开对应尚未检测的故障点;对于故障点的指示灯,可以选择常用的发光二极管进行模拟;采用1位的共阴极数码管显示按键值,从而模拟故障点在上位机上的位置显示。

由于案例中需要模拟的对象为8个故障点,因此需要8个按键开关、8个发光二极管以及能够显示0到7这8个数字的一位共阴数码管;另外任何外部设备的控制实质上是在主控器的控制下完成,而课程是以8086为主线展开,因此需要一片8086作为主控器;但高速的8086和低速的开关等外设之间由于速度接口等不匹配的原因不能直接通信,因此需要可编程并行接口芯片8255A在它们之间架起一座通信的桥梁,元件清单如图1所示。

图1 元件清单

基于这些元件,案例所要完成的功能是当8个按键开关中某个被按下后,数码管显示该按键的键值,并且对应的发光二极管被点亮。根据工程实践经验,要实现以上功能应该从两方面进行设计:硬件电路设计和软件编程设计。首先应该考虑根据所选元件如何搭建硬件电路,保证元件之间的正确连接,然后在此基础上运用汇编语言编写程序实现案例所要求的功能。

(1)硬件电路设计

要完成这部分的设计,应该首先理清谁与谁相连的问题。由于8255A是8086和3种外设即按键、数码管及发光二极管之间的通信桥梁,因此硬件电路的连接问题也就可以分解为:问题1:8255A与主控器8086的连接和问题2:8255A与3种外设之间的连接。在此讲解8255A与8086和外设连接时相关的信号引脚功能及分布、内部结构、端口选择等知识点,将理论知识点串联进电路搭建的过程中。

针对问题1,可以联系课程前述章节中有关8086引脚分布的知识点进一步将问题分解为8255A与8086三组总线(控制总线、数据总线和地址总线)的连接问题。8086与8255A相关的控制总线只有3根:读信号、写信号和复位信号,这3根信号由8086发出与8255A相应的3根信号引脚直接相连即可。对于数据总线,8086与8255A存在数量上不完全匹配的问题:8086有16根数据线,可分为高8位和低8位两部分,而8255A只有8根,因此需要考虑8255A的8根数据总线与8086的高8位相连还是低8位相连的问题。这部分内容与课程前述章节中8086的奇偶存储体知识点相关,相应的对应关系如下。

偶地址存储体<----->低8位数据总线

奇地址存储体<----->高8位数据总线

因此如果选择低8位数据总线需要保证8086的20根地址总线上出现的地址组合为偶数,否则为奇数。设计时可以考虑将地址信号的最低位A0悬空。由于8255A内部有四个寄存器:A口、B口、C口以及控制口,要完成对这四个口正确选择,需要8086发出信号给8255A的端口选择信号A1A0,因此剩余的19根地址线可选择两根作为8255A的端口选择信号线,其他的地址线经地址译码器译码后产生片选信号与8255A的片选端相连,具体的硬件电路连接如图2所示。

图2 8255A与8086的硬件电路连接

针对问题2,根据问题1解决过程中引入的8255A的理论知识,可以得知8255A具有3个对外的数据口A口、B口及C口,能够与外部设备相连,因此可以将问题2分解为3个数据口与3种外部设备按键、数码管及发光二极管相连的问题。根据3种元件的特点,将8个按键与A口相连、1位数码管与B口相连、8个发光二极管与C口相连,在电路连接的过程中,需要注意上拉电阻、限流电阻的使用,具体连接方式如图3所示。

图3 8255A与外设的硬件电路连接

通过硬件电路设计这部分内容的逐层展开,融入了8255A的功能、引脚分布、内部结构等理论知识点,以案例为基础提高了学生的学习兴趣[4],促进了学生对于这部分理论知识的深入把握。

(2)软件编程设计

完成硬件电路的搭建工作后,案例的功能并不能实现,还需要进行软件编程的设计工作。要完成这部分的设计,首先应该考虑8255A芯片的初始化,然后才是相应功能的实现。如图4所示。8255A的初始化涉及到8255A的控制字、8255A的工作方式等理论知识点,在此引入这些知识非常合适。

在充分讲解3种工作方式的基础上,分析案例中采用的3种元件都属于简单外设,与8255A通信时无需应答联络信号,因此与3种元件相连的3个数据口都只需要工作在基本输入输出方式——方式0下即可满足案例要求;按键作为输入设备与A口相连,因此A口作输入口使用;数码管和发光二极管是输出设备,分别与B口和C口相连,因此B口和C口作输出口使用。对照8255A方式选择控制字的格式,按照分析结果得出方式选择控制字的内容,通过输出指令将结果写入8255A的控制口即可完成初始化工作。

对于功能实现部分,可进一步分解为按键的读取和判定、数码管的译码显示和发光二极管的点亮3个小功能,结合前述硬件电路逐一讲解,加深学生对8255A数据口功能的理解。

在软件编程设计中揉入了8255A的控制字、工作方式等理论知识点,使得学生能够即学即用,印象深刻。

1.3实验进课堂

在硬件电路设计过程中,穿插利用Proteus仿真模拟软件选取元件清单、搭建硬件电路,让学生直接参与到硬件电路设计的全过程中,在学习理论知识的同时,观察知识点如何用,如何联系,从而更加深入地理解这些知识点。

在软件编程部分,通过预先给出电路在Proteus仿真环境下的实现效果,引导学生思考编程步骤,从而将抽象的编程过程直观地展现给学生,帮助学生理清编程思路。

在完成以上两部分设计并在Proteus下实现仿真功能后,通过将实验箱搬进课堂,让学生直接利用实验箱进一步验证所设计电路,从而进一步提高学生的工程实践能力。

2 结语

传统模式下8255A的各理论知识点是按照先后顺序逐一讲解,学生经常“学了就忘”,或者“教师讲完了、学生仍然不懂”,通过设计综合性的科研案例串联讲解8255A的理论知识点改善了以上状况。在硬件电路设计中穿插讲解8255A的功能、引脚分布、内部结构等知识点,在软件编程设计中融入了8255A的控制字、工作方式等知识点,使得学生即学即用,并通过虚拟仿真环境Proteus和实验箱在课堂上完成案例的设计和验证,引导学生深度参与课堂教学,提高了学生的学习兴趣,培养了学生的工程实践能力。

[1]周荷琴,冯焕清.微机计算机原理与接口技术[M].第5版.合肥:中国科学技术大学出版社,2013

[2]王秀之.案例教学中需要研究的几个问题[J].中国高等教育,2006(12):44~45

[3]李现国,张艳.Proteus仿真在微机原理及接口技术教学中的应用[J].实验技术与管理,2010,27(12):125~127

[4]陈效兰.以案例教学调动学生学习的积极性[J].中国高等教育,2006(1):35~36

Case Teaching Mode;8255A;Engineering Practical Ability

Analysis of the App lication of Case Teaching Method in the Teaching of Programmable Parallel Interface 8255A

XIE Fang-fang,ZHANG Ying,XIE Zhi-ying,CHEN Jing,HAN Yue-xiang
(Departmentof Information Engineering,Ordnance Engineering College,Shijiazhuang 050003)

In view of the teaching shortcomings of programmable parallel interface 8255A in traditionalmode,introduces the case teachingmode.Inserts the theoretical know ledge into the process of hardware circuit design and software programming.Uses the Proteus tool to verify the designed case to guide the student deep ly involving in the classroom teaching,improves his interest in learning and cultivate his engineering practical ability.

1007-1423(2015)15-0010-04

10.3969/j.issn.1007-1423.2015.15.003

谢方方(1984-),女,讲师,研究方向为信息安全

张英(1982-),女,助教,研究方向为数据恢复

谢志英(1981-),女,河北秦皇岛人,硕士研究生,讲师,研究方向为数据恢复

陈静(1982-),女,河北石家庄人,硕士研究生,讲师,研究方向为数据恢复

韩月霞(1980-),女,河北邯郸人,硕士研究生,讲师,研究方向为芯片安全

2014-12-30

2015-05-05

猜你喜欢

数码管按键芯片
芯片会议
人体微芯片
基于有限状态机的按键检测程序设计
关于射频前端芯片研发与管理模式的思考
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
按键消抖在单片机和FPGA实验教学中的应用
一种多方向导光按键结构设计