51单片机项目教程项目 5 蜂鸣器实验

合集下载

单片机实验报告-蜂鸣器驱动实验

单片机实验报告-蜂鸣器驱动实验

本科实验报告课程名称:单片机原理与接口技术实验项目:蜂鸣器驱动实验实验地点:电机馆专业班级:学号:学生姓名:指导教师:2015年 6 月9 日蜂鸣器驱动实验一、实验目的1、学习输入/输出端口控制方法2、了解音频发声原理二、实验说明本实验是利用89C51端口定时器输出控制端口,驱动扬声器发声,声音的频率高低由延时快慢控制。

本实验是利用单片机唱歌的声音控制程序,请用户思考如何修改程序,可以让蜂鸣器发出不同频率,不同长短的声音。

三、实验原理1、通过单片机控制驱动信号使蜂鸣器发出不同音调的声音,驱动方波的频率越高,音调就越高;驱动方波频率越低,音调越低。

由此,我们可以根据驱动方波的频率使蜂鸣器凑出各种音调的声音。

2、由于单片机I/O口的输出电流较小,因此需要三极管放大电路驱动蜂鸣器。

四、主要仪器设备单片机仿真试验箱,THKL-C51型单片机仿真器,计算机五、实验内容及步骤INT1输出音频信号接音频驱动电路,使蜂鸣器的发声。

1、使用单片机最小应用系统和蜂鸣器模块。

蜂鸣器模块的短路帽J1插到VCC方向,用导线将INT1接到蜂鸣器输入端。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“MUSIC.ASM”源程序,进行编译,直到编译无误。

4、全速运行程序,扬声器周期性的发出“八月桂花开”歌曲。

(添加“MUSIC1.ASM”程序为“祝你平安”歌曲)5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。

(ISP烧录器的使用查看附录二)六、流程图及源程序开始输出音频脉冲低电平延时输出音频脉冲高电平延时;标题 '祝你平安'发声程序ORG 0000HLJMP STARTORG 000BHINC 20H ;中断服务,中断计数器加1MOV TH0,#0D8HMOV TL0,#0EFH ;12M晶振,形成10毫秒中断RETISTART:mov dptr,#2000h ;站长添加,使得程序开始运行时在数码管上显示一个小数点 mov a,#80hmovx @dptr,aMOV SP,#50HMOV TH0,#0D8HMOV TL0,#0EFHMOV TMOD,#01HMOV IE,#82HMUSIC0:NOPMOV DPTR,#DAT ;表头地址送DPTRMOV 20H,#00H ;中断计数器清0MOV B,#00H ;表序号清0MUSIC1:NOPCLR AMOVC A,@A+DPTR ;查表取代码JZ END0 ;是00H,则结束CJNE A,#0FFH,MUSIC5LJMP MUSIC3MUSIC5:NOPMOV R6,AINC DPTRMOV A,BMOVC A,@A+DPTR ;取节拍代码送R7MOV R7,ASETB TR0 ;启动计数MUSIC2:NOPCPL P2.2MOV A,R6MOV R3,ALCALL DELMOV A,R7CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?;不等,则继续循环MOV 20H,#00H ;等于,则取下一代码cpl p1.0 ;站长添加,使得程序运行时小数点跟着音乐节拍闪烁 INC DPTRINC BLJMP MUSIC1MUSIC3:NOPCLR TR0 ;休止100毫秒MOV R2,#0DHMUSIC4:NOPMOV R3,#0FFHLCALL DELDJNZ R2,MUSIC4INC DPTRLJMP MUSIC1END0:NOPMOV R2,#64H ;歌曲结束,延时1秒后继续MUSIC6:MOV R3,#00HLCALL DELDJNZ R2,MUSIC6LJMP MUSIC0DEL:NOPDEL3:MOV R4,#02HDEL4:NOPDJNZ R4,DEL4NOPDJNZ R3,DEL3RETNOPDAT:db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h db20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h db2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h db20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h db20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h db20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h db20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h db18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h db30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h db39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h db 20h,10h,2bh,10h,26h,30h,30h,80h,00HEND七、电路图。

单片机实验报告蜂鸣器

单片机实验报告蜂鸣器

一、实验目的1. 熟悉51单片机的基本结构和工作原理。

2. 掌握51单片机的I/O口编程方法。

3. 学习蜂鸣器的驱动原理和应用。

4. 通过实验,提高动手实践能力和问题解决能力。

二、实验原理蜂鸣器是一种将电信号转换为声音信号的器件,常用于产生按键音、报警音等提示信号。

根据驱动方式,蜂鸣器可分为有源蜂鸣器和无源蜂鸣器。

1. 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定。

2. 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才能发声,调整提供振荡脉冲的频率,可发出不同频率的声音。

在本次实验中,我们使用的是无源蜂鸣器。

51单片机通过控制P1.5端口的电平,产生周期性的方波信号,驱动蜂鸣器发声。

三、实验器材1. 51单片机实验板2. 蜂鸣器3. 连接线4. 电路焊接工具5. 编程软件(如Keil)四、实验步骤1. 电路连接:- 将蜂鸣器的正极连接到51单片机的P1.5端口。

- 将蜂鸣器的负极接地。

2. 程序编写:- 使用Keil软件编写程序,实现以下功能:1. 初始化P1.5端口为输出模式。

2. 通过循环,不断改变P1.5端口的电平,产生方波信号。

3. 调整方波信号的频率,控制蜂鸣器的音调。

3. 程序下载:- 将程序下载到51单片机中。

4. 实验观察:- 启动程序后,观察蜂鸣器是否发声,以及音调是否与程序设置一致。

五、实验结果与分析1. 实验结果:- 成功驱动蜂鸣器发声,音调与程序设置一致。

