基于Proteus与Keil的单片机项目式教学法

2012-10-26 05:20吴国文
中国科技信息 2012年8期
关键词:抢答器按键调试

吴国文

广州科技职业技术学院汽车工程系 510550

Wu Guo Wen

Guangzhou Vocational College at Science and Technology Automotive Engineering Zhongluotan 510550Baiyun Guangzhou

基于Proteus与Keil的单片机项目式教学法

吴国文

广州科技职业技术学院汽车工程系 510550

Wu Guo Wen

Guangzhou Vocational College at Science and Technology Automotive Engineering Zhongluotan 510550Baiyun Guangzhou

针对高职院校单片机课程实践性强,实验设备有限的情况下,为了改进单片机课程的教学效果、培养学生学习单片机的兴趣及创新能力、实验技能,采用了基于Proteus与Keil的单片机项目式教学方法,通过Proteus与Keil的单片机项目设计与仿真,提高了单片机项目设计效率,获得了很好的经济性、灵活性。

单片机; Proteus;Keil;项目式教学

single-chip; Proteus;Keil; Project-based Teaching;simulation

引言

单片机是一门实践性环节很强的课程,但传统的单片机教学多以理论教学为主,实验教学为辅,理论与实践相脱节,在理论教学上,单片机的原理、硬件电路图的分析及程序上的分析都是局限于以多媒体的形式展现在屏幕上,教学过程中学生会感觉枯燥抽象,难以理解和掌握,并且因而失去学习的兴趣,当上完相应理论知识后,才回到实验教学的课堂上,而实验教学也大多是基于单片机实验箱的验证性实验,学生难以体会一个单片机系统开发的软件、硬件设计的细节与流程,学生的思维得不到拓展和发挥,另外,采用实验箱或实验板加硬件仿真器设备,也大大增加设备的维护工作及经费的投入,Proteus与Keil软件的出现,解决了这些问题,在课堂教学上采用了基于Proteus与Keil的单片机项目式教学方法[1,2]。

1 Proteus和keil简介

Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,该软件集成了高级原理布图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计系统。它是一种混合电路仿真工具,包括模拟电路仿真、数字电路仿真、单片机及其外围电路组成的仿真等。Proteus软件由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑软件。ISIS是一个操作简便且功能强大的原理绘图工具,它整合了SPICE的仿真模型,拥有超过8000个元件的庞大库结构。Proteus支持许多通用的微控制器,如PIC系列、AVR系列、8051系列等;同时它还支持ARM、PLD及各种外围芯片的仿真,如基于HD44780芯片的字符LCD、RAM等;具有单步运行、断点设置等调试功能;有直流电流表/电压表、交流电压表/电流表、示波器逻辑分析仪、频率计等虚拟仪器,为仿真中的测量记录提供了方便[3,4]。

随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51已被完全集成到uVision3的集成开发环境中,这个集成开发环境包含编译器、汇编器、实时操作系统、项目管理器和调试器。可为它们提供单一而灵活的开发环境[5]。

2 Proteus和keil联调项目式教学举例

下面以 “基于AT89C51单片机抢答器的设计”为例,说明使用Proteus和Keil软件进行单片机项目系统设计和仿真的过程。

2.1 硬件设计[6]

该实例的电路由AT89C51单片机、1位LED 共阴极数码管、按键、扬声器及三极管等元器件组成,在Proteus ISIS中绘制系统硬件原理图,如图1所示。

图1 基于AT89S51单片机抢答器的硬件设计及仿真结果

2.2 软件设计[5,8]

单片机是硬件与软件的结合体,要根据硬件的工作原理来编写程序,从图1可以知道,P3口为输入口,接八个按键,P1口为输出口,接一个共阴极的七段数码管,用来显示抢答号,抢答器的工作原理为:八个选手同时抢答,抢答成功的将选手号经P1口送给数码管显示,扬声器响。同时,其他的选手不能抢答,主持人复位后,恢复抢答功能,数码管初始化为0。

该项目的软件在Keil中进行设计。在工程项目中编辑创建源程序文件,取名抢答器.asm,再对该文件进行编译、连接生成目标代码文件(本例为抢答器.hex)。

修改参数选择Options for Target--Targer选项卡中的Xtal(MHZ)参数修改为与硬件参数一致,选择Output选项卡的Create Hex File前面的复选框选上,编译、连接没错误后,然后进行调试,菜单Debug--Start/Stop Debug session,在调试窗口中,充分利用断点设置与调试工具(如图2)来分析程序的运行能不能达到目的,以及利用菜单Peripherals里面的Reset CPU、Interrupt、I/O-ports、Serial、Timer等调试辅助窗口观察变化情况,使得程序分析更加具体、生动、易懂。(源程序:略)

图2 调试工具按键

2.3 软件与硬件的联合调试[7]

将Proteus和Keil进行联调,联调设置步骤如下:

(1)目录ProteusMODELS下的VDM51. dll文件复制到Keil安装目录的C51BIN目录中。

(2)修改Keil安装目录下Tools. ini文件,在C51字段加入TDRV5=BINVDM51. DLL(“PROTEUS 6EMULATOR”)并保存。

(3)打开Proteus,画出相应电路,在Proteus的“Debug”菜单中选中“Use Remote DebugMonitor”。

