文档库 最新最全的文档下载
当前位置:文档库 › 51单片机驱动无源蜂鸣器

51单片机驱动无源蜂鸣器

51单片机驱动无源蜂鸣器

51单片机驱动无源蜂鸣器

在学习过程中遇到如下例题:8 个发光管由上至下间隔1s 流动,其中每个

管亮500ms,灭500ms,亮时蜂鸣器响,灭时关闭蜂鸣器,一直重复下去。流水灯

的程序相对我个人来说比较简单,但是蜂鸣器有些难度,正常给I/0 口一个信

号,蜂鸣器既然不响,后经查证是无源蜂鸣器;无源的蜂鸣器,就要通过IO

口输出振荡信号来驱动蜂鸣器

蜂鸣器简介:蜂鸣器根据结构不同分为压电式蜂鸣器和电磁式蜂鸣器;而两

种蜂鸣器又分为有源蜂鸣器和无源蜂鸣器,这里的源特指振荡源;有源蜂鸣器

直接加电就可以响起,无源蜂鸣器需要我们给提供振荡源。理想的振荡源为一

定频率的方波。由于系统采用了无源蜂鸣器,所以需要我们通过编程来控制I/0

口的翻转来产生一定频率的方波信号。本文采用默认频率0.5KHZ 的标准方波。

可以算出周期T = 2ms 脉宽t = 1ms,因此我们可以通过简单的延时函数延时

1ms。然后控制P3.7 口的电平高低产生0.5KHZ 的方波信号;本程序只是通过

简单延时达到驱动蜂鸣器的效果。#include sbit buzzer = P1 ;void delayms(unsigned int xms)//延时函数,延时xms{unsigned int i , j;for(i = 0; i

#include#define uint unsigned int#define uchar unsigned charsbit buzzer=P1 ;sbit D1=P1;void delay(uint z)//延时1ms{uint x,y;for(x=z;x>0;x--){for(y=0;y<114;y++){}}} fasheng() //发声子程序{unsigned int a,x;for (a=0;a<456;a++){buzzer=!buzzer;for (x=0;x<45;x++); //45 为蜂鸣器发声频率}}void main(){while (1){D1=0;fasheng();

D1=1;delay(200);}}tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

基于51单片机蜂鸣器发声的-C语言程序

说明:按下不同的按键会是SOUNDER发出不同频率的声音。本例使用延时函数实现不同频率的声音输出,以后也可使用定时器 */ #include #define uchar unsigned char #define uint unsigned int sbit BEEP=P3^7; sbit K1=P1^4; sbit K2=P1^5; sbit K3=P1^6; sbit K4=P1^7; //延时 void DelayMS(uint x) { uchar t; while(x--) for(t=0;t<120;t++); } //按周期t发音 void Play(uchar t) { uchar i; for(i=0;i<100;i++) { BEEP=~BEEP; DelayMS(t); } BEEP=0; } void main() { P1=0xff; BEEP=0; while(1) { if(K1==0) Play(1); if(K2==0) Play(2); if(K3==0) Play(3); if(K4==0) Play(4); } }

说明:程序运行时播放生日快乐歌,未使用定时器中断,所有频率完全用延时实现 */ #include #define uchar unsigned char #define uint unsigned int sbit BEEP=P3^7; //生日快乐歌的音符频率表,不同频率由不同的延时来决定 uchar code SONG_TONE[]= {212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,1 19,119,126,159,142,159,0}; //生日快乐歌节拍表,节拍决定每个音符的演奏长短 uchar code SONG_LONG[]= {9,3,12,12,12,24,9,3,12,12,12,24, 9,3,12,12,12,12,12,9,3,12,12,12,24,0}; //延时 void DelayMS(uint x) { uchar t; while(x--) for(t=0;t<120;t++); } //播放函数 void PlayMusic() { uint i=0,j,k; while(SONG_LONG[i]!=0||SONG_TONE[i]!=0) { //播放各个音符,SONG_LONG为拍子长度 for(j=0;j

蜂鸣器驱动程序设计

