Proteus与Keil在单片机教学中的运用

2020-10-21 13:06彭莉
科学导报·学术 2020年29期

彭莉

摘 要:单片机作为一门纯工科类课程,对学生的逻辑思维与学习背景都有着严格的要求,再加上单片机的理论知识具有较高的抽象性,在教学过程中潜移默化的加大了学生的学习难度,单片机过长的学习周期与对枯燥乏味的基础知识的学习也会在一定的程度上打击学生的学习积极性。本文分析了单片机课程的教学现状,倡导通过实际案例,利用Proteus与Keil软件的实践运用来展现单片机课程的魅力所在,旨在加强学生的学习兴趣,促进学生学习积极性的提升。

关键词:Proteus;Keil;单片机教学

引言

单片机课程具有非常强的理论性与实践性,并与专业后续课程教学的开展实施有著紧密的联系,具有较强的实用性,其应用范围也非常的广泛。随着“物联网+”概念的提出,近年来世界各国都加大了对物联网的研究,并在智能交通、环境监测、楼宇灯光等方面有了可观的成效。物联网的实现离不开单片机技术,因此,单片机课程除了在工科院校的电子类专业开设有以外,越来越多的工科专业也开始将单片机作为专业必修课程。虽然单片机在实践中的应用非常广泛,但与此同时,在单片机的教学过程中也出现了许多现实问题。

单片机作为一门工科类课程,在教学的实施过程里,教师通常是以课件与教材宣讲的方式来讲解基础内容,加上单片机的原理与基础内容知识具有较高的抽象性,学生在学习单片机的初期会遇到很多困难,学习周期也相对较长,学习过程也非常的枯燥。单片机基础知识的具体化实现也较为困难,在传统的教学中,单片机教学中的实践环节需要使用到硬件试验箱,这就意味着校方既要采购大量设备,又要开展设备维护工作,增加了教学成本与实验成本。还会导致实验内容单一,缺乏灵活性和创新性,不利于学生发散思维的培养。

Proteus与Keil软件的出现,完美的解决了实验器材稀缺的问题,让学生与教师能够在这两个软件上面进行仿真实验,实现实践操作的练习。虽然在单片机的教学过程中,基础知识与课本上的案例非常的枯燥与抽象,而一旦在软件中实现,就会变得有趣,变得直观。

1.Proteus和Keil

Proteus和Keil是实现单片机仿真教学的重要软件,Proteus源于英国的Lab center公司,是一款EDA工具软件,同时这也是一款单片机爱好者、单片机专业教师、单片机开发者们所青睐的软件。Proteus软件既能够满足原理图的设计与电路的分析,还能够有效的达成外围电路与软件程序的程序调试,Proteus是一个三合一的软硬件设计平台,囊括了PCB设计软件、虚拟模拟型仿真软件与电路仿真,也是当前单片机系统设计与开发的最佳仿真平台,Proteus还能实现第三方编译的功能,并为其提供调试环境,包括Keil、IAR与Wave6000等软件。

Keil软件源于美国,是由Keil Software公司所开发的一套基于51单片机系列的单片机使用C语言进行编程的系统。由于C语言相较于汇编语言,具有更多的优势与特性,所以既容易学习,又方便使用。与此同时,Keil具备宏汇编、库管理、C编译器、连接器与仿真调试器在内的诸多功效,这些部分的组合依靠于一个集成开发环境。通过有效的对Proteus和Keil进行结合,用Keil来编写程序,用Proteus进行仿真实验,将Keil中所编写的程序编译为芯片所需要的Hex文件,嵌入仿真电路图中,实现单片机的各种功能。

2.教学案例

单片机的教学过程虽然较为枯燥,但单片机的仿真实验却是一个非常有趣的过程。每一个案例都会涉及到许多的知识点,也有其自身的趣味性。本次选用的教学案例是通过Keil软件来编程,通过Proteus软件来绘制仿真电路图,实现数码管数字显示的循环变化,在点击运行按钮以后,数码管中数字的显示从0到F循环变化。

2.1 原理图的画法与软件程序的编写

单片机课程的教学既涉及到了硬件设计的知识,又牵扯到了软件设计的知识,因此硬件原理图的画法与软件编程是单片机教学中的两个基本点。在Proteus中画硬件图时首先要导入相关的元件库,导入库后在Pick Devices中搜索相关联的元件,本次需要的元件包括电源、接地线、LPC124、74HC573、电阻以及数码管,按照书中的案例或相关要求画好硬件原理图。

在Keil中编写软件程序,首先需要打开Keil软件,新建工程,再保存到相应的目录,之后开始新建项目并添加到工程中,在软件书写完毕后进行编译,编译无错误后在导出程序的Hex文件,添加到Proteus的原理图中,点击运行。

2.2 Proteus与Keil的调试

(1)按照要求在Proteus软件中画好仿真原理图,并使用Keil按照步骤完成软件程序的编译,生成Hex文件,并添加到程序中。

(2)在Proteus的仿真环境里将文件下载到LPC2124单片机里。

#include"LPC21xx.h"

const unsigned char LEDSEGCODE[]=

{

0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71

};

void Delay_250uS(void)

{

unsigned int i;

i=900000;

while(i--);

}

int main(void)

{

unsigned int j = 0;

PINSEL0=0x00000000;

PINSEL1=0x00000000;

IO0DIR|=(0xFFFF<<0);

while(1)

{

IO0CLR|=0xFF;

IO0SET=(LEDSEGCODE[j]<<0);

j++;

if(j==16)j=0;

Delay_250uS();

}

}

结束语

本次教学案例结合了Proteus与Keil的使用,能够直观的让学生感受到单片机知识的学习与仿真实验的乐趣,加强学生的学习积极性。Proteus与Keil软件的出现有效的降低了教学成本与实验成本,还能够让学生与教师进行各种不同的仿真实验,灵活的实现了单片机教学中的实践操作环节,而且Proteus与Keil软件具有很高的容错性。使用Proteus与Keil软件既能加强巩固学生的理论知识,还能增强学生的实践操作能力,为后续课程的开展打下了坚定的基础。因此,Proteus与Keil软件应当作为单片机课程教学过程中的软件基础,成为单片机教学中的基础的教学软件。

参考文献

[1] 杨艳霞,张妮.Proteus+keil在单片机教学中的应用[J].电子测试,2020(09):131-132.

[2] 朱品伟,赵俊杰.Proteus仿真软件在单片机教学改革中的应用[J].江苏理工学院学报,2017,23(04):119-123.

[3] 王影,刘麒,高德辛,倪晋超,杨斌,李硕.基于现场教学的单片机教学改革[J].吉林化工学院学报,2017,34(08):29-33+37.

[4] 周伟辉,周亚平,万心悦,雷伯录.基于虚拟仿真技术的《单片机原理与技术》的教学改革探析——以东华理工大学长江学院为例[J].南方农机,2020,51(03):159-160.

[5] 张新亮.信息化时代背景下物联网技术在单片机教学中的创新应用[J].课程教育研究,2019(46):28-29.