2. 结果分析:- 通过实验,我们掌握了51单片机的I/O口编程方法,以及蜂鸣器的驱动原理。

- 在程序编写过程中,我们学习了方波信号的生成方法,以及如何调整方波信号的频率。

六、实验总结本次实验成功地实现了51单片机控制蜂鸣器发声的功能,达到了预期的实验目的。

通过本次实验,我们提高了以下能力:1. 对51单片机的基本结构和工作原理有了更深入的了解。

2. 掌握了51单片机的I/O口编程方法。

3. 学习了蜂鸣器的驱动原理和应用。

单片机《蜂鸣器》实验报告

单片机《蜂鸣器》实验报告

单片机《蜂鸣器》实验报告实验报告:蜂鸣器实验工具和器材:Proteus仿真软件,Keil程序编写软件,蜂鸣器,AT89C51单片机。

实验原理:蜂鸣器分为压电式和电磁式两种类型。

本实验采用的是电磁式蜂鸣器。

蜂鸣器又分为有源和无源两种类型。

本实验采用的是有源蜂鸣器。

通过51单片机和C程序,将程序所设计的算法与蜂鸣器电路连接起来,采用循环函数配合多个延时来实现各个音节的有规律发声,合成一首完整的音乐。

本实验采用较为简单的一首儿歌《两只老虎》来体现。

硬件电路说明:本实验使用电磁式蜂鸣器,蜂鸣器连接单片机P2.0端口,另一端接地。

通过C程序产生的hex文件控制蜂鸣器发声,播放一首完整的歌曲。

音节的曲调和间隔时间都是构成歌曲的一个重要部分,需要调节频率和利用延时函数。

控制发声频率要产生音频脉冲,只要算出某一音频的周期/频率,然后将此周期除以2(即为半周期的时间)。

利用定时器计时这半个周期时间,就可在I/O脚上得到此频率的脉冲。

利用AT89C51的内部定时器使其工作在计数器模式下,改变计数值TH0及TL0从而产生不同频率。

此外,结束符和休止符可以分别用代码00H和XXX来表示,若查表结果为0x00,则表示曲子终了;若查表结果为0xff,则产生相应的停顿效果。

软件程序说明:主函数采用while和for循环,并且引用延时函数,对各部分程序进行调用。

与采用一般的延时函数相比,可以分别控制歌曲各个音节的持续发声。

在主函数中,使用多个for循环来控制每个音节的起始和结束,以实现蜂鸣器对一首完整歌曲的播放。

通过调用不同的延时函数,实现有节奏的音节发声,并将它们串联起来。

在调用Beep函数时,需要进行定义。

在主函数中,分别在每个音节开始前后的两个for循环中调用Beep函数。

通过Beep=~Beep和Beep=1指令的调用,实现各个音节的发声和停止,从而控制歌曲的有节奏播放。

为了实现各个音节的延时发声,我们使用了多个延时程序,例如500ms和700ms。

单片机实验报告蜂鸣器

单片机实验报告蜂鸣器

单片机实验报告蜂鸣器单片机实验报告:蜂鸣器引言:单片机是现代电子技术中的重要组成部分,其广泛应用于各个领域。

蜂鸣器作为一种常见的声音输出设备,在单片机实验中也被广泛使用。

本文将介绍蜂鸣器的原理、实验过程以及实验结果,并对实验中遇到的问题进行分析和解决。

一、蜂鸣器的原理蜂鸣器是一种能够产生声音的装置,其原理基于压电效应。

压电材料在受到外力作用时会产生电荷,而当外力消失时,压电材料则会产生相反方向的电荷。

利用这种特性,蜂鸣器可以通过施加电压来使压电材料振动,从而产生声音。

二、实验过程1. 准备工作:首先,我们需要准备一块单片机开发板、一个蜂鸣器和相关电路连接线。

2. 连接电路:将单片机的IO口与蜂鸣器连接,注意正确连接正负极。

一般情况下,蜂鸣器的正极连接到单片机的IO口,负极连接到GND。

3. 编写程序:使用单片机开发工具,编写一个简单的程序来控制蜂鸣器。

例如,我们可以通过控制IO口的高低电平来控制蜂鸣器的开关状态。

4. 烧录程序:将编写好的程序烧录到单片机中。

5. 实验测试:将单片机开发板连接到电源,观察蜂鸣器是否发出声音。

可以通过改变程序中IO口的电平来控制蜂鸣器的开关状态,从而产生不同的声音。

三、实验结果经过实验,我们成功地控制了蜂鸣器的开关状态,并产生了不同的声音效果。

通过改变程序中IO口电平的高低,我们可以调节蜂鸣器的频率和音调。

此外,我们还可以通过控制IO口的输出时间来调节蜂鸣器发声的时长。

四、问题分析与解决在实验过程中,我们可能会遇到一些问题,例如蜂鸣器无法发声或声音不稳定等。

这些问题可能是由以下原因引起的:1. 连接错误:检查蜂鸣器的正负极是否正确连接到单片机的IO口和GND。

确保连接线没有松动或接触不良。

2. 程序错误:检查程序中的代码是否正确,特别是IO口的控制部分。

确保程序正确地控制了蜂鸣器的开关状态。

3. 电源问题:检查单片机开发板的电源是否正常。

如果电源电压不稳定,可能会导致蜂鸣器无法正常工作。

五、单片机学习——继电器与蜂鸣器实验

五、单片机学习——继电器与蜂鸣器实验

