資源簡介
STM8單片機通過PC6和PC3引腳輸出互補PWM波,PB5口做為剎車控制引腳,當PB5口輸入低電平時,定時器自動關斷PWM輸出。單片機復位后PWM波形恢復輸出。

代碼片段和文件信息
#include?“iostm8s103F3.h“
#include?“led.h“
#include?“pwm.h“
void?SysClkInit(?void?)
{
????CLK_SWR?=?0xe1;???????//HSI為主時鐘源??16MHz?CPU時鐘頻率
????CLK_CKDIVR?=?0x00;????//CPU時鐘0分頻,系統時鐘0分頻
}
void?delay_ms(?unsigned?int?ms?)
{
????unsigned?char?i;
????while(?ms?!=?0?)
????{
????????for(?i?=?0;?i?250;?i++?);
????????for(?i?=?0;?i?75;?i++?);
????????ms--;
????}
}
void?delay_us(?unsigned?int?Tus?)
{
????__asm(?“nop“?);
}
//PB5口設置為輸入口?做為剎車控制引腳
void?BK_GPIO_Init(?void?)
{
????PB_DDR?&=?~(?1?<5?);???????//PB5?輸入模式
????PB_CR1?|=?(?1?<5?);????????//PB5?帶上拉電阻輸出
}
/*
??PC6為?TIM1_CH1????輸出通道
??PC3為?TIM1_CH1N???輸出通道
??PB5為?剎車控制端口??當PB5為低電平時?PWM關閉互補波形輸出??這個過程為單片機內部硬件自動控制?不需要軟件參與
??需要在選項字節中開啟?PC6?TIM1_CH1??PC3?TIM1_CH1N??PB5?TIM1_BKIN?功能
*/
void?main(?void?)
{
????SysClkInit();
????__asm(?“sim“?);???????????????????????//禁止中斷
????BK_GPIO_Init();???????????????????????//剎車控制輸入端
????TIM1_Init();
????__asm(?“rim“?);???????????????????????//開啟中斷
????delay_ms(?500?);
??
????TIM1_CH1_OUT(FRE/2);??????????????????//設置占空比為50%
????
????while(?1?)
????{
????????LED?=?0;?????????????????????????//LED=0?和?LED=!LED??執行效率差距很大
????????__asm(?“nop“?);??????????????????//直接調用??__asm(“nop“)?和??delay_us(1)?????執行效率差距也很大
????????LED?=?1;
????????__asm(?“nop“?);
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-02-20?13:24??STM8_PWM_BKIN\
?????文件????????2397??2018-05-15?14:52??STM8_PWM_BKIN\BuildLog.log
?????目錄???????????0??2019-02-20?12:56??STM8_PWM_BKIN\Debug\
?????目錄???????????0??2019-02-20?13:29??STM8_PWM_BKIN\Debug\Exe\
?????文件???????31600??2019-02-20?13:29??STM8_PWM_BKIN\Debug\Exe\LED.out
?????文件????????1104??2019-02-20?13:29??STM8_PWM_BKIN\Debug\Exe\PWM.hex
?????目錄???????????0??2019-02-20?13:29??STM8_PWM_BKIN\Debug\List\
?????文件???????12789??2019-02-20?13:29??STM8_PWM_BKIN\Debug\List\LED.map
?????目錄???????????0??2019-02-20?13:28??STM8_PWM_BKIN\Debug\Obj\
?????文件????????6074??2019-02-20?13:07??STM8_PWM_BKIN\Debug\Obj\led.o
?????文件??????230103??2019-02-13?14:42??STM8_PWM_BKIN\Debug\Obj\LED.pbd
?????文件??????230103??2019-02-13?14:42??STM8_PWM_BKIN\Debug\Obj\LED.pbd.browse
?????文件?????????199??2019-02-13?14:42??STM8_PWM_BKIN\Debug\Obj\LED.pbd.linf
?????文件??????224865??2019-02-20?13:06??STM8_PWM_BKIN\Debug\Obj\led.pbi
?????文件???????11491??2019-02-20?13:06??STM8_PWM_BKIN\Debug\Obj\led.pbi.xcl
?????文件???????14148??2019-02-20?13:28??STM8_PWM_BKIN\Debug\Obj\main.o
?????文件??????227351??2019-02-20?13:24??STM8_PWM_BKIN\Debug\Obj\main.pbi
?????文件???????11483??2019-02-20?13:24??STM8_PWM_BKIN\Debug\Obj\main.pbi.xcl
?????文件???????16391??2019-02-20?13:22??STM8_PWM_BKIN\Debug\Obj\pwm.o
?????文件??????228209??2019-02-20?13:28??STM8_PWM_BKIN\Debug\Obj\PWM.pbd
?????文件??????228209??2019-02-20?13:28??STM8_PWM_BKIN\Debug\Obj\PWM.pbd.browse
?????文件?????????180??2019-02-20?13:28??STM8_PWM_BKIN\Debug\Obj\PWM.pbd.linf
?????文件??????226483??2019-02-20?13:22??STM8_PWM_BKIN\Debug\Obj\pwm.pbi
?????文件???????11491??2019-02-20?13:22??STM8_PWM_BKIN\Debug\Obj\pwm.pbi.xcl
?????目錄???????????0??2019-02-20?13:22??STM8_PWM_BKIN\HardWare\
?????文件?????????194??2019-02-20?13:06??STM8_PWM_BKIN\HardWare\led.c
?????文件?????????166??2019-02-20?12:56??STM8_PWM_BKIN\HardWare\led.c.orig
?????文件?????????170??2018-05-10?16:18??STM8_PWM_BKIN\HardWare\led.h
?????文件????????1474??2019-02-20?13:22??STM8_PWM_BKIN\HardWare\pwm.c
?????文件????????2728??2018-05-16?16:25??STM8_PWM_BKIN\HardWare\pwm.c.orig
?????文件?????????481??2019-02-13?14:56??STM8_PWM_BKIN\HardWare\pwm.h
............此處省略22個文件信息
- 上一篇:串口通信光耦隔離電路
- 下一篇:STM8定時器2輸入捕獲功能寄存器版
評論
共有 條評論