标题: 关于stm32f103r6在Proteus中按键LED定时器的仿真 [打印本页]

作者: SilenWalker    时间: 2020-4-6 16:29
标题: 关于stm32f103r6在Proteus中按键LED定时器的仿真
proteus运行版本为8.9
之前使用proteus8.6做仿真文件,发现存在一些bug,当使用8.6版本时,发现stm32f103R6的IO口(PA1,PA2,PA3)配置出按键功能失效
且存在一些其他使用bug,故后来换用8.9版本。该仿真文件假如使用8.6版本进行运行,可能仍然存在bug。
stm32f103R6的库函数版本为HAL固件库,使用CubeMX配置生成配置代码。
.HEX文件存在MDK-ARM文件目录下的cubemx中
源码介绍:
gpio.c和gpio.h为各IO口的配置文件
PA0 PA1 PA2 PA3 分别为KEY0,KEY1,KEY2,KEY3,均配置上拉输入
PB0~7分别为LED0~8,配置为上拉推挽输出
PC0配置KEY4,配置为上拉输入
tim.c和tim.h为配置TIM1和TIM3的配置文件
TIM1和TIM3均配置为溢出中断
系统时钟配置在main.c中
key.c 和key.h为按键扫描处理函数,并进行了实际情况的消抖处理。
led.c 和led.h为led模式选择处理函数。
功能介绍:
KEY0~4均为脉冲开关。
KEY0 从右往左流水灯,流水频率由KEY2和KEY3控制
KEY2 按一次,频率降低,降低到一定程度无法再继续降低,保持为系统最低保护频率。
KEY3按一次,频率升高,升高到一定程度无法再继续升高,保持为系统最高保护频率。
KEY1为从左往右流水灯
从左往右进行流水,初始流水频率为中等,频率会自动逐渐升高。当升高到一定程度时,频率逐渐开始降低
最终降低到一定程度,然后频率又会逐渐升高。
KEY4为复位开关,当按下之后,所有LED灯均熄灭,进入初始状态。




仿真工程+代码在2楼下载

作者: SilenWalker    时间: 2020-4-6 23:46
标题: RE: 关于stm32f103r6在Proteus中按键LED定时器的仿真
proteus运行版本为8.9
之前使用proteus8.6做仿真文件,发现存在一些bug,当使用8.6版本时,发现stm32f103R6的IO口(PA1,PA2,PA3)配置出按键功能失效
且存在一些其他使用bug,故后来换用8.9版本。该仿真文件假如使用8.6版本进行运行,可能仍然存在bug。
stm32f103R6的库函数版本为HAL固件库,使用CubeMX配置生成配置代码。
.HEX文件存在MDK-ARM文件目录下的cubemx中
源码介绍:
gpio.c和gpio.h为各IO口的配置文件
PA0 PA1 PA2 PA3 分别为KEY0,KEY1,KEY2,KEY3,均配置上拉输入
PB0~7分别为LED0~8,配置为上拉推挽输出
PC0配置KEY4,配置为上拉输入
tim.c和tim.h为配置TIM1和TIM3的配置文件
TIM1和TIM3均配置为溢出中断
系统时钟配置在main.c中
key.c 和key.h为按键扫描处理函数,并进行了实际情况的消抖处理。
led.c 和led.h为led模式选择处理函数。
功能介绍:
KEY0~4均为脉冲开关。
KEY0 从右往左流水灯,流水频率由KEY2和KEY3控制
KEY2 按一次,频率降低,降低到一定程度无法再继续降低,保持为系统最低保护频率。
KEY3按一次,频率升高,升高到一定程度无法再继续升高,保持为系统最高保护频率。
KEY1为从左往右流水灯
从左往右进行流水,初始流水频率为中等,频率会自动逐渐升高。当升高到一定程度时,频率逐渐开始降低
最终降低到一定程度,然后频率又会逐渐升高。
KEY4为复位开关,当按下之后,所有LED灯均熄灭,进入初始状态。


新建文件夹-1.7z (262.38 KB, 下载次数: 183)


作者: chengyouc    时间: 2020-5-12 17:49
很好啊
作者: 遗忘的衬衫    时间: 2020-5-24 16:01
请问keil软件仿真tim3时间准5毫秒,Proteus硬件仿真为啥编程8、9秒了啊
作者: SilenWalker    时间: 2020-11-30 14:24
遗忘的衬衫 发表于 2020-5-24 16:01
请问keil软件仿真tim3时间准5毫秒,Proteus硬件仿真为啥编程8、9秒了啊

因为Proteus仿真相对于STM32这类的单片机时,比较吃电脑资源,所以往往仿真里面的时间较于实际时间会长很多。仿真C51不会出现这类情况




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1