主函数

#include <REGX52.H>
#include "Delay.h"
#include "Key.h"
#include "Nixie.h"
#include "Buzzer.h" sbit Buzzer=P2^5;
unsigned char KeyNum;
unsigned int i;void main()
{Nixie(1,0);while(1){KeyNum=Key();if(KeyNum){Buzzer_Time(1000);Nixie(1,KeyNum);}}
}

Buzzer

#include <REGX52.H>
#include <intrins.h>
#include "delay.h"sbit Buzzer=P2^5;//蜂鸣器端口/*** @brief  蜂鸣器私有延时函数,延时500us* @param  无* @retval 无*/
void Buzzer_Delay500us()        //@12.000MHz
{unsigned char i;_nop_();i = 247;while (--i);
}
/*** @brief  蜂鸣器发声* @param  ms 发声的时长* @retval 无*/
void Buzzer_Time(unsigned int ms)
{unsigned int i;for(i=0;i<ms*2;i++){Buzzer=!Buzzer;Buzzer_Delay500us();}
}

Delay

void Delay(unsigned int xms)     //@12.000MHz
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}

Key

#include <REGX52.H>
#include "Delay.h"/*** @brief  获取独立按键键码* @param  无* @retval 按下按键的键码,范围0——4 无按键按下,返回值为0*/unsigned char Key()
{unsigned char KeyNumber=0;if(P3_1==0){Delay(100);while(P3_1==0);Delay(100);KeyNumber=1;}if(P3_0==0){Delay(100);while(P3_0==0);Delay(100);KeyNumber=2;}if(P3_2==0){Delay(100);while(P3_2==0);Delay(100);KeyNumber=3;}if(P3_3==0){Delay(100);while(P3_3==0);Delay(100);KeyNumber=4;}return KeyNumber;
}

MatrixLed

#include <REGX52.H>
#include "DELAY.h"
sbit RCK=P3^5;//位申明,重新命名 RCLK
sbit SCK=P3^6;//时钟  SRCLK
sbit SER=P3^4;//SER#define MATRIX_LED_PORT P0
/*** @brief  74HC595写入一个字节* @param  要写入的字节* @retval 无*/void _74HC595_WriteByte(unsigned char Byte)//移位计时器
{unsigned char i;for(i=0;i<8;i++){SER=Byte&(0x80>>i);SCK=1;SCK=0;}RCK=1;RCK=0;
}
/*** @brief  点阵屏初始化* @param  无* @retval 无*/
void MatrixLED_Init()
{SCK=0;RCK=0;
}/*** @brief  LED点阵屏显示一列数据* @param  Column要选择的列,范围0—7,0在最左边Data要选择的显示的数据,高位在上,1为亮,0为灭* @retval 无*/
void MatrixLED_ShowColumn(unsigned char Column,Data)//点阵屏
{_74HC595_WriteByte(Data);P0=~(0x80>>Column);//移位操作Delay(1);MATRIX_LED_PORT=0xFF;//位清零
}

Nixie

#include <REGX52.H>
#include "Delay.h"unsigned char NixieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7f,0x6F};void Nixie(unsigned char Location,Number)
{switch(Location){case 1: P2_4=1;P2_3=1;P2_2=1;break; //??????case 2: P2_4=1;P2_3=1;P2_2=0;break;case 3: P2_4=1;P2_3=0;P2_2=1;break;case 4: P2_4=1;P2_3=0;P2_2=0;break;case 5: P2_4=0;P2_3=1;P2_2=1;break;case 6: P2_4=0;P2_3=1;P2_2=0;break;case 7: P2_4=0;P2_3=0;P2_2=1;break;case 8: P2_4=0;P2_3=0;P2_2=0;break;}P0=NixieTable[Number];//Delay(1);  //P0=0x00;}

51单片机 蜂鸣器播放提示音相关推荐

  1. 51单片机蜂鸣器播放天空之城

    51单片机蜂鸣器播放天空之城 附:天空之城乐谱 第三张图片中65行46968改为64968,希望凉解.(由于本人对乐谱知之甚少,上述有关音符代码由网络提供.如有错误,敬请雅正.)

  2. 利用51单片机蜂鸣器播放《只因你太美》代码

    使用以下代码在51单片机上控制蜂鸣器播放"只因你太美"的音乐: #include <reg51.h> #include <intrins.h>#define ...

  3. 51单片机蜂鸣器播放音乐C语言程序实例,基于proteus的51单片机仿真实例八十八、用蜂鸣器播放一段音乐应用实例...

    1.前面我们已经学习了如何让单片机控制蜂鸣器发出不同的声音.现在我们更进一步,让单片机控制蜂鸣器发出再复杂一些的声音:模拟乐音输出 2.关于音乐的乐谱和节拍这些知识,我们将在下一节进一步说明 3.在k ...

  4. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...

    /************************************************************************ [文件名]  C51音乐程序(八月桂花) [功能]  ...

  5. MCU-51:单片机蜂鸣器播放音乐和提示音

    目录 一.蜂鸣器介绍 二.驱动电路 2.1 三极管驱动 2.2 集成电路驱动 三.蜂鸣器播放音乐 3.1 键盘与音符对照 3.2 音符与频率对照 3.3 简谱 四.代码演示 4.1 按键蜂鸣器播放提示 ...

  6. MCU-51:单片机蜂鸣器播放孤勇者

    目录 一.蜂鸣器介绍 二.驱动电路 2.1 三极管驱动 2.2 集成电路驱动 三.蜂鸣器播放音乐 3.1 键盘与音符对照 3.2 音符与频率对照 四.孤勇者乐谱 五.代码演示 前面学习了 MCU-51 ...

  7. 用计算机弹我和我的祖国,51单片机蜂鸣器演奏《我和我的祖国》

    由于同学的需要,于是用51单片机的蜂鸣器功能谱了一首<我和我的祖国>,下面是全部的代码: #include sbit beep = P1^5; unsigned char timer0H, ...

  8. html 消息通知声音,ajax实现web页面的消息实时提醒时播放提示音

    在应用系统的开发过程中,经常要使用到新消息的提醒功能,比如说后台有一个告警消息,web页面就会实时的收到这个告警的消息,且发出提示音. 这其实就是涉及到两个方面的知识,一个是http实时消息的推送,在 ...

  9. php播放一个提示音,ajax实现web页面的消息实时提醒时播放提示音

    在应用系统的开发过程中,经常要使用到新消息的提醒功能,比如说后台有一个告警消息,web页面就会实时的收到这个告警的消息,且发出提示音. 这其实就是涉及到两个方面的知识,一个是http实时消息的推送,在 ...

最新文章

  1. 互联网协议 — IPv4 互联网协议第 4 版
  2. Jzoj3907 蜀传之单刀赴会(梦回三国系列)
  3. 各种Oracle常见操作2
  4. wxWidgets:工具栏概述
  5. tomcat自动运行磁盘任意位置上的项目、使用Maven对tomcat进行自动部署
  6. 自然语言交流系统 phxnet团队 创新实训 项目博客 (五)
  7. 前端几个笔试题及答案(bd)
  8. 惊艳!28岁就任副教授,“最美女教授”年纪轻轻已是博导、院长
  9. python零基础能学吗-python零基础能学吗
  10. EmEditor正则表达式例子
  11. kettle复杂表头的Excel数据源处理
  12. office之转置EXCEL表格
  13. 北美票房:《触不可及》惊喜夺冠
  14. 从C++11到C++23(一) C++20圆周率、常数e和常见对数
  15. 二维码名片的生成与读取
  16. Linux -- snmp v3开通、认证、加密及其他
  17. 让dede系统 正文标题以拼音显示的方法
  18. 数数小绵羊(四刷) kkmd66
  19. uhs3内存卡有哪些_UHS-I与UHS-II存储卡有什么区别?
  20. 在国企的日子(第四章 团建)

热门文章

  1. python排序输出人名,005_015 Python 人名按字母排序,首字母分组
  2. Python语言零基础入门教程(一)
  3. ESP8266—01模块的3种工作模式
  4. 大学计算机一级网络题,大学计算机一级考试试题及答案
  5. 【HDOJ】4210 Su-domino-ku
  6. Excel-旋风图制作
  7. Imagick的图像水印
  8. 关于酷狗音乐api搜索歌手信息的问题
  9. C语言-ASCII与十六进制互相转换
  10. qbo julius增加自己的grammar方法