19、51单片机视频教程 HL-1 蜂鸣器报警实验
- 格式:pdf
- 大小:11.78 MB
- 文档页数:21
原创)51单片机C语言程序设计--速学教程实例(入门篇)之蜂鸣器报警/******************************************************************* *******//* 名称:蜂鸣器报警演示 *//* 作者:苏涛*//* 时间:2011-01-18 * //* 单位:安徽建筑工业学院电子与信息工程学院 *//* 07级电子信息工程专业二班 *//******************************************************************* *******/#include <reg52.h> //头文件调用,写程序时都要加上#define uint unsigned int //宏定义,为了后面定义变量书写简便#define uchar unsigned charsbit SPK=P1^2; //定义喇叭端口/******************************************************************/ /* 名称:延时函数 *//* 功能:C语言中常用的while循环延时方法 *//* 延时长短可以通过变量初值来改变 */ /******************************************************************/ void delay(unsigned int cnt){while(--cnt);}/******************************************************************/ /* 名称:主函数 *//* 功能:有间隔地使蜂鸣器报警 *//******************************************************************/ void main(){uint i;while(1){for(i=0;i<200;i++)//喇叭发声的时间循环,改变大小可以改变发声时间长短{delay(80); //参数决定发声的频率,估算值,可以自行更改参数SPK=!SPK;}SPK=1; //喇叭停止工作,间歇的时间,可更改delay(20000);}}。
基于51单片机的温度报警器设计引言:温度报警器是一种用来检测环境温度并在温度超过设定阈值时发出警报的装置。
本文将基于51单片机设计一个简单的温度报警器,以帮助读者了解如何利用单片机进行温度监测和报警。
一、硬件设计硬件设计包括传感器选择、电路连接以及报警装置的设计。
1.传感器选择温度传感器的选择非常重要,它决定了监测温度的准确性和稳定性。
常见的温度传感器有热敏电阻(如NTC热敏电阻)、热电偶以及数字温度传感器(如DS18B20)。
在本设计中,我们选择使用DS18B20数字温度传感器,因为它具有高精度和数字输出的优点。
2.电路连接将DS18B20与51单片机连接,可以采用一根三线总线(VCC、GND、DATA)的方式。
具体连接方式如下:-将DS18B20的VCC引脚连接到单片机的VCC引脚(一般为5V);-将DS18B20的GND引脚连接到单片机的GND引脚;-将DS18B20的DATA引脚连接到单片机的任意IO引脚。
3.报警装置设计报警装置可以选择发出声音警报或者显示警报信息。
在本设计中,我们选择使用蜂鸣器发出声音警报。
将蜂鸣器的一个引脚连接到单片机的任意IO引脚,另一个引脚连接到单片机的GND引脚。
二、软件设计软件设计包括温度读取、温度比较和报警控制的实现。
1.温度读取通过51单片机的IO引脚和DS18B20进行通信,读取DS18B20传感器返回的温度数据。
读取温度数据的具体步骤可以参考DS18B20的通信协议和单片机的编程手册。
2.温度比较和报警控制将读取到的温度数据和设定的阈值进行比较,如果温度超过阈值,则触发报警控制。
可以通过控制蜂鸣器的IO引脚输出高电平或低电平来控制蜂鸣器是否发出声音警报。
三、工作原理整个温度报警器的工作原理如下:1.首先,单片机将发出启动信号,要求DS18B20开始温度转换。
2.单片机等待一段时间,等待DS18B20完成温度转换。
3.单片机向DS18B20发送读取信号,并接收DS18B20返回的温度数据。
手把手教你学习单片机(2.2)——蜂鸣器电路及实验[原创]转贴请标明出处!前段时间写了手把手教你学习单片机的第一章和第二章的第一节。
首先看一下蜂鸣器的常用电路在本电路中,BB标号直接连接到单片机的IO口上,本开发板是连接到了P 3.3上了,由于P3口本身带弱上拉,所以此电路中不需要再接上拉电阻了。
此电路的三极管电路,就是一个(三极管)BJT反向器,当BB是低电平时,此三极管处于饱和状态,电路导通,电流流过蜂鸣器,此时蜂鸣器发声;反之,当BB是高电平时,此三极管处于截止状态,电路关断,时蜂鸣器停止发声。
蜂鸣器发声的长短和频率,完全有单片机控制导通时间,一般都是设定一段延时就可以了,长短可以自己实验。
下面给出C语言程序和汇编程序(带注释):#include <reg52.h> //调用头文件(单片机内部的寄存器定义)/******本段为硬件I/O口定义********/sbit LED0 = P0 ^ 0; //发光二极管0sbit BUZZ = P3 ^ 3; //蜂鸣器/**************************************************** 函数名称: dellay** 入口参数:h(双字节型)** 出口参数:无** 功能描述: 短暂延时,使用11.0592晶体,约0.01MS****************************************************/void dellay(unsigned int h){while(h--); //0.01MS}/************主程序**************/main(){while(1) //单片机在此反复循环{LED0=0; //发光管0亮BUZZ=0; //蜂鸣器叫dellay(40000);LED0=1; //发光管0灭BUZZ=1; //蜂鸣器停dellay(60000);}};***********本段为硬件I/O口定义************LED0 EQU P0.0BUZZ EQU P3.3ORG 0000H ;上电后程序从这里运行 AJMP MAINORG 0100HMAIN:ORL P0,#01HCLR LED0 ;LED0发光二极管亮CLR BUZZ ;蜂鸣器叫LCALL DELAY400MSSETB LED0 ;LED0发光二极管灭 SETB BUZZ ;蜂鸣器停LCALL DELAY600MSLJMP MAINDELAY400MS: MOV R5,#40 ;延时子程序,延时约0.4秒D10: MOV R6,#20D20: MOV R7,#248DJNZ R7,$DJNZ R6,D20DJNZ R5,D10RETDELAY600MS: MOV R5,#60 ;延时子程序,延时约0.6秒D11: MOV R6,#20D21: MOV R7,#248DJNZ R7,$DJNZ R6,D21DJNZ R5,D11RETEND以前写的,请在这里打开链接:手把手教你学习单片机(2.1)——单片机控制发光二极管实验手把手教你学习单片机(第一章)——认识单片机及其如何工作我的新QQ:464976346/ahai0306/(我的博客首页)拍拍网店铺:/464976346淘宝网店:/百度网店:/shop/83eabd89bd63f95984248678 AD电子论坛的本51开发板的版块:/forum-39-1.html。
实验七蜂鸣器驱动实验
一、实验目的
1、了解单片机系统发声原理
2、进一步熟悉定时器编程方法
二、实验说明
1.利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调.
2.定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平.由于定时参数不同,就发出了不同频率的脉冲. 本实验中当有键按下,会发出连续脉冲,直到按键松开,才停止发音。
发完后继续检测键盘,如果键还按下,继续发音。
利用P1^1作为控制输入,用P2^0口控制蜂鸣器发出音频脉冲,驱动喇叭。
1、现将锁紧插座的紧锁打开,将51单片机放入锁紧插座中,再将紧锁合上,注意单片机的放置方向。
2、单片机最小应用系统的P1.1口接逻辑电平输出1,P2^0口接蜂鸣器IN口。
(注释:程序也可见连线方式)。
3、用串行数据通信线连接计算机与单片机最小应用系统的RS232通讯口。
(注释:驱动自动安装)。
4、打开HKDPJ-1型实验箱的电源模块开关、单片机最小应用系统电源开关。
+5V电源指示灯亮。
5、使用Keil 打开程序,对其进行编译(要输出HEX文件,keil 3 使用教程见附录一),并将HEX文件下载到单片机中(STC单片机下载程序过程详细介绍见附录二)。
在下载过程中点击下载程序后断开单片机最小应用系统电源开关再开打,下载程序成功。
6、上电运行程序,打开和关闭逻辑电平开关,观察蜂鸣器发音现象,是否蜂鸣;
四、源程序
1.见附件
四、原理图。
在51单片机中,蜂鸣器音阶所对应的频率是相当重要的。
通过对频率的设定,可以在实际应用中实现不同的音调和音乐效果。
让我们先来了解一下51单片机蜂鸣器的工作原理。
51单片机蜂鸣器是一种被广泛应用于各种电子设备中的音频输出装置,它通过控制电流的频率和占空比来发出不同音调的声音。
在实际应用中,我们要根据需要来设定蜂鸣器的频率,从而实现不同的音阶和音乐效果。
接下来,让我们来详细探讨一下51单片机蜂鸣器音阶所对应的频率。
在音乐理论中,音阶是由一系列音符按特定的音程组成的音乐音阶体系。
常见的音阶包括C大调、D大调、E大调等,每个音阶都对应着特定的频率。
在51单片机蜂鸣器中,我们可以通过设置不同的频率来模拟出这些音阶,从而实现丰富的音乐效果。
以C大调音阶为例,我们可以将C4音符的频率设定为261.63Hz,D4音符的频率设定为293.66Hz,E4音符的频率设定为329.63Hz,以此类推。
通过逐个设置每个音符的频率,我们就可以在51单片机蜂鸣器上模拟出C大调音阶的音乐效果。
同样的方法也适用于其他音阶,只需要根据对应的频率来进行设置即可。
除了基本的音阶,我们还可以通过设置不同频率的音符来实现和弦、音阶、旋律等更复杂的音乐效果。
在实际应用中,我们可以根据具体的需求来调整蜂鸣器的频率,从而实现丰富多样的音乐效果。
总结回顾:在51单片机中,蜂鸣器的工作原理是通过控制电流的频率和占空比来发出不同音调的声音。
对应频率是实现不同音阶和音乐效果的关键。
通过设置不同频率的音符,我们可以模拟出各种音阶、和弦、旋律等丰富的音乐效果。
在实际应用中,可以根据具体的需求来调整蜂鸣器的频率,从而实现丰富多样的音乐效果。
个人观点:蜂鸣器音阶所对应的频率在51单片机中起着至关重要的作用,它不仅可以用于模拟各种音阶和音乐效果,还可以用于实现各种声音提示和警报。
在实际应用中,充分理解和掌握蜂鸣器频率与音阶的对应关系,可以为我们的电子设备带来更丰富、更灵活的音响功能。
蜂鸣器报警声音单片机512011 9.12 农历8.15 建模心得51单片机外部中断小程序采用中断0和1 并测试电平触发和边沿触发的区别2011-07-16 19:47:22| 分类:默认分类| 标签:|字号大中小订阅// 8.外部中断的用法// EA=1;//开总中断// EX0=1;//开外部中断0 默认IT0=0 (低)电平触发方式//IT0=1 为边沿触发方式有高低电平变化时发送中断请求//响应中断后硬件自动清0//P3.2 (int0口)口为0时亮一下p3.7的发光二极管电平触发方式p3.7外接电阻和led灯到电源//P3.3 (int1口)口电压变化时亮一下p3.7的发光二极管下降沿触发方式#include<reg52.h>sbit light=P3^7;sbit P3_2=P3^2;sbit P3_3=P3^3;void delay1ms(unsigned int z); //延时1msmain(){EA=1;EX0=1;//默认IT0=0EX1=1;IT1=1; //边沿触发方式while(1);}void int0() interrupt 0 //外部中断0服务程序默认电平触发方式{light=0; //不需要消抖抖动时高电位持续时间短// 一直按下一直有中断delay1ms(300);light=1;}void int1() interrupt 2 //外部中断1服务程序设为下降沿触发方式{delay1ms(10);if(P3_3==0) //需要消抖抖动时有电平变化{light=0;delay1ms(300);light=1;}}void delay1ms(unsigned int z) //延时1ms {unsigned int x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}。