论文部分内容阅读
摘 要:传统的单片机实验是在专门的实验室中进行的,其硬件设备昂贵和设备维护工作量大,而且实验内容存在更新慢、与工程实际应用脱节等问题。本文提出一种基于Proteus软件构建单片机虚拟实验平台的方案,并通过应用实例的分析,详细阐述采用Proteus软件仿真的特点,结合单片机开发程序,建立仿真环境,通过合理地设置,虚拟单片机实验过程,验证单片机系统的可靠性。从而解决实验教学中硬件条件不足的问题,大大提高了实验教学的效果,缩短了实验教学与工程实际应用之间的差距。
关键词:单片机实验;Proteus软件;仿真
“单片机原理与应用”这门课是机电一体化、自动化等专业的一门重要课程,具有理论性强、实践性更强等特点。目前大多数高校都建立了单片机实验室,基本上配备了实验箱等硬件仿真设备。但实验箱硬件电路固定、实验内容较难改动,很难适应单片机技术的快速发展以及培养学生的单片机开发能力、创新能力等需求。利用Proteus软件进行单片机虚拟仿真实验,可以在一定程度上弥补上述不足。随着多媒体教学手段的不断发展,仿真软件得到了广泛的应用,Proteus软件是英国Labcenter公司开发的电路分析与实物仿真软件。它运行在Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
1 基于Proteus的单片机虚拟实验平台的优势
⑴实验内容广泛:利用Proteus软件丰富的系统资源,可完成验证性、设计性和综合性实验内容。验证性实验项目:①输入输出口实验;②中断实验;③定时器实验等。设计性实验项目:①设计时钟电路,完成时间的实时显示;②设计16×16LED点阵的显示电路;完成汉子的循环显示等。综合性实验项目:①温度控制系统设计;②步进电机控制系统设计等。设计灵活,克服了单片机实验箱中实验内容固定不变等方面的局限性,增强学生的学习兴趣。
⑵硬件投入少:在实际教学中,如果微控制器涉及到 51系列、PIC系列、AVR系列等,为保证教学的需要,必然要投入各种实验设备;在实验过程中若需示波器、逻辑分析仪、信号发生器等设备,也必然要投入资金。若采用Proteus软件则可仿真多种单片机,并可利用系统提供的虚拟仪表进行分析,避免了上述问题。
⑶实验过程中损耗小:在传统的实验过程中,都涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等在工作时所造成的能源消耗。采用仿真软件进行的实验,基本没有元器的损耗问题,在实验的过程中是比较安全的。
(4)Proteus软件进行仿真实验,学生可在计算机上自行设计所需实验,画原理图、编写源代码、反复调试,观察结果,直到最终满意为止。这样可以节省开发时间和开发费用,并且可大大提高学生的单片机应用能力以及创新能力。
2 基于Proteus的单片机虚拟实验平台的配置方案
⑴虚拟仿真软件的配置:选Proteus软件仿真系统,在单片机实验室为每台计算机安装一套该软件,可弥补硬件设备的不足。
⑵编译调试环境选用Keil C51 uVision3软件:Keil C51 uVision3软件集编辑、编译和程序仿真于一体, 是当前较为流行的软件之一,该软件支持多种汇编和C语言的编程,Proteus软件支持Keil C51 uVision3联合调试。
⑶基于Proteus的单片机虚拟实验平台学习网站:学生可在该网站上自主学习Keil C51 uVision3软件的详细使用方法,以及二者联合调试的方法,并且给出了大量的实例,以视频录像的方式展现,便于学生学习。
3 应用实例
下面介绍一个集中断、七段码显示和时钟日历芯片DS1302的综合实验平台设计以及调试方法。
3.1 绘制仿真电路的原理图
启动Proteus软件,在主窗口界面点击窗口左侧的元器件选择区的P按钮,接下来会弹出Pick Devices窗口,接着Category栏里点击,在Results 栏里会出现多类型的CPU器件,找到80C51后雙击,80C51就被添加到当前窗口左侧的元器件列表区。再用同样的方法依次把DS1302、7SEG-MPX8-CA-BLUE、74LS373、74LS138、Switch以及多个电阻也添加到器件列表区里。然后再依次点击列表区的器件,把他们放到绘图区并编辑其属性,接着进行合理的布局后,就可以进行连线。绘制出电路原理图如图1所示。
3.2 应用实验平台完成实验项目
该仿真实验平台可设置多个基本实验和扩展实验项目。
基本实验:
①外部中断1实验:外部中断1(P3.3引脚)接一个开关,P0口通过两片74LS273锁存器连接16个发光二极管,可利用开关产生低电平或下跳沿触发中断来控制 16个发光二极管的亮灭;②多个外部中断实验:外部中断0(P3.2引脚)接两个开关,作为两个外部中断源,若有一个开关产生低电平或下跳沿触发中断,可利用查询P1.3、P1.4引脚判断是哪个外部中断源引起中断,并可控制16个发光二极管的亮灭;③七段码显示实验:P2.0、P2.1、P2.2三个引脚通过74LS138译码器作为8个七段码的位选线,通过P0口送出段码,可完成动态扫描显示。④时钟芯片DS1302实验:P1.0、P1.1、P1.2三个引脚作为DS1302的复位端、脉冲输入端以及数据输入输出端,通过 8个七段码显示器显示,可实现小时、分、秒的实时显示。
扩展实验:
①根据时间控制16个发光二极管的亮灭;②若P3.3口接光敏电阻,可根据光的强弱控制16个发光二极管的亮灭;③若P3.2引脚接热式红外传感器,可根据是否有人来控制16个发光二极管的亮灭。
根据该实验平台还可设计其他实验,可让学生自行开发。 3.3 编写程序
利用Keil C51 uVision软件编写C语言程序,由于篇幅限制,下面只给出利用外部中断1控制16个发光二极管的亮灭程序,DS1302程序略。
#include
#include
#define uchar unsigned char
sbit ME_RST=P1^0;
sbit ME_SLCK=P1^1;
sbit ME_IO=P1^2;
sbit_1_in=P1^3;
sbit_1_out=P1^4;
sbit_273_1_clk=P2^4;
sbit_273_2_clk=P2^5;
uchar dis_code[10]= ﹛0X3F, 0X06, 0X5B, 0X4F, 0X66, 0X6D, 0X7D, 0X07, 0X7F, 0X6F﹜;
void main (void)
﹛
dsinit( );
w_init( );
dswrprt( );
IT1=1;
EX1=1;
EA=1;
Do
﹛time( );﹜
While(1);
﹜
/*int1中*/
Void extern1_ISR( )interrupt2
﹛P0=0x55;
_273_1_clk=0;
_273_1_clk=1;
_273_1_clk=0;
P0=0x55;
_273_2_clk=0;
_273_2_clk=1;
_273_2_clk=0;
﹜
在文件Keil C51 uVision2中,将上述程序编译成16进制文件IntTimedLed.HEX。
3.4 系統仿真
⑴Proteus ISIS与Keil 连接
⑵在ISIS中,选中单片机80C51,再右键点击80C51,出现相应的对话框,在Program File中填入“IntTimedLed.HEX”文件,然后点击“OK”。此时,完成了程序的载入。
⑶在ISIS窗口的下方有4个模拟调试控制按钮:运行、步进、暂停和停止按钮,点击运行按钮,即可仿真。
4 结束语
基于Proteus的单片机虚拟实验平台的应用,既可充分利用学校计算机房的现有设备,减少了实验设备的硬件投入及维护工作量,又实现了形象化教学,为单片机的软硬件结合虚拟仿真提出了一个新的思路,同时可提高学生的单片机应用以及开发能力。
作者简介:张文(1983.1-),女,汉族,江苏徐州人,职称:讲师,学位:工程硕士,大学本科,研究方向:控制工程。
关键词:单片机实验;Proteus软件;仿真
“单片机原理与应用”这门课是机电一体化、自动化等专业的一门重要课程,具有理论性强、实践性更强等特点。目前大多数高校都建立了单片机实验室,基本上配备了实验箱等硬件仿真设备。但实验箱硬件电路固定、实验内容较难改动,很难适应单片机技术的快速发展以及培养学生的单片机开发能力、创新能力等需求。利用Proteus软件进行单片机虚拟仿真实验,可以在一定程度上弥补上述不足。随着多媒体教学手段的不断发展,仿真软件得到了广泛的应用,Proteus软件是英国Labcenter公司开发的电路分析与实物仿真软件。它运行在Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
1 基于Proteus的单片机虚拟实验平台的优势
⑴实验内容广泛:利用Proteus软件丰富的系统资源,可完成验证性、设计性和综合性实验内容。验证性实验项目:①输入输出口实验;②中断实验;③定时器实验等。设计性实验项目:①设计时钟电路,完成时间的实时显示;②设计16×16LED点阵的显示电路;完成汉子的循环显示等。综合性实验项目:①温度控制系统设计;②步进电机控制系统设计等。设计灵活,克服了单片机实验箱中实验内容固定不变等方面的局限性,增强学生的学习兴趣。
⑵硬件投入少:在实际教学中,如果微控制器涉及到 51系列、PIC系列、AVR系列等,为保证教学的需要,必然要投入各种实验设备;在实验过程中若需示波器、逻辑分析仪、信号发生器等设备,也必然要投入资金。若采用Proteus软件则可仿真多种单片机,并可利用系统提供的虚拟仪表进行分析,避免了上述问题。
⑶实验过程中损耗小:在传统的实验过程中,都涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等在工作时所造成的能源消耗。采用仿真软件进行的实验,基本没有元器的损耗问题,在实验的过程中是比较安全的。
(4)Proteus软件进行仿真实验,学生可在计算机上自行设计所需实验,画原理图、编写源代码、反复调试,观察结果,直到最终满意为止。这样可以节省开发时间和开发费用,并且可大大提高学生的单片机应用能力以及创新能力。
2 基于Proteus的单片机虚拟实验平台的配置方案
⑴虚拟仿真软件的配置:选Proteus软件仿真系统,在单片机实验室为每台计算机安装一套该软件,可弥补硬件设备的不足。
⑵编译调试环境选用Keil C51 uVision3软件:Keil C51 uVision3软件集编辑、编译和程序仿真于一体, 是当前较为流行的软件之一,该软件支持多种汇编和C语言的编程,Proteus软件支持Keil C51 uVision3联合调试。
⑶基于Proteus的单片机虚拟实验平台学习网站:学生可在该网站上自主学习Keil C51 uVision3软件的详细使用方法,以及二者联合调试的方法,并且给出了大量的实例,以视频录像的方式展现,便于学生学习。
3 应用实例
下面介绍一个集中断、七段码显示和时钟日历芯片DS1302的综合实验平台设计以及调试方法。
3.1 绘制仿真电路的原理图
启动Proteus软件,在主窗口界面点击窗口左侧的元器件选择区的P按钮,接下来会弹出Pick Devices窗口,接着Category栏里点击,在Results 栏里会出现多类型的CPU器件,找到80C51后雙击,80C51就被添加到当前窗口左侧的元器件列表区。再用同样的方法依次把DS1302、7SEG-MPX8-CA-BLUE、74LS373、74LS138、Switch以及多个电阻也添加到器件列表区里。然后再依次点击列表区的器件,把他们放到绘图区并编辑其属性,接着进行合理的布局后,就可以进行连线。绘制出电路原理图如图1所示。
3.2 应用实验平台完成实验项目
该仿真实验平台可设置多个基本实验和扩展实验项目。
基本实验:
①外部中断1实验:外部中断1(P3.3引脚)接一个开关,P0口通过两片74LS273锁存器连接16个发光二极管,可利用开关产生低电平或下跳沿触发中断来控制 16个发光二极管的亮灭;②多个外部中断实验:外部中断0(P3.2引脚)接两个开关,作为两个外部中断源,若有一个开关产生低电平或下跳沿触发中断,可利用查询P1.3、P1.4引脚判断是哪个外部中断源引起中断,并可控制16个发光二极管的亮灭;③七段码显示实验:P2.0、P2.1、P2.2三个引脚通过74LS138译码器作为8个七段码的位选线,通过P0口送出段码,可完成动态扫描显示。④时钟芯片DS1302实验:P1.0、P1.1、P1.2三个引脚作为DS1302的复位端、脉冲输入端以及数据输入输出端,通过 8个七段码显示器显示,可实现小时、分、秒的实时显示。
扩展实验:
①根据时间控制16个发光二极管的亮灭;②若P3.3口接光敏电阻,可根据光的强弱控制16个发光二极管的亮灭;③若P3.2引脚接热式红外传感器,可根据是否有人来控制16个发光二极管的亮灭。
根据该实验平台还可设计其他实验,可让学生自行开发。 3.3 编写程序
利用Keil C51 uVision软件编写C语言程序,由于篇幅限制,下面只给出利用外部中断1控制16个发光二极管的亮灭程序,DS1302程序略。
#include
#include
#define uchar unsigned char
sbit ME_RST=P1^0;
sbit ME_SLCK=P1^1;
sbit ME_IO=P1^2;
sbit_1_in=P1^3;
sbit_1_out=P1^4;
sbit_273_1_clk=P2^4;
sbit_273_2_clk=P2^5;
uchar dis_code[10]= ﹛0X3F, 0X06, 0X5B, 0X4F, 0X66, 0X6D, 0X7D, 0X07, 0X7F, 0X6F﹜;
void main (void)
﹛
dsinit( );
w_init( );
dswrprt( );
IT1=1;
EX1=1;
EA=1;
Do
﹛time( );﹜
While(1);
﹜
/*int1中*/
Void extern1_ISR( )interrupt2
﹛P0=0x55;
_273_1_clk=0;
_273_1_clk=1;
_273_1_clk=0;
P0=0x55;
_273_2_clk=0;
_273_2_clk=1;
_273_2_clk=0;
﹜
在文件Keil C51 uVision2中,将上述程序编译成16进制文件IntTimedLed.HEX。
3.4 系統仿真
⑴Proteus ISIS与Keil 连接
⑵在ISIS中,选中单片机80C51,再右键点击80C51,出现相应的对话框,在Program File中填入“IntTimedLed.HEX”文件,然后点击“OK”。此时,完成了程序的载入。
⑶在ISIS窗口的下方有4个模拟调试控制按钮:运行、步进、暂停和停止按钮,点击运行按钮,即可仿真。
4 结束语
基于Proteus的单片机虚拟实验平台的应用,既可充分利用学校计算机房的现有设备,减少了实验设备的硬件投入及维护工作量,又实现了形象化教学,为单片机的软硬件结合虚拟仿真提出了一个新的思路,同时可提高学生的单片机应用以及开发能力。
作者简介:张文(1983.1-),女,汉族,江苏徐州人,职称:讲师,学位:工程硕士,大学本科,研究方向:控制工程。