五、单⽚机学习——继电器与蜂鸣器实验实验⽬的:理解并掌握继电器和蜂鸣器驱动电路的⼯作原理; 理解并掌握⽤单⽚机 I/O 驱动⼤电流器件的驱动⽅法;实验模块:核⼼板+流⽔灯与独⽴按键模块+继电器模块+蜂鸣器模块;实验内容:按键控制继电器和蜂鸣器动作,并⽤相应的 led 灯进⾏指⽰,即第⼀ 个按键按下,第⼀位 led 灯点亮,蜂鸣器响应;第⼆个按键按下,第⼆位 led 灯点亮,继电器吸合;第三个按键按下,第⼀个、第⼆个流⽔灯点亮,继电器吸 合、蜂鸣器响应;第四个按键按下,恢复初始状态,所有的 led 灯熄灭、继电器 断开、蜂鸣器不响应。

模块连接图:电路原理图:电路驱动原理:(1)蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产⽣磁场来驱动振动膜发声的,仅仅依靠单⽚机 I/O 不⾜以驱动蜂鸣器进⾏⼯作;蜂鸣器的正极接到三极管的 C 极上⾯,蜂鸣器的负极接到地端,三极管的基极 B 经过限流电阻后由单⽚机的 P1.2 引脚控制,当 P1.2 输出⾼电平时,三极管 T1 截⽌,没有电流流过线圈,蜂鸣器不发声;当 P1.42 输出低电平时,三极管导通,这样蜂鸣器的电流形成回路,发出声⾳。

因此,我们可以通过程序控制 P1.2 脚的电平来使蜂鸣器发出声⾳或关闭。

(2)继电器驱动电路如上,主要通过 PNP 型的三极管 S8550 来实现通过单⽚机的 I/O ⼝控制继电器的吸合与断开;三极管驱动继电器主要是应⽤三极管的放⼤特性和开关特性;当与单⽚机相连的 I/0 ⼝输出低电平时,三极管导通,此时三极管的 E 极(发射极)与 C 极(集电极)间的阻值很⼩,此时电路相当于 VCC 经过继电器,再经过通过三极管接到地形成完整回路,继电器吸合;相反,当与单⽚机相连的 I/0⼝输出⾼电平时,三极管截⽌,此时三极管的 E 极(发射极)与 C 极(集电极)间的阻值很⼤,电路⽆法形成回路,继电器不吸合。

因此,我们可以通过程序控制与单⽚机相连 I/O ⼝的电平来控制继电器的吸合与关闭。

中断及蜂鸣器实验报告

中断及蜂鸣器实验报告

一、实验目的1. 理解中断系统的基本原理和工作方式。

2. 掌握51单片机中断系统的使用方法。

3. 学习使用蜂鸣器进行声音输出。

4. 通过实验,加深对中断系统和蜂鸣器应用的理解。

二、实验原理1. 中断系统:中断系统是计算机系统中用于处理外部事件的一种机制。

当CPU正在执行程序时,如果发生了某个外部事件,CPU会暂停当前程序的执行,转而处理这个外部事件,处理完毕后再返回原来程序继续执行。

中断系统主要由中断源、中断控制器、中断服务程序等组成。

2. 51单片机中断系统:51单片机具有5个中断源,分别是外部中断0、外部中断1、定时器/计数器中断0、定时器/计数器中断1和串行口中断。

每个中断源对应一个中断请求标志,当某个中断请求标志被置位时,CPU会响应中断,并调用对应的中断服务程序。

3. 蜂鸣器:蜂鸣器是一种电磁声音变换器,它利用电信号的变化产生声音。

当给蜂鸣器提供合适的电压和频率时,蜂鸣器会发出声音。

三、实验内容与步骤1. 实验器材:51单片机实验板、蜂鸣器、连接线、电源等。

2. 实验步骤:(1)搭建实验电路:将蜂鸣器连接到51单片机的P1.0端口,为蜂鸣器提供合适的电压和频率。

(2)编写程序:使用C语言编写程序,实现以下功能:a. 初始化中断系统:设置中断优先级,使外部中断0具有最高优先级。

b. 编写外部中断0的中断服务程序:当外部中断0发生时,控制蜂鸣器发出声音。

c. 编写主程序:使CPU不断检测外部中断0是否发生,当发生时调用中断服务程序。

(3)编译程序:使用Keil软件编译程序,生成可执行文件。

(4)下载程序:使用51单片机实验板将编译好的程序下载到单片机中。

(5)测试实验:给外部中断0输入信号,观察蜂鸣器是否发出声音。

四、实验结果与分析1. 实验结果:给外部中断0输入信号时,蜂鸣器发出声音,说明中断系统工作正常。

2. 分析:a. 通过实验,我们了解了中断系统的工作原理和51单片机中断系统的使用方法。

单片机《蜂鸣器》实验报告

单片机《蜂鸣器》实验报告

单片机《蜂鸣器》实验报告单片机《蜂鸣器》实验报告一、实验目的本次实验旨在通过单片机的控制,实现对蜂鸣器的驱动和发声控制,进一步了解蜂鸣器的工作原理及应用。

二、实验原理蜂鸣器是一种电子发声器件,常用于发出警告、提示或声音信号。

其工作原理是利用电磁感应原理,在蜂鸣器线圈中通入电流时,会产生磁场,该磁场与蜂鸣器内部的一块磁铁产生相互作用力,使蜂鸣器内部的膜片发生振动,从而发出声音。

在本实验中,我们将通过单片机控制蜂鸣器的驱动信号,使其发出不同的声音,从而实现单片机对蜂鸣器的控制。

三、实验步骤1、准备实验器材:单片机开发板、蜂鸣器模块、杜邦线等。

2、将蜂鸣器模块连接至单片机开发板的某个数字引脚上。

3、通过单片机编程软件编写控制程序,实现对蜂鸣器的控制。

4、将编写好的程序下载到单片机开发板中,并进行调试。

5、通过单片机控制蜂鸣器发出不同的声音,观察其工作情况。

