標題: 關于stm32f103r6在Proteus中按鍵LED定時器的仿真 [打印本頁]

作者: SilenWalker    時間: 2020-4-6 16:29
標題: 關于stm32f103r6在Proteus中按鍵LED定時器的仿真
proteus運行版本為8.9
之前使用proteus8.6做仿真文件,發(fā)現(xiàn)存在一些bug,當使用8.6版本時,發(fā)現(xiàn)stm32f103R6的IO口(PA1,PA2,PA3)配置出按鍵功能失效
且存在一些其他使用bug,故后來換用8.9版本。該仿真文件假如使用8.6版本進行運行,可能仍然存在bug。
stm32f103R6的庫函數(shù)版本為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均配置為溢出中斷
系統(tǒng)時鐘配置在main.c中
key.c 和key.h為按鍵掃描處理函數(shù),并進行了實際情況的消抖處理。
led.c 和led.h為led模式選擇處理函數(shù)。
功能介紹:
KEY0~4均為脈沖開關。
KEY0 從右往左流水燈,流水頻率由KEY2和KEY3控制
KEY2 按一次,頻率降低,降低到一定程度無法再繼續(xù)降低,保持為系統(tǒng)最低保護頻率。
KEY3按一次,頻率升高,升高到一定程度無法再繼續(xù)升高,保持為系統(tǒng)最高保護頻率。
KEY1為從左往右流水燈
從左往右進行流水,初始流水頻率為中等,頻率會自動逐漸升高。當升高到一定程度時,頻率逐漸開始降低
最終降低到一定程度,然后頻率又會逐漸升高。
KEY4為復位開關,當按下之后,所有LED燈均熄滅,進入初始狀態(tài)。




仿真工程+代碼在2樓下載

作者: SilenWalker    時間: 2020-4-6 23:46
標題: RE: 關于stm32f103r6在Proteus中按鍵LED定時器的仿真
proteus運行版本為8.9
之前使用proteus8.6做仿真文件,發(fā)現(xiàn)存在一些bug,當使用8.6版本時,發(fā)現(xiàn)stm32f103R6的IO口(PA1,PA2,PA3)配置出按鍵功能失效
且存在一些其他使用bug,故后來換用8.9版本。該仿真文件假如使用8.6版本進行運行,可能仍然存在bug。
stm32f103R6的庫函數(shù)版本為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均配置為溢出中斷
系統(tǒng)時鐘配置在main.c中
key.c 和key.h為按鍵掃描處理函數(shù),并進行了實際情況的消抖處理。
led.c 和led.h為led模式選擇處理函數(shù)。
功能介紹:
KEY0~4均為脈沖開關。
KEY0 從右往左流水燈,流水頻率由KEY2和KEY3控制
KEY2 按一次,頻率降低,降低到一定程度無法再繼續(xù)降低,保持為系統(tǒng)最低保護頻率。
KEY3按一次,頻率升高,升高到一定程度無法再繼續(xù)升高,保持為系統(tǒng)最高保護頻率。
KEY1為從左往右流水燈
從左往右進行流水,初始流水頻率為中等,頻率會自動逐漸升高。當升高到一定程度時,頻率逐漸開始降低
最終降低到一定程度,然后頻率又會逐漸升高。
KEY4為復位開關,當按下之后,所有LED燈均熄滅,進入初始狀態(tài)。


新建文件夾-1.7z (262.38 KB, 下載次數(shù): 183)


作者: chengyouc    時間: 2020-5-12 17:49
很好啊
作者: 遺忘的襯衫    時間: 2020-5-24 16:01
請問keil軟件仿真tim3時間準5毫秒,Proteus硬件仿真為啥編程8、9秒了啊
作者: SilenWalker    時間: 2020-11-30 14:24
遺忘的襯衫 發(fā)表于 2020-5-24 16:01
請問keil軟件仿真tim3時間準5毫秒,Proteus硬件仿真為啥編程8、9秒了啊

因為Proteus仿真相對于STM32這類的單片機時,比較吃電腦資源,所以往往仿真里面的時間較于實際時間會長很多。仿真C51不會出現(xiàn)這類情況




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1