历史上的今天
返回首页

历史上的今天

今天是:2025年07月24日(星期四)

正在发生

2018年07月24日 | STM8S PWM应用 用于设置红外38KHZ 载波

2018-07-24 来源:eefocus

/*

 TIM1_CCMR

  BIT 6-4:

  110:PWM模式1- 在向上计数时,一旦TIM1_CNT

  ,否则为无效电平;在向下计数时,一旦TIM1_CNT>TIM1_CCR1时通道1为无效电平(OC1REF=0)

  ,否则为有效电平(OC1REF=1)。

  111:PWM模式2- 在向上计数时,一旦TIM1_CNT

  ,否则为有效电平;在向下计数时,一旦TIM1_CNT>TIM1_CCR1时通道1为有效电平

  ,否则为无效电平。

  */

  

//PWM模式选择

#define  TIM1_MODE_PWM1  0X6C//PWM1模式

#define  TIM1_MODE_PWM2  0X7C//PWM2模式

#define  TIM1_MODE_OFF  0x08 //冻结模式

  

  

//预分频选择

#define  TIM1_DIV1   (uint16)0//不分频

#define  TIM1_DIV2   (uint16)1//2分频

#define  TIM1_DIV4   (uint16)3//4分频

#define  TIM1_DIV8   (uint16)7//8分频

#define  TIM1_DIV16   (uint16)15//16分频

#define  TIM1_DIV32   (uint16)31//32分频

 

  

//TIM1 PWM 输出指向的使能位

 _Bool   PWMPC1OUT_PINENBLE  @TIM1_CCER1:0 ;//TIM1_CH1 -- PC1

 _Bool   PWMPC2OUT_PINENBLE  @TIM1_CCER1:4 ;//TIM1_CH2 -- PC2

 _Bool   PWMPC3OUT_PINENBLE  @TIM1_CCER2:0 ;//TIM1_CH3 -- PC3

 _Bool   PWMPC4OUT_PINENBLE  @TIM1_CCER2:4 ;//TIM1_CH4 -- PC4

 

 

 

 

#define PWMPC1OUT_EN PWMPC1OUT_PINENBLE=1//PC1输出PWM

#define PWMPC1OUT_DIS PWMPC1OUT_PINENBLE=0//PC1不输出PWM

 

#define PWMPC2OUT_EN PWMPC2OUT_PINENBLE=1

#define PWMPC2OUT_DIS PWMPC2OUT_PINENBLE=0

 

#define PWMPC3OUT_EN PWMPC3OUT_PINENBLE=1

#define PWMPC3OUT_DIS PWMPC3OUT_PINENBLE=0

 

#define PWMPC4OUT_EN PWMPC4OUT_PINENBLE=1

#define PWMPC4OUT_DIS PWMPC4OUT_PINENBLE=0

 

 

 

 

 

 

 

// PWM 频率设定

//#define MDIV2

//16M 2分频的设置

#if defined(MDIV2)

#define TIM1_DIV_SET TIM1_DIV2

#define PWMFRE_8KHZ  1000

#define PWMFRE_4KHZ  2000

#define PWMFRE_2KHZ  4000

#define PWMFRE_1KHZ  8000

#define PWMFRE_05KHZ  16000

#define PWMFRE_38KHZ  210//用于红外38KHZ载波

#define PWMFRE_OPEN   70//1/3的PWM占空比

#else

//16M 不分频的设置

#define TIM1_DIV_SET TIM1_DIV1

#define PWMFRE_8KHZ  2000

#define PWMFRE_4KHZ  4000

#define PWMFRE_2KHZ  8000

#define PWMFRE_1KHZ  16000

#define PWMFRE_05KHZ  32000

#define PWMFRE_38KHZ  421//用于红外38KHZ载波

#define PWMFRE_OPEN   140//1/3的PWM占空比

#endif

 

 

//*************************************

// 函数名称:Init_Timer1_PWM

// 函数功能:定时器1作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 ;//输出频率为:16M/ ARR 

  //设置刹车寄存器   

  TIM1_BKR|=0X80 ;   

 

  //PWM1模式,TIM1_CNT

  TIM1_CCMR1 =TIM1_MODE_PWM1 ; 

  //冻结模式,TIM1_CNT

  TIM1_CCMR2 =TIM1_MODE_OFF ; 

  //冻结模式,TIM1_CNT

  TIM1_CCMR3 =TIM1_MODE_OFF ; 

  //冻结模式,TIM1_CNT

  TIM1_CCMR4 =TIM1_MODE_OFF ; 

  

   //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;  // 计数器使能,开始计数  

    

}

//*************************************

// 函数名称:PWM_CCR1_SET

// 函数功能:设置PWM占空比

// 入口参数:占空比值

// 出口参数:无

