基于Porteus和Keil构建的虚拟仿真平台在嵌入式系统课程中的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 实验设置及分析
本实验利用 STM32F103R6 串口 1 的数据收发功能发送
图 2 通信流程图
2.3 程序编写
根据实验要求,程序涉及对串口和 GPIO 端口进行初始 化以及串口中断处理,主要代码如下。
int main(void) { u8 len;
delay_init(40); uart_init(40,9600); LED_Init(); while(1)
通过查阅相关文献发现,Proteus 和 Keil 软件在教学方 面 的 应 用 比 较 广 泛, 仅 将 虚 拟 仿 真 技 术(Proteus) 应 用 于 单片机课程的实验教学已有先例 [6],但是将两种仿真技术 (Proteus 和 Keil)同时应用于嵌入式系统原理演示的课堂教 学还比较缺乏。该虚拟仿真平台实现虚实结合,很好地适应 高校学生的学习特点,而且符合课程的编排特点,将理论和 实际一体化落到实处。
1 虚拟学周期长、教 学导向性欠缺及教学技术输出与企业脱节问题,因此基于 Proteus 和 Keil 构建的虚拟仿真平台应用于嵌入式系统课程 中解决该问题。目前,基于全新 ARMV7 构架的 Cortex-M 系列微控制器已经成为行业的主流选择 [7-9]。为了更好地满足
}else{ printf("\r\n 您发送的指令错误,请重新发送 :\r\
n\r\n");} }else {times++; if(times%100==0)printf(" 请 输 入 数 据 , 以 回 车 键
结束 \r\n"); Delay(10);
}}}
2.4 Keil 中验证 在确定程序编译无误后,打开逻辑分析图和 USART1 串
作者简介:程建平 (1992—),女,山西忻州人,硕士研究生,助教。研究方向:嵌入式系统教学与科研。
— 240 —
2021 年第 7 期
信息与电脑 China Computer & Communication
信息化教育
市场需求,培养满足社会需求的优秀嵌入式系统技术人员, 本虚拟仿真平台选择 STM32 系列芯片作为系统的控制中心。
口通信窗口。仿真调试结果如图 3 所示,逻辑分析图中的仿 真 LED0 连接的引脚 PC0 的波形,在命令窗口中输入命令将 串口 USART1 和 PC 机上的虚拟串口 COM1 绑定,利用串口 调试助手连接 PC 机上虚拟串口 COM2,利用 COM2 口给串 口 USART1 发送指令 0,从 LED0 波形中可以看出电平发生 了翻转,达到实验目的。
根 据 实 验 要 求 可 知, 该 实 验 使 用 串 口 通 信 模 块, 该 模 块 包 括 STM32F103R6 的 最 小 系 统、 窗 口 调 试 工 具 Virtual Terminal、COMPIN、LED 灯等元件,其中窗口调试工具可 以查看发送的指令数据,COMPIN 元件实现系统与 PC 机虚 拟串口进行通信,实验电路图及系统通信图如图 1、图 2 所示。
本虚拟仿真平台将 STM32 系列芯片作为控制核心,平台 包括 LED 控制模块、数码管显示模块、按键控制模块、定时 器应用模块、串口通信模块和模数转换模块的设计与实现。该 虚拟仿真平台充分利用了 Keil 软件实现代码的编写,同时利用 软件自带的仿真工具如逻辑分析窗口对波形进行观察,有效地 检验代码编写的正确性,将编译后的 HEX 文件加载在 Proteus 软件中绘制的电路中,可以直观地查看到实际硬件运行后的效 果 [12-13]。该虚拟仿真平台能够让学生不受时间和硬件条件的局 限,随时仿真进行实践操作,有利于提高学习效果。
信息化教育
信息与电脑 China Computer & Communication
2021 年第 7 期
基于 Porteus 和 Keil 构建的虚拟仿真平台在嵌入式 系统课程中的应用
程建平 (山西工商学院 计算机信息工程学院,山西 太原 030062)
摘 要:随着计算机技术的发展,嵌入式系统课程需要结合最新研究成果,将理论与实践有机结合起来,但限于学 校器材的有限性,无法进行大量的实践性操作,教学效果难以完全实现。该虚拟仿真平台借助 Proteus 和 Keil 软件进行 联合仿真,实现嵌入式系统理论与实践教学相结合。该平台将 STM32 芯片作为控制核心,依托实际项目需求在平台上进 行实践仿真验证,同时可以进行创造性设计与实现,能够激发学生的学习兴趣,启发学生思考,将理论和实践相结合, 达到预期的教学效果。
关键词:Proteus;Keil;虚拟仿真平台;STM32;嵌入式系统课程 中图分类号:G642;TP368.1 文献标识码:A 文章编号:1003-9767(2021)07-240-04
Application of Virtual Simulation Platform Based on Porteus and Keil in Embedded System Course
CHENG Jianping
(College of Computer Information Engineering, Shanxi Technology and Business College, Taiyuan Shanxi 030062, China)
Abstract: With the development of computer technology, embedded system course needs to combine theory and practice with the latest research results. However, due to the limitation of school equipment, it is difficult to carry out a large number of practical operations, and the teaching effect is difficult to fully achieve. With the help of Proteus and Keil software, the virtual simulation platform realizes the combination of embedded system theory and practice teaching. The platform takes STM32 chip as the control core, relying on the actual project requirements, carries out practical simulation verification on the platform, and can carry out creative design and implementation at the same time. To a certain extent, it can stimulate students' interest in learning, inspire students to think, and combine theory with practice to achieve the expected teaching effect.
指令 0,LED 灯发生翻转,由亮变暗或由暗变亮。实验要求 具体如下。①通信参数要求波特率 9 600、8 位数据位、1 位 停止位;②根据实验要求在 Proteus 上自行设计电路;③使 用 Keil 软件编写程序并进行编译,需要利用逻辑分析窗口观 察电平变化;④仿真波形无误后将 HEX 文件加载于 Proteus 中并观察记录实验效果。 2.2 硬件电路设计
Proteus 是一款功能强大的虚拟仿真软件,是世界上著名 的 电 子 设 计 自 动 化(Electronic Design Automation,EDA) 工具 ; [10] 而 Keil 软件提供了调试、运行程序的方法,支持 汇编语言和 C 语言的源语言混合调试 [11]。该平台应用于《嵌 入式系统原理与应用》课程的教学过程中,实现虚拟仿真技 术与教育教学结合,有以下优点。第一,Proteus 拥有丰富 的元器件资源,能够提供多种虚拟仪器。一台电脑就相当于 一个先进的电子实验工作台,实验过程中不必担心虚拟的元 器件及仪器会损坏,同时不论在元器件及仪器的采购上还是 在更新换代上,都极大程度地节约了实验室的资金投入。第 二,Proteus 操作界面简单,易学易用。针对学习基础较差、 缺乏自信心的学生,虚拟的实验具有可以反复操作、方便操 作和可试错等特点,能够让他们的信心大增。第三,在理论 教学的课堂上,可通过大屏幕展示电路的连接,将看不到、 摸不着的实验过程及分析结果直观地展示出来,帮助学生理 解抽象的概念和原理。第四,Keil 软件在 Proteus 的基础上 拓展其功能。学生可以利用 Proteus 绘制电路原理图,再利 用 Keil 软件调试所写程序,调试无误后可下载到 Proteus 仿 真电路的嵌入式系统中,进行仿真实验。如果学生实验积极 性不高,可以以课后作业的形式要求其完成实验,以便在有 限的实验学时内更好地掌握所学知识。
2.5 Proteus 验证
图 1 实验电路图
2 串口通信实验
STM32 嵌入式系统编程可以采用库函数和寄存器方式, 本平台采用寄存器方式,可以让学生明白 STM32 芯片内部 寄存器的控制原理,而库函数本质上是对寄存器直接编程, 只是为了方便应用封装成了函数。以项目中难度适中的初始 化 GPIO 为例,采用库函数方式的源代码共有 86 行代码,在 写入寄存器数值前需要大量代码去判断工作模式和配置的引 脚,最后才组合出正确的数值。采用寄存器编程方式源代码 只有 1 行代码,直接对端口配置寄存器 CRL 进行赋值,即可 初始化配置端口。从该例子可以看出,直接对寄存器编程的 代码效率最高。在一些代码要求高效率的情况下,对寄存器 进行编程是非常必要的,对寄存器的学习与操作,非常有助 于在出错时进行程序调试。
{ if(USART_RX_STA==1) {len=USART_RX_STA&0x3fFF;
— 241 —
信息化教育
信息与电脑 China Computer & Communication
2021 年第 7 期
if(len==1){ printf("\r\n 您发送的指令为 :\r\n\r\n"); while((USART1->SR & 0x40)!=0x40); com=(u8)USART_RX_BUF[0]; USART1->DR=com; while((USART1->SR&0X40)==0); printf("\r\n\r\n"); USART_RX_STA=0; if(com=='0'){ LED0=!LED0; Delay(10); }
Keywords: Proteus; Keil; virtual simulation platform; STM32; embedded system course
0 引言
随着计算机技术的飞速发展,嵌入式技术的应用范围日 益广泛,关于嵌入式系统课程的学习越发重要。但是在实际教 学过程中还存在一些问题:一方面,嵌入式课程本身就是软硬 件相结合,内容多且系统性较强,具有一定难度 [1-3];另一方面, 目前嵌入式芯片更新迅速,新嵌入式芯片的推出必然带来新的 实验设备,而高校考虑到成本问题无法及时更新设备,从而导 致多数高校对人才的培养与市场需求脱节,教学质量无法得到 有效提高 [4]。嵌入式教学需要与时俱进,以市场为导向,不断 在教学中引入新技术、新方案,培养市场需要且能用的人才。 而虚拟仿真教学就是可以引入的新技术、新方案,它顺应了教 育信息化的发展趋势和现实需要,对教育质量的提升和实验教 学改革的深化,产生积极而重要的影响 [5]。
相关文档
最新文档