0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用proteus仿真STM32单片机的注意事项

CHANBAEK 来源:头条号风口上的胖子 作者:头条号风口上的胖 2023-03-23 11:22 次阅读

第1点:

我们用户编写的代码,必须放在 user code begin 和 end 之间;否则,当我们修改stm32cubemx 项目的 配置时,再次生成代码,就会删除之前的代码;正确做法如下图所示:

poYBAGQbv7mAYfgmAAFQyKPydnY679.png

我们用户编写的代码,必须放在 user code begin 和 end 之间

第2点:

proteus中,电源需要更改成3.3V,VDDA添加到电源VCC/GND中去;VSSA添加到GND中去;如下图所示:

pYYBAGQbv8mAIOQ1AACws9gFHZ0245.png

pYYBAGQbv9uAfq5xAADJu0padpg804.png

电源需要改成3.3V

第3点:

HAL_Delay(__IO uint32_t Delay)延时函数在stm32f1xx_hal.c里面,该函数能实现ms级别的延时;该函数体前面有一个关键字__weak,该关键字简单的说,表明该函数允许被重写。

pYYBAGQbv-uAOMYoAANrJ4nE1xc807.png

HAL_Delay(__IO uint32_t Delay)

第4点:

在proteus中,由于proteus中 软件的问题,导致程序中虽然IO口设置了内部上拉,但在proteus仿真软件中,却是开漏的(也就是说IO口没有高电平状态)。
而我们STM32单片机的外部中断,需要IO口出现一个下降沿或者上升沿,才可以触发中断。所以我们在IO口外面加上拉电阻,便于产生跳边沿,进而触发外部中断;

下图所示LED的限流电阻R1,不能设置过大,设置太大会导致流过LED的电流过小,LED不发光。本次我们设置成100Ω,让实验现象更加明显。

poYBAGQbv_2AIMNIAAHjAT5F54c805.png

需要添加上拉电阻,限流电阻不能太大

第5点:

下图所示的这个按键称为自锁按键, 按下去之后是不会弹起来的,始终保持当前状态;

我们在做外部中断实验时需要轻触按键,这种按键是按下去之后是会弹起来的,会恢复之前的状态。

pYYBAGQbwBGAaHIBAAId9e6q-l0596.png

自锁按键

pYYBAGQbwCOAeQYoAAA7U2qoyqU482.png

轻触按键

第6点:

keil软件中,一定要勾选上Creat HEX File选项,这样项目编译之后才会生成HEX文件,proteus软件加载HEX文件,实现STM32单片机程序的仿真。

还有就是在keil代码中,修改了代码一定要重新编译,然后再在proteus中去观察实验现象。

poYBAGQbwDKACL2KAAGdgqbfjms838.png

最后

注意上述几点,就能将外部中断实验成功的进行下去了。

中断回调函数代码如下图所示,实现两个按键分别控制LED的亮和灭;

pYYBAGQbwEOAG44EAAIng262Okk314.png

两个按键分别控制LED的亮和灭;

poYBAGQbwFqAU0i-AAHNC5S4UPY753.png

实验现象

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6044

    文章

    44632

    浏览量

    639434
  • Proteus
    +关注

    关注

    79

    文章

    1692

    浏览量

    106947
  • STM32
    +关注

    关注

    2274

    文章

    10929

    浏览量

    358028
  • 回调函数
    +关注

    关注

    0

    文章

    87

    浏览量

    11637
  • stm32cubemx
    +关注

    关注

    5

    文章

    284

    浏览量

    15131
收藏 人收藏

    相关推荐

    新手怎样如何学习单片机,有哪些注意事项

    新手怎样如何学习单片机?新手学习单片机有哪些注意事项
    发表于 09-23 08:52

    AVR单片机IO使用注意事项有哪些?

    AVR单片机IO使用注意事项有哪些?
    发表于 10-29 07:22

    单片机输出PWM有哪些注意事项

    单片机输出PWM的常见方法和注意事项(点击链接阅读原文) ...
    发表于 01-11 07:54

    Proteus仿真单片机串口的注意事项和实物调试注意事项

    蓝牙的使用,Proteus仿真单片机串口的注意事项和实物调试注意事项。玩转单片机串口详细零基础版
    发表于 02-23 06:57

    使用有ISP功能的单片机注意事项

    使用有ISP功能的单片机注意事项 有ISP 功能的单片机(如:P89C51Rx+系列P89C51Rx2 系列P89C66x 系列等)在复位时存在地址引导问题,也就是从
    发表于 10-28 16:07 2284次阅读
    使用有ISP功能的<b class='flag-5'>单片机</b>的<b class='flag-5'>注意事项</b>

    STM32单片机硬件关键基础精华及注意事项

    STM32单片机硬件关键基础精华及注意事项,对STM32单片机基础内容介绍
    发表于 05-17 14:29 67次下载

    单片机系统设计与仿真 基于PROTEUS

    单片机系统设计与仿真 基于PROTEUS
    发表于 11-29 15:42 15次下载

    51单片机怎么检测输入的高电平_检测方法及注意事项

    本文介绍51单片机检测输入的高电平的方法及注意事项
    发表于 12-29 16:50 3w次阅读

    PIC低档单片机使用注意事项

    PIC低档单片机使用注意事项1、频繁插拔电时,PIC单片机容易死机。用一个10K电阻并在LM7805的5V输出端到地。2、单片机的复位端的电容不能太大。----------------
    发表于 11-16 14:36 11次下载
    PIC低档<b class='flag-5'>单片机</b>使用<b class='flag-5'>注意事项</b>

    Proteus进行单片机仿真(一)

    Proteus进行单片机仿真(一)
    发表于 11-16 16:51 5次下载
    <b class='flag-5'>Proteus</b>进行<b class='flag-5'>单片机</b><b class='flag-5'>仿真</b>(一)

    九齐51单片机使用注意事项:不要用float

    九齐51单片机使用注意事项:不要用float
    发表于 11-23 16:20 17次下载
    九齐51<b class='flag-5'>单片机</b>使用<b class='flag-5'>注意事项</b>:不要用float

    Proteus仿真STC51单片机流水灯注意事项

    Proteus仿真STC51单片机流水灯Proteus在绘制仿真STC单片机原理图是,
    发表于 11-23 16:20 11次下载
    <b class='flag-5'>Proteus</b><b class='flag-5'>仿真</b>STC51<b class='flag-5'>单片机</b>流水灯<b class='flag-5'>注意事项</b>

    《电子DIY》之蓝牙的使用,Proteus仿真单片机串口的注意事项和实物调试注意事项。玩转单片机串口详细零基础版

    蓝牙的使用,Proteus仿真单片机串口的注意事项和实物调试注意事项。玩转单片机串口详细零基础版
    发表于 12-29 19:48 0次下载
    《电子DIY》之蓝牙的使用,<b class='flag-5'>Proteus</b><b class='flag-5'>仿真</b><b class='flag-5'>单片机</b>串口的<b class='flag-5'>注意事项</b>和实物调试<b class='flag-5'>注意事项</b>。玩转<b class='flag-5'>单片机</b>串口详细零基础版

    华大单片机设计特别注意事项(上)

    华大单片机设计特别注意事项(上)
    的头像 发表于 09-18 10:59 1087次阅读

    GD32单片机GPIO结构及注意事项

    电子发烧友网站提供《GD32单片机GPIO结构及注意事项.pdf》资料免费下载
    发表于 02-07 17:27 0次下载
    GD32<b class='flag-5'>单片机</b>GPIO结构及<b class='flag-5'>注意事项</b>