各位大神好,一直对蜂鸣器唱歌很感兴趣,前几天在我们这个论坛发现了一个关于蜂鸣器唱歌的程序,程序如下:

/************************************************

跳线设置:

1.蜂鸣器和继电器 共用p2.2 ,跳线J5设置到23端选中蜂鸣器

2.J7拔掉,双排针除PSEN外全部插上

效果:

1,生日快乐歌曲

相关知识点:

1,利用单片机的定时器精准定时

************************************************/

#include"AT89x52.h"

#define uchar unsigned char

#define uint unsigned int

sbit P22=P2^2;

uchar i,j,time1,time2;

uint code array1[]={

400,400,650,650,650,1200,

400,400,650,650,650,1200,

400,400,650,650,650,650,1200,

400,400,650,650,650,1200

};

uchar code array[]={

0xfd,0x79,0xfd,0x79,0xfd,0xc7,0xfd,0x79,0xfe,0x21,0xfe,0x05,

0xfd,0x79,0xfd,0x79,0xfd,0xc7,0xfd,0x79,0xfe,0x51,0xfe,0x21,

0xfd,0x79,0xfd,0x79,0xfe,0xc0,0xfe,0x84,0xfe,0x21,0xfe,0x05,0xfd,0xc7,

0xfe,0x99,0xfe,0x99,0xfe,0x90,0xfe,0x21,0xfe,0x51,0xfe,0x21

};

void delay(uint m)

{

uint n;

for(;m>0;m--)

for(n=125;n>0;n--);

}

void main()

{

TMOD=0x01;

TH0=0;

TL0=0;

EA=1;

ET0=1;

TR0=1;

while(1)

{

time1=array[i++];

time2=array[i++];

if(i==50)

i=0;

delay(array1[j++]);

if(j==25)

j=0;

}

}

void init() interrupt 1

{

TR0=0;

P22=~P22;

TH0=time1;

TL0=time2;

TR0=1;

}

但是,我不太理解这程序的思路,求各位前辈高人帮我解释下,我对蜂鸣器唱歌的理解是在一段时间里面,输出不同频率的方波给蜂鸣器引脚,不知道这样对不对,另外从程序上怎么体现出来,希望高手可以帮我把这程序讲解下,最好是每行都注释一下,我是新手,谢谢你的解惑和不吝赐教!谢谢!

