基于Proteus的虚拟单片机实验系统

2022-10-04

单片机技术被广泛应用于各种嵌入式系统中。传统的单片机系统设计开发, 需要借助各种类型的单片机硬件仿真设备, 但由于硬件仿真设备投入较大, 因此单片机虚拟仿真软件Proteus逐渐受到关注, 并得到越来越广泛的应用。

1 虚拟单片机实验室

1.1 Proteus单片机仿真软件简介

Proteus是一个完整的嵌入式系统软、硬件仿真平台。其主要的特点有两个:一是对动态元件的实时仿真, 它对“人机对话”的模拟增强了系统的真实性;二是虚拟工具箱的功能, 它能与仿真同时进行, 测量方便而准确。针对微处理器的应用, 可以直接在基于原理图的虚拟原型上编程, 并实现软件代码级的调试, 还可以直接实时动态地模拟按钮、键盘的输入、LED、液晶显示的输出, 同时配合虚拟工具如示波器、逻辑分析仪等进行相应的测量和观测[1]。

1.2 构建虚拟单片机实验室的优点

Proteus的出现也为单片机虚拟实验室的构建提供了一条方便、快捷、节约成本的新思路。采用Proteus仿真软件进行虚拟单片机实验, 具有明显的优势, 其优点如下。

(1) 实验内容涉及面广, 单片机系列多样, 可灵活拓展。

在单片机的实验系统中, 所涉及到的内容包括了四个方面, 即单片机系统资源、软件技术、硬件接口电路、软件和硬件相结合的应用系统。对于软件调试内容, 使用Proteus软件, 可以执行在debug菜单下registers菜单项命令打开相应的窗口, 也可执行debug菜单下的internal memory菜单项命令打开相应的窗口, 对系统内部存储器进行查看。对于硬件接口电路, 同样功能的电路, 可以在Proteus中采用不同的硬件来搭建完成。单片机实验, 主要以51系列为主, 若在此基础上涉及到其他系列的单片机, 则需要更换实验板。而Proteus软件除支持8051系列外, 还支持6800系列、AVR系列、PIC系列、ARM系列等, 单片机的类型多样。因而采用Protues仿真软件进行实验, 克服了常规开发实验内容固定、硬件电路固定等方面的局限性[2]。

(2) 节约实验成本, 减少实验损耗。

常规的开发实验, 单片机的CPU和具体的接口电路一般是固定的。如果要更换单片机的型号和接口电路, 必然要增加新的设备和元件, 加大了实验成本。在试验过程中, 实验设备和元件都会有损耗, 因操作不当还会造成造成仪器仪表的损毁, 且仪器仪表的维护也需要较大的工作量。在Protues所提供的元件库中, 大部分可以直接用于接口电路的搭建, 同时该软件提供的多种虚拟测试仪表, 非常可靠和经济。因而采用先软件仿真通过, 再实际搭接电路的方式进行实验, 有非常明显的经济优势。

2 基于Proteus的直流电机测速实验系统的设计

2.1 设计思路

单片机通过驱动芯片L298驱动直流电机运转, L298输出电流可达到2.5A。单片机的P1口的P1.0, 经过反相器接到L298的输入端IN1和直接接到输入端IN2, 控制电机的正反转。P1.1作为输出口, 接到L298的EnA控制使能端, 输出PWM信号控制电机的转速。L298的输出端OUT1和OUT2接到直流电机绕组上, 直流电机的转速信号送入到单片机的P3.4 (T0端) 进行计数, 从而测出电机的转速。

通过矩阵键盘来设置电机的运行状态。用单片机的并行口P1的P1.4-P1.7接到键盘上, 作为行线;并行口P3的P3.0-P3.3接到键盘上, 作为列线。“+”“—”按键, 控制电机是加速还是减速“, =”和“on/c”按键, 控制电机是正转还是反转。单片机P0口的P1.0-P1.7及P0口的P2.0、P2.7接到LCM液晶显示模块上, 在LCM上能清楚地显示出电机的运行方向和转速。

2.2 设计步骤

(1) 程序设计:安装好编译环境Keil C518.0与仿真环境Proteus 7.1。进入Keil C51开发集成环境, 创建一个新项目Project, 为该项目选定合适的单片机CPU器件AT89C51, 并为该项目加入编写的Keil C源程序hc.hex[3]。

(2) 绘制原理图:启动Proteus, 打开Proteus仿真环境, 按照清单添加元器件“A T 8 9 C 5 1”、矩阵键盘“K E Y P A D-SMALLCALC”、和LCD“PG160128A”、驱动芯片“L298”、直流电机“MOTOR-ENCODER”、2个反相器“7404”, 2个示波器“OSCILLOSCOPE”。根据原理图连接硬件电路。单片机AT89C51控制部分的原理图如图1所示, 直流电机驱动及测速部分的原理图如图2所示, 矩阵键盘的原理图如图3所示。

(3) 仿真设置:在原理图编辑区右键选定AT89C51, 再左键单击编辑其属性。在Program File中加入编译生成的目标文件hc.hex, 如图4所示。鼠标左键点击菜单“Debug”, 选中“Use romote debuger monitor”, 便可实现Keil C与Proteus的联合调试。

(4) 仿真分析:单击仿真开关execute, 开始仿真。在keil C中进行Debug调试, 同时在Proteus中查看直观的运行结果。通过对键盘的操作控制直流电机的运行状态, 当按下“+”, 电机加速运转;按下“—”, 电机减速运转;按下“=”, 电机顺时针运转;按下“on/c”, 电机逆时针运转。同时LCD液晶显示器同步地记录下电机每时每刻的运行状态。仿真效果图如图5所示, LCM上显示的仿真结果是:逆时针方向运转, 转速为83r/min。同时在示波器上可以显示P1.1口输出的PWM波形。

2.3 主要源程序

3 结语

在单片机系统设计与应用中, 单片机虚拟仿真技术具有广阔的应用前景。与传统的硬件仿真相比, 具有明显的技术优势:电路设计快捷方便, 器件种类全面丰富, 能提供多种虚拟仪器仪表进行过程检测, 仿真过程贴近工程实践等。因而构建虚拟单片机实验室, 开发虚拟单片机实验系统有着积极的现实意义, 可以节约开发成本和时间, 充分发挥其经济性、全面性、灵活性和可扩展性。

摘要:Proteus是一个完整的嵌入式系统软、硬件仿真平台, 在单片机系统设计与应用中, 具有广阔的应用前景。本文首先介绍了Pro-teus软件的特点, 并阐述了构建单片机虚拟实验室具有经济性、全面性、可靠性和灵活性的优势。结合基于Proteus的虚拟单片机实验系统开发, 给出了直流电机测速实验系统仿真的具体步骤, 并给出了仿真效果图及C51源程序。

关键词:Proteus,虚拟实验室,仿真软件,直流电机测速系统,单片机

参考文献

[1] 高启明.Proteus仿真软件在构建单片机实验室中的应用[J].西安航空技术高等专科学校学报, 2008, 12.

[2] 张齐.单片机应用系统设计技术-基于C51的Proteus仿真[M].北京:电子工业出版社, 2007.

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

上一篇:谈高校图书馆服务团队的培养下一篇:中小型制造业企业内控管理与财务风险防范