顾菊芬
摘 要: 采用单片机IAP15W4K58S4研制了一套易于携带、方便使用、易于调试的在线可仿真的单片机教学开发板,可以实时联调Keil和开发板,通过单步、断点、观察变量等方式,亲眼见证单片机程序和硬件现象的同步过程,有助于学生更加直观、更加深刻地理解单片机程序控制的作用,起到了较好的学习效果。
关键词: 单片机; 教学平台; 可仿真; 同步
中图分类号: TP 368 文献标志码: A 文章编号: 1671-2153(2016)05-0091-04
1 问题提出
在“工业4.0”和“中国制造2025”的物联时代,电子产品和工业设备的智能化是必然趋势。单片机是产品智能化的灵魂,起着控制、驱动的核心功能,因此现代企业迫切需要掌握单片机开发和应用能力的专业技术人才[1]。单片机课程应用性和实践性非常强,科学合理的教学方式和教学平台对于调动学生学习积极性、提高学习效率,显得尤为重要[2][5]。我院单片机课程组较早就开始采用自制开发板的教学改革,保证每个学生一套开发板,学生通过在系统编程方式直接写片、下载程序,大大调动了学生学习单片机的积极性。
但在系统直接写片过程中,学生只能直接“写片”验证程序是否成功,不能通过断点、单步等方式观察程序的运行状态和开发板现象的同步,进行程序的查错与纠错,学习效率较低,理解单片机程序运行、变量变化有较大的难度。程序效果有时候即使出来了,还处于似懂非懂的状态,离独立完成项目开发的目标要求还有较大的距离。
课程组教师从“以学生为中心”的角度出发、与时俱进,开发了基于IAP15W4K58S4可仿真单片机的教学用开发板。在进行合理配置后,IAP15W4K58S4单片机就可以实现硬件仿真器的功能,无需购买昂贵的在线仿真设备就可以实现跟踪程序状态的功能,降低了学习难度、提高了学习效率,取得了良好的教学效果。
2 项目开发平台总体设计
课程教学开发板主控芯片选型IAP15W4K58S4,该芯片资源丰富,同时设计的开发板又板载了丰富的扩展资源,采用便捷的USB下载和仿真接口,方便同学轻松构建开发和调试环境,高效地进行单片机的学习和研究,下面简单介绍一下自制的单片机教学平台的总体设计。
主控芯片IAP15W4K58S4是宏晶公司当前主推的STC15系列单片机,在蓝桥杯“单片机设计与开发”和高职高专技能竞赛赛项“电子产品设计与制作”的省赛和国赛中都采用了IAP15的型号,这对于选拔学生参加各类电子竞赛有较好的帮助。IAP15W4K58S4程序空间58KB,SRAM空间4KB,8个定时器,4个硬件串口(UART1,UART2,UART3,UART4),有SPI(可用作主模式/从模式),有2路PCA/PWM/CCP(可用作DAC),有8通道10位精度的A/D,有6通道增强型带死区控制PWM波形发生器,具有全部Flash空间的IAP功能,是一款具有丰富扩展资源的增强型8051芯片。
IAP可仿真单片机教学开发板尺寸10cm×15cm,大部分器件采用表贴封装,方便携带。开发板板载资源丰富,系统平台总体框图如图1所示。
板载资源主要包括CH340G芯片USB转串口、ISP接口器件DS1302、1308红外接收、IIC器件LM75、键盘、继电器、蜂鸣器、液晶接口,各模块和主控制芯片之间通过短路帽实现连接和断开,使用非常方便。每个学生手工焊接该开发板,整个过程对于学生元器件识别、手工焊接、SMT焊接、故障排查、电路检修、单片机最小系统电路等进行全方面的考核,学生的兴趣浓厚、成就感较强。开发板实物如图2所示。
3 IAP仿真调试接口设计
基于闪存的微控制器的程序下载本质上是采用串口实现的,IAP仿真调试接口本质上就是串口,教学开发板采用CH340G芯片实现USB转串口实现USB下载代码、串口通信和在线仿真等功能,实现串口、下载口、仿真口三合一。
CH340G芯片具备全速USB设备接口,兼容USB2.0,外围元器件只需要简单的晶振和电容,支持5 V电源电压和3.3 V电源电压。硬件全双工串口,内置收发缓冲区,支持常用的MODEM联络信号RTS,DTR,DCD,RI,DSR,CTS;通过外加电平转换器件,提供RS232,RS485,RS422等接口,支持通讯波特率50bps~2Mbps。基于CH340G的串口、下载口、仿真口电路如图3所示。
值得一提的是,单片机串口线RXD加了D5肖特基二极管5817、TXD加了300?赘的电阻,以达到串口和USB防烧功能,起到保护作用。
4 IAP仿真调试的应用
写过单片机控制程序的人都比较清楚,一个程序编写调试过程中,定位错误根源是最困难也是最关键的步骤,是研究内部数据和代码、了解硬件和软件的协同的关键环节,这一步骤和环节最重要的手段就是硬件仿真调试[3-4]。
宏晶科技公司开发的STC-isp6.85提供ISP在系统编程下载功能和Keil仿真功能,如果单片机是IAP15系列可以实现Keil仿真功能,完成在电路硬件调试。ISP在系统编程下载功能和Keil仿真功能都是通过单片机的串口对单片机内部的Flash存储体进行编程,所不同的是基于IAP的仿真技术是从结构体上将Flash存储体映射为两个存储体,当运行一个存储体上的用户程序时,可对另一个存储体重新编程,之后将控制从一个存储体转向另一个。Keil仿真功能是STC公司开发了一段上位机的代码,作为一个菜单项集成在STC-isp6.85的软件中,这一段代码主要实现Keil软件对单片机的监控,可以通过在keil中设置断点实现单步调试,本质上是通过串口实现数据的传送。基于IAP15的可仿真单片机实现仿真调试的流程非常简单好用,具体操作流程如图4所示。
基于IAP15的可仿真单片机实现仿真调试的使用方法如下:首先必须安装仿真驱动,可通过点击此页面中的"添加MCU型号到Keil中"按钮进行安装;将IAP15W4K58S4芯片设置为仿真目标芯片;将开发板的USB口和电脑的USB口进行连接;打开开发板电源;在Keil软件中打开项目,并进行相关设置(参考STC Monitor51仿真器使用指南);设置完成即可开始调试。
IAP15W4K58S4监控程序使用资源:
Flash:6KB(D000H-E7FFH,用户可用使用0000H-CFFFH的52K程序空间)
DATA:0B
IDATA:0B
XDATA:768B(0C00H-0EFFH,用户可用使用0000H-0BFFH的3k扩展RAM)
Port:P3.0、P3.1
仿真器使用过程中,用户不可访问仿真系统区的0DC00-0F3FFH区域的6k代码空间,不能修改0400H-06FFH区的768字节的XDATA,不能向P3.0口和P3.1口写数据,不能使用与P3.0和P3.1相关的中断和功能(包括INT4中断、定时器2的时钟输出、定时器2的外部计数);串口1可以切换到P3.6/P3.7或者P1.6/P1.7进行使用;若仿真源代码为汇编程序,则第一条语句必须是长跳转语句,不能使用JMP, SJMP, AJMP或其他语句。
以课程教学中的“电压表的制作”项目为例,此任务主要用到板载的电位器电压输出至ADC通道,重点理解编程过程中ADC模块结构的相关控制寄存器意义。将开发板设置成Keil仿真模式,进入Keil环境进入实时在电路仿真状态,通过设置断点,观察寄存器ADC_RES,ADC_RESL,ADC_CONTR和实物状态,眼见为实,更加深刻和直观的理解相关寄存器和变量的意义。通过配置可以实现keil在线仿真调试开发板,同步观察断点处开发板的设备状态和keil编译器中编写软件的相关寄存器和变量的值,非常直观和易于理解。电路硬件仿真调试流程如图5所示。
实际调试中可以在keil编译软件设置20个断点,正常调试完全够用了。全速调试至断点处可以查看寄存器和变量的值,同时观察开发板的实际状况,实现软硬件联合调试,便于编程者厘清思路,定位问题根源。
5 结束语
基于IAP技术的单片机既可以作目标芯片,也可用作仿真芯片。利用STC-ISP编程软件的设置工具将一段在线仿真监控程序下载到IAP单片机中,IAP单片机就是1颗仿真芯片了,不需增加任何外围电路,就相当于传统的单片机硬件仿真器,可大大提高单片机应用系统的开发效率。采用基于IAP在线仿真技术的单片机教学开发板可以实现Keil环境下硬件在应用仿真,通过单步、断点、观察变量等方式,亲眼见证单片机程序和硬件现象的同步过程,对于单片机程序、存储、变量的理解更加直观、更加深刻,是高职高专单片机教学改革的方向。
参考文献:
[1] 杨立林. 单片机原理与应用课程教学的实践与思考[J]. 江苏技术师范学院学报(自然科学版),2009,15(2):62-66.
[2] 陈卫国. 机械电子工程专业中单片机课程群设置的研究与实践[J]. 当代教育理论与实践,2011(5):63-65.
[3] 许超,吴新杰,张丹. 基于Proteus和Keil的单片机课程教学改革[J]. 辽宁大学学报(自然科学版),2011,38(1):27-29.
[4] 常淑俊,黄杰勇. 单片机实验教学的探讨[J]. 实验科学与技术,2013,11(2):82-83.
[5] 赵月静,陈继荣,张永弟. 单片机原理及应用课程创新实践教学改革[J]. 实验科学与技术,2013,30(1):176-179.
[6] 丁向荣. 基于IAP在线仿真技术提升单片机实验技术水平[J]. 实验科学与技术,2014,31(3):82-94.
Abstract: The single chip microcomputer is an applied and practical course,which requirements strong practical ability and analytical ability to design. Scientific and reasonable teaching platform and teaching methods are very important to mobilize the enthusiasm of students and improve learning efficiency. In this paper, a microcontroller IAP15W4K58S4 is developed, which is easy to carry, easy to use, easy to debug. Keil and development board can be adjusted in real time, through single step, break point, observation variable and so on, to witness the microcontroller program and the hardware phenomenon, the synchronization process, help students to more intuitive, more profound understanding of the SCM process control, to better learning results.
Keywords: single chip microcomputer; teaching platform, simulation; synchronization
(责任编辑:徐兴华)