一种基于仿真技术的单片机实训教学装置

2018-10-09 07:41彭亮
科技视界 2018年19期
关键词:实训教学仿真单片机

彭亮

【摘 要】针对单片机实训教学存在的模块扩展困难、不能模拟复杂控制对象、实训设备容易损坏维护困难等问题,文章提出了一种基于仿真技术的新型单片机实训教学装置,该实训教学装置能模拟复杂工作场景,具备使用方便、扩展性强、使用损耗小、维护容易等优点。

【关键词】单片机;仿真;实训教学;Adobe AIR

中图分类号: G642;TP368.1-4 文献标识码: A 文章编号: 2095-2457(2018)19-0180-002

DOI:10.19694/j.cnki.issn2095-2457.2018.19.080

A Single-chip Computer Practical Training and Teaching Equipment Based on Simulation Technology

PENG Liang

(Wuhan Railway Vocational College of Technology, Hubei Wuhan 430205, China)

【Abstract】In order to solve the problems during the single-chip computer practical training and teaching, such as the training teaching equipment is difficult to expand, cannot simulate complex control objects and tend to be damaged and hardly maintained. New practical training teaching equipment based on the simulation technology is proposed in this paper. The practical training teaching equipment can simulate the complex work scene, and it has many advantages: easy to use, easy to expand, small use loss, easy to maintain and so on.

【Key words】Single-chip computer;Simulation;Training teaching;Adobe AIR

0 引言

目前单片机实训教学通常采用两种方式。

第一種是采用单片机实验箱进行实训。这种实训方式的优点是:操作贴近实际工作过程,控制对象模块化、节省实训时间,缺点是:模块数量有限,扩展困难;使用损耗大,维护困难;不能模拟复杂控制对象。

另外一种实训方式是采用Protues仿真软件进行实训。这种实训方式的优点是:虚拟元件自由搭配、扩展性强;仿真操作,使用过程没有损耗。缺点有:纯软件操作,与实际工作流程区别大,同样也不能模拟较复杂的工作场景。

针对这两种实训教学方式的不足,本文介绍一种基于仿真技术的单片机实训教学装置。利用这种装置开展实训,能展示复杂的工作场景,并且采用实物单片机进行控制,具有以上教学方式的优点,也避免了它们的缺点。

1 系统方案

基于仿真技术的单片机实训教学装置包含单片机、仿真器和仿真实训模块三个部分。系统基本工作原理如下:

(1)单片机运行着控制程序,通过输入输出端子控制仿真模块中的虚拟对象。

(2)仿真器是单片机和仿真软件之间的一道桥梁,使得单片机能够对虚拟对象进行控制。

(3)仿真实训模块采用生动的动画效果,模拟实际工作场景,接受单片机程序控制。

2 仿真器设计

仿真器采用STC89C52单片机系统板作为控制器,对外提供8个数字量输入和8个数字量输出端子。运行过程中,仿真器不断采集外部单片机程序产生的控制信号,通过串行口转发送给仿真实训模块,同时接收实训模块的输出信号转发给单片机。

3 仿真实训模块设计

系统仿真软件采用Adobe AIR构建,Adode AIR是Adobe公司开发的基于Flash动画技术的跨平台应用解决方案,通过Animate动画软件可以轻松制作出具有丰富互动效果的应用并打包为AIR格式发布到主流平台。

3.1 通讯功能实现

仿真实训模块运行过程中通过电脑串行口与仿真器进行通讯,但是Adobe AIR本身没有提供串行口的访问功能。为了简化程序设计,仿真实训模块利用serproxy工具将电脑串行口映射为本地TCP端口,实现与仿真器的通讯。

serproxy是一款免费串口转TCP工具,在运行仿真软件前,首先要运行它。serproxy会根据配置文件监听处理TCP连接请求。

配置文件中的default settings部分为打开串行口的参数:(1)comm_baud为波特率;(2)comm_databits为数据位位数;(3)comm_stopbits为停止位位数;(4)comm_parity为奇偶表示,none表示不进行奇偶校验。

