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

您所在的位置:网站首页 proteus80和keil仿真 STM32CubeMX+Keil+Proteus联合仿真初步实现

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

2024-07-15 17:36| 来源: 网络整理| 查看: 265

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

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

目标:实现LED的闪烁。 

工具:STM32CubeMA, Keil5, Proteus 8

 

目录:

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

二丶使用Keil生成HEX文件

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

 

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

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

024b293a88d145d487fe8eb18b53cce6.png

 

 

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

0016ba6ffbe14b8198e2261afe7bf36d.png   2、芯片配置

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

        配置如下:

                ① 设置PA1口为GPIO_OUTput      

ebe4f3bc918346f9bdc55a9930ac813b.png

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

14d20951e8e449b68b7129a6f9d6c404.png

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTM0NDQxMg==,size_16,color_FFFFFF,t_70#pic_center

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

f250e5f9edb749039d395257b0666dcc.png

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

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

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

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

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

                

                注:此时注意观察

e67fe6e9d8e849ada16558c0b3a40ef0.png

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

93d599ac76a841d997ba0d9c96478fdf.png

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

ebae8720f8cc4808b61935791c4245bc.png

 3、工程导出

        配置Project Manager

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

        Project Location输入工程放置路径;

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

        Min Verison选择软件版本号;V5

802008ee578d4461b39fd0f985586b65.png

         配置Code Generator

 498a0bcfae664db98410357a0f5c6d9c.png

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA55Sc5b-D54yb55S3,size_20,color_FFFFFF,t_70,g_se,x_16

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

ff4093f086a84cd6b85cdb4c4c920c1b.png

二丶使用Keil生成HEX文件

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

244396f46e7c4460b4808cd79d7522fc.png

         HEX文件目录如下16f577c9c72547dbb0562a0b5ba8a0f0.png

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

        简单搭建电路如下

79e35cbbd12d467fa918f767e0166e1c.png

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

bc9d3a822dbd4067956b57fc3b8dd781.png

         配置电源

d48bdcbd2def404d9f0f9f65853cba95.png

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

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3