资源简介
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输入捕获功能寄存器版
相关资源
- 51单片机PWM程序,占空比、周期可调整
- SG3525频率PWM控制均可调模块
- 意法半导体STM全系列微控制器STM32ST
- STM8S SX1278 项目和源代码
- STM8S003 红外遥控
- 基于ARM7 PWM定时器的图像传感器时序信
- STM8S例程,基于IAR下的STM8S例程
- 电力电子技术(第4版)_王兆安_带目
- 基于FAN6754A的PWM反激式开关电源的设计
- 采用双闭环控制提高PWM的电源纹波抑
- 基于STM8的HT1621B显示驱动程序
- STM8驱动HT1621B
- FPGA实现单极性SPWM调制
- LCL滤波器在三相PWM整流器中的应用
- CPS―SPWM调制方法在H桥多电平变流器中
- 基于FPGA的多电平载波移相SPWM方法实现
- 正弦波逆变器正弦波逆变器的工作原
- 基于DSP的SVPWM变频调速系统
- 采用单片机SPWM的控制应急电源逆变电
- PWM脉宽调制的原理
- 说说PWM脉宽调制原理
- 以单片机AT89S52、光电脉宽调制器芯片
- STM32F103系列PWM输出应用之纸短情长音
- 基于FPGA的SVPWM实现方法
- pwm控制驱动直流电机 可调速 可调转的
- STM8L中文参考手册1-4全
- 可控硅调光,PWM调光,0-10V调光哪个更
- 一种基于SG3525A的PWM型开关稳压电源设
- STM8L_MPU6500_DMP_震动唤醒
- 基于PIC单片机产生SPWM信号控制逆变桥
评论
共有 条评论