APP下载

基于Proteus+Keil仿真的单片机课堂教学方法探索

2016-02-07石宝玉

唐山师范学院学报 2016年2期
关键词:C语言调试单片机

石宝玉

(安徽工业大学 机械工程学院,安徽 马鞍山 234001)

基于Proteus+Keil仿真的单片机课堂教学方法探索

石宝玉

(安徽工业大学 机械工程学院,安徽 马鞍山 234001)

运用电子自动设计软件Proteus联合C51单片机开发软件Kei1实现单片机软件和硬件相结合的虚拟教学实验平台,并结合教学内容,给出了在单片机课堂教学中的一种有效方法,并在后续工作中围绕课程设计等方面提出了单片机原理教学模式的一些思考。

Proteus;Keil;教学模式;单片机原理

伴随着电子技术日新月异的发展,单片机技术也迅速发展起来,单片机已广泛应用在智能仪表、工业控制等各个领域。目前,各大专院校机械自动化专业都已开设《单片机原理及应用》这门课,学好单片机技术对于自动化专业学生加强技能,增强就业竞争力具有十分重要的意义。《单片机原理及应用》是一门应用性极强的课程,是计算机、自动控制、应用电子、通信工程、机电一体化等多个专业的专业必修课,单片机技术在学生专业技能的培养中显示出越来越重要的作用,因此也对单片机教学提出了更高的要求。

传统单片机教学手段单一,方法呆板,教学效果不明显,学生感到枯燥乏味,普遍反映《单片机原理及应用》学习难度很大,太抽象、概念多、入门难、指令不易记等,教师的课堂教学效果也不够理想。因此授课教师应针对单片机课程的主要特点,探索一种能较好地激发学生兴趣,培养学生动手能力为主的教学模式,并加以实践和改进。笔者结合近几年单片机教学工作的一些经验、体会,围绕激发学生兴趣,提高学生工程应用能力为中心,从单片机教学内容、教学模式等方面提出单片机原理教学的一些思路,以供大家讨论。

1 摈弃传统教学模式,改进教学方法

作为一门专业方向必修课,《单片机原理及应用》课程基本安排在40学时,其中含8个学时课程实验环节,讲授机型是普通80C51单片机。这样的学时安排,对于掌握这门应用性极强的课程来说稍显不够,因此应按照“注重基本知识,提高实验动手能力和应用开发能力”的教学大纲要求,对教学内容和教学方法有所取舍和改变。

在单片机课程传统教学模式中,课程教学在内容设置、讲授顺序等方面采用先硬件,后软件,再综合的顺序,即按照硬件结构、指令系统、程序综合设计的顺序讲解。

1.1 硬件结构知识点讲解

单片机课程教学中对于在“模拟电子电路”“数字电子电路”“微机原理”等先修课程中学过的知识,绝大多数教材简单地一概跳过,对于计算机基础、数制转换等知识点也一带而过,自始至终是生硬枯燥的电路介绍;学生在整个课程学习中不能对硬件电路设计有很深刻的理解和掌握。笔者认为比较合适的方法是让学生在项目实施过程中,边实战边认识单片机硬件结构,使学生在项目过程中掌握单片机具体硬件引脚的功能和用法。

1.2 编程语言教学

由于计算机、电子技术的飞速发展和教材的相对滞后性,教材中难免会出现一些陈旧知识点,传统的教材以及单片机课堂教学一般注重基本原理的讲解,通常采用纯汇编语言教学。学生普遍反映汇编语言太抽象、入门难、指令不易记。而且汇编语言维护和修改困难。因此,有必要用易学易懂的语言代替枯燥难懂的汇编语言。区别于传统的汇编语言,目前流行的单片机教学与编程语言趋向于适合C51单片机使用的C语言,C语言不同于传统汇编语言之处在于,C语言是更接近于人类语言的自然语言,初学者不需要对单片机硬件有着非常深刻的了解,能更快上手编写程序,更重要的是运用C语言编写的程序可以移植到别的项目,在软件开发过程中可以节省时间。

1.3 传统教学方法改进

针对传统教学方法的缺点及弊端,避免学生陷入难懂枯燥的课堂环境。笔者在多年教学基础上重新考虑更适合学生的教学模式,利用Proteus仿真平台以及Keil仿真软件来辅助单片机的教学,其优点如下:(1)可直观展示硬件电路的设计过程、电子元件的用途与用法、软件的调试和系统硬件的结合仿真。(2)仿真软件结合更易懂的C51语言可以给学生带来更多的实际动手机会。(3)作为单片机教学者利用Proteus与Keil联合仿真可以形象生动跟踪过程、显示程序运行过程、显示仿真结果等特性,达到实践与理论相结合,实现一体化教学的效果,对教学产生积极的影响。

2 Proteus和Keil软件简介

