STM32CubeMX+Keil+Proteus联合仿真初步实现

        笔者嵌入式基础很差,在学习ROS过程中时,为了防止对底盘硬件造成破坏,一直在寻找一套完整的仿真系统进行练习,所幸接触到了STM32CubeMX,按网上方法做了个初步练习,并做了以下记录。

声明:博客借鉴了不限于一个人的内容,做整理使用。

目标:实现LED的闪烁。 

工具:STM32CubeMA, Keil5, Proteus 8

 

目录:

一、使用STM32CubeMX配置芯片和GPIO口,并生成Keil工程

二丶使用Keil生成HEX文件

三、使用Preteus搭建电路图,实现仿真

 

一、使用STM32CubeMX配置芯片和GPIO口,并生成Keil工程

1、创建新工程

        首先我们打开安装好的STM32CubeMX,并创建一个新工程。

STM32CubeMX+Keil+Proteus联合仿真初步实现_第1张图片

 

 

        此处选stm32F103R6, 因为proteus提供此芯片的仿真,注意封装选取。

STM32CubeMX+Keil+Proteus联合仿真初步实现_第2张图片

  2、芯片配置

        设计PA1口控制LED闪烁,LED一侧为高电平,另一侧连接PA1口。因此,当PA1口高电平时,灯泡关断,当PA1口低电平时灯泡打开。

        配置如下:

                ① 设置PA1口为GPIO_OUTput      

STM32CubeMX+Keil+Proteus联合仿真初步实现_第3张图片

                 ②选择下载和调试接口,本次使用仿真的方式,所以Debug方式可以选择No Debug。当需要烧录时按需选择。

STM32CubeMX+Keil+Proteus联合仿真初步实现_第4张图片

STM32CubeMX+Keil+Proteus联合仿真初步实现_第5张图片

                ③选择RCC选择时钟源,如图所示,可选择的时钟包括HSE和LSE,由于本次仿真中仅使用HSE时钟,所以可以仅对HSE时钟进行选择,选择Crystal/Ceramic Resonator外部时钟。

STM32CubeMX+Keil+Proteus联合仿真初步实现_第6张图片

                ④配置输出模式,点击左侧GPIO来配置我们用到的输出管脚。

                GPIO output level: High 的意思是将该串口初始化为高电平,将初始电平拉高,运行时灯泡为关闭。LOW即为低电平,运行时灯泡先打开。

                GPIO mode: Outpull Push pull 的意思是选择输出模式为推挽输出模式,还有其他几种输出模式。

                GPIO Pull-up/Pull-down: Pull-up 的意思是设置为上拉输出,按逻辑来说是需要给LED给一个上拉电阻才能点亮。

                Maximum output speed: Low配置的是输出速度,我们这里配置输出速度为高。

                

                注:此时注意观察

STM32CubeMX+Keil+Proteus联合仿真初步实现_第7张图片

                 都为绿色表明没有问题,如果是黄色(警告)或者红色(错误),则需要我们重新配置,因为有一些管脚不只是输入输出功能,还具有其他比如ADC转换等功能,如果占用了此管脚的话还想要用这些功能就很麻烦,所以不建议这样配置。

STM32CubeMX+Keil+Proteus联合仿真初步实现_第8张图片

                ⑤配置时钟树,中间把8改成72并回车

STM32CubeMX+Keil+Proteus联合仿真初步实现_第9张图片

 3、工程导出

        配置Project Manager

        Project Name输入工程文件名;本次定义为LED

        Project Location输入工程放置路径;

        Toolchain/IDE选择预输出的IDE类型;本次选择MDK-ARM

        Min Verison选择软件版本号;V5

STM32CubeMX+Keil+Proteus联合仿真初步实现_第10张图片

         配置Code Generator

 STM32CubeMX+Keil+Proteus联合仿真初步实现_第11张图片

STM32CubeMX+Keil+Proteus联合仿真初步实现_第12张图片

点击GENERATE CODE,生成工程并选择Keil5打开

STM32CubeMX+Keil+Proteus联合仿真初步实现_第13张图片

二丶使用Keil生成HEX文件

        在while循环中配置相关函数,点击2、3生成HEX文件

STM32CubeMX+Keil+Proteus联合仿真初步实现_第14张图片

         HEX文件目录如下STM32CubeMX+Keil+Proteus联合仿真初步实现_第15张图片

 三、使用Preteus搭建电路图,实现仿真

        简单搭建电路如下

STM32CubeMX+Keil+Proteus联合仿真初步实现_第16张图片

 双击单片机选择HEX文件,配置晶振

STM32CubeMX+Keil+Proteus联合仿真初步实现_第17张图片

         配置电源

STM32CubeMX+Keil+Proteus联合仿真初步实现_第18张图片

         到此就可以仿真了。在这个基础上可以做更多的实验。

 

 

你可能感兴趣的:(stm32,单片机,proteus)