蓝桥杯02---蜂鸣器和继电器的驱动

本文介绍了蓝桥杯大赛单片机中蜂鸣器(有源与无源)和继电器的工作原理及控制方法。通过ULN2003实现对继电器的控制,并提供了初始化及控制代码示例,展示了如何实现继电器的循环开关效果。文章适合准备蓝桥杯单片机竞赛的学习者阅读。
摘要由CSDN通过智能技术生成


前言

本人曾在第十三届蓝桥杯大赛单片机组中获得国一,以下是我在准备比赛过程中的一些记录,希望能给大家带来帮助

本人持续分享更多关于嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~

一、介绍

1.蜂鸣器

在这里插入图片描述

比赛单片机自带的蜂鸣器为有源蜂鸣器(内置震荡源),也就是说给N_BUZZ一个低电平,蜂鸣器就会发出声音了。

N_BUZZ = 0

我们再说一下无源蜂鸣器,无源蜂鸣器没有震荡源,直接给予一个直流信号蜂鸣器是不会发出声音的,所以我们要手动给与一个方波信号。
怎么实现呢?

while1{
N_BUZZ = 0delay_ms(200);(不同时间,会发出不同的声音哦)
N_BUZZ = 1delay_ms(200);
}

2.继电器

在这里插入图片描述

继电器就是用小电流控制大电流的一种自动化的开关
当N_RELAY输出低电平的时候呢,K1就会被吸合,此时m2的那条支路就接通了。
至于二极管的作用应该是用来保护电路,继电器内部少不了一些储能元件,但继电器断开时继电器肯定会放电的。

二. 控制

当我们了解过继电器和蜂鸣器之后,我们看看如何在这款单片机中实现对它们的控制吧。

在这里插入图片描述
在这里插入图片描述

1.ULN2003

74HC138译码器和M74锁存器我们之前都已经介绍过了吧,这里我们看看新出现的ULN2003有什么用呢?
在这里插入图片描述
从数据手册我们可以看出这个芯片不就是一个反相器嘛。
所以说就不是我们之前所说的给P0口对应的IO口低电平打开了,而是高电平打开。

2.代码

当我们上电之后我们会发现蜂鸣器乱叫,所以在每个程序前我们最好先关掉蜂鸣器

P2 = (P2&0x1f)|0x10; //打开锁存器
P0.6 = 0;
P2 =P2&0x1f;关闭锁存器

最后附上一个总的代买,控制继电器循环开-关-开-管的这种效果,具体效果就是有继电器闭合,断开的声音,继电器旁的小灯闪烁。

# include "reg52.h"
sbit HC138_A = P2^5	;
sbit HC138_B= P2^6   ;
sbit HC138_C= P2^7 ;
sbit buzz = P0^6; 
sbit relay =   P0^4;
void init_H138(unsigned char n){ // 选择38译码器输出,现在我们只用到了两个,就写了两个
	switch(n){
	case 4 : {
		HC138_A =0;
		HC138_B=0;
		HC138_C=1;
		break; }
	case 5 : {
		HC138_A =1;
		HC138_B=0;
		HC138_C=1;
		break; }	
	}	
}
void ouputP0(unsigned char n,unsigned char dat){
	   init_H138(n);
	   P0 = dat;
}
void systeminit(){ //初始化,关闭蜂鸣器和继电器,别没事乱响
	 ouputP0(5,0x00)   ;
}

void delay(unsigned int t ) {
while(t--);
while(t--);
}
void main(){
systeminit();
while(1){
    ouputP0(4,0xff)   ;	// 关闭LED,亮着真烦
	ouputP0(5,0x00);
	delay(60000);
	delay(60000);
	ouputP0(5,0x10); // 0001 0000
	delay(60000);
	delay(60000);

} }

更多相关资源

【全套完结】蓝桥杯单片机— 从省赛到国赛

https://blog.csdn.net/amimax/article/details/128749109?spm=1001.2014.3001.5501

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

おもいね

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值