历史上的今天
今天是:2025年02月19日(星期三)
2020年02月19日 | STM8 开发故事--之蜂鸣器 BEEP设计坑爹的引脚(一)
2020-02-19 来源:eefocus
为什么选stm?
最近才又开始搞stm8开发。虽然以前从来没用过stm的产品,但是stm在嵌入界鼎鼎大名可是早有耳闻。据某IC供应商提供的数据当今(2019年)56%的MCU都是stm的。要说为什么这么火,最直接的原因:便宜而且功能强大。淘宝上stm8s的最小系统板才1块多RMB。
因为要要开发的产品要用液晶显示数字,而且是用电池供电。所以选择了stm8L052c6t6。有朋友推荐我用华大的HC32L136。本想支持国行的,但是供应商不跟进就涮了,还有一个原因又怕资料太少,还是暂时放弃了。我以前做过51的项目,同样的51atmel的质量就好过华邦,华邦掉程序的概率要高很多。这也是我选stm的原因。于是在tb买了一块带液晶显示的stm8l152c6t6的评估板。就开干了。所有元器件都来至淘宝。由于公司小,我也不爱吹牛,有几十百八万的产量。供应商都不爱送样。即便送样也要我支付邮费。东莞某蜂鸣器厂送2个蜂鸣器我付了18元的邮费。关键送的元件还不是我申请的型号。后来又寄了一次来,邮费到付。我直接拒收了。最后在万能的淘宝买齐元件。
下图就是我用的蜂鸣器。
为什么选stm?
最近才又开始搞stm8开发。虽然以前从来没用过stm的产品,但是stm在嵌入界鼎鼎大名可是早有耳闻。据某IC供应商提供的数据当今(2019年)56%的MCU都是stm的。要说为什么这么火,最直接的原因:便宜而且功能强大。淘宝上stm8s的最小系统板才1块多RMB。
因为要要开发的产品要用液晶显示数字,而且是用电池供电。所以选择了stm8L052c6t6。有朋友推荐我用华大的HC32L136。本想支持国行的,但是供应商不跟进就涮了,还有一个原因又怕资料太少,还是暂时放弃了。我以前做过51的项目,同样的51atmel的质量就好过华邦,华邦掉程序的概率要高很多。这也是我选stm的原因。于是在tb买了一块带液晶显示的stm8l152c6t6的评估板。就开干了。所有元器件都来至淘宝。由于公司小,我也不爱吹牛,有几十百八万的产量。供应商都不爱送样。即便送样也要我支付邮费。东莞某蜂鸣器厂送2个蜂鸣器我付了18元的邮费。关键送的元件还不是我申请的型号。后来又寄了一次来,邮费到付。我直接拒收了。最后在万能的淘宝买齐元件。
下图就是我用的蜂鸣器。


下图是送样的贴片蜂鸣器。不是我要的,也没做测试。

现在继续谈蜂鸣器的设计。蜂鸣器分有源和无源2种。由于stm8l152本身带有一个beep引脚。所以我选无源的。但是152这设计坑爹呀。beep和编程用的swim同一个引脚。我选用的是无源蜂鸣器直接接电源和单片机,引脚见下图。

但是接入蜂鸣器后,蜂鸣器拉高了swim的电位,造成无法编程和下载。编程时需要断开蜂鸣器,编程完成后再断开swim,接通蜂鸣器就可以工作了。我在TB上买了2个阻抗的蜂鸣器,12欧和42欧的。42欧的比12欧的声音更大一些。beep引脚可以按1K,2K,4Khz输出方波。通过测试42欧的蜂鸣器在2khz时声音最大。下面是代码。
void BeepInit()
{
CLK_PeripheralClockConfig(CLK_Peripheral_BEEP,ENABLE);//打开时钟
CLK_BEEPClockConfig(CLK_BEEPCLKSource_LSI);//选择内部时钟
BEEP_Init(BEEP_Frequency_2KHz);//设定beep输出频率2khz
BEEP_Cmd(ENABLE);//蜂鸣器打开
// BEEP_Cmd(DISABLE);//蜂鸣器关闭
}
void main( void )
{
BeepInit();
BEEP_Cmd(ENABLE);//蜂鸣器打开
while(1 ){}
}
这种设计很恼火:下载程序必须断开蜂鸣器,下载完了再接上。开发时候就够麻烦了。如果量产也多这2道工序,那不给老板骂死。设计必须改。要知道怎么解决,请听下回分解。
未完待续。。。。。
史海拾趣
|
一、 闭路电视监控系统简介: CCTV系统结构: 电视监控系统(Closed Circuit Television,简称CCTV),一般由以下三部分组成: 前端部分: 主要由黑白(彩色)摄像机、镜头、云台、防护罩、支架等组成。 传输部分: ...… 查看全部问答> |
|
设计指南 功率驱动集成电路中自举元件的选择 1. 自举电路工作原理 Vbs(驱动电路Vb 和Vs 管脚之间的电压差)给集成电路高端驱动电路提供电源。该电源电压必须在10-20V之间,以确保驱动集成电路能够完全地驱动MOS栅极器件(MGT)。IR公司的部分驱动集 ...… 查看全部问答> |
|
开机密码时startui.cpp加了ipShowIM(SIPF_ON)软键盘为什么还不出来? Startup_DlgProc() { switch (message) { case WM_INITDIALOG:   ...… 查看全部问答> |
|
每次仿真查看报告时出现the\"simulation waveform\" section could not be opened,求达人解答!!!… 查看全部问答> |
|
DVI/DHMI光端机,由发送和接收两部分组成. 发送端,4路DVI信号输入,通过DVI reciver把TMDS信号变成TTL信号,在FPGA中完成信号的复合,再把数据进行光调制. 接收端,收到的光信号按照协议分成多路DVI信号,分别通过DVI translater送出去.… 查看全部问答> |




