在学习过程中遇到如下例题: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单片机驱动无源蜂鸣器相关推荐

  1. 51单片机在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。

    题目:在无源蜂鸣器上循环演奏低音"DO.RE.MI.FA.SO.LA.SI"这7个音调. 音调表: 编程思路: mian.c #include <reg52.h> #i ...

  2. 用51单片机驱动蜂鸣器

    用51单片机驱动蜂鸣器 #include<reg51.h>//头文件 sbit BEEP=P1^5;//位定义P1的第五个端口为蜂鸣器 void delay() //延时函数 {unsig ...

  3. 51单片机蜂鸣器演奏《小苹果》C语言程序,51单片机C语言蜂鸣器发声生日快乐播放程序...

    <51单片机C语言蜂鸣器发声生日快乐播放程序>由会员分享,可在线阅读,更多相关<51单片机C语言蜂鸣器发声生日快乐播放程序(4页珍藏版)>请在人人文库网上搜索. 1.按键发音/ ...

  4. c语言编程TLC2543AD采集,51单片机驱动12位AD转换TLC2543电路图+程序

    51单片机驱动12位AD转换TLC2543电路图+程序 2015-06-18 16:51:15   来源:51hei void resultvolt() { volt=volt*5000.0/4334 ...

  5. 51单片机驱动——LCD1602

    51单片机驱动--LCD1602 1.描述 51单片机控制LCD1602屏幕显示测量数据.固定字符串等,大家复制过去可以直接使用,相关注释我已标明. 2.子文件 LCD1602.c #include ...

  6. 51单片机驱动DS18B20温度传感器测量温度

    51单片机驱动DS18B20温度传感器测量温度 1.DS18B20温度传感器介绍: 2.51单片机驱动DS18B20测量温度 1.DS18B20温度传感器介绍: ①引脚定义 引脚 符号 说明 1 GN ...

  7. 使用51单片机驱动YM12232B型液晶显示屏

    这是一个使用51单片机驱动YM12232B 液晶显示器的例子,本人水平有限,仅供参考. 本实例中将使用51单片机控制YM12232B LCD分别在主窗口和副窗口中显示"科"和&qu ...

  8. 基于51单片机驱动A4988实现步进电机逆时针转动

    基于51单片机驱动A4988实现步进电机逆时针转动 一.简介 二.接线 典型接线图 实际接线 三.部分代码 引脚定义 定时器初始化 主函数 四.实验现象 五.注意事项 一.简介 A4988 是一款完全 ...

  9. 基于51单片机驱动HC-SR04超声波模块(LCD1602显示)

    基于51单片机驱动HC-SR04超声波模块(LCD1602显示) 一.基本参数 二.通信时序 三.部分代码展示 四.实际效果 总结 一.基本参数 点击图片购买 HC- SR04+是一款宽电压工作的超声 ...

最新文章

  1. 使用jvisualvm远程监控tomcat(阿里云ECS)
  2. org.apache.hadoop.fs-ChecksumException
  3. 行人识别,无需Anchor | CVPR 2021
  4. 关于上拉电阻的使用总结
  5. 挑战马斯克的Neuralink,另一家神秘的「脑机接口」公司已获投资
  6. Cassandra 常见错误索引
  7. 构建根文件系统之启动第1个程序init
  8. python fact函数_第5天:Python 函数
  9. linux路由信息预览为空,route - 显示并设置Linux中静态路由表
  10. python123程序设计题答案第三周_Python 3 程序设计学习指导与习题解答
  11. 2013年成都现场赛赛后总结
  12. 开关电源环路的零极点可以在反馈端补偿吗_单片开关电源原理及应用
  13. bp神经网络训练流程图,bp神经网络训练样本
  14. android常用单词,Android的英语单词记忆软件系统
  15. SpringBoot+Hibernate配置
  16. 高等数学——常用结论(3)
  17. Python爬取京东商品评论
  18. 英语自我介绍资料及范文
  19. 华为鸿蒙系统怎么安装软件,华为鸿蒙系统2.0怎么进行安装?鸿蒙系统2.0安装步骤一览...
  20. 【学点Linux】U盘安装Linux系统

热门文章

  1. 如何更新npm和nodejs到最新版本?
  2. 安卓手机的adb命令
  3. windows之wps卸载不干净解决
  4. 【pytorch】model.train()和model.evel()的用法
  5. 风投 红杉资本 Sequoia Capital
  6. DailyFi - 9.23|Dapper Labs 完成2.5亿美元融资,Vera 在 Polkastarter 上启动IDO
  7. 软件测试面试前必备题库(必备理论基础复习)
  8. VBA将ppt保存为html,ppt2013怎样保存为网页的方法
  9. 第2章 关系数据库(数据库系统概论)
  10. java 姓名_java 随机生成中文姓名人名