资源简介
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输入捕获功能寄存器版
相关资源
- STM8定时器2输入捕获功能寄存器版
- Verilog实现APB总线接口的PWM模块
- PWM 逆变器双环控制技术研究
- 113172211svpwm_get.zip
- 使用 STM8S103F3 设计的数字电压表头
- msp430G2553直流电机控制PWM调速和正反转
- 基于CC2530单路PWM控制程序
- 用FPGA生成SPWM波形
- pwm 步进电机pwm 步进电机 pwm 步进电机
- 计算生成SPWM的占空比的软件
- 基于MSP430单片机实现的正弦波PWM输出
- SPWM计算器
- STM8S 模拟I2C程序 源码
- stm8s003与ds1307时钟芯片程序
- 利用单片机定时器产生的占空比可调
- Qt编写的Leds以及蜂鸣器奏乐
- 直流电机PWM控制proteus仿真图
- SPWM脉宽数计算器
- 3路、4路红外循迹智能小车程序
- 51产生PWM波控制舵机用于智能小车控制
- 单相PWM整流器模型
- PWM输出程序 MSP430
- STM8L152R6 STM8L152R8 SCH封装
- PID方式PWM输出温度控制stc12c5a+ds18b20
- 28335结合AD采样的svpwm实现
- stvd 4.1.2 汉化版ST Visual Develop Version
- STM8真正UFQFPN20封装Altium格式要是骗人
- PROTUSE仿真自动避障or寻迹小车
- STM8 UART串口发送完成中断程序
- msp430的pwm程序
评论
共有 条评论