STM32F103XX不同系列与Proteus仿真的问题解决

本文介绍了如何在Proteus8.10中使用正点原子的STM32F103ZE例程进行联合仿真,由于Proteus内无该型号芯片,故需手动调整。关键步骤包括修改芯片类别,将STM32F10X_HD宏定义更改为STM32F10X_LD,以及替换启动文件为STM32F10X_LD.s。通过这些修改,用户可以顺利在Proteus中仿真正点原子的例程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题
  • 当我们使用Proteus8.10时,存在一个普遍的问题,我们已经习惯了利用正点原子的例程进行实际设计,而仿真软件中其实是没有STM32F103ZE系列,那么我们要进行联合仿真会有一些麻烦,本文基于此提出一个比较完备的方案。
STM32F103XX系列区别
  • 我们通过官方手册可以有一个直观的理解
    在这里插入图片描述
  • 当然除了在容量方面,其实在uart等外设个数方面也是存在不同
  • 容量方面分为L、M、H三种容量,这也是为什么我们经常不能移植成功的原因,这三种容量分别对应着三种不同的启动程序
  • 今天我们主要解决的是联合仿真中如何将正点原子例程直接进行仿真,因此,我们主要想解决的是通过启动方式的不同来直接使用例程进行仿真
以正点原子第一个点灯为例全流程进行复述
  • 首先我们对这个原始工程直接修改其芯片类别
    在这里插入图片描述
  • 其次我们需要明白,仿真中的R6和ZE本质上一个是大容量一个是小容量,因此,这里需要修改一个宏定义
    在这里插入图片描述
    即为将STM32F10X_HD变为STM32F10X_LD
  • 最后,我们最好将启动文件进行修改
    在这里插入图片描述
    修改此处的strtup_stm32f10X_hd.s变为strtup_stm32f10X_ld.s
    strtup_stm32f10X_ld.s需要自己在官网或者其他地方找到
  • 至此,我们进行Proteus时就可以直接使用正点原子的例程了
    在这里插入图片描述
    在这里插入图片描述
总结
  • 总的来说,其实主要思想就是不同的容量,我们需要对两部分进行修改
    • 芯片自身的启动文件即 STM32F10X_HD.s文件。
    • 对于原始封装的库,虽然库不用改变,但是需要更换宏定义,这样相当于改变了原有的部分库代码,使得当前代码符合容量不同的芯片进行操作。
### 回答1: Proteus是一款功能强大的电路仿真软件,可以用于仿真各种电子电路,包括微控制器。要在Proteus仿真STM32F103ZET6微控制器,需要进行以下步骤: 1. 在Proteus中添加STM32F103ZET6元件库。可以在Proteus的库管理器中搜索并下载STMicroelectronics的STM32库,其中包括STM32F103ZET6元件库。 2. 添加其他所需的元件库,例如晶振、LED、电容、电阻等。可以在Proteus的库管理器中搜索并下载相应的元件库。 3. 连接元件。在Proteus中,可以使用“线”工具将元件连接起来。例如,将晶振连接到STM32F103ZET6的XTAL1和XTAL2引脚,将LED连接到STM32F103ZET6的GPIO引脚等等。 4. 编写STM32F103ZET6的程序。可以使用Keil或者其他编译器编写STM32F103ZET6的程序,将生成的hex或bin文件导入到Proteus中。在Proteus中,可以使用“编程器”工具将程序下载到STM32F103ZET6中。 5. 开始仿真。在Proteus中,可以使用“运行”工具开始仿真STM32F103ZET6的电路。可以观察LED是否闪烁,晶振是否工作等等。 需要注意的是,Proteus中的仿真结果仅供参考,不代表实际电路的表现。因此,在实际应用中,需要进行实际的电路测试和优化。 ### 回答2: Proteus是一款常用于电路仿真的软件,可以实现虚拟电路的搭建、仿真、调试等操作。在使用Proteus仿真STM32F103ZET6时,需要进行以下步骤: 1.选择器件:在Proteus的库中,找到STMicroelectronics和Keil.Cortex库,找到STM32F103ZET6芯片,并将其拖拽到虚拟电路图中。 2.连线:在虚拟电路图中,将芯片的引脚、外设和电源等进行连接,模拟实际的电路连接。 3.配置芯片参数:在工具栏中,找到芯片属性对话框,对芯片的时钟频率、晶振类型等进行配置。 4.编写程序:可以使用Keil或其他编译软件,编写好C语言程序,并将其转化为HEX文件。 5.加载HEX文件:在Proteus中,选择芯片的属性设置,将HEX文件加载到芯片的Flash中,在仿真中运行程序。 在仿真过程中,可以通过虚拟示波器、调试窗口等工具,对程序运行过程进行监测和调试。通过仿真测试,可以发现并调试程序中存在的问题,提高程序的可靠性和稳定性。 总之,使用Proteus仿真STM32F103ZET6可以帮助我们快速验证电路和程序的功能,提高开发效率,降低产品开发的风险。 ### 回答3: Proteus是一款广泛使用的电路仿真软件,可以较为真实地模拟电路的工作情况。而STM32F103ZET6是一种32单片机芯片,具有高性能、低功耗和各种外设等特点。在Proteus仿真STM32F103ZET6需要进行以下步骤: 1. 下载STM32F103ZET6的模型库文件。Proteus提供了许多芯片模型库,我们需要找到STM32F103ZET6对应的模型库并下载导入Proteus。 2. 绘制电路图。在Proteus软件中,选择STM32F103ZET6对应的芯片模型,按照开发板连接图进行电路图的绘制。在电路图中添加合适的外设,如LED、震动器、按键等。 3. 编写程序并烧录。使用Keil等编程软件编写STM32F103ZET6的程序,并将编译出来的hex文件烧录进芯片中。在Proteus中,可以选择Debug模式进行程序调试。 4. 进行仿真。在Proteus软件中,选择仿真模式,模拟电路的真实工作情况。可以通过虚拟示波器、数据采集等功能,对电路中各个部件的状态进行监测。 5. 仿真调试和验证。在仿真过程中,可以根据实际需求进行调试和验证。比如修改程序代码、更改外设接口等。通过不断的调试和验证,可以得到理想的仿真结果。 总之,在Proteus仿真STM32F103ZET6需要了解芯片的特性和相应电路的连接方式,以及对芯片的编程和仿真操作有一定的了解。只有掌握了这些基本操作,才能够顺利地完成仿真工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值