树莓派蜂鸣器唱歌c语言,关于蜂鸣器唱歌程序相关推荐

  1. 单片机 89c52rc C语言设计 蜂鸣器变频 实现音乐播放

    单片机 89c52rc C语言设计 蜂鸣器变频 最近在制作一个单片机音乐播放器,遂查询网上的实例,但发现都不是特别全面.所以在自研了一段时间后的出实例,发表此文用以记录,以防忘记.诸位也可拿去参见.若 ...

  2. 有源蜂鸣器和无源蜂鸣器的区别_电磁式蜂鸣器和压电式蜂鸣器的区别以及驱动方法...

    蜂鸣器是设计电子产品时比较常用的发声元器件,根据工作原理的不同,可以分为电磁式蜂鸣器和压电式蜂鸣器.在开发板.实验板上常用的蜂鸣器为电磁式蜂鸣器.这两者最大的区别在于工作原理.下面详细介绍其工作原理. ...

  3. 单片机项目:8个发光二极管从上至下间隔一秒流动,其中每个管亮500ms,500ms,亮时蜂鸣器响,灭时蜂鸣器关闭,一直重复下去

    单片机代码分享 8个发光二极管从上至下间隔一秒流动,其中每个管亮500ms,500ms,亮时蜂鸣器响,灭时蜂鸣器关闭,一直重复下去 #include<reg52.h> #include&l ...

  4. python蜂鸣器占空比调节音量_蜂鸣器音量的控制方法和控制系统的制作方法

    蜂鸣器音量的控制方法和控制系统的制作方法 [技术领域] [0001]本发明属于控制领域,尤其涉及一种家电蜂鸣器音量的控制方法和控制系统. [背景技术] [0002]目前多数家电产品的蜂呜器都是单一的通 ...

  5. c语言大学程序设计题库,黑龙江大学C语言程序设计试题库程序单选

    <黑龙江大学C语言程序设计试题库程序单选>由会员分享,可在线阅读,更多相关<黑龙江大学C语言程序设计试题库程序单选(5页珍藏版)>请在人人文库网上搜索. 1.黑龙江大学C语言程 ...

  6. mapreduce编程实例python-使用Python语言写Hadoop MapReduce程序

    原标题:使用Python语言写Hadoop MapReduce程序 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 在本教程中,我将描述如何使用Pytho ...

  7. Apache Spark学习:利用Scala语言开发Spark应用程序

    Spark内核是由Scala语言开发的,因此使用Scala语言开发Spark应用程序是自然而然的事情.如果你对Scala语言还不太熟悉,可以阅读网络教程 A Scala Tutorial for Ja ...

  8. 用C语言用指针怎么算通用定积分,C语言:利用指针编写程序,用梯形法计算给定的定积分实例...

    题目要求 利用指针编写程序,用梯形法计算下列公式中的定积分: 参考代码 首先说明一下指针的用处:因为所传递的参数均为数字,并不需要使用指针提高效率,故这里使用指针指向函数. 请注意calc()函数中的 ...

  9. c程序语言设计练习题,C语言程序设计练习题(含程序及参考答案)

    <C语言程序设计练习题(含程序及参考答案)>由会员分享,可在线阅读,更多相关<C语言程序设计练习题(含程序及参考答案)(47页珍藏版)>请在人人文库网上搜索. 1.1.定义一个 ...

  10. c语言修仙受控可看吗,强推三本神奇到爆的小说,c语言修仙,程序员与修真会擦出什么火花...

    大家好,我是小龙.今天我给大家推荐三本神奇到爆的小说,c语言修仙,程序员与修真会擦出什么火花! 一<c语言修仙>[一十四洲] [简介]: 林浔是一个程序员,通宵编代码后发现自己身体内多了一 ...

最新文章

  1. 接口性能测试实战小结
  2. F - Tickets (预处理)
  3. dubbo中对服务多版本的支持
  4. Python 中操作 MySQL 步骤
  5. IE9 Platform Preview 3昨天发布
  6. 俺也试着搞了一个vue组件库
  7. a - 数据结构实验之串一:kmp简单应用_Java程序员必会之数据结构与算法全梳理
  8. 同时安装vs2005团队开发版和sql 2005企业版
  9. Windows 各版本默认自带IE版本
  10. java web课程设计目的_javaweb课程设计
  11. 单层感知器python_深度学习之单层感知器(一)
  12. java毕业设计产品销售管理系统Mybatis+系统+数据库+调试部署
  13. iOS自动化测试需求实现(iOS按键精灵类似)
  14. Chrome插件安装以及常见问题
  15. (连载)Android 8.0 : 系统启动流程之Linux内核
  16. 每天劝你辞职的同事,反而是公司待最久的
  17. candidate master_已毕业研究生
  18. Python MyQR 生成不一样的二维码
  19. lock与unlock用法(简单易懂)
  20. Python分类检测问题的常用指标 - TPR TNR TPR f1-score

热门文章

  1. 接口测试流程和用例设计
  2. 本特利1900/65A-00-00-01-00-00监视器
  3. 由矢量电子海图构建海底 TINDEM方法研究
  4. 数学建模真题训练——2003B题 CUMCM 露天矿生产的车辆安排(原创)
  5. 电力系统分析设计matlab,电力系统分析课程设计-基于Matlab的电力系统潮流计算...
  6. 华为java面试题目,含面试题+答案
  7. 计算机程序员目标分析,计算机程序员实习目的
  8. 林郑月娥冀香港发挥连接中外优势发展创科
  9. Centos7安装Ant
  10. jmeter 计数器的使用