单片机实践教学中Proteus仿真技术的应用
2018-02-28邱丹曹冬梅
邱丹 曹冬梅
摘要
Proteus是全球范围内广泛使用的EDA工具软件,除了能进行模拟、数字和模/数混合电路的设计与仿真外,也是目前较先进的多种型号微控制器系统的设计与仿真平台。本文介绍了单片机课程教学中的实践项目一车辆速度里程表应用系统的软件仿真案例,并详述了基于此应用系统的Proteus软件的仿真电路设计和仿真结果。
【关键词】Proteus 单片机 Keil 霍尔传感器
单片机课程是一门理论性很强的课程,高等学校的很多电类、信息类工科专业的都已开展。单片机课程又是一门实践性很强的课程,需要一定的实践环节作为辅助,因而需要大量的实验仪器和设备,硬件投入大,经费通常投入不足,难以达到预期教学效果。为此本文提出了一种利用当前比较先进的EDA软件——Proteus进行单片机系统软件仿真的设计和实践的方法,构建单片机虚拟实验设备,为解决上述问题提供一些新思路。
Proteus是英国Labcenter Electronics公司开发的电路分析仿真软件,运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟元器件、集成电路和众多单片机系统。既可用于设计电路原理图,又可以画印制电路板(PCB)图,并可以实现交互可视化仿真;还可以与常用的单片机编译调试軟件Keil C51进行联合调试。用该软件进行开发的优势主要在于,避免了用传统方法开发时方案更换所带来的多次购买元器件及制作PCB板的麻烦,节约了设计时间,降低了设计经费,也降低了学生学习单片机应用技术的门槛。
1 系统的硬件电路设计
本文提出一种速度里程表的实现方案,在车辆行驶过程中,可以实时测量并显示速度和里程两个参数;当超速行驶时还提供自动报警功能。系统硬件部分包括单片机控制模块、供电模块、数码显示模块、测量模块、功能选择模块、状态指示模块构成。
2 系统的仿真设计
本系统的测量模块中采用的是开关型霍尔传感器来测量速度和里程。但Proteus中没有此类霍尔元件,因此采用软件中的虚拟仪表——信号发生器产生的方波下降沿来模拟车辆每行驶一圈由霍尔元件输出的低电平;为了对信号发生器产生的方波进行监控,本系统还使用了虚拟仪表——示波器和计数器,示波器监控信号发生器所产生的波形,计数器对信号发生器输出的方波个数进行计数,也作为验证系统所显示的行驶里程正确与否的依据。
当单片机系统仿真电路原理图和配套程序都完成后,即可进行仿真调试了。本系统采用Keil C51与Proteus联合调试的方法,软件Keit C51负责执行程序,而Proteus负责显示原理图的变化情况,两种软件分工合作,各尽其责。Keil C51每调试一次,Proteus就会做出相应动作,也可根据系统需要进行跟踪调试,调试方法灵活多样,效果最好。
2.1 里程和速度显示界面
图1和图2中,功能按键S3是用来控制数码管显示内容的,当S3抬起时显示的是里程数,仿真结果如图1所示,此时车轮行驶了254圈,程序设置车轮周长为1.8米,则行驶里程为457.2米。当S3按下时显示的是速度,仿真结果如图2所示,此时表示车轮行驶了95圈时,行驶的即时速度为5.1m/s。
2.2 速度太慢报警界面
当系统检测到车辆行驶速度太慢(<0.5m/s)的情况下,状态灯D3闪烁,表示警告,同时数码管交替显示当前速度、“Sudu”、“Erro”。
3 结论
Proteus在单片机系统的开发和仿真中功能十分强大,能提供虚拟且直观的硬件和软件设计环境,即使不画出复位电路与振荡电路,只要画好主控芯片和外围电路,并将扩展名为HEX的十六进制文件下载到主控芯片中,即可进行仿真调试。当然,如果在系统设计过程中,Proteus本身没有个别元器件的原型,则需要对仿真电路做适当调整或对某些元器件进行替换。软件仿真并不能完全替代实际的硬件电路,计算机本身性能等因素同样会影响到仿真结果,这时需要依靠软件程序设计上的适当调整解决此类问题,但要注意调整时不要改变程序的本质,否则可能会仿真不成功,达不到实验的目的。
本文提出了基于软件Proteus的仿真技术进行单片机系统开发的实践案例和方法,并给出了关键性的仿真结果,其仿真环境和相关技术可以作为学生学习电路分析、电子电路、单片机系统和嵌入式系统等课程的辅助工具。该虚拟仿真的演示系统也可为其相关项目的推广和应用起到相当的作用。
参考文献
[1]杜树春.基于Proteus和KeilC51的单片机设计与仿真[M].北京:电子工业出版社,2012.
[2]陈忠平.基于Proteus的51系列单片机设计与仿真(第2版)[M].北京:电子工业出版社,2012.
[3]卢建华.Proteus在交通灯控制系统中的应用[J]数码设计,2018(01).
[4]李伟,李红海.基于车辆速度里程表的Proteus仿真[J].机电工程技术,2010(05).
[5]王超,杨莲红.Proteus仿真软件在单片机实践教学中的应用[J].现代电子技术,2014(07).