历史上的今天
今天是:2025年02月14日(星期五)
2020年02月14日 | STM8S TIM1 PWM初始化设置
2020-02-14 来源:eefocus
#define TIM1_DIV1 (uint16)(1-1)
#define TIM1_DIV2 (uint16)(2-1)
#define TIM1_DIV4 (uint16)(4-1)
#define TIM1_DIV8 (uint16)(8-1)
#define TIM1_DIV16 (uint16)(16-1)
#define TIM1_DIV32 (uint16)(32-1)
//timer1 PWM 输出到管脚使能
_Bool PWMAOUT_PINENBLE @TIM1_CCER1:0 ;//TIM1_CH1 -- PC6
_Bool PWMBOUT_PINENBLE @TIM1_CCER1:4 ;//TIM1_CH2 -- PC7
_Bool PWMCOUT_PINENBLE @TIM1_CCER2:0 ;//TIM1_CH3 -- PC3
// PWM 频率设定
#define V_PWMFRE 1000
#define ToCMPxH(CMP,Value) (CMP = (uint8)((Value >> 8 ) & 0xFF))
#define ToCMPxL(CMP,Value) (CMP = (uint8)(Value & 0xFF))
//*************************************
// 函数名称:Init_Timer1_PWM
// 函数功能:定时器1作PWM输出时初始化
// 入口参数:PWM等级 每级0.625U (1000*0.625 = 62.5U = 8K)
// 出口参数:无
// 此初始化设置应用在BLDC 三相PWM输出
//***************************************
void Init_Timer1_PWM(uint16 Tcon,uint16 Pscr)
{
//16M系统时钟经预分频f=fck/(PSCR+1)
TIM1_PSCRH = (Pscr >> 8) & 0xff ;
TIM1_PSCRL = Pscr & 0xff ;
//设定重装载时的寄存器值,255是最大值
TIM1_ARRH = (Tcon >> 8) & 0xff ;
TIM1_ARRL = Tcon & 0xff ;
//设置刹车寄存器
TIM1_BKR|=0X80 ;
//PWM1模式,TIM1_CNT
TIM1_CCMR1 =0x6C ;
//PWM1模式,TIM1_CNT
TIM1_CCMR2 =0x6C ;
//PWM1模式,TIM1_CNT
TIM1_CCMR3 =0x6C ;
//冻结模式,TIM1_CNT
TIM1_CCMR4 =0x08 ;
//PWM 占空比 清0
TIM1_CCR1H = 0;
TIM1_CCR1L = 0;
TIM1_CCR2H = 0;
TIM1_CCR2L = 0;
TIM1_CCR3H = 0;
TIM1_CCR3L = 0;
TIM1_EGR = 0X01 ; //UG = 1 ;初始化计数器 预装载载入影子寄存器中
TIM1_CNTRH = 0 ; //计数器清0
TIM1_CNTRL = 0 ;
TIM1_CR1 |= 0X01; // 计数器使能,开始计数
}
//*************************************
// 函数名称:TOPWMVALUE
// 函数功能:设置PWM占空比
// 入口参数:占空比值
// 出口参数:无
//***************************************
void TOPWMVALUE(uint16 OUT_PWM)
{
ToCMPxH(TIM1_CCR1H,OUT_PWM);
ToCMPxL(TIM1_CCR1L,OUT_PWM);
ToCMPxH(TIM1_CCR2H,OUT_PWM);
ToCMPxL(TIM1_CCR2L,OUT_PWM);
ToCMPxH(TIM1_CCR3H,OUT_PWM);
ToCMPxL(TIM1_CCR3L,OUT_PWM);
}
//----实例应用------
//定时器1初始化
Init_Timer1_PWM(V_PWMFRE,TIM1_DIV2) ;//16M/2=8M 设置8K PWM输出
史海拾趣
|
数据分析线程在读信号量和消费者指针的控制下成功读取一包数据后,根据通道标示号提取此包中每个通道的数据,写入对应的内存映射文件中,再调用数据处理函数对每个通道数据做误码分析。误码分析的结果可由主界面线程调用显示。数据分解流程如图4所 ...… 查看全部问答> |
|
大家好,我想请问各位大虾,如何在evc下实现状态提示呢,比如说我正在上传文件会有一个窗口提示正在上传,等传输完毕了提示上传成功,然后就关闭了!!请各位大虾多帮忙,谢谢各位了!!!… 查看全部问答> |
|
兄弟在嵌入式领域混了快2年了,整天做驱动程序,什么 gpio啊 boot room nand nor 电路图啊寄存器啊 ,跟这些东西打交道,有点烦了,现在想改行做做通信,不知道都需要啥基础知识呢?我的TCP/ip协议学的蛮精的也。… 查看全部问答> |
|
在应用程序里如何查询某个USB连在哪一个USB controller上 在具有多个USB controller和多个USB设备的情况下, 如何查询这些USB设备连接在哪个USB controller上。 设备管理器中,如果选择“依连接排序设备”,就可以看到所 有设备的Device Tree,VC里有什么API或者什么方法可以获得 类似的信息吗? 请高 ...… 查看全部问答> |
|
非隔离型降压式电源设计方法概论 非隔离降压型电源是现在普遍使用的电源结构,几乎占了日光灯电源百分之九十以上。很多人都以为非隔离电源只有降压型一种,每每一说到不隔离,就想到降压型,就想到说对灯不安全(指电源损坏)。其实降压型不只是一 ...… 查看全部问答> |
|
RT,求一份用freescale C语言编写的模糊控制程序。有的发一份到 362645744@qq.com 谢谢了。作为交换,可以把我这里用汇编写的模糊控制程序传给你。… 查看全部问答> |
|
我用hot51开发板做实现测量电压和输出相同电压的功能,但是没有响应,麻烦大家指出我程序的问题,谢谢了 /* PCF8591四路电压 LCD1602显示 参考电压接至5V电源 */ /* 最小输出电压:0.00V 最大输出电压:5.00V 分辨率:0.02V */ /****************** ...… 查看全部问答> |




