
8051单片机(STC89C52)之蜂鸣器发声
发布日期:2021-05-08 01:18:25
浏览次数:13
分类:精选文章
本文共 489 字,大约阅读时间需要 1 分钟。
通过语句"sbit beep = P1 ^ 5"来指明蜂鸣器的驱动口: 当beep = 0时, 蜂鸣器不发生; 当beep = 1时, 蜂鸣器发声. 另外可通过改变驱动口电平翻转的时间来获得不同声调的声音, 还可通过改变高低电平在一个周期内的比例来获取不同音量的声音.
源代码:
#includeint 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;}
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月28日 16时27分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java基础--继承
2021-05-08
java基础--java内部类
2021-05-08
fastjson 反序列化源码解析
2021-05-08
按位与、或、非、异或总结
2021-05-08
TCP心跳检测包
2021-05-08
01 背包问题
2021-05-08
JVM - 参数配置影响线程数
2021-05-08
idea如何导入一个maven项目
2021-05-08
在 springboot 项目中全局处理异常
2021-05-08
ILI9341几个重要的命令
2021-05-08
AD如何对原理图进行注释
2021-05-08
NC15136: 迷宫
2021-05-08
动态点击a标签
2021-05-08
oracle创建序列语法
2021-05-08
springboot通过控制层跳转页面404
2021-05-08
idea2020 没有 tomcat server
2021-05-08
jq动态修改元素的onclick属性的值
2021-05-08
为什么讨厌所谓仿生AI的说法
2021-05-08
ORACLE 客户端工具
2021-05-08