历史上的今天
今天是:2025年08月05日(星期二)
2021年08月05日 | 8051单片机(STC89C52)之蜂鸣器发声
2021-08-05 来源:eefocus
通过语句"sbit beep = P1 ^ 5"来指明蜂鸣器的驱动口: 当beep = 0时, 蜂鸣器不发生; 当beep = 1时, 蜂鸣器发声. 另外可通过改变驱动口电平翻转的时间来获得不同声调的声音, 还可通过改变高低电平在一个周期内的比例来获取不同音量的声音.
源代码:
#include int tcount = 0; sbit beep = P1 ^ 5;// P1 xor 0000 0101 void TO_EXT() interrupt 1//50ms触发一次 { TR0 = 0; TH0 = 0xC3;//65536 - 50000 = 15536 = C350H TL0 = 0x50; if(++ tcount == 10)//0.5s 执行一次 { tcount = 0; beep = ~ beep; } TR0 = 1; } int main() { TMOD = 0x01; IE = 0x82; TH0 = 0xC3; TL0 = 0x50; TR0 = 1; beep = 1; while(1) { ; } return 0; }
下一篇:8051外部中断1解析
史海拾趣
|
系统设计原则 在控制系统的时候, 首先是根据系统的性能指标和功能要求决定系统的结构形式、划分软硬件的分工、确定具体电路形式及元器件选型等设计工作, 系统的设计方案在很大程度上也就决定了系统的可靠性。在系统方案设计时应遵循 ...… 查看全部问答> |
|
我是论坛新人,借此机会和大家交个朋友。拿个软件共享以表诚意。 /*每次DDS时,都要编程算表,前几天心血来潮,编了个小软件,制表就简单了,适合n位DA的输出*/… 查看全部问答> |
|
我们做的灯都是蓝色死珠的多,红色和绿色坏的很少,相对蓝色来说可以忽略。红绿蓝都是非隔离方案做的,到底是灯珠的问题还是驱动的问题呢? 论坛上看到以上一句话以你的专业知识和经验能否解释下你知道的;为什么蓝色的死猪就多呢;… 查看全部问答> |
|
我现在通过BIB和REG文件将自定义的SHELL程序加载到系统中,系统启动后是先启动标准的SHELL界面,然后启动我自定义的SHELL,但是我想去掉标准的SHELL界面,让系统直接加载我自定义的SHELL程序,我试着去直接删除标准的SHELL但是系统不允许,请问我该怎么做 ...… 查看全部问答> |
|
各位, arm 系列的芯片哪些能支持触摸屏?cortex a8太贵了。 我知道ARM cortex M3可以,ARM 9可以?那M3系列的LM3S800,LM3s9B92可以吗? 我想找一款低档的芯片,能支持触摸屏就可以? 谢谢,我对ARM不太懂。… 查看全部问答> |
|
看到STM32有两种调试口,SWD,JTAG,应该选择那种比较好呢,另外ULINK2连接是使用的什么接口,还有一个问题是听说最近有 ...… 查看全部问答> |
|
开关电源的干扰一般分为两大类:一是开关电源内部元器件形成的干扰;二是由于外界因素影响而使开关电源产生的干扰。两者都涉及到人为因素和自然因素。 1.1 开关电源内部干扰 开关电源产 ...… 查看全部问答> |