四、实验结果与分析1、实验结果通过本次实验,我们成功实现了单片机对蜂鸣器的控制,可以通过编写不同的程序,使蜂鸣器发出不同的声音。

以下是实验中蜂鸣器发出的声音及其对应的程序代码:(1) 发出“滴”的一声(2) 发出“嘟嘟”的警告声2、结果分析通过实验结果可以看出,通过单片机对蜂鸣器进行控制,可以实现发出不同声音的效果。

在第一个实验中,我们通过设置引脚的高低电平及延时时间,使蜂鸣器发出一声“滴”的声音。

在第二个实验中,我们通过一个无限循环,使蜂鸣器发出“嘟嘟”的警告声。

五、结论与展望通过本次实验,我们深入了解了蜂鸣器的工作原理及应用,并成功实现了单片机对蜂鸣器的控制。

实验结果表明,我们可以根据实际需要编写不同的程序,实现对蜂鸣器的灵活控制。

展望未来,我们可以进一步研究蜂鸣器的其他应用场景,例如在智能家居、机器人等领域中的应用。

我们也可以通过其他方式对蜂鸣器进行控制,例如通过传感器采集信号或者通过无线网络进行远程控制等。

51单片机项目教程项目 5 蜂鸣器实验

51单片机项目教程项目 5  蜂鸣器实验

图5- 9蜂鸣器实物结果
当SM0、SM1=01时,串行口设为方式1的双机串行通信。TXD脚和 RXD脚分别用于发送和接收数据。
5.2技术准备
方式1发送时,数据位由TXD端输出,发送一帧信息为10位:1位起始 位0,8位数据位(先低位)和1位停止位1。当CPU执行一条数据写 SBUF的指令,就启动发送。发送开始时,内部发送控制信号变为有 效,将起始位向TXD脚(P3.0)输出,此后每经过一个TX时钟周期, 便产生一个移位脉冲,并由TXD引脚输出一个数据位。8位数据位全部 发送完毕后,中断标志位TI置1。 方式1接收时(REN = 1),数据从RXD(P3.1)引脚输入。当检测到 起始位的负跳变,则开始接收。当一帧数据接收完毕后,同时满足以 下两个条件,接收才有效。 (1)RI = 0,即上一帧数据接收完成时,RI = 1发出的中断请求已被 响应,SBUF中的数据已被取走,说明“接收SBUF”已空。 (2)SM2 = 0或收到的停止位 = 1(方式1时,停止位已进入RB8), 则将接收到的数据装入SBUF和RB8(装入的是停止位),且中断标 志RI置“1”。
5.2技术准备
5.2.2 了解实验板蜂鸣器电路
图5- 3蜂鸣器电路
5.2技术准备
5.2.3 蜂鸣器驱动电路
蜂鸣器驱动电路如图5-4所示。
图5- 4蜂鸣器驱动电路
5.2技术准备
5.2.4串行口的结构
单片机串口结构如图5-5所示。有两个物理上独立的接收、发送缓冲器 SBUF(属于特殊功能寄存器),可同时发送、接收数据。控制寄存器共 有两个:特殊功能寄存器SCON和PCON。发送和接收引脚分别是TXD (P3.0)和RXD(P3.1)。
SM0 0 0 1 1 SM1 0 1 0 1 工作 方式 0 1 2 3 功能简介 移位寄存器 8位UART 9位UART 9位UART 比特率 OSC/12 可变 OSC/32或 OSC/64 可变

基于51单片机的蜂鸣器实验

基于51单片机的蜂鸣器实验

第5讲
蜂鸣器的使用
蜂鸣器的发声
• 本讲任务: •如何驱动蜂鸣器发声 •简单蜂鸣器发声实验 •给上节课的流水灯加入报警效果 •蜂鸣器演奏音器:有绿色电路板的一
种是无源蜂鸣器,没有电路板而用黑胶封 闭的一种是有源蜂鸣器。
蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,
蜂鸣器驱动电路
由于蜂鸣器的工作电流一般比较大,
以致于单片机的I/O 口是无法直接 驱动的,所以要利用放大电路来驱 动,一般使用三极管来放大电流就 可以了
了解一下实验板蜂鸣器电路
蜂鸣器软件设计方法
• 软件设计方法 • IO口电平取反方法:I/O 口的电平进行翻转一 次,直到蜂鸣器不需要鸣叫的时候,将I/O 口 的电平设置为高电平即可。
广泛应用于计算机、打印机、复印机、报警器、电子玩具、 汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂 鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、 “JD”等)表示。 有源蜂鸣器和无源蜂鸣器:判断有源蜂鸣器和无源蜂鸣器, 还可以用万用表电阻档Rxl档测试:用黑表笔接蜂鸣器"+"引脚, 红表笔在另一引脚上来回碰触,如果触发出咔、咔声的且电 阻只有8Ω(或16Ω)的是无源蜂 蜂鸣器,如果能发出持续声音 的,且电阻在几百欧以上的,是有源蜂鸣器。
有源蜂鸣器和无源蜂鸣器
这里的“源”不是指电源。而是指震荡源。 也就是 说有源蜂鸣器内部带震荡源,所以只要一通电就会 叫。 而无源内部不带震荡源,所以如果用直流信号无法 令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震 荡电路。 无源蜂鸣器的优点是:1。便宜,2。声音频率可控, 可以做出“多来米发索拉西”的效果。3。在一些 特例中,可以和LED复用一个控制口 有源蜂鸣器的 优点是:程序控制方便 。

单片机蜂鸣器实验报告

单片机蜂鸣器实验报告

一、实验目的1. 了解单片机I/O的工作方式;2. 熟悉51单片机的汇编指令;3. 掌握蜂鸣器的工作原理及驱动方法;4. 学会通过单片机控制蜂鸣器发声,实现音乐播放功能。

