51单片机驱动无源蜂鸣器
在学习过程中遇到如下例题:8个发光管由上至下间隔1s流动,其中每个管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。
流水灯的程序相对我个人来说比较简单,但是蜂鸣器有些难度,正常给I/0口一个信号,蜂鸣器既然不响,后经查证是无源蜂鸣器;
无源的蜂鸣器,就要通过IO口输出振荡信号来驱动蜂鸣器
蜂鸣器简介:蜂鸣器根据结构不同分为压电式蜂鸣器和电磁式蜂鸣器;而两种蜂鸣器又分为有源蜂鸣器和无源蜂鸣器,这里的源特指振荡源;有源蜂鸣器直接加电就可以响起,无源蜂鸣器需要我们给提供振荡源。理想的振荡源为一定频率的方波。
由于系统采用了无源蜂鸣器,所以需要我们通过编程来控制I/0口的翻转来产生一定频率的方波信号。本文采用默认频率0.5KHZ的标准方波。可以算出周期T = 2ms 脉宽t = 1ms,因此我们可以通过简单的延时函数延时1ms。然后控制P3.7口的电平高低产生0.5KHZ的方波信号;
本程序只是通过简单延时达到驱动蜂鸣器的效果。
#include <reg52.h>
sbit buzzer = P1^5;
void delayms(unsigned int xms) //延时函数 ,延时xms
{
unsigned int i , j;
for(i = 0; i < xms; i++)
for(j = 0; j < 110; j++);
}
void fengming() //蜂鸣函数,脉宽t = 1ms 周期T = 2ms 频率f = 0.5khz 实际发现延时1ms的时候效果最好
{
buzzer = 0; //给P1.5口送低电平
delayms(1); //延时1ms
buzzer = 1; //给P1.5口送高电平
delayms(1); //延时1ms
}
void main()
{
while(1)
{
fengming();
}
}
51单片机驱动无源蜂鸣器相关推荐
- 51单片机在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。
题目:在无源蜂鸣器上循环演奏低音"DO.RE.MI.FA.SO.LA.SI"这7个音调. 音调表: 编程思路: mian.c #include <reg52.h> #i ...
- 用51单片机驱动蜂鸣器
用51单片机驱动蜂鸣器 #include<reg51.h>//头文件 sbit BEEP=P1^5;//位定义P1的第五个端口为蜂鸣器 void delay() //延时函数 {unsig ...
- 51单片机蜂鸣器演奏《小苹果》C语言程序,51单片机C语言蜂鸣器发声生日快乐播放程序...
<51单片机C语言蜂鸣器发声生日快乐播放程序>由会员分享,可在线阅读,更多相关<51单片机C语言蜂鸣器发声生日快乐播放程序(4页珍藏版)>请在人人文库网上搜索. 1.按键发音/ ...
- c语言编程TLC2543AD采集,51单片机驱动12位AD转换TLC2543电路图+程序
51单片机驱动12位AD转换TLC2543电路图+程序 2015-06-18 16:51:15 来源:51hei void resultvolt() { volt=volt*5000.0/4334 ...
- 51单片机驱动——LCD1602
51单片机驱动--LCD1602 1.描述 51单片机控制LCD1602屏幕显示测量数据.固定字符串等,大家复制过去可以直接使用,相关注释我已标明. 2.子文件 LCD1602.c #include ...
- 51单片机驱动DS18B20温度传感器测量温度
51单片机驱动DS18B20温度传感器测量温度 1.DS18B20温度传感器介绍: 2.51单片机驱动DS18B20测量温度 1.DS18B20温度传感器介绍: ①引脚定义 引脚 符号 说明 1 GN ...
- 使用51单片机驱动YM12232B型液晶显示屏
这是一个使用51单片机驱动YM12232B 液晶显示器的例子,本人水平有限,仅供参考. 本实例中将使用51单片机控制YM12232B LCD分别在主窗口和副窗口中显示"科"和&qu ...
- 基于51单片机驱动A4988实现步进电机逆时针转动
基于51单片机驱动A4988实现步进电机逆时针转动 一.简介 二.接线 典型接线图 实际接线 三.部分代码 引脚定义 定时器初始化 主函数 四.实验现象 五.注意事项 一.简介 A4988 是一款完全 ...
- 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)
基于51单片机驱动HC-SR04超声波模块(LCD1602显示) 一.基本参数 二.通信时序 三.部分代码展示 四.实际效果 总结 一.基本参数 点击图片购买 HC- SR04+是一款宽电压工作的超声 ...
最新文章
- 使用jvisualvm远程监控tomcat(阿里云ECS)
- org.apache.hadoop.fs-ChecksumException
- 行人识别,无需Anchor | CVPR 2021
- 关于上拉电阻的使用总结
- 挑战马斯克的Neuralink,另一家神秘的「脑机接口」公司已获投资
- Cassandra 常见错误索引
- 构建根文件系统之启动第1个程序init
- python fact函数_第5天:Python 函数
- linux路由信息预览为空,route - 显示并设置Linux中静态路由表
- python123程序设计题答案第三周_Python 3 程序设计学习指导与习题解答
- 2013年成都现场赛赛后总结
- 开关电源环路的零极点可以在反馈端补偿吗_单片开关电源原理及应用
- bp神经网络训练流程图,bp神经网络训练样本
- android常用单词,Android的英语单词记忆软件系统
- SpringBoot+Hibernate配置
- 高等数学——常用结论(3)
- Python爬取京东商品评论
- 英语自我介绍资料及范文
- 华为鸿蒙系统怎么安装软件,华为鸿蒙系统2.0怎么进行安装?鸿蒙系统2.0安装步骤一览...
- 【学点Linux】U盘安装Linux系统
热门文章
- 如何更新npm和nodejs到最新版本?
- 安卓手机的adb命令
- windows之wps卸载不干净解决
- 【pytorch】model.train()和model.evel()的用法
- 风投 红杉资本 Sequoia Capital
- DailyFi - 9.23|Dapper Labs 完成2.5亿美元融资,Vera 在 Polkastarter 上启动IDO
- 软件测试面试前必备题库(必备理论基础复习)
- VBA将ppt保存为html,ppt2013怎样保存为网页的方法
- 第2章 关系数据库(数据库系统概论)
- java 姓名_java 随机生成中文姓名人名