彭皆彩 杨安德
嵌入式软件编程作为导航工程专业的核心课程,具有很强的理论性和实践性。随着单片机应用领域对单片机功耗、运算性能、开发工具、系统整合等方面的要求越来越高,意法半导体(ST)公司推出的STM32F1 系列微处理器得到越来越多的应用。其采用Cortex-M3 内核,具有较低的电压范围、高速的运算能力、优异的实时性能、杰出的功耗控制、极低的开发成本、丰富的外设,在嵌入式系统中、低端领域应用日渐广泛。因此许多高校进行了嵌入式课程的教学改革,引入STM32F1 系列微处理器的教学,该课程教学过程中实验和实践环节非常重要。但受新冠肺炎疫情影响,难以开展线下实验课程,因此提出基于Proteus 的STM32 嵌入式线上课堂教学模式,将大量应用实例通过软件仿真实现,将工程实例贯穿理论教学过程,增强学生的感性认识,降低理论学习的难度,并且提高学生的学习兴趣,从而提高教学质量。
Proteus 8 软件是英国Lab Center Electronics 公司开发的电路设计与分析、电路实物仿真以及印制电路板设计软件,它可以仿真、分析各种模拟电路、集成电路和单片机及外围器件。
目前,Proteus 支持主流的CPU 类型,如8051/52、AVR、PIC10/12、PIC16/18/24/33、HC11、BasicStamp、MSP430、8086、DSP Piccolo、ARM7、CortexM3、Cortex- M0、Arduino等,并且随着Proteus 版本升级支持的CPU 类型还在继续增加。Proteus 也支持嵌入式系统的常见外围电路的系统仿真:SPI 调试、RS232 动态调试仿真、LCD 系统仿真、I2C 模拟调试、输出LED、输入键盘等。
图1 STM32F103R6 实验系统电路图
Proteus 提供了丰富的器件库,丰富的器件库:超过50000种元器件,可以轻易完成电路原理图的编辑。图1 是在Proteus仿真软件中搭建的基于STM32F103R6 芯片的嵌入式系统电路图,系统包括STM32 的最小系统电路、AD 采样、按键、LED、并口lcd1602 显示等。
图2 Keil 编程环境下编写程序
图3 测试效果图
在Keil 编程环境下编写STM32F103R6 应用程序,并将编译产生的可执行HEX 文件下载到Proteus 中已经搭建好的仿真平台中运行。
本文介绍了一种基于Proteus 平台的“嵌入式编程”课程教学的方法,Proteus 可以凭借其强大的仿真和在线调试能力在嵌入式的教学和嵌入式系统的人才培养过程中发挥较大的作用。学生可以在没有硬件平台的情况下学习相关的实验系统。实践证明基于Proteus 的STM32 的仿真在教学和实际开发中具有较大的使用价值,提高了嵌入式线上课堂教学质量,提升了学生嵌入式系统软硬件综合开发能力。