二、实验原理1. 单片机:单片机是一种具有微处理器的集成电路,它将微处理器、存储器、输入/输出接口等集成在一个芯片上,具有体积小、功耗低、成本低等特点。

2. 蜂鸣器:蜂鸣器是一种将电信号转化为声音信号的装置,广泛应用于计算机、打印机、复印机、报警器、电子玩具等电子产品中。

蜂鸣器主要分为有源蜂鸣器和无源蜂鸣器两种类型。

有源蜂鸣器内置振荡源,可直接发声;无源蜂鸣器无内置振荡源,需要控制器提供振荡脉冲才能发声。

3. 51单片机与蜂鸣器连接:51单片机通过P1.0端口控制蜂鸣器,当P1.0端口输出高电平时,蜂鸣器发声;输出低电平时,蜂鸣器停止发声。

三、实验器材1. 51单片机实验板;2. 蜂鸣器;3. 连接线;4. 信号源;5. 示波器;6. 计算机及仿真软件(如Proteus)。

四、实验步骤1. 将蜂鸣器连接到51单片机实验板的P1.0端口;2. 编写程序,实现以下功能:(1)初始化51单片机系统;(2)通过P1.0端口控制蜂鸣器发声;(3)实现音乐播放功能;3. 将程序烧录到51单片机实验板;4. 使用示波器观察蜂鸣器发出的声音波形;5. 使用信号源模拟按键输入,验证蜂鸣器控制功能;6. 使用Proteus仿真软件验证程序功能。

五、实验结果与分析1. 通过实验,成功实现了51单片机控制蜂鸣器发声,验证了单片机I/O的工作方式和51单片机的汇编指令;2. 实现了音乐播放功能,验证了蜂鸣器的工作原理及驱动方法;3. 通过示波器观察,蜂鸣器发出的声音波形符合预期,验证了程序的正确性;4. 通过Proteus仿真软件,验证了程序在虚拟环境中的正确性。

六、实验总结1. 通过本次实验,掌握了单片机I/O的工作方式,熟悉了51单片机的汇编指令;2. 理解了蜂鸣器的工作原理及驱动方法,学会了通过单片机控制蜂鸣器发声;3. 提高了动手实践能力,培养了团队协作精神。

51单片机__蜂鸣器音乐——梁祝

51单片机__蜂鸣器音乐——梁祝

51单片机__蜂鸣器音乐——梁祝单片机实训-----蜂鸣器一、设计思路学习案例中的实例程序,通过对程序的修改,使蜂鸣器能发出音乐二、程序代码#includesbit speaker = P3^6;unsigned char timer0h, timer0l, time;//--------------------------------------//单片机晶振采用11.0592MHz// 频率-半周期数据表高八位本软件共保存了四个八度的28个频率数据code unsigned char FREQH[] = {0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, //低音12345670xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, //高音2345670xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF}; //超高音1234567// 频率-半周期数据表低八位code unsigned char FREQL[] = {0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6, //低音12345670x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D, //高音2345670x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16}; //超高音1234567 //--------------------------------------/*unsigned char code sszymmh[] = {3,2,3,5,2,1,6,2,2,5,2,1,6,2,1,1,3,4,6,2,3,1,3,1,3,2,2,2,2,1,3,2,1,5,2,4,5,2,3,3,2,1,6,2,2,3,2,1,2,2,1,1,2,4,5,2,3,3,2,1,2,2,3,6,1,1,1,2,4,1,2,4,1,3,3,6,2,1,5,2,2,6,2,1,6,2,1,5,2,1,5,2,4,5,2,3,6,2,1,1,2,1,2,2,1,5,2,1,3,2,4,2,2,3,3,2,1,5,2,2,1,3,2,6,2,1,5,2,1,3,2,1,2,2,1,1,2,4,6,2,3,1,3,1,5,2,1,3,2,1,2,2,2,6,1,1,1,2,1,1,2,4,6,2,3,1,3,1,5,2,1,3,2,1,2,2,2,1,2,4,6,2,3,1,3,1,5,2,1,3,2,1,2,2,2,6,1,1,1,2,1,1,2,4,6,2,3,1,3,1,5,2,1,3,2,1,2,2,2,6,1,1,1,2,1,1,2,4,0, 0, 0}*/unsigned char code sszymmh[] = {1,2,3,2,2,1,6,1,1,1,2,1,5,1,2,5,2,3,1,3,1,6,2,1,5,2,1,3,2,1,5,2,1,2,2,4,2 ,2,3,3,2,1,7,1,2,6,1,2,5,1,3,6,1,1,1,2,2,2,2,2,3,1,2,1,2,2,6,1,1,5,1,1,6,1,1,1,2,1,5,1 ,4,3,2,3,5,2,1,7,1,2,2,2,2,6,1,1,1,2,1,5,1,4,3,1,1,5,1,2,3,1,2,5,1,1,6,1,1,7,1,1,2,2,1,6,1,4,5,1, 1,6,1,1,1,2,3,2,2,1,5,2,2,3,2,2,2,2,2,3,2,1,2,2,1,1,2,2,6,1,1,5,1,1,3,1,2,3,1,4,1,2,4,6,1,3, 1,2,1,6,1,1,5,1,1, 3,1,1,5,1,1,6,1,1,1,2,1,5,1,4,0, 0, 0};//梁祝void t0int() interrupt 1 //T0中断程序,控制发音的音调{TR0 = 0; //先关闭T0speaker = !speaker; //输出方波, 发音TH0 = timer0h; //下次的中断时间, 这个时间, 控制音调高低TL0 = timer0l;TR0 = 1; //启动T0}//--------------------------------------void delay(unsigned char t) //延时程序,控制发音的时间长度{unsigned char t1;unsigned long t2;for(t1 = 0; t1 < t; t1++) //双重循环, 共延时t个半拍for(t2 = 0; t2 < 8000; t2++); //延时期间, 可进入T0中断去发音TR0 = 0; //关闭T0, 停止发音}//--------------------------------------void song() //演奏一个音符{TH0 = timer0h; //控制音调TL0 = timer0l;TR0 = 1; //启动T0, 由T0输出方波去发音delay(time); //控制时间长度}//--------------------------------------void main(void){unsigned char k, i;TMOD = 1; //置T0定时工作方式1ET0 = 1; //开T0中断EA = 1; //开CPU中断while(1) {i = 0;time = 1;while(time) {k = sszymmh[i] + 7 * sszymmh[i + 1] - 1;//第i个是音符, 第i+1个是第几个八度timer0h = FREQH[k]; //从数据表中读出频率数值timer0l = FREQL[k]; //实际上, 是定时的时间长度time = sszymmh[i + 2]; //读出时间长度数值i += 3;song(); //发出一个音符}}}三、实验结果蜂鸣器发出梁祝的音乐,结果视频见结果视频文件夹。

