历史上的今天
返回首页

历史上的今天

今天是:2024年09月02日(星期一)

正在发生

2020年09月02日 | STM8L101 TIM2 PWM1模式 使用

2020-09-02 来源:eefocus

使用STM8L101F3P6

驱动蜂鸣器:滴滴 两下,然后关闭3s. 关键程序如下:

void main(void)

{

 GPIO_Init(BUZZER_GPIO_PORT,BUZZER_GPIO_PINS,GPIO_Mode_Out_PP_Low_Slow);//PB2 TIM2_CH2

 CLK_PeripheralClockConfig (CLK_Peripheral_TIM2,ENABLE); //使能外设时钟,STM8L外设时钟默认关闭,使用前需使能
    TIM2_DeInit();
    //TIM2_TimeBaseInit(TIM2_Prescaler_128, 0xff);//16M/8/128=15.625K,0xff=255,255*(1/15.625)=0.01632S,大约61次中断是1S
    TIM2_TimeBaseInit(TIM2_Prescaler_1,TIM2_CounterMode_Up,999);//16M/8/1=2M,0xff=255,255*(1/15.625)=0.01632S,大约61次中断是1S 2KHz
    TIM2_OC2Init(TIM2_OCMode_PWM1,
                  TIM2_OutputState_Enable,
                  500,
                  TIM2_OCPolarity_High,
                  TIM2_OCIdleState_Set);
    TIM2_OC2PreloadConfig(ENABLE);

}

void music (void)
{
   TIM2_CtrlPWMOutputs(ENABLE);
   Delayms(100);
   TIM2_CtrlPWMOutputs(DISABLE);
   Delayms(100);
   TIM2_CtrlPWMOutputs(ENABLE);
   Delayms(100);
   TIM2_CtrlPWMOutputs(DISABLE);
   DelayS(3);
}

//延时微妙
void Delayus(void)
{
  asm("nop");
 // asm("nop");
 // asm("nop");
 // asm("nop");
}
//延时毫秒
void Delayms(unsigned int time)
{
  unsigned int i;
  while(time--){
   // for(i=900;i>0;i--)
    for(i=100;i>0;i--)
    {
      Delayus();
          
    }
  }
}
//秒延时
void DelayS(unsigned int time)
{
  while(time--)
  {
    Delayms(1000);
  }
}


推荐阅读

史海拾趣

Cadeka公司的发展小趣事

在竞争激烈的电子行业中,Cadeka公司为了增强自身实力,积极寻求并购与整合的机会。公司先后收购了几家具有技术优势和市场份额的小型电子企业,通过整合资源和技术,实现了优势互补和协同效应。这些并购不仅提升了Cadeka公司的技术实力和市场地位,还为公司带来了更多的发展机遇。

General Instrument Corp公司的发展小趣事
验证输入信号是否在变换器的允许范围内,避免超出其最大或最小输入电压。
Cotco公司的发展小趣事

面对电子行业日新月异的变化和不断涌现的新挑战,Cotco公司始终保持敏锐的市场触觉和应变能力。公司及时调整战略方向,加大在新兴领域如物联网、智能家居等的投入和研发力度。同时,Cotco也积极拓展国际市场,与全球多个国家和地区的合作伙伴建立合作关系,推动产品的全球化销售和服务。展望未来,Cotco将继续秉承创新、质量和服务的理念,致力于成为全球电子行业的佼佼者。

DMEL Inc公司的发展小趣事

在技术创新的基础上,DMEL Inc开始积极拓展市场。公司首先瞄准了欧美等发达国家市场,通过参加国际展会、建立海外销售网络等方式,成功打开了国际市场的大门。同时,DMEL Inc也关注国内市场的变化,不断调整产品策略,满足国内消费者的需求。随着市场份额的逐步扩大,DMEL Inc的知名度也不断提升。

AW Industries Inc公司的发展小趣事

