微机原理及单片机课程改革浅谈

时间:2022-07-22 05:40:28

微机原理及单片机课程改革浅谈

摘 要:微机原理及应用和单片机原理及应用是高校自动化、电气自动化等信息工程类专业的重要课程。本文阐述了在微机原理及应用和单片机原理及应用两门课程的实际教学当中所遇到的问题和同一批学生在这两门课程的学习中遇到的疑问,给出了对这两门课程的教学进行改革的一个初步方案,希望能对相关课程的改革提供一些参考。

关键词:高等院校;微机原理;单片机;教学改革

中图分类号:G642.423 文献标识码:A 文章编号:2095-1302(2012)07-0074-03

0 引 言

微机原理及应用和单片机原理及应用是现今大多数院校自动化、电气自动化等信息工程类专业的重要课程。微机原理偏向于原理性的介绍,涉及的实验比较简单;而单片机则更偏向于应用性,涉及的实验较多。这两门课程的实验过程及使用的芯片及编程的的方式非常类似。大多数院校选择先开设微机原理的课程,在随后的一个学期开设单片机的课程。这样的选择在逻辑上没有错误,可毕竟这两门课程有很大的相似之处,但又有各自的特点。微机原理和单片机的内容既相关又有明显的区别,前后开课会使得学生可能产生忘了前面、记不住后面的感觉,同时两门课的相似点又使得学生区分不清,对内容产生混淆。而实验的环节,用的实验箱不同,虽然芯片不同,学生也仅仅为做而做。在实际教学中,会经常碰到学生提出“微机原理的汇编语言编程要分段(segment),而单片机的汇编语言编程为何不分段”、“微机原理课里的标志寄存器有16位,为什么单片机里才有8位”等问题。此外,这两门课一般都由同一位教师讲授,教师备课时不由得对比着备课,在教学中自然把两门课相关知识点进行描述或比较,使得单一门课程的教学时间无形中被占用。对此,以笔者实际的教学经验,现对这两门课程的教学改革进行一些探讨。

1 课程改革思路

微机原理及应用课程主要是帮助学生理解计算机的原理和结构,通过学习,使学生熟悉一款比较经典的CPU和以该CPU为中心的总线、存储器存储过程等数据处理以及用汇编语言编写程序的方法;同时,还涉及了诸如8255、8259A等一些芯片的运用及接口编程知识,微机原理及应用偏向于原理性的阐述。而单片机原理及应用课程主要是针对某类型已经非常成熟的单片机型号,帮助学生学会如何使用单片微型机以及针对实现不同的功能进行编程的知识,该课程更偏向于应用。

这两门课程的内容既有很大交叉,又有各自的特点:微机原理及应用理论更系统,单片机应用性更强。独立开设两门课程,不可避免地会出现知识点的重复和各自重点的缺失。由此,针对这两门课程授课过程中的不足,笔者有了对这两门课程进行改革的想法。即:同步开课,结合实际教授理论内容,合理分配实验学时等。

2 教学方面

2.1 教学内容

在理论教学方面,笔者对微机原理和单片机的教学内容进行了整合。微机原理基于冯·诺依曼结构,这种理论更易于学生了解计算机体系和计算机系统的工作方式;单片机本质上也是计算机系统,只是性能弱,功能单一。因此,在理论讲课过程中,应该以微机原理为主,同时针对微机原理和单片机的明显不同,比如同是45H,在微机原理中是立即数,在单片机中是存储的地址等,在这方面加以重点讲解。微机原理的内容较多,涉及面广,如果对知识点面面俱到,不仅时间不够,而且学生的学习积极性肯定不高。单片机原理课程主要基于80C51单片机进行讲解,并介绍单片机的特点、在片资源、汇编语言编程、片内接口及中断、通信及A/D、D/A转换等。在这当中,肯定会遇到一些和微机原理相冲突的地方,不论讲解与否,势必会影响到后续课程讲授的连贯和流畅,因此,必须要对相关内容进行取舍。

在此,建议对于汇编语言内容,讲解计算机概论的同时兼顾单片机的兴起和发展;对指令系统的内容进行讲授,同时要总结微机原理和单片机指令的异同以及寄存器的差别等;程序设计部分就放到单片机教学部分讲授,因为汇编语言的程序设计方法这时并不是最重要的,而且此时的汇编程序与单片机编程的汇编程序有一定的不同,并且应用性不强。在此学生能读懂程序或者能编写一些小的程序就达到要求了,而在以后单片机编程的学习中,再着重教授学生程序设计的方法。同时,应当给学生指出计算机汇编和单片机编程的差异,特别是容易混淆和产生笔误以及一些诸如RET/IRET等具有极大相似而又是不同从属的指令。指令系统的学习也只是学习经常使用的指令,主要通过对比的方式使学生对单片机的编程指令有更深的印象,同时对单片机的111条指令进行系统的分类,使学生记忆更加深刻,其他的就一笔带过。中断控制器8259A、DMA控制器、定时器/计数器这些内容基本一样,就可以压缩到一起讲,然后把省下重复上课的学时投入到实验中。串行通信的内容在原理上是一样的,针对自动化/电气工程及其自动化专业的学生,他们毕竟不是计算机专业的,所以微机原理方面属于选学内容,而实际操作中,单片机的很多问题都出现在通信及其协议上。因此,对于波特率、串并行通信及其工作方式以及双机通信的例子应该进行重点讲解,力求学生做到熟练应用的水平,这对学生在以后的单片机课程设计或者以后从事相关的工作都有较高的实用及应用价值。而由此衍生的串行总线、总线的扩展则适当讲解,目的是使学生在以后碰到相关问题时不会乱了阵脚,同时提前给他们解决相关问题的信心。

关于单片机C语言编程部分内容,虽然其应用范围很广,但笔者认为,自动化/电气工程及其自动化这两个专业都开设了C程序设计课程,为了更具有对比性和针对性,应当将这部分内容结合C程序设计课程学习,这样的效果应该会更好。而C程序设计相对于微机原理而言相对独立,因此笔者的另一个教改思路就是将C程序设计课程和微机原理及单片机原理课程同时开设,在上完微机原理和单片机的理论课之后、实践课之前刚好能学到单片机的C语言编程这部分内容,这样就能更加有效地在学生潜意识中加深汇编原理及单片机知识的印象,而且在实践中,其“编程”部分也会有更多的选择。而在师资配备上应该两名教师一组,一起设计教学内容,一位教师讲授微机原理和单片机内容,另一位教师讲授C程序设计和单片机的C语言编程部分的内容。这样的搭配既可以使教师的教学更具有针对性,同时也使得学生学习计算机相关课程的时间增长,易于同学接受新的计算机知识和巩固已有的计算机知识。笔者最乐观的估计是使学生对计算机及其编程有一个总体上的总结和认识,这不仅提高了教师的教学质量,而且提高了学生的学习效率。

上一篇:邬贺铨:信息技术新时代的电子政务 下一篇:恩智浦:为中国设计