STM8S Timer2_OC1_PWM1输出模式

发布者:dfdiqc最新更新时间:2016-10-06 来源: eefocus关键字:STM8S  Timer2  PWM  输出模式 手机看文章 扫描二维码
随时随地手机看文章
C语言: Codee#11722
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 实验平台: STM8S103F2P6 FM 接收实验核心板 
+ 硬件    : STM8S103F2P6
+ 开发平台: IAR For STM8 1.10
+ 仿真器 : ST-Link
+ 日期   : 2010-6-22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#include "stm8s.h"

/*******************************************************************************
*                           ==启用外部晶振函数==
*******************************************************************************/
void HSE_CLK_INIT(void)
{
CLK_DeInit(); 
CLK_HSECmd(ENABLE);
while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY));
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
CLK_ClockSwitchCmd(ENABLE); 
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_ENABLE);
}

/*******************************************************************************
*                           ==定时器2初始化函数==
* TIM2_DeInit();                                 --> 初始化定时器2寄存器
* TIM2_TimeBaseInit(TIM2_PRESCALER_1, 224);      --> 定时器2基本初始化 设置 分频系数 , 初值
                                                  --> ( 无分频 , 7372800 / 32768 = 225 校准为224 )
* TIM2_OC1Init(TIM2_OCMODE_PWM1 , TIM2_OUTPUTSTATE_ENABLE , 112 , TIM2_OCPOLARITY_HIGH);
                                                  --> 定时器2输出方式 为PWM1 , 定时器2输出状态使能 , 输出占空比 50% , 输出起始电平 为高
* TIM2_Cmd(ENABLE);                              --> 启动定时器
*******************************************************************************/
void TIME2_INIT(void)
{
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_1, 224);
TIM2_OC1Init(TIM2_OCMODE_PWM1 , TIM2_OUTPUTSTATE_ENABLE , 112 , TIM2_OCPOLARITY_HIGH);
TIM2_Cmd(ENABLE);
}

/*******************************************************************************
*                           ==Main函数==
* 用示波器测量stm8s103f2p6 的Timer_OC1端,即1脚。得到占空比50%的,32768Hz的方波
* 为确保稳定,可以在输出管教加上上拉电阻
*******************************************************************************/
void main(void)
{
HSE_CLK_INIT();
TIME2_INIT();
while(1);
}
关键字:STM8S  Timer2  PWM  输出模式 引用地址:STM8S Timer2_OC1_PWM1输出模式

上一篇:STM8S EEPROM 读写字节操作
下一篇:STM8S外部晶振使能

推荐阅读最新更新时间:2024-03-16 15:13

