历史上的今天
今天是:2025年01月28日(星期二)
2020年01月28日 | STM8S103F3--PWM配置
2020-01-28 来源:eefocus
本文使用的芯片是是stm8s103f3。
以下主要说明配置TIM2通道1为PWM输出的过程。
1.寄存器配置

4位预分频器,计数器的计数频率Fck_cnt=Fck_psc/2^(PSC[3:0])=16M/2^0=16M
那么计数周期为1/16us,也就是说计数器会每隔1/16us计数一次。
TIM2_PSCR=0x00; //分频值=0 16M

自动重装载寄存器,
当自动重装载寄存器=0时,计数器处于阻塞状态,也就是不计数状态,因为当CNTR=ARR时,CNTR就会清零,所以配置时自动重装载寄存器应该大于0。另外自动重装载寄存器的值就是PWM波形的周期,比如ARR=0X0100,PWM的周期为0x0100*1/16=16us,PWM的周期就是16us
TIM2_ARRH=0x01; //自动重装的值 0x0100
TIM2_ARRL=0x00;

捕获/比较使能寄存器,这个寄存器的配置可以选通相应的Tim2通道。
bit5,bit4为ch2配置,bit1,bit0为ch1配置
如果当前OC1为输出通道,则
bit1:OC1低电平有效
bit0:OC1信号被输出到当前引脚上
TIM2_CCER1=bit0|bit1; //low level,OC1



捕获/比较模式寄存器,
bit1,bit0
CC1S[1:0]为捕获/比较选择
00:CC1通道被配置为输出
bit2保留
bit3输出比较预加载使能
0:不使能
1:使能
bit6,bit5,bit4输出比较模式
110:PWM1模式
PWM1和PWM2模式区别
PWM1:CNT PWM2:CNT>CCR,CH1被激活 TIM2_CCMR1=bit3|bit5|bit6; //MODE 捕获/比较寄存器,这个寄存器决定着PWM的占空比。CCR/ARR=PWM的占空比,例如设置为0x0060,那么占空比为0x0060/0x0100=6/16 TIM2_CCR1H=0x00; TIM2_CCR1L=0x60; 中断使能寄存器,如果需要中断可以在此设置。 bit1:CC1E 捕获/比较1中断使能 0:CC1 中断不使能 1:CC1中断使能 TIM2_IER=0x00; //更新中断使能 控制寄存器,bit0控制计数器的打开和关闭。 bit0,计数器使能 0:不使能 1:使能 TIM2_CR1=bit0; //enable counter 通过逻辑分析仪测试PD4管脚的输出电平,波形图如下所示。 源码如下, //******************************************* 1 #define bit0 0x01 2 #define bit1 0x02 3 #define bit2 0x04 4 #define bit3 0x08 5 #define bit4 0x10 6 #define bit5 0x20 7 #define bit6 0x40 8 #define bit7 0x80 9 10 void Timer2_Init(void) 11 { 12 CLK_ICKR|=0x01; //开启内部HSI 13 while(!(CLK_ICKR&0x02));//HSI准备就绪 14 CLK_SWR=0xe1; //HSI为主时钟源 15 CLK_CKDIVR=0x00; //HSI,8分频=16M 16 TIM2_PSCR=0x00; //分频值=0 16M 17 TIM2_ARRH=0x01; //自动重装的值 0x0100 18 TIM2_ARRL=0x00; 19 TIM2_CCER1=bit0|bit1; //low level,OC1 20 21 TIM2_CCMR1=bit3|bit5|bit6; //MODE 22 TIM2_CCR1H=0x00; 23 TIM2_CCR1L=0x60; 24 TIM2_IER=0x00; //更新中断使能 25 26 TIM2_CR1=bit0; //enable counter 27 } 28 int main( void ) 29 { 30 Timer2_Init(); 31 while(1){}; 32 } 



史海拾趣
|
“原STC单片机生厂商 笙泉科技 Megawin_8051”——是不是真的? 公司为笙泉科技8051单片机大陆总代理,STC只是从台湾笙泉半导体拿货贴的品牌,两家的协议关系已于2008年12月底终止合作关系. 现委托我公司正式隆重推广 Megawin 8051 系列单片机。 大家可以好好确定!!! [ 本帖最后由 Megawin_8051 于 2009-2-16 ...… 查看全部问答> |
|
求高手帮忙解答下 我有一个电路在附件里 由于是BMP格式的 而且线都是断开的 不知道是哪里和哪里连在一起的:L 需要仿真 能不能在Maxplus2中打开不??… 查看全部问答> |
|
http://hi.baidu.com/%CE%B4%B9%FD ... 6543ba0f24442f.html 手机维修用的,能测量发射波形 900--1800mhz呀,那位知道怎么实现的… 查看全部问答> |
|
AR技术诞生于上世纪90年代前半期,现已广泛应用于电影及电视节目等。例如,通过合成的背景影像使得身在演播室的主持人看上去就像真的置身于大自然一般。除了电视领域以外,AR技术在夜视仪及战斗机飞行员使用的标靶显示等军事应用中也取得较大发展, ...… 查看全部问答> |
|
要开发wince下的软件,查到如下资料 开发工具的版本号是与Windows CE的版本号对应的。微软提供给应用程序开发者的工具包括:Embedded Visual Tools 3.0,其中包括Embedded Visual C++ 3.0和Embedded Visual Basic 3.0;Embedded Vis ...… 查看全部问答> |
|
电脑可以发现keil ULINK.驱动应该没什么问题.连上过一次.因为上来就要做串口.不知道哪里的问题...貌似是没成功,后来再连.在keil中设置ULINK就会失去响应.不能结束进程.要注销windows.. 用的keil是RVMDK 3.80a ,ulink1,STM32 103系 另外win7系统 ...… 查看全部问答> |
|
高性能,低成本,TI针对Altera Cyclone IV: 3.3-V的TPS54318解决方案 The Altera® Stratix™ IV FPGA参考设计展示了TI TPS54318… 查看全部问答> |
|
随着微电子技术的发展,系统集成向高速、高集成度、低功耗发展已经成为必然,同时SoPC技术也应用而生。SoPC将软硬件集成于单个可编程逻辑器件平台,使得系统设计更加简洁灵活。SoPC综合了SoC,PLD和FPGA的优点,集成了硬核和软核CPU、OSP、存储器、 ...… 查看全部问答> |




