基于C语言的《微机原理及应用》课程教学的探讨

2011-04-10 08:27长江大学计算机科学学院湖北荆州434025
长江大学学报(自科版) 2011年31期
关键词:汇编语言接口技术微机

(长江大学计算机科学学院,湖北 荆州434025)

《微机原理及应用》(也叫微机原理与接口技术)课程一直是高等院校电类各专业、计算机专业、机械设计制造及自动化等相关工科专业的必修课程之一。该课程的专业性和综合性强、涉及的知识点多[1]。实际教学中,学生普遍反映该课程抽象难懂,不易掌握,再加上相关程序采用汇编语言编写,更加让学生产生畏难情绪。多数学生在学完该课程后,对于课程的核心——接口芯片工作的原理及其在计算机中的实际应用模糊不清,极易造成学用脱节的情况,更谈不上创新设计[2]。为此,笔者提出一种全新的改革思路,即将C语言引入该课程教学中,从实际应用的角度出发组织教学内容,将教学重点从偏重理论讲解转到偏重实际应用,解决学生在学习过程中出现的理论与实践相互脱节的现象。

1 可行性分析

C语言是一种编译型程序设计语言,具有程序可读性好、开发效率高、移植容易等优点,又具备汇编语言的部分功能。几乎所有版本的C编译系统都提供了对外部接口电路的端口进行输入/输出操作的函数,有些C编译系统还提供了中断向量的获取和重置函数。如C/C++中的inportb()、outportb()、getvect()和setvect()函数等(函数库dos.h),利用这些函数可以使CPU与外部设备交换数据,实现对外部设备的直接控制。另一方面,C语言还提供了与硬件控制联系紧密的位运算符,可以实现变量的按位运算和处理。这些函数和位运算符的存在,使得在微机控制领域汇编语言实现的功能基本都可以用C语言来实现。因此,以C语言为基础实施 《微机原理及应用》课程的理论教学完全可行。《微机原理及应用》是一门实践性很强的计算机硬件课程,实验设备能否与理论教学相适应,在很大程度上影响该课程教学质量。目前已有一些教学仪器厂家生产的微机原理实验装置可以实现C语言程序的编译及下载运行。如华中科技大学教学仪器厂生产的MFID微机实验平台、清华大学科教仪器厂生产的TPCUSB实验箱等。TPC-USB实验箱采用了USB接口模块,形成了一套完整的USB接口微机接口实验系统。该系统适应当前高等院校所开设的所有微机原理实验,同时也提供了最新接口USB的实验,使学生不仅能够接触常规接口,同时也有机会接触新型接口,为学生今后从事微机开发应用打下基础[3]。这些设备的研制和生产,为采用C语言实施 《微机原理及应用》课程教学提供了强有力支持。

2 教学示例

2.1 微处理器编程结构与指令系统

通过微处理器的编程结构与指令系统的学习,可以让使学生熟悉微处理器内部寄存器组的构成与应用、理解计算机系统的寻址方式、了解特定微处理器的指令系统及指令的功能和格式等。上述内容主要涉及微处理器及存储器的硬件结构、寄存器的使用和存储器寻址等方面的知识。由于C语言并不提供对CPU内部寄存器进行操作的函数,因此,对上述教学内容还不能完全摒弃汇编语言,可以延续传统的教学方式,即通过汇编语言的数据传送指令(MOV)实施寄存器和寻址方式的讲解,而对于微处理器指令系统的其他指令,则可以完全略去。由于实施微处理器编程结构的教学仅需学生掌握MOV这一条汇编语言指令的格式和用法即可,并不会给学生带来多少额外负担。另一方面,由于上述内容在后续教学内容的实际应用中较少涉及,与编程有关的也只是寄存器组和寻址方式,而采用C语言实施该课程教学时,后续内容基本不会涉及CPU的内部寄存器组和寻址方式。

2.2 接口技术

接口技术是该课程的教学重点,也是教学难点,涵盖了该课程的大部分内容,包括8255A、82C54、82C59A、8250等各种常规接口芯片的工作原理及应用编程。具有信息量大、内容繁杂等特点,而几乎所有的实际应用都与上述内容相关。通过学习接口技术,可以使学生了解各种常规接口芯片的工作原理和引脚功能、掌握各芯片的初始化方式和工作特性等。与编程相关的主要是芯片初始化控制字的确定、初始化编程、数据的输入/输出及运算处理等。利用C语言实施接口技术的教学时,可先介绍C语言中有关端口输入/输出函数及中断获取和重置函数的功能和用法。在此基础上,再进行各种接口芯片的编程和控制。由于C语言关于端口操作的函数不涉及微处理器的内部操作,相对于用汇编语言编写芯片的控制程序要容易得多,且直观易懂。这样可以使学生将更多精力放在芯片的功能和实际应用的学习上,既减轻了学生的学习负担,又可以使学生能更好地理解微处理器对外部器件进行控制的原理及方法。

以接口技术中利用并行接口芯片8255A实现开关量的检测为例。假定8255A的片选地址为0x100,从端口A读取开关的状态,并通过接在端口B和端口C的发光二极管以不同的状态显示。若确定芯片的初始化控制字为0x90,则采用C语言编写的控制程序段为:

3 结 语

《微机原理及应用》是一门综合性强、知识点多、抽象难懂的课程,针对上述情况,将C语言引入其课堂教学,既是对该课程教学方式的重大变革,也是对教师的一种全新挑战,需要教师转变思想、大胆革新。目前实施该课程改革,需要从2方面加以改进:①配套的实验设备转型。目前虽然有几款实验仪器可以完成C语言的试验,但多数厂家的实验设备尚不具备该功能,这就需要相关生产商对实验仪器进行升级换代。②教材更新。就笔者了解,目前国内尚无基于C语言的 《微机原理及应用》教材,针对这一情况,笔者正构思新教材的编写计划,目前教材的编写组织工作正有序进行,拟2012年出版。如教材能获师生认可,将会从根本上解决 《微机原理及应用》课程教学所面临的问题,有效减轻学生的学习负担,提高学习兴趣和学习效率,巩固和提高C语言编程能力,为后续有关 《单片机》、《ARM》等课程的学习打下良好的基础。

[1]侯宝生.“微机原理与接口技术”课程教学改革创新探讨 [J].计算机教育,2007(2):16-18.

[2]王焱,郑俊辉,易发胜.“微机原理与接口技术”课程的案例教学探讨 [J].计算机教育,2009(23):136-138.

[3]刘林真.C语言在微机原理与接口技术课程中的应用 [J].福建电脑,2010(11):209-211.

猜你喜欢
汇编语言接口技术微机
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
汇编语言与C语言的混合程序设计技术研究
TDJ微机可控顶调速系统在平顶山东站的应用
电力系统全网一体化暂态仿真接口技术
提高《汇编语言程序设计》教学效率的思考与实践
中文GIS自然语言接口技术研究
电力系统微机保护装置的抗干扰措施
试论汇编语言与C语言的混合程序设计技术
锁相环在微机保护中的应用