52单片机IO口输出-蜂鸣器(硬核)
52单片机IO口输出-蜂鸣器
- 什么是蜂鸣器
- 三极管的工作原理
- 蜂鸣器驱动电路分析
- 参考代码
欢迎你的到来!这里是我的单片机学习笔记,希望我的笔记可以在你学习的道路上对你有所帮助!
什么是蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,广泛应用于电子产品中作发声器件,起到警报提醒的作用。
有源蜂鸣器与无源蜂鸣器
这里的“源”不是指电源,而是指震荡源。
有源蜂鸣器内部带震荡源,所以只要异同点就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。需要用2K~5K的方波去驱动它,有源蜂鸣器往往比无源的贵,就是因为里面多个振荡电路。
无源蜂鸣器的优点是:
1.便宜
2.声音频率可控,可以做出音乐里基本七音符的效果
有源蜂鸣器的优点是:
程序控制方便,接通电源就可以工作,程序简单。
三极管的工作原理
什么是三极管:
三极管全称半导体三极管,也称晶体三极管,是一种控制电流的半导体器件其作用是把微弱的电信号放大成幅度值较大的电信号,也用作无触点开关,在电路中主要起开关和增大电流的作用。
三极管正如其名有三个引脚分别是:B(基极),C(集电极),E(发射极)
按照半导体排列方式区分:分为NPN三极管和PNP三极管两种。
按照材质区分:硅管(PN结导通电压0.5 ~ 0.7V)、锗管(PN结导通电压0.1 ~ 0.3V)
三极管的型号记忆方式:箭头朝内PNP,箭头朝外NPN,箭头引脚发射极
PN结偏置:正偏,反偏,零偏
P(阳极) | N(阴极) | (PN结)状态 | |
---|---|---|---|
正偏 | 电位高 | 电位低 | 正向导通 |
反偏 | 电位低 | 电位高 | 反向截止 |
零偏 | 电位相等 | 电位箱等 |
三种状态:
状态 | 发射结 | 集电结 |
---|---|---|
截止 | 反偏 | 反偏 |
放大 | 正偏 | 反偏 |
饱和 | 正偏 | 正偏(零偏) |
口诀:发正集反是放大,全正饱和全反截。
蜂鸣器驱动电路分析
这是蜂鸣器的控制电路,因为IO口的输出电流小,无法直接用IO口驱动,需要用接了10K的上拉电阻的IO口才可以
这次我用的是IO口驱动这种方法,我用的单片机是STC89C52,它的P1组IO口没有上拉排阻,所以我用的P2组IO口
*74hc595芯片可以起到扩充单片机IO口的作用,因为输出电流也比IO口大,所以也有放大电流的作用*
参考代码
延时方法1
unsigned int i = 1000;
while(i--);
延时方法2
void delay();//延时函数声明
void delay()//延时函数 { uint16 i; for(i=100000;i>0;i--); }
延时方法3
使用_nop_();
函数(记得带上头文件#include<intrins.h>
)
我们可以使用stc官方软件直接生成我们想要的函数(懒)
方法如下
①打开下图的软件,在右上菜单栏中点开软件延时计算器
②左上角修改参数,选择自己的晶振频率和想要延长的时间
③点击生成代码,然后软件会自动生成,复制即可使用
完整参考代码↓(用的延时方法3)
#include<reg52.h>
#include<intrins.h>sbit beep = P2^0;//蜂鸣器端口
void Delay500ms();//@11.0592MHzvoid main()
{while(1){beep = 1; //蜂鸣器启动Delay500ms(); //@11.0592MHzbeep = 0; //蜂鸣器关闭Delay500ms(); //@11.0592MHz}
}
void Delay500ms() //@11.0592MHz
{unsigned char i, j, k;_nop_();_nop_();i = 22;j = 3;k = 227;do{do{while (--k);} while (--j);} while (--i);
}
参考内容链接: https://www.bilibili.com/video/BV1Kt411Q7aV?p=6.
如有错误,还望斧正!有好的想法和意见可以在评论区告诉博主,感谢你的观看!
嘿~我亲爱的伙计!我想慷慨大方的你一定不会吝啬给我这个快要秃头的博主点赞的。
欢迎大家关注博主的公众号:小黄的阁楼,里面的学习笔记会和CSDN同步,欢迎前来一起学习!!
52单片机IO口输出-蜂鸣器(硬核)相关推荐
- 单片机io口输出电流范围及问题详解
一.51单片机IO端口的四种输入输出模式 1.准双向口输出 准双向口输出类型可用作输出和输入功能而不需重新配置口线输出状态.这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低.当引脚输出为低时 ...
- m0单片机io口_51单片机蜂鸣器
蜂鸣器实验 * 蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机.打印机.复印机.报警器.电子玩具.汽车电子设备.电话机.定时器等电子产品中作发声器件.蜂鸣器主要分为压电 ...
- 【自学51单片机】9 -- 步进电机原理、蜂鸣器原理,单片机IO口的结构,上下拉电阻
目录 1.单片机IO口的结构 2.上下拉电阻 3.电机 3.1 电机分类 3.2 28BYJ-48型步进电机 3.2 28BYJ-48电机转动原理 3.3 28BYJ-48电机工作模式 3.4 步进电 ...
- 推挽输出和开漏输出_关于51单片机IO口的输出模式结构
单片机种类繁多今天主要谈谈51单片机,在stm32单片机中IO(GPIO)输出模式有很多种.如 模拟输入 .浮空输入.下拉输入.上拉输入.开漏输出.推挽输出等很多种,不同的输入输出有不同的功能,实现不 ...
- 单片机推挽输出c语言,单片机IO口科普:推挽输出、开漏输出详解
原标题:单片机IO口科普:推挽输出.开漏输出详解 在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻. 是不是有时候感觉一头雾水? 今天就详解一下 ...
- 单片机程序配置成开漏输出_改变单片机IO口默认电平
c51单片机上电后io口默认的电平默认都是高电平,因为只不过P0没有内部上拉电阻,是弱上拉,不加外部上拉电阻的话只能驱动外部的门电路.P1到P3都有上拉电阻,是强上拉,可以直接驱动外部的接口电路. 改 ...
- 国产单片机IO口模拟IrDA1.0协议
单片机IO口模拟IrDA1.0协议 IrDA1.0协议是一种利用红外通信的无线传输协议,可以很好的解决一些便携式设备与主机之间通信的问题,具有携带方便,低功耗,成本低,传输可靠等特点,缺点是传输距离较 ...
- 51单片机——IO口
IO口分类 此单片机有39个IO口,P0到P3每个8个口,P4有7个口 一般用P1,P2,P3,P4口与外部模块通信,这4个口是准双向口,具备弱上拉电阻的:P0口重新上电后是开漏输出,若总线扩展用,不 ...
- 测量ATMEGA8单片机IO口的输入输出内阻
➤ 01背景 在 电子小帮手电路中电源开关电路分析 中介绍测量模块电路实验原理的时候,对于ATmega系列的 单片机的输出端口进行了内部描述 .特别是对于端口做为IO输出口的时候,它可以等效为通过电阻 ...
最新文章
- 实战:基于OpenCV进行长时间曝光(内含彩蛋)
- 受控组件和不受控组件的区别
- excel2007-分页显示透视表
- SIGIR 2020 | 第四范式提出深度稀疏网络模型,显著提升高维稀疏表数据分类效果...
- beego 快速入门
- php找出函数定义位置,WordPress如何快速定位PHP函数所在文件位置及代码行号?
- PHP 接收 UDP包_UDP详解(广播,组播)(转)
- 基于SSM的家具商城系统
- android 敏感词过滤器,android 过滤敏感词主要类
- Python(PyCharm)的下载安装汉化(2022)
- 梯度向量的超简单理解
- 快手火山抖音视频(包含其他视频)跨平台操作搬运,下载,消重,全自动操作解放双手...
- Xtext语言语法介绍
- 呼吸系统疾病病人的护理题库【1】
- 用python祝福父亲节_2020年父亲节给爸爸的微信祝福语27条
- JDK1.8 api 中文文档下载
- lacp可以在access接口吗_LACP 链路汇聚控制协议
- CASIA数据集格式转化代码
- xlwings库 ==> Python调用VBA 的两种方法
- bak文件转换成sql文件_数据库bak文件转sql