51单片机驱动蜂鸣器发声的实验

51单片机驱动蜂鸣器发声的实验

51单片机驱动蜂鸣器发声的实验
在单片机系统中,除了显示器件外经常用到发声器件,最常见的发声器件就是蜂鸣器。

蜂鸣器一般用于一些要求不高的声音报警及发出按键操作提示音等。

虽然蜂鸣器也有自己固有的频率,但是也可以对其施加不同频率的方波,使之发出一些简单的乐曲。

1.实例功能
使蜂鸣器发声。

通过本实验,能熟练掌握蜂鸣器的应用方法。

2.器件和原理
蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音,使用起来比扬声器简单。

由此可见,其控制与LED的控制是没有区别的。

3.硬件电路
虽然单片机对蜂鸣器的控制和对LED的控制是一样的,但硬件电路却
有所不同。

因为蜂鸣器是感性负载,一般不建议用单片机的I/0口直接对其进
行操作,最好是加一只驱动三极管。

在要求较高的场合,还要加上一只反相保护二极管。

本实验因为是以学习为目的所以没有加反相二极管保护。

51综合学习系统如上图所示,蜂鸣实验相关硬件电路见下图。

三极管为PNP型,要使蜂鸣器发声,只要将单片机P37口置为低电平就可以了。

4.程序设计。

基于c51单片机编写简单蜂鸣器音乐程序的方法