//***************************************

void PWM_CCR1_SET(uint16 OPEN_PWM)

{

 TIM1_CCR1H= (uint8)((OPEN_PWM >> 8 ) & 0xFF);

 TIM1_CCR1L = (uint8)(OPEN_PWM & 0xFF);

}

//*************************************

// 函数名称:PWM_CCR2_SET

// 函数功能:设置PWM占空比

// 入口参数:占空比值

// 出口参数:无

//***************************************

void PWM_CCR2_SET(uint16 OPEN_PWM)

{

 TIM1_CCR2H= (uint8)((OPEN_PWM >> 8 ) & 0xFF);

 TIM1_CCR2L = (uint8)(OPEN_PWM & 0xFF);

}

//*************************************

// 函数名称:PWM_CCR3_SET

// 函数功能:设置PWM占空比

// 入口参数:占空比值

// 出口参数:无

//***************************************

void PWM_CCR3_SET(uint16 OPEN_PWM)

{

 TIM1_CCR3H= (uint8)((OPEN_PWM >> 8 ) & 0xFF);

 TIM1_CCR3L = (uint8)(OPEN_PWM & 0xFF);

}

//*************************************

// 函数名称:PWM_CCR3_SET

// 函数功能:设置PWM占空比

// 入口参数:占空比值

// 出口参数:无

//***************************************

void PWM_CCR4_SET(uint16 OPEN_PWM)

{

 TIM1_CCR4H= (uint8)((OPEN_PWM >> 8 ) & 0xFF);

 TIM1_CCR4L = (uint8)(OPEN_PWM & 0xFF);

}

//应用:

  Init_Timer1_PWM(PWMFRE_38KHZ,TIM1_DIV_SET) ;//16M   设置38K PWM输出

  PWM_CCR1_SET(PWMFRE_OPEN);


推荐阅读

史海拾趣

Holtek(合泰)公司的发展小趣事

Holtek(合泰)公司电子行业的五个发展故事

故事一:初创与台湾半导体产业的崛起

1983年,合德集成电路的成立标志着Holtek(合泰)的前身正式踏入半导体行业,为台湾半导体产业开启了新篇章。随着技术的不断积累和市场需求的增长,1988年,合泰半导体在新竹科学园区的建立,成为公司在晶圆制造领域的重要里程碑。这一时期,合泰半导体专注于技术创新与品质提升,逐步在竞争激烈的半导体市场中站稳脚跟,为后续的快速发展奠定了坚实基础。

故事二:晶圆制造与全球市场的拓展

进入90年代,合泰半导体迎来了快速发展期。1990年,五英寸VLSI晶圆厂的完工并开始生产,标志着公司在晶圆制造方面迈出了坚实的一步。随着生产能力的提升,合泰半导体开始积极拓展全球市场。2000年,公司股票公开发行,并通过国际ISO9001质量系统认证,进一步巩固了其在行业内的地位。同年,香港分公司的成立,以及随后在美国和上海设立的子公司,使得合泰半导体的业务版图迅速扩展至全球,加强了其在北美和大陆地区的销售与技术服务能力。

故事三:技术创新与产品研发

合泰半导体始终将技术创新视为企业发展的核心动力。进入21世纪后,公司不断推出具有竞争力的新产品,以满足市场的多样化需求。例如,在MCU(微控制器)领域,合泰半导体凭借其在低功耗、高性能方面的技术优势,成功开发出多款适用于触控、健康量测、工业控制等多个领域的MCU产品。这些产品的推出不仅丰富了公司的产品线,也进一步提升了公司在全球市场的竞争力。

故事四:物联网市场的布局与深耕

随着物联网市场的兴起,合泰半导体敏锐地捕捉到了这一新兴市场的巨大潜力。公司开始积极布局物联网领域,致力于为客户提供从硬件到软件、从芯片到解决方案的一站式服务。在智能家居、健康医疗、智慧城市等物联网应用场景中,合泰半导体凭借其专业的MCU产品和强大的技术服务能力,赢得了众多客户的信赖与合作。通过不断的技术创新和产品优化,合泰半导体在物联网市场中占据了重要地位。

故事五:人才培养与校企合作

人才是企业发展的根本。合泰半导体深知这一点,因此一直将人才培养视为企业发展的重要战略之一。公司不仅为员工提供丰富的在职培训计划和职涯提升管道,还积极与高校开展校企合作,共同培养具有创新精神和实践能力的专业人才。例如,与某高校共建单片机应用开发联合实验室,不仅为学生提供了实践锻炼的平台,也为企业输送了大量优秀人才。这种校企合作模式不仅促进了企业的技术创新和产品研发,也为行业培养了大量高素质的专业人才。