Proteus软件是Lab Center Electronics公司出版的EDA工具,它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。Proteus软件从原理图绘制、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现从概念到产品的完整设计。

Keil是一款单片机开发系统平台,支持C语言、汇编、PLM、以及混合编程。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(~Vision)将这些部分组合在一起。Keil软件无需连接单片机硬件而进行纯软件程序仿真,能生成在线仿真和烧录到芯片所需的HEX文件等。

图1 Proteus7.5元件编辑界面

图2 Keil Uvision2程序调试界面

使用Proteus7.5结合Keil Uvision2联合调试单片机仿真实例时,需要用Proteus7.5的智能原理图设计(ISIS)绘制单片机原理图,以及使用Keil Uvision2建立一个项目,并将编写程序的文件加载到项目中,除此之外只需简单的设置即可进行联合调试即可仿真。

3 单片机仿真教学实例

3.1 要求

利用51单片机,结合1602型LCD循环右移显示字符串“Welcome to China”,晶振频率为11.059 2 MHZ。

3.2 课堂分析

首先,利用Proteus7.5进行硬件电路的连接,如图3所示。

其次,利用Keil Uvision2软件C51程序的编写及调试,生成后缀名为hex的执行文件,如图4所示。

再次,将Hex文件导入仿真芯片,如图5所示。

最后,Proteus7.5结合Keil uvision2的仿真效果如图3所示。

图3 Proteus7.5电路编辑界面及Proteus7.5+Keil Uvision2仿真效果图

图4 生成后缀名为hex的执行文件

图5 后缀名为hex的执行文件导入AT89C51芯片

4 让学生参与其中,培养学生实际应用能力

如果说课程实验是对理论知识的验证,那么课程设计则是培养学生的综合软硬件设计能力,要求学生将所学知识融会贯通。课程设计是整个单片机教学中重要的一环,也是培养学生实际应用能力的重要手段。

整个课程设计时间为一周,要求学生在几个功能系统中选择一个,完成系统的设计、安装和调试:

(1)交通灯控制:要求学生模拟十字路口红绿灯指示,目的是让学生掌握并行I/O口应用设计;

(2)数码秒表的设计:让学生掌握LCD器件的使用以及定时器的用法;

(3)步进电机控制:使学生掌握步进电机位置控制和速度控制等基础应用知识;

(4)用VB实现单片机与计算机的串行通信:让学生掌握上位机控制界面的设计与调试以及通信功能的应用。

学生确定题目后,根据任务要求先查阅相关资料,应用Proteus7.5设计硬件电路原理图,完成后由教师检查。原理图通过后,学生在PCB板上安装焊接好系统,进行软件编程、仿真调试,最后将程序下载到单片机芯片中实际运行,完成系统设计要求。学生自己动手组装PCB单片机实验板,很容易就了解单片机的各个引脚与外围硬件电路是如何连接的,对帮助他们正确理解单片机的引脚定义及功能很有帮助。另外学生对动手焊接实践非常感兴趣也很认真,能充分调动他们学习的积极性,在轻松的教学环境中学习单片机及外围硬件电路。

5 结束语

通过实战性质的系统软硬件设计、安装及调试,学生可以初步掌握单片机应用系统的设计开发,学生一方面加深了理论知识的理解,另一方面又极大地增强了自信心,这对提高学生工程应用能力无疑大有帮助。

[1] 韩俊峰.单片机原理及应用[M].北京:机械工业出版社,2005: 26-30.

[2] 王东锋.单片机C语言100例[M].北京:电子工业出版社出版社,2010:50-55.

[3] 何立民.单片机高级教程-应用与设计[M].北京:北京航空航天大学出版社,2000:15-20.

[4] 谭浩强.C语言设计.北京:清华大学出版社,2002:78-82.

(责任编辑、校对:田敬军)

Discussion of the Microcontroller Teaching Mode Based on Proteus and Keil Simulation

SHI Bao-yu
(College of Mechanical Engineering, Anhui University of Technology, Maanshan 234001, China)

Based on teaching contents, connecting EDA software Proteus with C51 MCU development software Keil, an effective mode of MCU teaching was given for building a subjunctive teaching experiment platform, and an effective method in the classroom teaching of SCM was given by combining with teaching contents. It also presents some consideration of MCU teaching mode surrounded by MVU course designation in the late MCU teaching work.

Proteus; Keil; teaching mode; fundamentals of mono-chip computers

G642.4

A

1009-9115(2016)02-0155-03

10.3969/j.issn.1009-9115.2016.02.045

安徽工业大学青年基金项目(20140810)

2015-10-10

石宝玉(1982-),男,安徽宿松人,博士研究生,讲师,研究方向为机械电子。

猜你喜欢

C语言调试单片机
基于Visual Studio Code的C语言程序设计实践教学探索
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
51单片机C语言入门方法
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
基于C语言的计算机软件编程
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试