单片机原理与接口技术教材改革研究与探索

2015-12-10 21:57:18吴清收
教育教学论坛 2015年38期
关键词:汇编语言C语言课程设计

吴清收

摘要:针对目前单片机原理与接口技术教材存在的弊端,提出一种基于汇编语言和C语言同步讲解的教材改革方案,汇编语言编程虽然具有语句简练、实时性高的优点,但在处理复杂的数据运算时程序的编写比较难以掌握,需要较高的编程技巧,而采用两种语言同步讲解的教材可加快学生对单片机应用技术的掌握。

关键词:单片机;汇编语言;C语言;课程设计

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)38-0089-02

一、概述

《单片机原理与接口技术》(以下简称单片机)是高校工科专业的一门必修专业课程,同时也是比较重要的一门课程,所以学好该门课程具有十分重要的应用价值。

目前有关单片机课程的教材,其内容结构基本上包括单片机概述、单片机的内部结构、指令系统、汇编语言编程、单片机系统的扩展、定时器、中断、串行口等几个模块,几乎所有教材中的编程实例都采用的汇编语言。汇编语言编程虽然具有语句简练、实时性高的优点,但在处理复杂的数据运算时程序的编写比较难以掌握,需要较高的编程技巧,尤其对刚刚学习完课程的学生来说,难以理解和掌握,编程难度较大。所以学生在应用中喜欢用C语言编写单片机程序而很少用汇编语言编程。

针对C语言在单片机应用编程中应用的广泛性,提出了《单片机原理与接口技术》课程的改革设想,将汇编语言编程和C语言编程都融入到单片机教材中,在实时性要求较高,C语言编程不能满足要求的情况下选用汇编语言,譬如在时序要求很严格,只允许几个微秒的误差,这时就只能采用汇编语言程序;在实时性一般以及一些复杂的信号处理运算时,如浮点数的复杂运算、复杂的数字滤波等,这时就可以用简单直观的C语言编写程序,二者相互补充,以更好地满足单片机实际应用系统的设计。在基本内容的基础上,结合教师的实际科研项目,最后增加一章实际应用系统的设计举例,题目实用价值较高,设计实例采用汇编和C语言编写,更好地提高学生对单片机应用系统设计知识的掌握。

二、单片机教材改革的必要性

在确定具体实施方案前,首先选择几所典型高校进行相关专业的调研,通过调研掌握各高校对目前选用的单片机课程教材的意见以及针对教材存在的问题所提出的合理化建议。通过与学生和老师座谈,掌握哪些章节内容适合用汇编语言讲解,而哪些章节用C语言讲解比较容易掌握;了解学生对单片机编程更倾向于选用汇编还是C语言、教师在用到单片机的科研项目中经常采用哪种编程语言,以便更好地为单片机教材的修改完善吸取宝贵经验。

通过对南京大学、山东大学、南京航空航天大学、上海交通大学、浙江理工大学等几所高校的相关专业关于目前单片机教材使用情况的调研,通过与上述学校老师和同学的交流,普遍认为完全使用汇编语言编程的老师和同学数量较少,一方面是由于汇编语言编写的程序可移植性较差,对于不同的单片机由于指令系统的不同需要重新编写程序;另一方面就是汇编语言是针对计算机的语言,熟练应用汇编语言编程需要掌握每条汇编语言指令,同时要有丰富的编程经验和编程技巧,这对于刚学习单片机的学生有较大的难度。用C语言编程编程对学生来说就比较容易掌握,因为他们在学习单片机课程之前就已经开过C语言程序设计,虽然二者之间有区别,但是基本语句是一样的,差别很小,很容易掌握,实现同样功能的程序,用C语言编写的程序段比用汇编语言编写的程序段短,所以容易理解和掌握。

下面是用两种语言编写的两段程序,功能是用51单片机的串行方式0实现电子时钟的LED数码管显示,假设汇编语言中时、分、秒数据分别以二进制方式存放在内存30H、31H和32H中,C语言中的数据存放在数组time的time【0】、time【1】和time【2】中,编程如下:

通过上面的程序比较可以看出,C语言编写的程序较容易理解,而且语句较少,容易被学生掌握;相反,汇编语言编写的程序由于是直接针对计算机的,需要掌握不同单片机系统的指令及使用方法,掌握起来相对比较困难,短时间内不容易被学生熟练掌握。

三、实施方案

1.在广泛听取老师和学生意见、建议的基础上,制定出合理有序的教材章节内容架构。由于教材采用C语言和汇编语言的同步讲解,所以,单片机内部各模块内容的讲解应该安排在汇编语言和C语言章节之后进行。