合肥师范学院 嵌入式系统开发技术 课程设计 专业:计算机科学与技术(嵌入式) 班级:嵌入式应用技术 学号: 110441034 1110441047 1110441060 姓名:钱鹏鹏汪新妹郭航峰 设计题目:蜂鸣器驱动程序设计 2014年05月

1.绪论_______________________________________________________________ 3 1.1概要 _________________________________________________________________ 3 1.2设计内容 _____________________________________________________________ 4 2.开发环境的搭建_____________________________________________________ 4 2.1Redhat的安装 _________________________________________________________ 4 2.2安装arm-linux-gcc交叉编译器__________________________________________ 9 2.3安装及编译linux-2.6.29-mini2440-20090708内核_________________________ 9 3.字符设备驱动相关知识_______________________________________________ 9 3.1模块机制 _____________________________________________________________ 9 3.2字符设备开发基本步骤_________________________________________________ 10 3.3主设备号和次设备号___________________________________________________ 11 3.4实现字符驱动程序_____________________________________________________ 12 4.蜂鸣器原理________________________________________________________ 14 4.1蜂鸣器的种类和工作原理_______________________________________________ 14 4.2开发板上蜂鸣器原理图分析_____________________________________________ 15 4.3GPB0参数 ____________________________________________________________ 15 5.总体设计__________________________________________________________ 16 5.1设计思路 ____________________________________________________________ 16 5.2设计步骤 ____________________________________________________________ 16 6. 驱动及测试程序___________________________________________________ 17 6.1beep.c _______________________________________________________________ 17 6.2beep_tset.c __________________________________________________________ 21 7.运行结果及截图____________________________________________________ 22综合设计总结与思考__________________________________________________ 25

无源蜂鸣器常规驱动电路设计

一种低成本无源蜂鸣器的设计 在实际的应用中,虽然有源蜂鸣器控制简单,缺陷是成本比较高,在潮湿的环境用久了,容易损坏。而无源蜂鸣器弥补了有源蜂鸣器缺点,但问题是无源蜂鸣器需要PWM驱动。在系统的设计中,微控制器的PWM资源往往是比较紧张的,同时使用PWM驱动也加大了软件开发的难度。接下来笔者将引领大家学习如何设计一个无需PWM也能驱动无源蜂鸣器的低成本电路。 1.1 无源蜂鸣器常规驱动电路 图1 无源蜂鸣器常规驱动电路 如图1所示,此图为无源蜂鸣器的常规驱动电路。需要在输入端输入一定频率PWM的信号才能使蜂鸣器发声。为了解放PWM资源,实现简单控制,必须如有源蜂鸣器一样提供一个振荡电路。而有源蜂鸣器主要使用LC振荡,如果要实际搭建此电路,电感参数比较难控制,而且成本高。此时,自然会想到简易的RC振荡,而由三极管构成的RC多谐振荡电路显然是一个不错的选择。

1.2 三极管多谐振荡电路 图2 三极管多谐振荡电路 三极管多谐振荡的通用电路如图2所示。这个电路起振的原理主要是通过电阻与电容的充放电使三极管交替导通。首先,在电路上电时,分别通过R1与R4对电容C1与C2进行充电。由于三极管元件的参数不可能完全一致,可以假设三极管Q1首先饱和导通,由于电容两端的电压不能突变,Q2的 B极此时变成负压,Q2截止,Vo端输出高电平;C1通过R2进行充电,当 C2的电位使BE极正向偏置时,Q2导通,Vo端输出低电平;同理C2电容两端电压不能突变,Q1的B极电压变为负压,此时Q1截止。这样循环往复,使在Vo端输,一定频率的方波信号。如图3所示,笔者使用示波器截取了 Q1与Q2的B极和E极的波形,可以发现与上面的分析是吻合的。

单片机 利用蜂鸣器演奏音乐

