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)
|