51单片机的蜂鸣器
DS1302我一直有问题搁置了几百天了 先来看看蜂鸣器
搞了一个礼拜verilog然后出去吃饭 估计自己得有10多天没看c语言和51单片机了 现在先处理一下蜂鸣器的问题
蜂鸣器
蜂鸣器分为有源蜂鸣器和无源蜂鸣器
有源内部自带震荡源,将正负极接上直流电压及可持续发声,频率固定
无源蜂鸣器:内部不带振荡源,需要控制器提供震荡脉冲才可以发声,调整提供震荡脉冲的频率,可以发出不同频率的声音
对于驱动电路而言 就分为三极管驱动
还有集成电路驱动
一个是NPN 另一个是PNP
三极管开关我们之前学过
在基级给一个1 就相对来说是导通了 因为我们学的是数电 并且已经写成了计算机语言 那么写入的最好来说是1和0
并且我们可以看到上面有一个VCC 其实真正的调整驱动就是通过这个Vcc给予的
PNP是类似的结构
还有一种就是我们
现在我们来看的是蜂鸣器
这个有两端Vcc和BZ
BZ接到了五线四相步进电机 的BZ端口
主要用于各种驱动器
这样的两个晶体管的复合形式
51单片机的电平就是TTLoutput
写到这里会想一个问题 就是这个ULN2003明明是步进电机的东西 和我这个蜂鸣器有什么关系 其实是有一定的关系的
因为步进电机只需要四路但是它连接的时候我们可以很明显的看出他是多出了好几个输出 我们直接把蜂鸣器接在了步进电机的多出来的地方
另外无源蜂鸣器并不能一直通电,因为内部有个线圈 一直通电会烧坏 这个单片机设计的很不合理 我们需要在自己的设计时候考虑到这个问题
关于曲谱的东西 我是五音不全 不太懂😂
我们根据频率创建一个周期 就可以控制
先创建一个表格
我们通常会把低音6作为基准音
上面的就是440/2^(1/12)
下面的就是4402^(1/12)
周期就是1/频率1000000 单位 微秒
1个机器周期是12个晶振周期
但是有一个问题我拿到的开发板 是11.0592MHZ的晶振并不是标准的12
虽然我的晶振不是12M 但是我决定写成12方便计算 以后再自己尝试时 修改成11.0592M
重装载值 面对12M的情况下就用65536-对半的周期取整数
附上填写好的excel关于音符的一些信息
我不会用markdown编辑模板 sorry
音符 频率hz 计算 周期 微秒 周期/2 取整 重装载值
1 262 261.6255653 3816.793893 1908.396947 1908 63628
1# 277 277.182631 3610.108303 1805.054152 1805 63731
2 294 293.6647679 3401.360544 1700.680272 1701 63835
2# 311 311.1269837 3215.434084 1607.717042 1608 63928
3 330 329.6275569 3030.30303 1515.151515 1515 64021
4 349 349.2282314 2865.329513 1432.664756 1433 64103
4# 370 369.9944227 2702.702703 1351.351351 1351 64185
5 392 391.995436 2551.020408 1275.510204 1276 64260
5# 415 415.3046976 2409.638554 1204.819277 1205 64331
6 440 440 2272.727273 1136.363636 1136 64400
6# 466 466.1637615 2145.922747 1072.961373 1073 64463
7 494 493.8833013 2024.291498 1012.145749 1012 64524
1 523 523.2511306 1912.045889 956.0229446 956 64580
1# 554 554.365262 1805.054152 902.5270758 903 64633
2 587 587.3295358 1703.577513 851.7887564 852 64684
2# 622 622.2539674 1607.717042 803.8585209 804 64732
3 659 659.2551138 1517.450683 758.7253414 759 64777
4 698 698.4564629 1432.664756 716.3323782 716 64820
4# 740 739.9888454 1351.351351 675.6756757 676 64860
5 784 783.990872 1275.510204 637.755102 638 64898
5# 831 830.6093952 1203.369434 601.6847172 602 64934
6 880 880 1136.363636 568.1818182 568 64968
6# 932 932.327523 1072.961373 536.4806867 536 65000
7 988 987.7666025 1012.145749 506.0728745 506 65030
1 1046 1046.502261 956.0229446 478.0114723 478 65058
1# 1109 1108.730524 901.7132552 450.8566276 451 65085
2 1175 1174.659072 851.0638298 425.5319149 426 65110
2# 1245 1244.507935 803.2128514 401.6064257 402 65134
3 1318 1318.510228 758.7253414 379.3626707 379 65157
4 1397 1396.912926 715.8196135 357.9098067 358 65178
4# 1480 1479.977691 675.6756757 337.8378378 338 65198
5 1568 1567.981744 637.755102 318.877551 319 65217
5# 1661 1661.21879 602.0469597 301.0234798 301 65235
6 1760 1760 568.1818182 284.0909091 284 65252
6# 1865 1864.655046 536.1930295 268.0965147 268 65268
7 1976 1975.533205 506.0728745 253.0364372 253 65283