Proteus虚拟仿真在单片机课程教学中的应用

2013-12-03 02:12长江大学工程技术学院湖北荆州434020
长江大学学报(自科版) 2013年25期
关键词:字节仪表指令

徐 阳 (长江大学工程技术学院,湖北 荆州434020)

徐爱钧 (长江大学电子信息学院,湖北 荆州434023)

目前,单片机已成为电子系统设计中最为普遍的手段,广泛应用于家用电器、仪器仪表、医用设备、航空航天、以及工业测量与过程控制等领域[1]。为此,国内许多高等院校都将单片机列为电子信息类专业学生的一门重要专业课程。在传统单片机课程教学中,教师在课堂上以纯理论方式讲解单片机片的硬件结构和软件编程,这些知识往往比较枯燥,学生难以理解消化,导致学习积极性不高。另外,教师在讲授时,通常将软件与硬件相对独立地呈现给学生,使学生无法从整个系统的角度去理解单片机软、硬件结合技术,尤其涉及硬件的一些操作,譬如I/O口控制、定时器/计数器控制等,如果只进行理论分析,很难获得好的教学效果[2]。为此,笔者对Proteus虚拟仿真在单片机课程教学中的应用进行了探讨。

图1 单片机汇编指令功能的虚拟仿真图

1 单片机汇编指令功能的虚拟仿真

由于8051单片机总共有111条汇编指令,因而熟练掌握汇编指令对于提高学生的编程能力具有十分重要的作用[3]。传统教学模式是对汇编语言程序逐条进行原理讲解,但学生难以理解指令的执行过程及其功能,尤其是讲解汇编语言程序时,如果学生对其中一条指令没有弄清楚,则对整个程序都不能理解。为此,利用Proteus的虚拟仿真功能来解决上述问题。首先绘出单片机系统硬件原理电路图,然后装入编译好的汇编语言程序hex文件,启动虚拟仿真,单击Debug下拉菜单打开源代码窗口和CPU寄存器窗口,从源代码窗口可以清楚地看到指令地址、指令代码以及指令助记符等,以单步、断点、全速等方式逐条执行汇编指令,从CPU寄存器窗口可以看到每执行一条指令对CPU状态和工作寄存器的影响,这样学生可以形象直观地理解指令的执行过程及其功能 (见图1)。

2 利用Proteus虚拟仪表观察仿真结果

Proteus软件中提供了示波器、信号发生器、电压/电流表、SPI调试器、I2C调试器、虚拟终端、逻辑分析仪等多种虚拟仪表,启动仿真后可以直接从虚拟仪表观察输出状态,若对输出结果不满意可以随时修改元器件参数,或者根据设计要求选用不同元器件,重新启动仿真,直到满意为止[4]。例如,采用单片机片内定时器和输入输出端口产生周期为4μs的方波,应用Proteus虚拟示波器观察结果,通过调整示波器上幅度和时间旋钮,可以清楚地看到输出波形的周期能够满足要求 (见图2)。由于在PC机上修改软件程序比修改实际硬件电路板要容易得多,因此应用虚拟仿真进行单片机硬件系统实验十分方便,而且教师在授课过程中可以通过大屏幕直接进行演示,相比采用实验箱进行教学,可以获得事半功倍的效果。

图2 利用Proteus虚拟仪表观察仿真结果图

3 单片机应用系统的虚拟仿真

以一个单片机应用系统的虚拟仿真为例 (见图3),其采用8051单片机和日历时钟芯片DS1302设计一种电子万年历,通过按键进行日历时间设置;显示器采用点阵图形液晶模块,能够用汉字同时显示公历、农历、属相和星期。软件程序采用C语言分模块编写,包括主模块main.c、日历时钟模块ds1302.c、年历转换模块lunar.c,液晶显示模块12864.h和字模模块model.h。在8051单片机片内RAM中开辟80H~8CH单元作为万年历的秒、分、时、日、月、星期和年计时单元,并设定初始时间和初始日期。从仿真结果来看,液晶显示器的输出能够满足设计要求。

Proteus还提供对器件工作波形时序的图文仿真。图4所示为DS1302与8051之间以同步方式进行单字节串行数据传送的波形时序。SCLK为串行通信的位同步时钟,一个SCLK脉冲传送一位数据,每次数据传送都以字节为单位,低位在前,高位在后,传送一个字节需要8个SCLK脉冲。在RST=1期间,8051单片机先向DS1302发送一个命令字节,紧接着发送一个字节的数据,DS1302在接收到命令字节后自动将数据写入指定的片内地址或从该地址读取数据。整个数据传输过程通过Proteus图文仿真清楚地显示出来。

4 结 语

采用Proteus进行单片机教学,学生可以直接在基于原理图的虚拟模型上进行编程,实现源码级的仿真调试,配合各种虚拟仪表来展现整个单片机系统的运行过程,很好地解决了单片机课堂教学中软件和硬件无法很好结合的难题。与传统教学模式相比,利用Proteus虚拟仿真进行单片机教学,不仅能使学生更好地掌握相关原理知识,还能从工程应用角度直接观察整个单片机系统的工作情况,从而使单片机课程教学过程变得形象生动,这样可以激发学生的学习热情,从而获得良好的教学效果。

图3 单片机应用系统的虚拟仿真图

图4 DS1302单字节数据传送波形时序的图文仿真图

[1]徐爱钧 .单片机原理实用教程——基于Proteus虚拟仿真 [M].北京:电子工业出版社,2011.

[2]王普 .基于Proteus的单片机课程教学改革 [J].景德镇高专学报,2011(12):4-5.

[3]乔建华,李临生,田启川.Proteus在单片机教学中的应用分析 [J].电气电子教学学报,2008(3):70-73.

[4]高强,倪维晨,谷海青 .基于Proteus设计电子台历的单片机教学 [J].实验技术与管理,2011(7):88-90.

猜你喜欢
字节仪表指令
◆ 仪表
仪表
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
ARINC661显控指令快速验证方法
简谈MC7字节码
杀毒软件中指令虚拟机的脆弱性分析
奔驰E260车行驶过程中仪表灯熄灭
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法