基于c51单片机编写简单蜂鸣器音乐程序的方法
{
uint i;
for(i=0;i<jp;i++)
{
sound(s);
if(s==0xff)break;
}
}
//*******************************************************************
void main()//主函数
{
while(1)
{
c=0;//用来使数组从头开始读取
/*3*/case 0x0d:j=s/330;break;case 0x0e:j=s/659;break;case 0x0f:j=s/1318;break;
/*4*/case 0x10:j=s/349;break;case 0x11:j=s/370;break;case 0x12:j=s/698;break;case 0x13:j=s/740;break;case 0x14:j=s/1379;break;case 0x15:j=s/1480;break;
0x01,0x0d,0x16,0x1c,0xff,0x1c,0x1c,0x16,0x07,0x07,0x10,0x0d,0xff, 0x01,0x0d,0x16,0x1c,0xff,
0x1c,0x1c,0x22,0x1c,0x16,0x10,0x0d,0x10,0x0d,0x07,0x01,0x00} ;//*
uint code music[]=//这是一个“童话”谱子的数组,与m_t()子程序中的十六进制数一一对应,0xff代表每次音乐的停顿,0x00表示音乐的结束
{0x16,0x10,0x0d,0xff, 0x0d,0x10,0x0d, 0xff, 0x0d,0x10,0x0d,0x10,0x0d,0x07,0x01,0xff,

单片机蜂鸣器课程设计

单片机蜂鸣器课程设计

单片机蜂鸣器课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握蜂鸣器的功能和使用方法;2. 使学生掌握利用单片机编程控制蜂鸣器发出不同频率声音的技巧;3. 帮助学生了解单片机在现实生活中的应用,拓宽知识视野。

技能目标:1. 培养学生动手实践能力,能够独立完成单片机蜂鸣器电路的搭建;2. 提高学生编程能力,使其能够编写简单的控制程序,实现对蜂鸣器的控制;3. 培养学生团队协作能力,学会在项目实施过程中与他人合作、交流。

情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养探究精神;2. 培养学生严谨、细致的学习态度,提高解决问题的自信心;3. 增强学生的创新意识,鼓励他们在实际应用中发挥创造力。

课程性质:本课程为实践性较强的课程,旨在培养学生的动手能力、编程能力和团队协作能力。

学生特点:学生具备一定的单片机基础知识和编程能力,对实践操作有较高的兴趣。

教学要求:教师应注重理论与实践相结合,关注学生个体差异,提供个性化指导,确保课程目标的实现。

在教学过程中,将目标分解为具体的学习成果,便于后续教学设计和评估。

二、教学内容1. 单片机基础知识回顾:C51语言基础、单片机工作原理、I/O口控制;2. 蜂鸣器原理介绍:蜂鸣器种类、工作原理、应用场景;3. 单片机控制蜂鸣器编程:编写控制程序,实现蜂鸣器发出不同频率声音;4. 电路搭建与调试:设计并搭建单片机与蜂鸣器的电路连接,进行程序下载和调试;5. 实践项目:分组进行项目实践,每组完成一个具有实际应用场景的单片机蜂鸣器控制系统设计;6. 知识拓展:介绍单片机在其他电子设备中的应用,激发学生学习兴趣。

教学内容安排与进度:第一课时:回顾单片机基础知识,介绍蜂鸣器原理;第二课时:讲解单片机控制蜂鸣器编程方法,进行示例演示;第三课时:指导学生搭建电路,进行程序下载和调试;第四课时:分组进行项目实践,教师巡回指导;第五课时:展示项目成果,进行评价和总结。

单片机蜂鸣器实验报告

单片机蜂鸣器实验报告

单片机蜂鸣器实验报告单片机蜂鸣器实验报告引言:单片机蜂鸣器是一种常用的电子元件,广泛应用于各种电子设备中。

本篇实验报告旨在介绍单片机蜂鸣器的基本原理和实验过程,并探讨其在不同应用场景中的应用。

一、实验目的:本次实验的主要目的是通过使用单片机控制蜂鸣器发出不同频率的声音,了解蜂鸣器的工作原理及其在电子设备中的应用。

二、实验器材和原理:1. 实验器材:- 单片机开发板- 蜂鸣器- 连接线- 电源2. 实验原理:蜂鸣器是一种能够发出声音的电子元件,它通过振动产生声音。

在单片机蜂鸣器实验中,我们使用单片机控制蜂鸣器的振动频率,从而产生不同的声音。

三、实验步骤:1. 连接电路:将蜂鸣器的正极连接到单片机开发板的IO口,将蜂鸣器的负极连接到开发板的地线。

确保连接稳固。

2. 编写程序:使用单片机开发板的编程软件,编写程序来控制蜂鸣器的振动频率。

可以通过调整程序中的延时时间来改变蜂鸣器发声的频率。

3. 上传程序:将编写好的程序通过USB线上传到单片机开发板中。

4. 运行实验:将电源接入单片机开发板,开启电源。

单片机将根据程序中设定的频率控制蜂鸣器发声。

四、实验结果与分析:通过修改程序中的延时时间,我们可以改变蜂鸣器发声的频率。

实验中,我们尝试了不同的延时时间,并观察了蜂鸣器发声的效果。

在较短的延时时间下,蜂鸣器发出的声音频率较高,声音连续不断。

而在较长的延时时间下,蜂鸣器发出的声音频率较低,声音间隔较长。

通过实验结果分析,我们可以得出结论:蜂鸣器的发声频率与延时时间成反比关系。

延时时间越短,蜂鸣器发声的频率越高;延时时间越长,蜂鸣器发声的频率越低。

五、实验应用:单片机蜂鸣器在实际应用中有着广泛的用途。

以下是几个常见的应用场景:1. 报警系统:将蜂鸣器连接到报警设备中,当设备检测到异常情况时,通过单片机控制蜂鸣器发出警报声,提醒用户注意。

2. 电子钟:通过单片机控制蜂鸣器发出定时的滴答声,实现电子钟的功能。

3. 游戏设备:将蜂鸣器连接到游戏设备中,通过单片机控制蜂鸣器发出不同的声音,增加游戏的趣味性和互动性。

单片机实验报告蜂鸣器

单片机实验报告蜂鸣器

单片机实验报告蜂鸣器单片机实验报告:蜂鸣器引言在现代科技发展迅猛的时代,单片机已经成为了各种电子设备中不可或缺的重要部分。

而蜂鸣器作为一种常见的声响器件,也被广泛应用在各种电子产品中。

本实验旨在通过单片机控制蜂鸣器,实现不同频率和节奏的声音输出,并对蜂鸣器的工作原理进行深入理解。

实验目的1. 了解蜂鸣器的工作原理;2. 掌握单片机控制蜂鸣器的方法;3. 实现不同频率和节奏的声音输出。

实验原理蜂鸣器是一种能够发出声音的电子元件,其工作原理是利用电流通过振动片产生声音。

在实验中,我们将通过单片机控制蜂鸣器的工作频率和节奏,从而实现不同的声音效果。

实验步骤1. 连接电路:将单片机和蜂鸣器按照电路图连接好;2. 编写程序:使用C语言编写单片机控制蜂鸣器的程序;3. 烧录程序:将编写好的程序烧录到单片机中;4. 调试程序:通过调试程序,实现不同频率和节奏的声音输出;5. 实验结果:记录实验中不同声音效果的输出结果。

实验结果经过实验,我们成功地通过单片机控制蜂鸣器,实现了不同频率和节奏的声音输出。

通过调试程序,我们可以轻松地改变蜂鸣器的声音效果,包括音调的高低和声音的持续时间等。

这些实验结果充分展示了单片机控制蜂鸣器的强大功能和灵活性。

实验总结通过本次实验,我们深入理解了蜂鸣器的工作原理,并掌握了单片机控制蜂鸣器的方法。

同时,我们也实现了不同频率和节奏的声音输出,为以后的电子产品设计和开发提供了有力的支持。

相信通过这次实验,我们对单片机和蜂鸣器的应用有了更深入的认识,为我们的学习和科研工作打下了坚实的基础。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.2技术准备
无源蜂鸣器的优点是: 1)便宜, 2)声音频率可控,可以做出“多来米发索拉西”的效果。 3)在一些特例中,可以和LED复用一个控制口有源蜂鸣器的优点是: 程序控制方便。 蜂鸣器驱动电路 由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无 法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大 电流就可以了。 蜂鸣器软件设计方法 IO口电平取反方法:I/O 口的电平进行翻转一次,直到蜂鸣器不 需要鸣叫的时候,将I/O 口的电平设置为高电平即可。
5.2技术准备
5.2.1 蜂鸣器硬件实物
在图片上认识蜂鸣器:有绿色电路板的一种是无源蜂鸣器,没有电路板而 用黑胶封闭的一种是有源蜂鸣器。
图5- 1无源蜂鸣器
图5- 2有源蜂鸣器
有源蜂鸣器和无源蜂鸣器 这里的“源”不是指电源。而是指震荡源。也就是说有源蜂鸣器内部带震荡源,所以只 要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波 去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
5.2技术准备
5.2.2 了解实验板蜂鸣器电路
图5- 3蜂鸣器电路

