基于STM8S003的无源蜂鸣器播放音乐

来源:互联网 发布:ip地址修改软件 编辑:程序博客网 时间:2024/04/18 21:03

功能描述:用于AGV上发出不同的提示音和音乐,公司项目。
功能实现主要的内容:
硬件上:
关于蜂鸣器电路:
1、了解无源蜂鸣器和有源蜂鸣器的区别,此处源指的是震荡源。
2、常见的蜂鸣器有两种:压电式和电磁式。主要是指声音产生方式不同,压电式声音清脆符合要求。
3、关于电路的详细介绍看这个:http://www.firebbs.cn/thread-9823-1-1.html

硬件上的问题:主要是声音不够响。
有以下几个原因:
1、蜂鸣器本身的大小及性能不能满足要求。
2、电路问题:
(1)在蜂鸣器两端并上2K电阻:具体的电路看这里:http://www.dzsc.com/dzbbs/20061218/20076521345193573.html
(2)增加蜂鸣器两端的电压,声音明显增大,可以利用三脚电感升压。关于三脚电感看这里 :http://bbs.21ic.com/icview-645024-1-1.html
关于单片机:STM8S003
1、利用IO PB5口作为通信口,PB5口可复用为IIC总线,在输出时,只能开漏。

软件:
底层硬件配置方面需要注意两点:
1、STM8的资源:
Flash: 8 Kbytes ;
RAM: 1 Kbytes;
Data memory: 128 bytes of true data EEPROM;

声明较大的地址空间会报错。
2、注意库函数版本中STM8.s可能没有包含S003的芯片,导致终端地址分配不对,进不去中断。
应用层:
播放音乐的实现是通过 无源蜂鸣器震动不同的频率震动不同的时间
播放音乐的实现则需要解决两个问题:1、产生可设定频率的PWM波,2、可设定时间。
因此:由定时器2生成PWM波,由定时器1实现定时。
3、根据既定的协议,然后选择不同的声音。

声明:着重记录自己在项目过程中遇到的问题。

原创粉丝点击