8051单片机(STC89C52)之蜂鸣器发声
发布日期:2021-05-08 01:18:25 浏览次数:13 分类:精选文章

本文共 489 字,大约阅读时间需要 1 分钟。

       通过语句"sbit beep = P1 ^ 5"来指明蜂鸣器的驱动口: 当beep = 0时, 蜂鸣器不发生; 当beep = 1时, 蜂鸣器发声. 另外可通过改变驱动口电平翻转的时间来获得不同声调的声音, 还可通过改变高低电平在一个周期内的比例来获取不同音量的声音.

源代码:

#include 
int tcount = 0;sbit beep = P1 ^ 5;// P1 xor 0000 0101void 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单片机(STC89C52)之改变蜂鸣器发声频率
下一篇:基于8051实现的倒计时器(最后3s闪烁)

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月28日 16时27分25秒