5.2技术准备
5.2.3 蜂鸣器驱动电路
蜂鸣器驱动电路如图5-4所示。
图5- 4蜂鸣器驱动电路
5.2技术准备
5.2.4串行口的结构
单片机串口结构如图5-5所示。有两个物理上独立的接收、发送缓冲器 SBUF(属于特殊功能寄存器),可同时发送、接收数据。控制寄存器共 有两个:特殊功能寄存器SCON和PCON。发送和接收引脚分别是TXD (P3.0)和RXD(P3.1)。
SM0 0 0 1 1 SM1 0 1 0 1 工作 方式 0 1 2 3 功能简介 移位寄存器 8位UART 9位UART 9位UART 比特率 OSC/12 可变 OSC/32或 OSC/64 可变
(UART 是一个将并行输入转为串行输出的芯片,集成在单片机内,了解即可)(OSC:晶 振频率)
5.2技术准备
当SM0、SM1=01时,串行口设为方式1的双机串行通信。TXD脚和 RXD脚分别用于发送和接收数据。
5.2技术准备
方式1发送时,数据位由TXD端输出,发送一帧信息为10位:1位起始 位0,8位数据位(先低位)和1位停止位1。当CPU执行一条数据写 SBUF的指令,就启动发送。发送开始时,内部发送控制信号变为有 效,将起始位向TXD脚(P3.0)输出,此后每经过一个TX时钟周期, 便产生一个移位脉冲,并由TXD引脚输出一个数据位。8位数据位全部 发送完毕后,中断标志位TI置1。 方式1接收时(REN = 1),数据从RXD(P3.1)引脚输入。当检测到 起始位的负跳变,则开始接收。当一帧数据接收完毕后,同时满足以 下两个条件,接收才有效。 (1)RI = 0,即上一帧数据接收完成时,RI = 1发出的中断请求已被 响应,SBUF中的数据已被取走,说明“接收SBUF”已空。 (2)SM2 = 0或收到的停止位 = 1(方式1时,停止位已进入RB8), 则将接收到的数据装入SBUF和RB8(装入的是停止位),且中断标 志RI置“1”。
图5- 5单片机串口结构
5.2技术准备
1. 串行口控制寄存器SCON 字节地址98H,可位寻址,位地址为98H~9FH。格式如图5-6所示。
图5- 6串行口控制寄存器SCON
SCON中各位的功能请参考相关原理书籍,其中SM0、SM1两位编码所对应的4种 工作方式见表5-1。有关4种通信方式描述见下一节。 表5-1 SM0、SM1组合设置串行端口的工作方式
方式2接收
SM0、SM1=10,且REN = 1时,以方式2接收数据。数据由RXD端输入,接 收11位信息。当位检测逻辑采样到RXD的负跳变,判断起始位有效,便开始接 收一帧信息。在接收完第9位数据后,需满足以下两个条件,才能将接收到的 数据送入SBUF(接收缓冲器)。
项目 5 蜂鸣器实验
项目目标 通过控制蜂鸣器发声来了解 C51 的 I/O 口。 建议学时
4 学时
需要掌握的知识 1 .使用放大电路
2 .蜂鸣器
需要掌握的技能 懂得 I/O 口程序编写
学会设计放大电路
5.1项目分析
本项目是单片机最小系统的简单应用。设计一个单片机的最 小系统,利用P1.0引脚输出点位的变化,控制蜂鸣器的鸣叫,P1.0 引脚的电位变化可以通过指令来控制。
方式0发送时,串行数据由P3.0(RXD端)送出,移位脉冲由P3.1 (TXD端)送出。在移位脉冲的作用下,串行口发送缓冲器的数据逐 位地从P3.0串行移入外接移位寄存器中。
方式0接收时,引脚RXD为数据输入端,TXD为移位脉冲信号输出 端,接收器以fosc/12的固定波特率采样RXD引脚的数据信息,当接收 完8位数据时,中断标志RI置1,表示一帧数据接收完毕,可进行下一 帧数据的接收 方式0时,SM2位(多机通信控制位)必须为0。 2. 方式1
若不同时满足两个条件,收的数据不能装入SBUF,该帧数据将丢 弃。
5.2技术准备
3. 方式2 和方式3 方式2和方式3,为9位异步通信接口。每帧数据为11位,1位起始位0,8位数 据位(先低位),1位可程控为1或0的第9位数据和1位停止位。除了波特率 外,方式3和方式2相同。 方式2发送
发送前,先根据通信协议由软件设置TB8(如奇偶校验位或多机通信的地址/数 据标志位),然后将要发送的数据写入SBUF,即启动发送。TB8自动装入第9 位数据位,逐一发送。发送完毕,使TI位置“1”。
2. 特殊功能寄存器PCON 字节地址为87H,不能位寻址。格式如图5-7所示。
图5- 7特殊功能寄存器PCON 仅最高位SMOD与串口有关,SMOD:波特率选择位。当SMOD = 1 时,要比SMOD = 0时的波特率加倍,所以也称SMOD位为波特率倍增 位。
5.2技术准备
5.2.5串行口的4种工作方式和波特率 1. 方式0 为同步移位寄存器输入/输出方式。该方式并不用于两个AT89S51单片 机之间的异步串行通信,而是用于串行口外接移位寄存器,扩展并行 I/O口。
相关文档
最新文档