AW Industries Inc成立之初,正值电子行业的快速发展期。公司创始人凭借对市场的敏锐洞察,决定专注于生产高精度电子元件。然而,初创期的资金短缺和技术难题成为公司发展的两大障碍。创始人通过多方筹资,成功引入了第一批投资,并聘请了一支技术团队进行研发。在团队的不懈努力下,公司成功推出了首款产品,并迅速获得了市场的认可。

赛微(Cellwise)公司的发展小趣事

作为一家有着高度社会责任感的企业,赛微始终关注社会发展和环境保护。公司积极参与公益事业和慈善活动,为社会做出积极贡献。同时,公司还注重环境保护和资源节约,通过引进先进的生产设备和工艺技术,降低生产过程中的能耗和排放,实现绿色生产和可持续发展。

请注意,以上故事框架仅为概述,具体细节和数据可能需要根据实际情况进行调整和完善。

问答坊 | AI 解惑

分享国产3G频谱分析仪AV4062技术参数!

AV4061/4062型频谱分析仪是一款高性能、经济型的射频信号分析仪。仪器采用了全频段数字扫描锁相本地振荡器和数字检波技术,以及6.4\"高亮度TFT LCD显示器,具有准确的频率、幅度测量精度和灵活的多功能扩展能力。可广泛应用于数字移动通信、CATV测 ...…

查看全部问答>

mini2440的按键控制LED小程序~~~

看到坛子里很多人拿到板子后不知道第一步该如何做, 在网上看到一个朋友的博客,感觉还不错,对于购买板子的朋友应该有所帮助,所以呈现出来: 来源:http://adreaman.com/0524arm-mini2440-led-key-non-os.html mini2440是当前最经济的arm9开 ...…

查看全部问答>

Stellaris系列资料汇总(欲打造最强帖哦)

Keil uv3快速入门 demo https://bbs.eeworld.com.cn/thread-98020-1-1.html…

查看全部问答>

请教51多任务操作系统

我最近在网上找到这么个简单的基于51单片机的多任务操作系统,但是我不知道其中task-swith和task-load这两个函数是怎么切换任务的,用堆栈管理实现任务的切换,请高手帮我解释下,谢谢 我主要想知道51单片机怎样去识别任务切换 程序 /* ...…

查看全部问答>

获取电机转数

我设计的系统是这样的啊,T0扩展为一个外中断,T2工作在定时器方式下,TH2,TL2初值为0,当T0接收到第一个外断信号时,T2开始工作,当下个信号到来后停止工作,得到TH2和TL2的值啊,然后再这个值转化为是时间得到电机转一周的时间.这样行的通吗? 下一步对电 ...…

查看全部问答>

求wince5.0书籍

麻烦大家介绍几本wince5.0的开发书籍,最好是直接针对5.0的,谢谢~~…

查看全部问答>

运行时关闭UPLL的问题

系统:s3c2440a +wince5 想在系统运行时,关闭UPLL,不产生48Mhz,在需要时再打开UPLL 查看s3c2440a的datasheet,上写控制CLKSLOW寄存器的UCLK_ON即可 CLKSLOW[7] --> UCLK_ON --> = 0 UCLK_ON (UPLL turn on)         ...…

查看全部问答>

(重分答谢)AT 命令 STATE: IP IND(连线失败,接受场景配置)

我再WinCE5.0上用GPRS上网发信息到服务器上: AT+CREG? // check if registration network in 2 seconds interval +CREG: 0,1 // module responses AT+CGATT? // check if attach PDU for 2 seconds interval +CGATT: 1 // module response ...…

查看全部问答>

如何知道一个WinCE SDK裁剪了哪些内容?

我现在手上有一个针对某个设备的 WinCE5.0 SDK包。 如何知道其在原版WinCE上做了哪些裁剪? 相关目录如下: [Atl] [Help]                   [Include]     & ...…

查看全部问答>

关于wince上的中文输入法

如果想在wince中自己开发一个中文输入法,要是用EVC的话,应该如果建立拼音和汉字字库的检索? 有没有相关的API函数? 要是想开发一个手写中文输入软件呢?都需要怎么去开发?…

查看全部问答>