导航:首页 > 操作系统 > 基于51单片机的喊话器

基于51单片机的喊话器

发布时间:2022-08-31 05:27:47

A. 51单片机控制喇叭

用个定时器,定时半分钟就可以了!

B. 想做一个基于51单片机的语音控制

51单片机做语音识别基本上不可能,你可以用凌阳单片机做,一套100多,当年毕业设计用凌阳做的成绩基本很差,不是设计不好,而是凌阳做得比较完美,把各个部件一组装,把程序一修改,就可以语音控制了,太简单了所以得低分。
建议你用凌阳单片机做,网上有专业网站介绍,而且非常简单。
具体设计太简单了,还真不好说。

C. 51单片机控制喇叭的程序(c语言)

/************************************************************************
[文件名] C51音乐程序(八月桂花)
[功能] 通过单片机演奏音乐
注意:通过了74HC14控制ULN2003 驱动芯片驱动蜂鸣器 *
/**********************************************************************/
#include <REG52.H>
#include <INTRINS.H>
//本例采用89C52, 晶振为11.0592MHZ
//关于如何编制音乐代码, 其实十分简单,各位可以看以下代码.
//频率常数即音乐术语中的音调,而节拍常数即音乐术语中的多少拍;
//所以拿出谱子, 试探编吧!

sbit Beep = P1^5 ;

unsigned char n=0; //n为节拍常数变量
unsigned char code music_tab[] ={
0x18, 0x30, 0x1C , 0x10, //格式为: 频率常数, 节拍常数, 频率常数, 节拍常数,
0x20, 0x40, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x10,
0x1C, 0x10, 0x18 , 0x40,
0x1C, 0x20, 0x20 , 0x20,
0x1C, 0x20, 0x18 , 0x20,
0x20, 0x80, 0xFF , 0x20,
0x30, 0x1C, 0x10 , 0x18,
0x20, 0x15, 0x20 , 0x1C,
0x20, 0x20, 0x20 , 0x26,
0x40, 0x20, 0x20 , 0x2B,
0x20, 0x26, 0x20 , 0x20,
0x20, 0x30, 0x80 , 0xFF,
0x20, 0x20, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40,
0x20, 0x20, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40,
0x20, 0x30, 0x1C , 0x10,
0x18, 0x20, 0x15 , 0x20,
0x1C, 0x20, 0x20 , 0x20,
0x26, 0x40, 0x20 , 0x20,
0x2B, 0x20, 0x26 , 0x20,
0x20, 0x20, 0x30 , 0x80,
0x20, 0x30, 0x1C , 0x10,
0x20, 0x10, 0x1C , 0x10,
0x20, 0x20, 0x26 , 0x20,
0x2B, 0x20, 0x30 , 0x20,
0x2B, 0x40, 0x20 , 0x15,
0x1F, 0x05, 0x20 , 0x10,
0x1C, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40,
0x20, 0x30, 0x1C , 0x10,
0x18, 0x20, 0x15 , 0x20,
0x1C, 0x20, 0x20 , 0x20,
0x26, 0x40, 0x20 , 0x20,
0x2B, 0x20, 0x26 , 0x20,
0x20, 0x20, 0x30 , 0x30,
0x20, 0x30, 0x1C , 0x10,
0x18, 0x40, 0x1C , 0x20,
0x20, 0x20, 0x26 , 0x40,
0x13, 0x60, 0x18 , 0x20,
0x15, 0x40, 0x13 , 0x40,
0x18, 0x80, 0x00
};

void int0() interrupt 1 //采用中断0 控制节拍
{ TH0=0xd8;
TL0=0xef;
n--;
}

void delay (unsigned char m) //控制频率延时
{
unsigned i=3*m;
while(--i);
}

void delayms(unsigned char a) //豪秒延时子程序
{
while(--a); //采用while(--a) 不要采用while(a--); 各位可编译一下看看汇编结果就知道了!
}

void main()
{ unsigned char p,m; //m为频率常数变量
unsigned char i=0;
TMOD&=0x0f;
TMOD|=0x01;
TH0=0xd8;TL0=0xef;
IE=0x82;
play:
while(1)
{
a: p=music_tab[i];
if(p==0x00) { i=0, delayms(1000); goto play;} //如果碰到结束符,延时1秒,回到开始再来一遍
else if(p==0xff) { i=i+1;delayms(100),TR0=0; goto a;} //若碰到休止符,延时100ms,继续取下一音符
else {m=music_tab[i++], n=music_tab[i++];} //取频率常数 和 节拍常数
TR0=1; //开定时器1
while(n!=0) Beep=~Beep,delay(m); //等待节拍完成, 通过P1口输出音频(可多声道哦!)
TR0=0; //关定时器1
}
}

