Proteus在单片机理实一体化教学的应用
2016-09-18万松峰
万松峰
(东莞职业技术学院 机电工程系,广东 东莞 523808)
Proteus在单片机理实一体化教学的应用
万松峰
(东莞职业技术学院机电工程系,广东东莞523808)
针对单片机的教学现状,提出了基于Proteus的单片机理实一体化教学模式。通过对直流电机加减速控制的实例分析,表明使用Proteus仿真软件有助于改进单片机课程的理论教学和实践教学。教学实践表明,该方法培养了学生分析问题和应用单片机的能力,提高了学生的创新能力和学习的自主性,取得了较好的教学效果.
单片机;理实一体化;Proteus软件;实验教学
我国高校机电一体化、自动化、电气电子、信息通信、计算机等专业都开设了单片机相关课程。单片机课程的传统教学模式以单片机的结构为主线,先讲硬件结构后讲指令系统最后综合代码验证。这种先原理后设计、先理论后实验的教学模式的缺点是:1)以单片机内部结构和工作原理的讲解不仅使学生理解困难而且感觉课程枯燥乏味;2)以单片机原理和汇编指令为核心的教学造成学生应用能力的不足;3)理论和实践脱节的教学使学生缺少对单片机应用设计的感性认识和工程体验。这种教学模式不能有效培养学生的应用技能和激发学生的积极性,使学生普遍感到内容枯燥且很难入门。
本文通过对单片机教学现状的分析提出基于Proteus的单片机课程理实一体化教学模式,研究一套可操作的“做中学[1]”“学中练”的项目化教学,并推动落到实处。整个教学过程以实际的项目情境和完整的工作过程为导向,以典型的工作任务为驱动,以项目的开发步骤为顺序,以Proteus仿真为载体,突出学生的主体地位,使学生在项目开发过程中,积累项目开发经验,较好地理解单片机结构,扎实掌握单片机硬件电路设计和程序设计技能,形成对单片机应用系统设计与制作的实际工作能力。
1 Proteus软件简介
Proteus是英国Lab Center Electronics公司开发的一款著名的能够对各种处理器进行仿真、调试与测试的EDA工具[2],真正实现了对系统进行仿真设计、测试与验证[3]。Proteus提供的元件库涵盖了目前实践应用中的大部分资源,既有模拟元件也有数字元件。在单片机仿真应用方面支持多种微控制器及常见的外围芯片,并且支持与当前流行的单片机开发环境( Keil、MPLAB、IAR)连接调试的软硬件仿真系统[4]。
Proteus软件将电路设计、PCB制版和模型仿真等多种功能以及各种虚拟仪器如示波器、逻辑分析仪、信号发生器等整合在一个平台上,可以进行原理图绘制、代码的调试以及单片机和外围电路的仿真[5],从而实现产品的完整设计。利用该软件可以很好地弥补单片机课程理论教学和实践应用脱节的缺陷,对于单片机仿真接近实际做到了一体化和互动效果,这使它超越了“虚拟”,成为具有现实意义的教学及研发平台。
2 Proteus软件在单片机教学中的应用实例
单片机教学涉及软件和硬件两方面的知识,在教学中应从单片机应用角度来讲述单片机的硬件原理和程序设计。下面以51单片机控制直流电机为例来说明Proteus在单片机理实一体化教学中的应用。
2.1硬件电路设计
51单片机控制直流电机项目主要模块包括单片机最小系统、L298控制直流电机模块、加减速等级显示模块、正反转指示模块和功能键控制模块。
该项目利用51单片机的中断技术和定时/计数器技术产生可调占空比的PWM脉冲控制直流电机的运行,利用L298集成电路驱动直流电机。51单片机P3.0口功能键控制直流电机正反转,P3.2口功能键控制直流电机加速,P3.3口功能键控制直流电机减速。51单片机P0和P2口接静态数码管显示调速等级(1~20级),P1.0接红色发光二极管指示电机反转,P1.1接绿色发光二极管指示电机正转。结合各个部分电路的设计,选择合适的元器件,在Proteus中绘制如图1的硬件电路图。
图1 单片机控制直流电机图
2.2程序设计
程序设计利用单片机定时器T0产生一个周期为4 ms、频率为250 Hz且占空比可调的PWM脉冲。外中断0工作于边沿触发方式响应加速按键,每按一下加速按键计数值加1,实现PWM占空比增加;外中断1工作于边沿触发方式响应减速按键,每按一下减速按键计数值减1,实现PWM占空比的降低;正反转按键通过查询方式,按下正
转,抬起反转。本程序采用模块化设计,主要包括主程序模块、产生PWM脉冲模块、外中断按键扫描模块。
1) 主程序模块。
主程序主要完成系统参数初始化、设定定时参数、开中断、显示调速等级、启动电机正/反转等。主程序流程如图2所示。
图2 主程序流程
具体主程序如下:
#include
sbit Key=P3^0;
unsigned char PWMH,COUNTER;
unsigned char display[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,0x80,0x90};
void main()
{
TMOD=0x02;//设置 T0模式2
TL0=0x38; //设置定时初值
TH0=0x38;
EA=1;
ET0=1;
TR0=1;
EX0=1;
IT0=1;
EX1=1;
IT1=1;
while(1)
{
P0=DISPLAY[PWMH/10]; //显示速度等级十位
if( Key==0) //判定电机正转
{
MOTOR1=SPEED;
MOTOR2=0;
P1=0xFE;
}
else //判定电机反转
{
MOTOR2=SPEED;
MOTOR1=0;
P1=0xFD;
}
}
}
2)产生PWM脉冲模块。
voidINTTO( ) interrupt 1;//调制PWM脉冲实现电机加/减速
{
COUNTER++ ;
if(COUNTER<=PWMH) SPEED=1;//产生PWM脉冲的高电平
else SPEED=0;//产生PWM脉冲的低电平
if(COUNTER==20)COUNTER=0;
}
3)外中断按键扫描模块。
void int_0() interrupt 0//加速按键响应高电平,脉冲数加1
{
if(PWMH<20)PWMH++;
}
void int_1() interrupt 2//减速按键响应高电平,脉冲数减1
{
if(PWMH>0)PWMH--;
}
2.3软硬件结合仿真调试
将编译后生成的.HEX 文件加入到Proteus仿真系统的单片机中,通过调试菜单进行仿真机调试。在仿真调试过程中可以看到51单片机及其外围设备的显示状态,也可以通过自带的虚拟仪器测量显示信号状态。10级PWM调速直流电机正转仿真图如图3所示,18级PWM调速直流电机反转仿真图如图4所示。
图3 直流电机正转仿真图
图4 直流电机反转仿真图
3 结束语
将Proteus软件引入单片机理实一体化教学是对教学方法和教学模式的一种改革,对培养学生的程序设计技能、硬件设计技能、实践动手技能和综合运用知识的技能都有积极作用。利用Proteus将理论教学与实践相结合,有利于增强学生对单片机应用的感性认识,进一步激发学生的学习、开发兴趣和主观能动性,大大提高了教学质量。
[1]查建中.论“做中学”战略下的CDIO 模式[J].高等工程教育研究,2008(3):1-6.
[2] 伍冯洁,谢斌.基于Proteus 与Keil 的单片机实验教学改革[J].实验室研究与探索,2009,28(7) :125-127.
[3]王娟.Proteus软件在单片机专题实训中的应用[J].实验室研究与探索,2012,31(8) :72-74.
[4] 刘心红,郭福田.Proteus仿真技术在单片机教学中的应用[J].实验技术与管理,2007,24(3) :96-98.
[5]李学礼,林海峰.基于Proteus软件的单片机实验室建设[J].单片机与嵌入式系统应用,2005(9) :5-6.
Application of Proteus on the MCU Teaching of Theory and Practice Integration
WAN Songfeng
(Department of Mechanical and Electrical Engineering,Dongguan Polytechnic,Dongguan 523808,China)
In view of the present MCU teaching status,this paper introduced the teaching pattern of the MCU teaching of theory and practice integration based on Proteus.The analysis of the DC motor accelerating and decelerating control indicates that the use of this teaching system of Proteus simulation software is helpful to improve theory teaching and practice teaching of the MCU course.Practice shows that the method has trained the students' ability to analyze and design MCU application system,and has boosted the students' innovation ability.Meanwhile,it has improved the study independence of the students.The teaching practice has proved to have a better teaching effect.
MCU;theory and practice integration;proteus software
2014-10-20;修改日期: 2014-11-08
广东省示范校建设子课题(S140104);东莞职业技术学院院级教改基金(JGXM2014017)机电创新实训项目开发及教学研究。
万松峰(1979-),男,硕士,讲师,主要从事机电控制方面的研究。
O341;G642.423
A
10.3969/j.issn.1672-4550.2016.01.025