2.教材中设计到的举例采用两种语言编程。在讲解完第四章以后,从第五章到第十章都采用汇编语言和C语言两种语言编程,加深对两种语言编程的理解和掌握,同时各例题尽量结合老师的科研项目和实际应用例程讲解,做到各例题直接输入计算机,不需进行修改调试就能通过,尤其是第十章的实际应用系统设计,全部采用教师科研项目中的实例编写,通过学习,让学生掌握单片机实际应用系统的设计方法和设计步骤,包括硬件设计和软件设计方法,从中积累宝贵的单片机应用系统设计经验,为以后独立从事应用系统设计提供基础保障。

3.授课课程中的基础实验采用两种语言调试。单片机基础实验是加深学生各模块知识掌握的重要环节,通过实验,加深学生对所学单片机各模块知识的理解和掌握,熟悉汇编语言和C语言的编程环境,培养学生基本的硬件设计能力和程序设计方法,学会单片机仿真器和编程器的使用方法,同时,通过两种语言的编程调试,掌握每种语言编程的优缺点及适用场合,为后续的单片机应用系统软件设计提供更好的设计方法。例如,在实时性要求较高的部分采用汇编语言编程,而在没有特殊要求的其他环节采用C语言编程,整个应用系统采用两种语言的混合编程方式,充分发挥两种语言的优势,既发挥了学生在编程语言上的特长,又较好地满足应用系统的实际需要。

四、实施效果

1.改革对单片机课程设计环节的作用。单片机课程设计实训是培养学生实际应用系统设计能力的重要环节,两周的设计时间足以保证一个基本单片机应用系统的设计完成,通过课程设计实训,使学生能够掌握从方案比较与选择到硬件设计与原理图和电路板图绘制、元器件焊接、软件设计与调试,直至最后元硬件综合调试的整个设计过程,真正提高学生的单片机系统设计能力和动手实践能力,在设计题目上要充分发挥指导教师的科研项目这一优势,真正与实际相结合,这样既满足了指导教师的科研需要,又达到了学生综合锻炼的目的。在软件设计环节,由于学生掌握了汇编语言和C语言两种编程语言,可以在保证系统功能的前提下,充分发挥每种编程语言的优势,编写出简洁高效的软件程序,提高自己的软件设计水平。

2.改革对学生参加电子设计竞赛等综合赛事的促进作用。全国大学生电子设计竞赛、山东省大学生电子设计竞赛以及山东省机电产品大赛等大型赛事每年举办一次,对每位参赛同学来说是一次难得的学习和锻炼机会,如果比赛中获得好的名次,对学生将来的就业问题能提供极大帮助。现在用人单位最需要的就是有实践经验的毕业生,参加过这种竞赛的同学与没有参加过的相比,当然有实践方面的优势,用人单位比较容易接收,但是由于这些竞赛时间不充足,一般要求在一周时间内完成,而学生对汇编语言的掌握还很不熟练,因为用汇编语言编程需要长期的锻炼和经验的积累,通过教材改革,在先修课程C语言程序设计的基础上,学生很容易就掌握了单片机的C语言编程,这样,学生就可以应用C语言完成软件设计,达到节约时间的目的,更好地满足各项电子竞赛的需要。

五、改革创新点

1.实现了单片机教材中汇编语言与C语言的同步授课,提高了学生的编程技能。

2.软件设计过程中可以根据系统的要求选择不同的编程语言,更好地满足系统的需要。

3.除了汇编语言外,学生可以选择自己比较熟练的C语言编写程序,更好地发挥学生的编程特长。

4.通过单片机课程设计的综合锻炼,培养学生的软件设计技能。

5.为参加各类电子设计竞赛积累宝贵的软件设计经驗。

六、总结

通过单片机教材的改革,克服了现有教材只采用汇编语言或者只采用C语言讲解的弊端,将两种编程语言同步融入到教材中,学生通过单片机的学习以及实验和课程设计等环节的锻炼,能够掌握两种语言的编程,一方面可以根据自己的优势选择适合自己的语言编程,另一方面可以在实际的单片机应用系统软件设计中灵活地应用每一种语言的特点,更好地满足系统的性能要求,同时,通过教材的改革,学生掌握了两种语言的编程方法与编程技巧,能够选出更多的优秀学生参加各类正规电子竞赛,为将来毕业后从事本领域的工作积累丰富的实践经验。总之,通过改革,学生的软件设计能力和设计水平能够得到极大的提高,更好地满足社会的用人需要。

猜你喜欢
汇编语言C语言课程设计
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
计算机教育(2020年5期)2020-07-24 08:52:50
龙凤元素系列课程设计
少儿美术(2019年1期)2019-12-14 08:01:34
汇编语言与C语言的混合程序设计技术研究
电子制作(2019年10期)2019-06-17 11:45:16
基于C语言的计算机软件编程
电子制作(2018年16期)2018-09-26 03:27:08
提高《汇编语言程序设计》教学效率的思考与实践
高职高专院校C语言程序设计教学改革探索
基于Articulate Storyline的微课程设计与开发
中小学电教(2016年3期)2016-03-01 03:40:53
论子函数在C语言数据格式输出中的应用
基于自动化系统的PLC课程设计