(4)进入Keil的Project菜单Option forTarget'工程名'。在Debug选项中右栏上部的下拉菜单选中Proteus VSM Monitor-51Driver。再进入Settings,设置Ip名为127.0.0.1,端口号为8000。

(5)打开KEIL,按F5开始仿真。同时在Proteus中查看直观的结果。

Proteus提供了硬件的仿真平台,Keil提供了软件的仿真平台,在Keil编译软件里清晰、具体地分析程序的执行流程,而在Proteus环境中,学生即可看到更加具体仿真效果,抢答者5抢答成功时,数码管显示为5,扬声器响,其他抢答者不能抢答,主持人复位,抢答恢复功能。如图 1所示。

2.4 学生的思维拓展

经过一个基于Proteus与Keil的简单抢答器项目设计,学生具有一定的掌握能力,在此基础上,要求有能力的学生进行项目思维拓展,要求学生设计一个《基于AT89C51单片机带时间与声光提示的抢答器》项目,功能为:主持人可以同时控制5个按钮(复位按键、抢答开始按键、抢答限时开始按键、抢答时间调节按键、限时时间调节按键)等,主持人按了限时开始按键后,8个选手同时抢答,抢答成功的选手号送到数码管显示,LED灯亮、扬声器响,限时时间显示。主持人复位,抢答功能恢复。如图3所示。这使得学生更接近市场工程项目的实践设计,为以后就业打好基础[6]。

图3 基于AT89C51单片机带时间与声光提示的抢答器及仿真结果

3 Proteus和Keil软件单片机项目教学的优势[8,9]

3.1 内容全面,包括软件程序的编译、连接及调试,也包括硬件电路中的大部分电路,可以给学生有自由搭建硬件电路的空间,使得单片机教学由枯燥抽象,难以理解和掌握,变成更加具体、清晰、活跃与灵活,克服了用单片机实验箱教学板教学中硬件固定、学生不能更改、内容固定等方面的局限性,可以拓展学生的项目开发思维,同时也激发学生对单片机学习的兴趣。

3.2 硬件投入少,实验过程损耗小,基本没有元器件的损耗问题,经济优势明显;学生可以自行项目开发,锻炼解决实际工程问题,与工程实践接近;由于学生学习了理论知识,要将其应用到实际的工程实践中,其难度较大,但采用仿真软件后,学生可以先在软件环境中模拟通过,再进行硬件投入,可以省时省力,也节省因方案不正解所造成的硬件投入的浪费。

3.3 可以提高学生的知道水平、专业能力和专业素质方面的优势,同时降低设计成本,缩短项目的开发周期,提高效率。学生可以课外独立设计,验证自己设计的项目系统,有助于培养学生的创新能力,扩展学生思维,提高学习效率与兴趣。

4 结论[10]

单片机是一门不断更新的课程,教师应该转变观念,改进教学手段和教学方法,逐步过渡到“教师指导下的以学生为中心”的教学模式上,充分调动学生的能动性。

基于Proteus和Keil软件单片机项目式教学,很大程度上解决了课程教学枯燥无味的弊病,在提高了学生学习积极性的基础上也锻炼了学生实践动手的能力,既降低了教学成本,又提高了教学效果,是高职院校教改的取向。

[1]胡敬朋,王聪.单片机项目教学研究及实践[J].电气电子教学学报,2009,31(5),82-84

[2]彭丽萍 ,顾亚文 ,顾广寒 .基于Proteus和Keil软件的单片机仿真教学[J].中国科技财富,2011(10)

[3]周润景,袁伟亭,景晓松著.Proteus在MCS-51&ARM 7系统中的应用百例[M]. 电子工业出版社,2006

[4]林志琦著. 基于Proteus的单片机可视化软硬件仿真[M] .北京航空航天大学出版社,2006

[5]王为青著.单片机Keil CX51应用开发技术[M] .人民邮电出版社, 2007

[6]杨居义著.单片机课程设计实例教程[M] .清华大学出版社 ,2010

[7]刘淑红, 张国玉.单片机系统的Proteus和Keil联调设计与仿真[J] ,2008,(10)97

[8]许超 ,吴新杰, 张丹.基于Proteus和Keil的单片机课程教学改革[J] ,201138(1),28~29

[9]施国英 ,李天华 ,丁筱玲. 基于Proteus和Keil软件的单片机仿真实验教学[J], 2011,1,40~43

[10]胡宏铎 ,陈兰丽.基于Proteus和Keil 的高职单片机课程教学改革[J],2011,5,71~71

Single-chip Project-based Teaching-based on Proteus and Keil

For the characteristics of this course in strong practice, and with the limited of Lab equipment, In order to improve the teaching effect and to develop the ability about innovating and experiment skills, Using Single-chip Project-based teaching methods based on the proteus and keil,with the single-chip project design and simulation based on proteus and keil,it can improve the efficiency of single-chip system design,with a good economy,flexibility.

10.3969/j.issn.1001-8972.2012.08.171

吴国文 男,1983年,广东从化,大学本科,助教,研究方向为应用电子技术

猜你喜欢
抢答器按键调试
声光报警多路抢答器电路的改造分析
基于有限状态机的按键检测程序设计
4路抢答器的设计与研发
按键消抖在单片机和FPGA实验教学中的应用
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
核电厂主给水系统调试
无线通信中频线路窄带临界调试法及其应用
一种多方向导光按键结构设计
两台抢答器