timeout为TCP端口超时时间,以秒为单位,如果超过这个时间没有接收到来自TCP端口的任何数据,serproxy会断开连接,并关闭对应串行口。

ports setting部分为串口与TCP端口映射关系设定,net_port#里的数字为串口号,等号后面的数字表示该串口对应的TCP端口。

当监听到来自配置文件中所包含的某个TCP端口的连接请求时,serporxy会按照设定参数打开对应串行口,并在串行口和TCP端口之间进行相互数据转发。通过这种方式,仿真软件只需要连接串行口对应的TCP端口就能实现和仿真器的相互通讯,从而减小了编程难度。

3.2 实训模块结构

不同的实训模块所呈现的模拟场景是不一样的,但底层代码的结构基本相同,主要包含三个组成部分:

(1)通讯部分:通讯部分负责实训模块与仿真器的通讯,用于接收由仿真器所采集的单片机程序控制信號,同时将虚拟控制对象的状态通过仿真器传递给单片机。

(2)数据库部分:数据库部分作为一个抽象层,将虚拟控制对象的画面呈现和状态分离开来,这种设计降低软件各个部分耦合程度,加快了模块开发速度。

(3)画面呈现部分:画面呈现部分利用了动画技术的优势,能够活灵活现的呈现各种复杂的工作场景。

3.3 水塔水位控制实训模块

接下来以水塔水位控制实训模块为例,介绍模块运行机制。

水塔水位控制实训模块模拟了一个水塔水位系统,包含若干控制对象:

(1)储水罐,用来表示水位高低,对应数据变量water_level,变量类型为Number;

(2)进水电磁阀,用来控制进水管,对应数据变量inlet_valve,变量类型为Boolean,对应仿真器端子Y0;

(3)高水位传感器,用来检测水位过高,对应数据变量high_level,变量类型为Boolean,对应仿真器端子X1;

(4)低水位传感器,用来检测水位过低,对应数据变量low_level,变量类型为Boolean,对应仿真器端子X0;

实训模块通过通讯部分来实现数据库变量和单片机控制信号的同步,例如:单片机通过P1.0引脚向仿真器的Y0端子发送低电平,经仿真器采集通过串行口传送给电脑,再由serproxy转发至TCP端口,从而被连接到TCP端口上的实训模块所接收并存储到变量inlet_valve中。

实训模块的数据库变量和虚拟控制对象的状态是相互绑定的,例如:inlet_valve变量对应的控制对象为电磁阀,当单片机发送的低电平被接收存储到数据库中后,电磁阀的状态会自动进行更新,由红色变为绿色,表示电磁阀已经打开。

实训模块通过以上机制来实现单片机控制信号和虚拟控制对象相互影响。当单片机程序产生的控制信号变化时,虚拟控制对象的状态会及时发生改变。与之相应,当虚拟控制对象的状态发生变化时,单片机程序也会立即做出反应。

4 总结

本文介绍的基于仿真技术的单片机实训教学装置,采用基于Flash动画技术构建的实训模块来模拟工作场景中的控制对象,并利用仿真器作为中间桥梁,连接运行控制程序的单片机,使得学生能够实时直观的观察程序运行效果,是一种实用的实训教学装置。

【参考文献】

[1]魏冰冰,朱嘉琪,李乐桐,王艳阳.基于单片机与Scratch的动画互动平台系统设计[J].仪器仪表用户,2018,25(03):34-37.

[2]Russell Chun.Adobe Animate CC 2017中文版经典教程 [M].北京:人民邮电出版社,2017.

[3]熊晓松,董逸君.Protues仿真软件在单片机原理课程中的应用[J].科教导刊(上旬刊),2017(04):127-128.

猜你喜欢
实训教学仿真单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
分析任务式教学在中职会计实训教学中的应用
Microchip推出两个全新PIC单片机系列