D. 如何基于51单片机调用by8301-16p语音模块播报人数,程序怎么写

我做过,用数字变量控制语音,1-9 、个、十、百 的语音文件都要做好。然后一位一位的报,连起来就是了

E. 51单片机如何实现语音功能

单片机需要增加语音功能,要么选择功能强大stm32之类的芯片,用内部的dac来模拟输出,要么就外挂一个语音芯片
语音芯片的作用
1、顾名思义,就在是产品上增加语音播报的功能,实现的也就是把语音播放出来
2、常见的如:停车场报金额、电梯报站、货车报“左转弯,请注意”等等,应用非常的广泛
语音芯片的种类,不过主要的分类基本也就大致三种
1、第一种,称之为OTP,就是那种SOP8封装的语音芯片,内置几段常用的语音,出厂之后就固话死了,不可修改
2、第二种,称之为flash语音芯片,通常是一个主控芯片外挂一个spiflash,主控芯片是不变的,而flash则是可以重复烧录的,但是语音往往只支持wav,所以音质会压缩的很差。代表的如WT588D
3、第三种,就是现在最优秀的KT404A芯片,他是支持MP3解码,比前面的两种在技术上是一个跨越,将MP3这种优秀的技术应用于语音芯片上,同时他强大的usb直接虚拟flash成为U盘,这样更新语音非常方便
您选的单片机有4个串口,随便拿一个出来控制KT404A就好了
KT404A外挂一个spiflash,通过usb直接更新语音

F. 怎样用51单片机实现一些情况下的语音提醒。

能够实现,需要温度传感器,喇叭,51单片机组成测控系统

G. 有哪位大神知道51单片机蜂鸣器响1秒的c程序怎么写

#include<reg51.h>
#define uchar unsigned char
uchar cnt;
sbit fmq=P1^0;
sbit key=P1^4;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
cnt++;
if(cnt>20)
{
TR0=0;
cnt=0;
fmq=1;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
EA=1;
while(1)
{
if(key==0)
{
while(key==0);
TR0=1;
fmq=0;
}
}
}

H. 用51单片机实现对讲机功能

不知道你所做的那一种对讲机了,如果是无线对讲的话,那就比较复杂了仅靠你的单片机知识是完成不了的,那大部分要靠高频知识,并且你要确定你的通话频段,和功率,有空看看高频知识吧!

I. 求一个51单片机上能用的有源蜂鸣器不同频率响的汇编程

有源蜂鸣器都是长鸣固定频率的,只要加5Ⅴ电压就响。要按不同频率发声,应该用无源蜂鸣器,或小功率的扬声器,即小喇叭。利用定时器定时,输出一定频率的方波信号即可。如1KHz方波,信号周期为1ms,定时0.5ms=500us,假设单片机晶振频率是12M,机器周期是1us,用定时器T0,定时的初始值,X=65536-500=65036=FE0CH,TH0=FEH,TL0=0CH。
汇编程序:
START:MOV TMOD , #01H
SETB TR0
LOOP:MOV TH0 , #0FEH
MOV TL0 , #0CH
JNB TF0 , $

CLR TF0
CPL P1.7 ; P1.7输出方波信号
SJMP LOOP
你想要其他频率的信号,可参照上面的计算过程和程序,自己修改一下就成了。

J. 51单片机用按键控制蜂鸣器发出do re mi fa...的声音,求c语言程序

这几个音符对应不同的频率,你可以看下频率表,定时器定时就能实现这个功能了,刚帮别人做毕业设计,就是做这个的

阅读全文

与基于51单片机的喊话器相关的资料

热点内容
光遇安卓服墓土商店什么时候开 浏览:566
月收益翻倍的源码 浏览:636
asop源码放在哪里 浏览:987
电脑服务器密码怎么找 浏览:574
jdp转换pdf 浏览:748
把pdf导入iphone 浏览:508
米哈游租赁的云服务器是哪个 浏览:524
android直接打电话 浏览:1016
ubuntu停止命令 浏览:283
cnc攻丝编程 浏览:869
换个手机号码app怎么注册 浏览:320
怎么下载小猴口算app 浏览:115
轻链app的货怎么样 浏览:625
电脑里的u盘如何加密 浏览:370
我的世界全部版本服务器下载地址 浏览:50
交换原理pdf 浏览:228
菜鸟驿站app怎么邀请新人 浏览:448
电脑里总是有一些1k的文件夹 浏览:45
drm加密绝对安全 浏览:512
android灭屏流程 浏览:497