STM8S 独立看门狗配置及使用
//独立看门口的时钟来源 内部低速时钟 128khz 除以2 即64khz //选择 IWDG_Prescaler_128 //64/128 =0.5 khz 2ms周期 #define IWDG_500MS_REST (uint8)250 #define IWDG_400MS_REST (uint8)200 #define IWDG_300MS_REST (uint8)150 #define IWDG_250MS_REST (uint8)125 #define IWDG_200MS_REST (uint8)100 #define IWDG_100MS_REST (uint8)50 #define IWDG_50MS_REST
[单片机]
DSP完成的实时信号模拟器
前言   在通信、雷达等数字信号处理系统的设计中,信号模拟器发挥着至关重要的作用。模拟器用来模拟实际工作过程中信号处理系统的各种输入信号,从而方便了系统调试。可以利用现有仪器模拟这些信号,也可以设计专门的模拟器。这两种方法各有特点:仪器模拟省去了模拟器的设计和调试过程,比较方便;但有时现有仪器并不能完全满足系统测试的要求,另外有些仪器的价格相当昂贵(专用的信道仿真设备一般在24000到500000美元之间 )。因此,在信号模拟的方法上应视实际情况而定:对于ADC这样输入信号比较简单的的系统,可以利用任意波形发生器这些测试仪器进行测试;而对需要多输入或输入信号种类比较多的系统一般需要设计专用的模拟器。一般来说,能用容易得到仪器完成
[嵌入式]
PWM变换器中输出变压器偏磁的抑制
摘要:分析了PWM开关型变换器中,变压器直流偏磁问题产生的原因。给出了一种解决直流偏磁较为实用的拓扑电路,并分析了它的工作原理。该电路的有效性在20kHz/2kW的全桥逆变电源中得到了验证。 关键词:变换器;偏磁;脉宽调制 引言 在PWM开关型变换器中,或多或少都存在着变压器直流偏磁问题,只是在不同的场合严重程度不同而已。偏磁的后果是十分严重的,轻则会使变压器和功率半导体模块的功耗增加,温升加剧,严重时还会损坏功率模块,使其不能正常工作。PWM控制的全桥逆变电源,经常会因各种不可预见的因素,使其两桥端输出电压脉冲列在基波周期内正负伏秒值不相等,从而导致输出变压器中存在直流分量,引起单向偏磁现象,严重威胁到系统的正常运行。为
[应用]
stm8s swim 脚的复用
由于 临时改跳线的原因,需要用到swim脚来做为按钮输入。 因为,swim是编程脚,还担心会有影响。 于是,看了手册,发现swim是附加功能。主要功能 还是PD1 作为GPIO脚用的。 于是 就直接 当 GPIO脚用。然后 烧写程序一切正常。 重复烧程序也都正常。 因此,说明 swim 做为GPIO脚用是 完全 没有问题的。也不影响 烧写程序。 用的芯片型号是:STM8S003F3P6
[单片机]
51单片机PWM控制电机
小时候玩的四驱车,给直流马达接通电源就嗤嗤的跑出去了。电机种类众多,就属控制直流电机最简单,只要对调正负极就能改变电机的转向。另外,直流电机负载能力强,适合做越野车的驱动电机。为了做可调速的越野车,就有了这篇文章。 电源电压输出是固定的,电机的转速也因此是固定的,为了调节电机的转速,就得改变电源电压的输出(为嘛要改变电机转速?举个简单的列子,双电机驱动小车-一边一个电机-如何实现转向?让两边轮胎上的速度不同即可)。how?用PWM调制的方法,把恒定的直流电源电压调制成频率一定宽度可变的脉冲电压序列,从而可以改变平均输出电压的大小,以调节电机的转速。电源电压在此处就是51MCU的引脚输出,4.5-5V,只要在引脚上产生频率可调
[单片机]
51单片机<font color='red'>PWM</font>控制电机
MSP430定时器控制PWM输出 (MSP430入门)
/*定时器输出单元举例: ACLK时钟频率为LFXT1=32768Hz,利用Timer_A输出周期为512/32768 =15.625ms,占空比分别为75%和25%的PWM波 */ #include io430.h int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; TACTL=TASSEL_1+TACLR; CCR0=512-1;//PWM周期 CCTL1=OUTMOD_7; CCR1=384;//384/512=0.75 CCTL2=OUTMOD_7; CC
[单片机]
两种方法教你如何有效地利用51单片机产生PWM
89C51芯片没有自带PWM发生器,如果要用51来产生PWM波就必须要用软件编程的方法来模拟。方法大概可以分为软件延时和定时器产生两种方法。下面将逐一介绍。 1 软件延时法 利用软件延时函数,控制电平持续的时间,达到模拟pwm的效果。 程序如下: #include sbit pwm=P1^0; main() { while(1) { pwm=1; delayus(60);//置高电平后延时60us,占空比60% pwm=0; delayus(40); } } void delayus(uint x) { while(x--); } proteus软件仿真结果如下: 可见,用这种延时函数的方法就能简单地模拟出pwm输出。
[单片机]
两种方法教你如何有效地利用51单片机产生<font color='red'>PWM</font>波
STM32F7普通定时器的使用(定时+中断+PWM
基本计时功能 最简单的,定时器嘛,基本的定时器就是定时功能,简单来说就是TIMx- CNT会跟随着输入时钟的脉冲而计数。 初始化定时器的参数,大家都好理解,因为TIM2的输入时钟是108Mhz,这里进行10800分频,输入频率为10K,重装载值设置为20K,每2秒溢出一次。 在HAL_TIM_Base_Init的执行过程中,会先调用HAL_TIM_Base_MspInit再进行其他参数的配置,即先开时钟。 TIM_HandleTypeDef TIM2_Handler; static void MX_TIM2_Init(void) { TIM2_Handler.Instance = TIM2; TIM2_Hand
[单片机]
STM32F7普通定时器的使用(定时+中断+<font color='red'>PWM</font>)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved