导航:首页 > 操作系统 > 基于单片机的音乐门铃设计

基于单片机的音乐门铃设计

发布时间:2023-01-26 03:06:22

❶ 哪位朋友可以帮忙做一下啊, 设计出一个基于单片机的电子音乐门铃系统。

这东西貌似不难,用单片机定时器,蜂鸣器就行了

❷ 用51单片机设计一个音乐门铃

很简单呀,一个按键一个蜂鸣器,随便你接到哪个脚上,接同一个脚上都行,接下去播放音乐就好了呀

❸ 基于51单片机的音乐门铃设计

51资源还不够啊?汗!用51都能实现GSM远程防盗报警器 这么个门铃就不行了啊
再说了 这个电路提供了功放和录放音电路 单片机需要做的很少 但是我不知道楼主用的是什么样的录放电路 所以我没办法提供程序 不过我可以详细化工作流程
按一次 门铃之后 单片机会延时10秒 十秒之后无人应答 说明家里无人 那么这时候单片机会通过指示灯告知来人可以留言 然后根据录放电路的存储容量进行时间的管理。在录音时间快完毕的时候点亮指示灯 提示录音时间快完毕 避免漏掉信息 然后在录音时间到后自动关闭录音电路 并提示 来人可以离开了 主人来的是后可以按按键进行录音的播放,并且会显示录音的时间 根据录音电路的容量可以设置 3段录音 5段录音等 当然随着段数的增加,单片机的编程会变得复杂,但是其工作原理同一段式录音控制程序是一样的

❹ 求高手:基于单片机的音乐门铃 设计要有完整的C语言程序。

#include<reg52.h> //包含52单片机寄存器定义的头文件

sbit sound=P3^7; //将sound位定义为P3.7
unsigned int C; //储存定时器的定时常数
//以下是C调中音的音频宏定义

#define 523 //将""宏定义为中音"1"的频率523Hz
#define re 587 //将"re"宏定义为中音"2"的频率587Hz
#define mi 659 //将"mi"宏定义为中音"3"的频率659Hz
#define fa 698 //将"fa"宏定义为中音"4"的频率698Hz
#define sao 784 //将"sao"宏定义为中音"5"的频率784Hz
#define la 880 //将"la"宏定义为中音"6"的频率880Hz
#define xi 987 //将"xi"宏定义为中音"7"的频率523Hz

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

函数功能:1个延时单位,延时200ms

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

void delay()
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
}

/*******************************************
函数功能:主函数
******************************************/

void main(void)
{
unsigned char i,j;

//以下是《两只老虎》歌曲

unsigned int code f[]={,re,mi,, //每行对应一小节音符
,re,mi,,
mi,fa,sao,
mi,fa,sao,
sao,la,sao,fa,mi,,
sao,la,sao,fa,mi,,
,sao,,
,sao,,
0xff}; //以0xff作为音符的结束标志

//以下是简谱中每个音符的节拍

//"4"对应4个延时单位,"2"对应2个延时单位,"1"对应1个延时单位
unsigned char code JP[ ]={2,2,2,2,
2,2,2,2,
2,2,3,
2,2,3,
1,2,2,1,2,2,
1,2,2,1,2,2,
2,2,2,
2,2,2,
};

EA=1; //开总中断
ET0=1; //定时器T0中断允许
TMOD=0x00; // 使用定时器T0的模式1(13位计数器)
while(1) //无限循环
{
i=0; //从第1个音符f[0]开始播放
while(f[i]!=0xff) //只要没有读到结束标志就继续播放
{
C=460830/f[i];
TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法
TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法
TR0=1; //启动定时器T0
for(j=0;j<JP[i];j++) //控制节拍数
delay(); //延时1个节拍单位
TR0=0; //关闭定时器T0
i++; //播放下一个音符
}
}

}

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

函数功能:定时器T0的中断服务子程序,使P3.7引脚输出音频的方波

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

void Time0(void ) interrupt 1 using 1
{
sound=!sound; //将P3.7引脚输出电平取反,形成方波
TH0=(8192-C)/32; //可证明这是13位计数器TH0高8位的赋初值方法
TL0=(8192-C)%32; //可证明这是13位计数器TL0低5位的赋初值方法
}

❺ 单片机实现门铃 这个程序中ding dong怎样实现的。具体ding dong频率怎么计算

定时器0中断时,给定时器0的寄存器TH0和TL0赋的初始值,确定了定时中断时间为250us,进定时中断的频率就是1/0.000250=4000。因为进两次才算一个周期(beep置0一次,置1一次),所以ding 的频率应该是2000Hz,过0.5秒后,进入dong,它是进定时中断2次才翻转一次置位,所以dong的频率应该是1000Hz

阅读全文

与基于单片机的音乐门铃设计相关的资料

热点内容
广东农信app怎么更改预留手机号码 浏览:775
嵌套页面php 浏览:566
安卓手机怎么调到微信聊天模式 浏览:857
java博客开源系统 浏览:719
男人之间的加密对话日语 浏览:359
怎么连远程连接服务器 浏览:11
安卓二手手机该如何检测 浏览:213
微信可以共享图片文件夹吗 浏览:80
联通wifi加密码 浏览:643
录屏文件夹小米 浏览:548
车上的app怎么重设 浏览:24
指定文件夹属性 浏览:131
linuxphp编程 浏览:337
以下不正确的是云服务器 浏览:909
琉璃神社压缩密码 浏览:715
大一学生解压视频 浏览:376
单位电脑e盘加密输入正确密码 浏览:873
phpfileupload 浏览:634
刑拘程序员 浏览:617
51单片机飞行器 浏览:166