General Cable公司的发展小趣事
确保YN5103的电源引脚(通常为VCC和GND)正确连接到电源和地。
Fremont_Micro_Devices_USA公司的发展小趣事
首先根据应用需求确定所需的载波频率,通常在38kHz~40kHz范围内。
Deltron公司的发展小趣事

在竞争激烈的电子市场中,品质是Deltron公司的生命线。公司始终坚持以客户为中心,注重产品质量和服务的提升。通过严格的质量控制体系和完善的售后服务,Deltron赢得了客户的信任和好评。同时,公司还积极参与行业标准的制定和修订工作,推动行业向更高水平发展。

Eutech公司的发展小趣事

EUtech公司注重品牌塑造和市场拓展。他们通过参加国际展会、举办技术研讨会等方式提高品牌知名度。同时,公司积极拓展海外市场,产品已出口到新加坡、香港、韩国等国家和地区。凭借优异的产品质量和良好的市场口碑,EUtech公司逐渐在国际市场上树立起了品牌形象。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司一直致力于技术创新和产品研发。在某个关键时刻,公司研发团队成功开发出了一种具有革命性的新型连接器,这种连接器不仅性能稳定、寿命长,而且具有极高的可靠性和安全性。这一技术突破使得ASSMANN WSW在电子元件市场上脱颖而出,迅速成为行业内的佼佼者。

问答坊 | AI 解惑

求知

那位好心人士有CMD55,8960及CM U200的不使用方法,能给我发一份吗???我的邮箱是xiaogang725@126.com       谢谢了!!!!!…

查看全部问答>

整流二极管反向恢复时间与关断尖峰的关系(看高手的解释)

整流二极管反向恢复时间与关断尖峰的关系。    在一般的桥式整流电路中,整流后的电压波形是方波,工作中会有一个尖峰。现在问题是: 1、这个尖峰是如何产生的。 2、这个尖峰的大小跟二极管的反向恢复时间的关系是怎么样的? 3、如果 ...…

查看全部问答>

U信通让手机兼备PTT功能

U信通让手机兼备PTT功能 2009年中国3G网络业务正式开始运行,集群通信业务也将从传统模拟信号时代向手机数字时代转变。日前,艾博广迅推出了安装在手机上的U信通产品。就像电脑上MSN、QQ、等即时通信工具能实现语音通话一样,安装在手机上的U信通 ...…

查看全部问答>

借宝地一用,招聘DSP/ARM设计人才

1.计算机、电子或相关专业本科毕业 2.熟悉TI DSP结构 3.熟悉C与C++ 4.1年以上TI DSP软件开发工作经验 5.具有高度的责任心,有团队合作精神 即将成立新的公司,公司需要以下人员:图象处理和模式识别,DSP+ARM软硬开发,音视频编解码,音 ...…

查看全部问答>

请问哪位大侠有F427的中文资料

由于本人洋文很差,也不想再学了,看不了洋文资料,哪位大侠有的话提供个方便啊…

查看全部问答>

想用MSP430的板子作量測功率的疑問

因為我用MSP430的板子做的作品想要加入量測功率的功能我聽說MSP430內就有可以做功率量測的功能但是我不知道該如何使用?所以想說買一顆功率量測IC來實現 ,可是不知道用哪顆IC比較適合?所以希望有人能提供要如何用MSP430來做功率量測的方法或方向或 ...…

查看全部问答>

易电源学习贴

全新SIMPLE SWITCHER 易电源纳米模块非常适合空间受限的应用,扩展了当今市场上最小的1A封装的产品组合和功能。 易电源纳米模块在一个微小解决方案尺寸中整合了易用性和高性能。纳米模块是目前市场上最小的1A封装。该器件是首款将IC安装在电感 ...…

查看全部问答>

请教高手:做51格力空调遥控器,解了码后不知为何空调没反应,附程序如下。

#include #define uchar unsigned char #define uint unsigned int sbit   output = P1^0; sbit KEY1=P3^0; sbit KEY2=P3^1; sbit KEY3=P3^2; sbit KEY4=P3^3; static bit OP;        //红外发射 ...…

查看全部问答>

CC2430:FFD与RFD通信?

问一下,在一个树形或者网型网络中,相邻两个FFD路由能够同时收到多个RFD的数据,?正常一个RFD只能与其父节点通信,这要实现跳网吗?大侠们看看。…

查看全部问答>

[TI首届低功耗设计大赛]+DIY系统功能框图

[TI首届低功耗设计大赛]+DIY系统功能框图 结合自己的设想修改下图片,摘取些资源图片! 硬件功能资源 1,红外发射:定时器TA外设 2、红外接收:定时器TA外设 3、光照检测:ADC外设 4、LCD&CAPTOUCH:SPI外设 5、温度,湿度,加速度,陀螺仪 ...…

查看全部问答>