实验三-利用蜂鸣器演奏音乐 一、实验目的 1.了解BlueSkyC51单片机实验板中蜂鸣器的硬件电路 2.学会利用蜂鸣器实现音乐的演奏 3.掌握蜂鸣器实现音乐演奏的编程 二、实验硬件设计及电路 1. BlueSkyC51单片机实验板 ` 2.单片机最小系统

。 3.蜂鸣器电路连接 三极管主要是做驱动用的。因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以

我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。 三、实验原理 1.音调及节拍 用一个口,输出方波,这个方波输入进蜂鸣器就会产生声音,通过控制方波的频率、时间,就能产生简单的音乐。一般说来,单片机演奏音乐基本都是单音频率,因此单片机奏乐只需控制音调和节拍。 (1)音调的确定 音调是由频率来确定的。通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O 口来回取反,从而让蜂鸣器发出不同频率的声音。只需将定时器给以不同的定时值就可实现。通过延时,即可发出所需要的频率。 … (2)节拍的确定 一拍的时长大约为400—500ms,每个音符的时长通过节拍来计算。详细见程序代码。 2.软件设计相关 (1)头文件 #include<> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long sbit beep=P1^4; 译实验相关问题 ; (1)实际发音颤音重 解决方法为修改蜂鸣器的驱动频率. (2)实际节奏过快或者过慢 调整延时 四、C51程序代码(部分来源于网络) #include<> #define uint unsigned int #define uchar unsigned char #define ulong unsigned long ~ sbit beep=P1^4; //蜂鸣器与口连接 uchar th0_f; //中断装载T0高8位 uchar tl0_f; //T0低8位 uchar code freq[36*2]={ //音阶码表 0xf7,0xd8, //440hz , 1 //0 0xf8,0x50, //466hz , 1# //1

51单片机蜂鸣器播放音乐代码(生日快乐 两只蝴蝶 祝你平安)

/*生日快乐歌曲*/ #include #define uint unsigned int #define uchar unsigned char sbit beep = P1^5; uchar code SONG_TONE[]={212,212,190,212,159,169,212,212,190,212,142,159, 212,212,106,126,159,169,190,119,119,126,159,142,159,0}; uchar code SONG_LONG[]={9,3,12,12,12,24,9,3,12,12,12,24, 9,3,12,12,12,12,12,9,3,12,12,12,24,0}; //延时 void DelayMS(uint x) { uchar t; while(x--) for(t=0;t<120;t++); } void PlayMusic() { uint i=0,j,k; while(SONG_LONG[i]!=0||SONG_TONE[i]!=0) { //播放各个音符,SONG_LONG 为拍子长度 for(j=0;j

蜂鸣器程序

单片机蜂鸣器实验 C程序: #include "reg51.h" #define uchar unsigned char #define uint unsigned int sbit FM=P2^3; void delay ( uchar x) { uint y; for (; x > 0 x-- ) for( y=500 y>0;y--); } void main() { FM=0; while(1) { delay(20); FM=1; delay(20); FM=0; } } 因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音

单片机驱动蜂鸣器原理与设计 蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。下面是电磁式蜂鸣器的外形图片及结构图。。。电磁式蜂鸣器实物图:一、电磁式蜂鸣器驱动原理蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,原理图见下面图3:S51增强型单片机实验板蜂鸣器驱动原理图:如图所示,蜂鸣器的正极接到VCC(+5V)电源上面,蜂鸣器的负极接到三极管的发射极E,三极管的基级B经过限流电阻R1后由单片机的P3.7引脚控制,当P3.7输出高电平 时,三极管T1截止,没有电流流过线圈,蜂鸣器不发声;当P3.7输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控制P3.7脚的电平来使蜂鸣器发出声音和关闭。程序中改变单片机P3.7引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变P3.7输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小,这些我们都可以通过编程实验来验证。二、蜂鸣器列子下面我们举几个简单的单片机驱动蜂鸣器的编程和电路设计的列子。1、简单的蜂鸣器实验程序:本程序通过在P3.7输出一个音频范围的方波,驱动实验板上的蜂鸣器发出蜂鸣声,其中DELAY延时子程序的作用是使输出的方波频率在人耳朵听觉能力之内的20KHZ以下,如果没有这个延时程序的话,输出的频率将大大超出人耳朵的听觉能力,我们将不能听到声音。更改延时常数,可以改变输出频率,也就可以调整蜂鸣器的音调。大家可以在实验中更改#228为其他值,听听蜂鸣器音调的改变。 ORG 0000H AJMP MAIN ;跳转到主程序 ORG 0030H MAIN: CPL P3.7 ;蜂鸣器驱动电平取反 LCALL DELAY 延时 AJMP MAIN 反复循环 DELAY:MOV R7,#228 ;延时子程序,更改该延时常数可以改变蜂鸣器发出的音调 DE1: DJNZ R7,DE1 RET

51单片机四路抢答器(LED灯,数码管显示,蜂鸣器提示音)C语言源程序

51单片机四路抢答器(LED灯,数码管显示,蜂鸣器提示音)C语言源程序2009-10-31 10:53 其实就是在原有的基础上,加入数码管显示及蜂鸣器,当然根据自己的要求,适当使用单片机I/O口 接线为: P0 P2 来控制数码管显示,其中P0为数码管显字控制,P2用来选择位(第几个数码管) P1用来控制8个LED灯 P3,独立按键(可以根据需要修改) P3^5(找了一个没有用到的I/O口,当然,可以用键盘扫描的方式来实现,这样的话,可以实现4*4=16路的抢答器,了解原理,做相应修改即可。 #include sbit key1=P3^0; //这里采用独立按键(4路) sbit key2=P3^1; sbit key3=P3^2; sbit key4=P3^3; sbit SPK=P3^5; //蜂鸣器,最好在ISP编程时先不接入,(我用的是杜邦线,可以设置跳线控制) void delay(unsigned int cnt) { while(--cnt); } void speak(unsigned int j) { unsigned int i; for(i=0;i

{ bit Flag; while(!Flag) { if(!key1){P1=0xFE;Flag=1;speak(300);P2=0;P0=0x06;} //LED1,数码管1显示1,蜂鸣器叫 else if(!key2){P1=0xFD;Flag=1;speak(300);P2=1;P0=0x5b;}//LED2,数码管2显示2,蜂鸣器叫 else if(!key3){P1=0xFB;Flag=1;speak(300);P2=2;P0=0x4f;}//LED3,数码管3显示3,蜂鸣器叫 else if(!key4){P1=0xF7;Flag=1;speak(300);P2=3;P0=0x66;}LED4,数码管4显示4,蜂鸣器叫 } while(Flag); } 测试完,手动复位即可,当然可设置相应的按键来控制标志:Flag,进行继续抢答。。

蜂鸣器的介绍

蜂鸣器的介绍 推荐 一)蜂鸣器的介绍 1.蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 2.蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 3.蜂鸣器的电路图形符号蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。 (二)蜂鸣器的结构原理 1.压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 一、常规电磁蜂鸣器产品是如何工作的? 无源电磁蜂鸣器工作原理是:交流信号通过绕在支架上的线包在支架的芯柱上产生一交变的磁通,交变的磁通和磁环恒定磁通进行叠加,使钼片以给定的交流信号频率振动并配合共振腔发声。产品的整个频率和声压的响应曲线与间隙值、钼片的固有振动频率(可粗略折射为小钼片的厚度)、外壳(亥姆霍兹共振声腔)频率、磁环的磁强漆包线的线径有直接关系。 二、常规电磁无源蜂鸣器产品由哪些材料组成? 三、常规压电蜂鸣器产品是如何工作的?

单片机控制蜂鸣器概要

单片机控制蜂鸣器20年月日

目录 绪论 (1) 1、硬件设计 (2) 1.1 总体设计图 (2) 1.2 简易结构框图 (2) 1.3各部分硬件设计及功能 (3) 1.3.1 蜂鸣器发声电路:(如图1.3.1) (3) 1.3.2 电源稳压电路: (4) 1.4 元件清单 (4) 2、软件设计 (5) 2.1设计思想 (5) 2.2 程序流程图 (5) 2.3 音调、节拍以及编码的确定方法 (6) 2.3.1音调的确定 (6) 2.3.2 节拍的确定 (8) 2.3.3 编码 (9) 3、电路仿真与分析 (10) 4、电路板焊接、调试 (11) 4.1 焊接 (11) 4.2 调试 (12) 5、讨论及进一步研究建议 (12) 6、心得 (12) 7、单片机音乐播放器程序实例(卡农) (13)

绪论 蜂鸣器播放音乐电路设计对于单片机初学者来说是一个简单易实现的课题。通过编写程序使单片机产生一定频率的方波信号,方波信号进入蜂鸣器便产生我们熟知的音调。 我们用定时/计数器使单片机产生方波,利用定时/计数器使输出管脚在一定周期内反复翻转,达到所需频率,而我们给定时/计数器的初始值就是我们的音符—半周期数据表,通过我们播放的音乐的乐谱,来对数据表进行调用。 我们用延时子程序来表示节拍,不同的节拍代表不同的延时。 完成此次设计之后完全可以进行扩展,例如增加按键以及LED灯光效果,制成一个简易的音乐盒,给人以视觉听觉等全方位的享受。

1、硬件设计1.1 总体设计图 1.2 简易结构框图

1.3各部分硬件设计及功能 1.3.1 蜂鸣器发声电路:(如图1.3.1) 图1.3.1 如图所示,蜂鸣器发声电路是播放音乐电路的主要执行电路,它由一个蜂鸣器,一个三极管和一个电位器组成。蜂鸣器负责发声,三极管将电流放大,而电位器则控制流过蜂鸣器电流的大小,来达到控制音量的目的。

有源与无源蜂鸣器的区别

一)蜂鸣器的介绍 1.蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 2.蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 3.蜂鸣器的电路图形符号蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。 (二)蜂鸣器的结构原理 1.压电式蜂鸣器压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2.电磁式蜂鸣器电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 蜂鸣器的制作 (1)制备电磁铁M:在长约6厘米的铁螺栓上绕100圈导线,线端留下5厘米作引线,用透明胶布把线圈粘好,以免线圈松开,再用胶布把它粘在一个盒子上,电磁铁就做好了. (2)制备弹片P:从铁罐头盒上剪下一条宽约2厘米的长铁片,弯成直角,把电磁铁的一条引线接在弹片上,再用胶布把弹片紧贴在木板上. (3)用曲别针做触头Q,用书把曲别针垫高,用胶布粘牢,引出一条导线,如图连接好电路. (4)调节M与P之间的距离(通过移动盒子),使电磁铁能吸引弹片,调节触点与弹片之间的距离,使它们能恰好接触,通电后就可以听到蜂鸣声.有源蜂鸣器和无源蜂鸣器 教你区分有源蜂鸣器和无源蜂鸣器 现在市场上出售的一种小型蜂鸣器因其体积小(直径只有llmm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。有源蜂鸣器和无源蜂鸣器的外观如图a、b所示。 图:有源和无源蜂鸣器的外观

蜂鸣器驱动程序的设计说明

蜂鸣器驱动 课程设计 专业: xxxxxxxxxxxxxx 班级: xxxxxxxxx 学号: xxxxxxxxx 姓名: xxxx 设计题目:蜂鸣器驱动程序设计 2016年12月

目录 一.任务 (2) 1.目标 (2) 2.环境 (2) 3.需求: (2) 二.总体设计 (2) 1.处理流程 (2) 2.模块介绍 (3) 3.模块接口设计 (3) 4.各个模块设计 (3) 三.PWM蜂鸣器字符设备驱动 (3) 1.模块设计 (3) 1. 模块介绍 (3) 2. 模块结构图 (4) 2.接口设计 (4) 1. 数据结构设计 (4) 2. 驱动程序接口 (4) 3.函数设计 (4) 1.初始化函数 (5) 2. 字符设备打开函数 (6) 3. 字符设备关闭函数 (7) 4. 模块卸载函数................................................................... ...................... (8) 5. 文件操作接口函数 (8) 四. PWM蜂鸣器字符设备驱动测试 (8) 1.调用系统函数ioctl实现对蜂鸣器的控制 (8) 五.tiny210开发板调试............................................................................. (9)

六.综合设计总结与思考................................................................... .. (10) 一.任务 1.目标: 编写按键蜂鸣器驱动程序函数与测试文件,实现上位机与tiny210-SDK开发板的连接,利用函数实现对蜂鸣器通过按键来启动与关闭。 2.环境: ①软件环境:windows 7 系统和VMware Workstation 软件 ②硬件环境:tiny210 开发板,核部分 Linux-3.0.8 ,交叉编译版本arm-linux-gcc-4.5.1-v6-vfp1 Linux系统介绍: Linux是一种自由开发源码的类Unix操作系统,存在这许多不同的Linux 版本,但它们都使用了Linux核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。严格来说,Linux这个词本身只表示Linux核,但实际上人们已经习惯了用Linux来形容整个基于Linux核,并且使用GNU工程各种工具和数据库的操作系统。Linux得名于天才程序员林纳斯·托瓦兹。 tiny210开发板中模块介绍: ①PWM蜂鸣器模块

单片机控制蜂鸣器唱歌的原理

单片机控制蜂鸣器唱歌 的原理 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能象电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。1)音调的确定 音调就是我们常说的音高。它是由频率来确定的!我们可以查出各个音符所对应的相 应的频率,那么现在就需要我们来用51来发出相应频率的声音! 我们常采用的方法就是通过单片机的定时器定时中断,将单片机上对应蜂鸣器的I/O口来回取反,或者说来回清零,置位,从而让蜂鸣器发出声音,为了让单片机发出不同频率的声音,我们只需将定时器予置不同的定时值就可实现。那么怎样确定一个频率所对应的定时器的定时值呢? 以标准音高A 为例: A 的频率f = 440 Hz, 其对应的周期为:T = 1/ f = 1/440 =2272μs 那么,单片机上对应蜂鸣器的I/O 口来回取反的时间应为: t = T/2 = 2272/2 = 1136 μs ,也就是清零、置位在一个周期内完成. 这个时间t 也就是单片机上定时器应有的中断触发时间。一般情况下,单片机奏乐时,其定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设振荡器频率为f0 ,则定时器的予置初值由下式来确定: t = 12 * (TALL – THL)/ f0 式中TALL = 216= 65536,T HL为定时器待确定的计数初值。因此定时器的高低计数器的初值为: TH =THL/ 256 = ( TALL – t* f0/12) / 256

51单片机实现蜂鸣器警车、救护车、消防车声

1. /*----------------------------------------------- 名称:喇叭 论坛:www.dofl https://www.wendangku.net/doc/9d11377187.html, 编写:shifang 日期:2009.5 修改:无 内容:模拟警车发声 ------------------------------------------------*/ #i nclude //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 sbi t SPK=P1^2; //定义喇叭端口 unsi gned char fr q; voi d DelayUs2x(un si gned char t);//函数声明 voi d DelayMs(un si gned char t); /*------------------------------------------------ 定时器初始化子程序 ------------------------------------------------*/ voi d Init_Ti mer0(voi d) { TM OD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响

//TL0=0x00; EA=1; //总中断打开 ET0=1; //定时器中断打开 TR0=1; //定时器开关打开 } /*------------------------------------------------ 主函数 ------------------------------------------------*/ mai n() { Ini t_Timer0(); //初始化定时器 while(1) { DelayMs(1); //延时1m s,累加频率值 fr q++; } } /*------------------------------------------------ uS延时函数,含有输入参数 un si gned ch ar t,无返回值 unsigne d char是定义无符号字符变量,其值的范围是 0~255 这里使用晶振12M,精确延时请使用汇编,大致延时

几种驱动蜂鸣器的编程示例

几种驱动蜂鸣器的编程示例 以下介绍几种在S3F9454/9444下驱动蜂鸣器的编程示例,供参考 A.第一种,普通IO高低电平驱动法 ;运行环境: S3F9454,Fosc= 3.2MHz无分频 ;P2.0为蜂鸣输出端口 ;本例输出频率为4KHZ,即每250US一个周期,高低电平时间分别为125US BEEP: LD BTCON,#10100011B ;看门狗禁用 DI PUSH R5 PUSH R6 ;首先配置P2.0为普通推挽输出端口 AND P2CONL,#0FEH OR P2CONL,#02H LD R6,#0FAH ;R6设置输出方波个数,本例为250个(计时62.5MS) ONE_BEEP: LD R5,#27H ;R5为频率发生计时器,本例为近似125US(4KHZ) XOR P2,#01H _LOOP: DEC R5 JR NZ,_LOOP DEC R6 JR NZ,ONE_BEEP LD BTCON,#02H ;恢复看门狗运行 EI POP R6 POP R5 RET ;----------------------------------------------------------- B.利用P2.0配置为T0定时器匹配输出方式产生 ;注: 该方式可用于带多位数码显示扫描的软件中,可有效避免因蜂鸣器 ;输出而造成的数码显示抖动闪烁 ;因定时器T0被分配作为T0匹配输出定时器,所以本例中利用看门狗定时器 ;的实时计时器BTCNT作为数码显示实时扫描计时器 ;R0为蜂鸣时间长短计时器,由主调用程序进行予设置 ;运行环境: S3F9454,Fosc= 3.2MHZ无分频 ;P2.0为蜂鸣输出端口 ;本例输出频率为4KHZ,即每250US一个周期,高低电平时间分别为125US ;----------------------- BEEP: DI PUSH R1 PUSH T 0CON PUSH T0DATA ;在蜂鸣输出前首先扫描一次数码显示 CALL LED_SCAN OR P2CONL,#03H ;set P2.0 as T0 match output/every 12 5us LD T0CON,#10001000B ;set T0 input cLOCk=Fosc/8 LD T0DATA,#32H LD BTCON,#10100011B ;DISAble Watch-dog run, ;but btcnt clk input fxx/4096= 1.280ms NEXT_BEEP: LD R1,#0AH WAIT_CNT: OR BTCON,

单片机驱动蜂鸣器原理与程序学习资料

单片机驱动蜂鸣器原 理与程序

单片机驱动蜂鸣器原理与设计 作者:mcu110 来源:51hei 点击数:12159 更新时间:2007年08月01日【字体:大中小】 蜂鸣器是一种一体化结构的电子讯响器,本文介绍如何用单片机驱动蜂鸣器,他广泛应用于计算机、打印机、复印机、报警器、电话机等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 下面是电磁式蜂鸣器的外形图片及结构图。。。 电磁式蜂鸣器实物图:电磁式蜂鸣器结构示意图:

图 1 图 2 电磁式蜂鸣器内部构成: 1. 防水贴纸 2. 线轴 3. 线圈 4. 磁铁 5. 底座 6. 引脚 7. 外壳 8. 铁芯 9. 封胶 10. 小铁片 11. 振动膜 12. 电路板 一、电磁式蜂鸣器驱动原理 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。S51增强型单片机实验板通过一个三极管C8550来放大驱动蜂鸣器,原理图见下面图3: S51增强型单片机实验板蜂鸣器驱动原理图:

有源蜂鸣器与无源蜂鸣器的区别超全

有源蜂鸣器与无源蜂鸣器的区别(转) 有源(引脚长)无源(引脚长度相同) 无源蜂鸣器的优点是: 1。便宜 2。声音频率可控,可以做出“多来米发索拉西”的效果 3。在一些特例中,可以和LED复用一个控制口 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。 有源蜂鸣器的优点是:程序控制方便 区分 1 把蜂鸣器一脚朝天,如果电路板是黑色的表明是有缘的,如果电路板是绿色的表示无源的。 2 把万用表调到欧姆挡RX1位,用黑表笔接蜂鸣器的正极,慢慢触碰,如果发出咔咔生,电阻组织为8Ω或16Ω表示无源蜂鸣,如果发出持续的声音,表示有源! 现在很常用的是一种有源蜂鸣器,内部有振荡、驱动电路。加电源就可以响,你所说的估计就是那种。优点是用起来省事,缺点是频率固定了,就只一个单音。 有源蜂鸣器和无源蜂鸣器的差别主要差别为:有源蜂鸣器和无源蜂鸣器的根本区别是产品对输入信号的要求不一样;有源蜂鸣器工作的理想信号是直流电,通常标示为VDC、VDD等。因为蜂鸣器内部有一简单的振荡电路,能将恒定的直流电转化成一定频率的脉冲信号,从面实出磁场交变,带动钼片振动发音。但是在某些有源蜂鸣器在特定的交流信号下也可以工作,只是对交流信号的电压和频率要求很高,此种工作方式一般不采用。而无源蜂鸣器没有内部驱动电路,有些公司和工厂称为讯响器,国标中称为声响器。无源蜂鸣器工作的理想信号方波。如果给预直流信号蜂鸣器是不响应的,因为磁路恒定,钼片不能振动发音。 实例中,把驱动方式给为交流驱动(PWM输出)控制,频率选为5kHz。 在实际使用蜂鸣器时,区分是有源还是无源蜂鸣器,电磁式还是压电式。 对于后者,他们的区别是: 电磁无源蜂鸣属于感性负载器件,理想输入是正向方波通常记作:VO-P。压无源蜂鸣属于容性负载器件,理想输入是双向方波通常记作:VP-P。但是如果IC是反向器4049等,取一非门的输入和输出接蜂鸣器也是很理想的,只是有时IC的输出功率太小,声音达不到预期要求。如果蜂鸣器是作为高声压报警用的,普通的两引脚电感还不能满足要求,一般会采用三脚抽头电感,一般为10倍的升压比,有些高声压110dB以上的可能要用小功率变压器实现升压。

单片机课程设计报告利用蜂鸣器播放音乐

课程设计:嵌入式系统应用 题目名称:利用蜂鸣器实现音乐播放功能 姓名: 学号: 班级: 完成时间:

1设计的任务 设计内容:动手焊接一个51单片机 设计目标:利用单片机上的蜂鸣器实现音乐播放功能 2 设计的过程 2.1 基本结构 1.STC89C52RC 在本次的试验中采用了STC89C52RC单片机,STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期,工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机),工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz,用户应用程序空间为8K 字节。 (STC89C52RC引脚图)

STC89C52RC单片机的工作模式: (1)典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序(2)空闲模式:典型功耗2mA (3)正常工作模式:典型功耗4Ma~7mA (4)唤醒,适用于水表、气表等电池供电系统及便携设备 2.蜂鸣器及其工作原理: 蜂鸣器按其结构分主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 本实验采用的是电磁式蜂鸣器。 蜂鸣器按其是否带有信号源又分为有源和无源两种类型。有源蜂鸣器只需要在其供电端加上额定直流电压,其内部的震荡器就可以产生固定频率的信号,驱动蜂鸣器发出声音。无源蜂鸣器可以理解成与喇叭一

基于C51单片机矩阵键盘控制蜂鸣器的应用

学校代码 10126 学号科研创新训练论文 题目基于C51单片机的蜂鸣器和流水灯的 应用 院系内蒙古大学鄂尔多斯学院 专业名称自动化 年级 2013 级 学生姓名高乐 指导教师高乐奇 2015年06月20日

基于C51单片机的蜂鸣器和流水灯的应用 摘要 当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。本文介绍了单片机的发展及应用,和基于单片机的蜂鸣器和流水灯的知识及应用,还介绍了此次我所设计的课题。 关键词:C-51单片机,控制系统,流水灯,蜂鸣器,程序设计

The application of buzzer and flowing water light based on C51 MCU Author:GaoLe Tutor:GaoLeQi Abstract This age is a new technology emerge in endlessly era, in the electronic field especially automation intelligent control field, the traditional schism components or digital logic circuit, is composed of control system with unprecedented speed was replaced by micro-controller intelligent control system. SCM has small, strong function, low cost, etc, it can be said that wide application, intelligent control and automatic control core is the micro-controller.This article introduces the MCU development and application,the knowledge and application of buzzer and flowing water light based on MCU,then introduces the task I have designed this time. Keyword:C51 micro-controller,control system,flowing water light,buzzer ,programming

相关文档
相关文档 最新文档