互为实时映像的单片机实验系统研究与设计
2017-09-03刘云朋霍晓丽
刘云朋, 霍晓丽
(焦作大学 信息工程学院, 河南 焦作 454003)
互为实时映像的单片机实验系统研究与设计
刘云朋, 霍晓丽
(焦作大学 信息工程学院, 河南 焦作 454003)
利用计算机多媒体技术、虚拟仪器技术和USB接口技术对传统单片机实验系统进行了改进设计,使之成为互为实时映像的实验系统。该系统的硬件由计算机、主实验板、高速通信板、虚拟仪器板、实验扩展板和程序下载系统6部分构成,主实验板采用Intel 51系列单片机内核。利用该系统,学生不但可以实时看到单片机内部结构及其动态变化,而且可以自行设计实验,推动了单片机实验课程的改进。
多媒体映像; 单片机实验系统; 虚拟仪器; 实验芯片; USB接口
单片机技术已广泛应用于各个领域,单片机课程在高校理工类课程教学中占有很重要的地位。该课程不仅有自身的理论体系,而且是一门实践性很强的课程[1-2]。目前,学生在实践课上主要是利用单片机实验箱进行实践操作训练,按照实验指导书给出的接线图、实验方法和实验步骤操作,只要接线正确并传入数据就能得到预期的实验结果,但无法观察到每个实验的具体过程和单片机内部的变化。学生无法通过实验箱将理论与实际联系起来,甚至有的学生不知道单片机在实验中起到什么作用。
为此,课题组利用多媒体技术、USB技术和虚拟仪器技术,自行设计了一套单片机实验系统。该系统不但能够用于实验教学,而且可以由学生自行设计实验,有效提高了学生的学习积极性。该系统价格低廉、易于推广,对于单片机课程教学具有很好的推动作用。
1 系统总体设计
互为实时映像的单片机实验系统包括软件系统和硬件系统两部分。硬件部分主要由计算机、主实验板(51系列单片机)、通信板、实验扩展板、供电电源(USB口提供)等部分组成(见图1);软件系统使用VB.NET开发环境,主要使用Windows窗体的GDI+类[3]。
该系统主要实现以下实验功能:
(1) 利用计算机多媒体技术,实时显示单片机内部运行情况,增加学生的感性认识;
图1 实验系统的硬件结构图
(2) 计算机多媒体端与单片机内部结构是互动的,可以读出或修改单片机内部变量;
(3) 修改单片机内部变量后,能够立即在单片机I/O口上显示出来;
(4) 实验单片机的引脚与教材所采用的51系列单片机引脚相同,32个I/O引脚齐全,可进行教材上的全部实验;
(5) 计算机多媒体辅助讲解实验内容,指导学生实验;
(6) 配套有虚拟仪器板、虚拟信号输出、虚拟逻辑笔、虚拟电压表、虚拟方波信号源。
2 硬件设计
2.1 主实验板硬件设计
主实验板是实验系统的核心部分,板上有逻辑指示灯,可以完成端口实验、定时器实验等基本认知实验。主实验板需要满足:(1)采用Intel 51系列单片机内核,能完成单片机教材中的实验;(2)有多余的端口实现与计算机的通信,能将单片机内部运行情况映像到计算机上;(3)封装与DIP40单片机一致(因为大部分单片机教材是以DIP40封装的单片机芯片为例进行实验教学,满足直观实验教学的需要);(4)I/O引脚、电源引脚需要有接线端子引出。
实验单片机选用STC12C5A60S2,其具有高速、低功耗、超强抗干扰的优越性能,且使用方便(对开发环境的要求低)、价格低廉(5.5元左右)[4]。主实验板的电路原理图、电路图和实物图见如图2。
主实验板设计的优点是:(1)设计成放大的51系列单片机外形,与教材中的外形、引脚排列、引脚功能完全相同;(2)I/O通过引脚电路板引出,方便学生接线;(3)每个引脚都有逻辑指示灯,方便学生观察单片机运行情况;(4)与计算机通信的串口为STC单片机的P4口,不影响DIP封装的I/O引脚编程(DIP封装的单片机没有P4口);(5)STC单片机是普通单片机速度的12倍,与计算机通信编制的程序执行速度不受影响。
图2 主实验板图
2.2 高速通信板设计
由于单片机与外部通信口有并口和串口,而现在的计算机或笔记本电脑已经很少有RS-232口,取代的是USB口。因此需要设计通信板,实现USB口与计算机通信,实时获取或控制单片机内部运行的特殊功能寄存器信息。通信板的功能如图3所示。
图3 通信板的功能
通信卡采用CH341T型USB转串口芯片,其电路如图4所示。该芯片外围电路简单、兼容性好[5]。需要注意的是:CH341T的RXD和TXD脚要对应接单片机实验系统的TXD、RXD脚,芯片才能正常向单片机传输数据。
单片机实际使用三线制TTL电平与单片机串口通信(RXD、TXD、GND脚),支持50 bit/s~2 Mbit/s波特率。
2.3 虚拟仪器板设计
虚拟仪器板的主要功能有:(1)检测芯片的逻辑信号(8路)并送计算机显示;(2)检测节点电压参数(2路)并送计算机显示为虚拟电压表[6]。虚拟仪器板不是必须使用的,可根据实验的需要安排使用。
虚拟仪器板硬件及电路接线设计如图5和图6所示。
图4 CH341通信卡的电路图
图5 虚拟仪表硬件框图
图6 单片机的接线
系统中,计算机是上位机,由它发出控制命令,单片机接收命令并根据命令执行操作。
2.4 实验子板设计
本单片机实验系统对实验内容进行积木式设计,即每个实验由基本系统板和实验子模块组成。
实验扩展板根据需要使用,完成特定的实验题目(如数码管实验、液晶实验),学生也可以根据实验指导书给出的电路图自己设计和焊接扩展板。
在实验过程中,将主实验板模块通过USB连线连接到计算机,选择实验并根据实验原理、实验步骤的提示,用杜邦线将实验子板与主实验板连接起来。该系统根据实际课程需要,已设计了端口P0—P3寄存器认知、跑马灯、蜂鸣器、数码管、按键输入、定时器、计数器、串口中断、液晶显示、I2C等实验子板,具体设计过程不再赘述。
3 程序下载系统实现
STC单片机使用其串口进行ISP下载[7]。STC12C5A60S2单片机具有在系统可编程特性,可以在用户的目标系统上将程序直接下载到单片机看运行结果,故无需仿真器。具体下载过程如下:
(1) 购买USB转串口下载线,要求是USB转TTL电平的[8];
(2) 进行编程器与单片机的硬件连接,下载线的RXD、TXD、GND引脚分别与单片机的TXD/P3.1、RXD/P3.0、GND引脚相连;
(3) 安装驱动:以CP2012为例,先下载驱动“CP210x_VCP_Win2K_XP_S2K3.exe”,执行安装后将STC USB下载线连接至电脑,在“设备管理器”中查看生成的串口号;
(4) 获得官方下载程序。
4 计算机端的程序设计
计算机端要实现4个主要功能:(1)显示检测到的单片机运行状态,包括单片机端口、中断设置、定时器、串口等器件寄存器;(2)向单片机发出控制信号,以便查看单片机寄存器对程序运行的影响;(3)读取虚拟仪器卡的数据,以便获得测量点的逻辑值或电压值;(4)利用多媒体功能指导实验。
计算机端的程序设计主要选用VB.NET开发环境。计算机端的操作主界面包括选单、虚拟仪表区、主实验区、扩展板选择区、扩展板操作区、单片机寄存器操作区。
4.1 计算机修改单片机运行寄存器功能的设计
修改单片机运行寄存器的过程是:
(1) 点击修改寄存器按钮;
(2) 计算机记录按钮对象;
(3) 计算机弹出新寄存器值输入框;
(4) 点击确定后,计算机发出3字节数据:修改命令、寄存器值的低4位;
(5) 单片机接收数据,判断正确后修改寄存器。
修改单片机运行寄存器的通信协议如表1所示。计算机发送写寄存器命令(1字节)、寄存器数据(2字节),数据格式分别是0x1?和0x2?,“?”号表示高字节或低字节,单片机收到后修改寄存器值。
表1 计算机与单片机间的通信协议
计算机端编程写入的是16进制码,点击“写”按钮后出现对话框,确定按钮并点击后对话框关闭。
4.2 计算机读取单片机运行寄存器功能的设计
修改单片机运行寄存器的过程是:
(1) 计算机启动100 ms的定时器周期;
(2) 定时到,发出一个寄存器的查询命令;
(3) 计算机串口接收2字节的寄存器值;
(4) 计算机接收数据,判断正确后,修改显示界面(二进制和16进制);
(5) 进入下一个寄存器查询周期。
读取单片机运行寄存器的通信协议见表1。
计算机端编程时,使用100 ms的定时器;轮换查询寄存器的值,在不影响单片机正常运行程序的基础上,计算机能够获取寄存器的值;约2 s刷新一次计算机屏幕显示,不会影响实验效果;设定通信协议时,将返回的数据分2个字节传送,以保证通信命令与寄存器数据互不干扰[9]。
4.3 虚拟逻辑笔、电压表的设计
虚拟逻辑笔、电压表工作流程如图7所示。
图7 虚拟逻辑笔、电压表工作流程图
虚拟逻辑笔的通信协议:计算机发送0x51命令,单片机将分2次返回8位逻辑测量值,返回数据格式分别是0x5?、0x7?(?号表示4位测量值)。
计算机端显示与操作:虚拟逻辑笔启动位置如图8所示,分为10个图标,每个逻辑笔图标有L1—L8标号。使用鼠标可以将其拖动到任何位置,方便学生使用[10]。
图8 虚拟逻辑笔
4.4 多媒体指导学生实验的设计
实验选单有4个子功能,分别是“实验指导”“系统帮助”“进制转换”和“退出系统”。
本系统设计有13个典型的实验项目,提供一个开放的实验平台,可以进行其他一些相关的实验。每个实验包括实验目的、实验原理、设备与芯片、预习思考题、实验步骤、实验思考题、实验报告等内容,可通过网页浏览[11]。
5 结语
该系统在实验应用过程中实现了人-机实时互动。学生可以对实验全过程进行实时操控,全面认识和了解单片机的工作过程,提高了学生的学习积极性。该系统具有较强的可操作性,并且开发简单、成本低廉、扩充性好[12],在实际的教学中具有很好的实用性和推广面。
References)
[1] 徐华结,陈林.基于虚拟仪器和仿真技术的实验室建设探讨[J].池州学院学报,2009(3):115-118.
[2] 钟鸣.“三位一体”教学模式的探索:以单片机课程教学改革为例[J].苏州市职业大学学报,2013(4):84-86.
[3] 陈本峰,苏琦.Windows GDI+的研究与应用[J].计算机应用研究,2003(3):56-59.
[4] 简讯,黄金平.基于STC12C5A60S2的电子钟硬件设计[J].长江大学学报(自科版),2016(16):51-56.
[5] 李智敏.USB虚拟串口通信实现[J].电子科技,2014(3):120-122.
[6] 王超,李可,杜奔新.虚拟仪器技术在实验室的应用研究[J].实验技术与管理,2013,30(12):105-107.
[7] 付文悦,黄民.STC系列单片机不断电下载程序应用技术[J].电子科技,2013(2):76-78.
[8] 宋国林,周伟,薛迪杰.基于USB的虚拟示波器设计[J].数字技术与应用,2016(8):167-168.
[9] 瞿兵,阳泳,胡湘娟.基于单片机的数字电压表论述与仿真[J].电子世界,2015(20):29,32.
[10] 莫勇涛,杨景常.基于LABVIEW的多功能虚拟直流电压表设计[J].计算机测量与控制,2011(6):1507-1509.
[11] 刘云朋,李鸿征.基于虚拟仪器技术的USB数字电路实验系统设计[J].实验技术与管理,2015,32(1):129-133.
[12] 连剑.基于VRML的虚拟综合布线系统[J].山东科学,2010(1):61-63.
Research and design of SCM experimental system for mutual real-time image
Liu Yunpeng, Huo Xiaoli
(School of Information Engineering, Jiaozuo University, Jiaozuo 454003, China)
The traditional SCM experimental system is improved by using computer multimedia technology, virtual instrument technology and USB interface technology so as to develop itself into the experimental system for the mutual real-time image. The hardware of this system consists of the following six parts: a computer, a main experimental board, a high-speed communication board, a virtual instrument board, an experimental expansion board and a program downloading system. The main experimental board uses the Intel 51 series SCM kernel. By using this system, students can not only see the real-time internal structure and the dynamic changes of SCM, but also design experiments by themselves, which promotes the improvement of the SCM experimental course.
multimedia image; SCM experimental system; virtual instrument; experimental chip; USB interface
10.16791/j.cnki.sjg.2017.08.033
2017-02-28
河南省科技攻关计划资助项目(172102210390);河南省科技攻关计划资助项目(152102210020);河南省信息技术教育研究资助项目(ITE12143);河南省教育科学“十三五”规划课题(2016-JKGHB-0365)
刘云朋(1983—),男,河南上蔡,硕士,副教授,主要研究方向为计算机应用、网络信息及安全.E-mail:yunpeng2004@126.com
TP368
A
1002-4956(2017)08-0132-05