蓝桥杯——控制蜂鸣器和继电器

一、原理部分

在这里插入图片描述
以蜂鸣器为例讲解原理(继电器和蜂鸣器类似)
蜂鸣器的一端接到VCC即为高电平,所以另外一个引脚赋予高电平则蜂鸣器关闭,赋予低电平则蜂鸣器打开。现在让蜂鸣器打开即要让N_BUZZ为0。
在这里插入图片描述
N_BUZZ连接到ULN2003的OUT7,查阅芯片资料得知,ULN2003是一个非门所以要让OUT7输出为0则IN7=1,IN7和锁存器的Q7相连,即Q7=11。
使Q7=1则要打开锁存器的使能端即Y5C=1且P06=1。
在这里插入图片描述
74HC02是一个或非门,即只有当Y5=0且WR=0时,Y5C=1。WR默认为0所以要让Y5为0
在这里插入图片描述
在这里插入图片描述
Y5为74HC138译码器的一个输出端通过查询真值表可以得知让Y5输出0的方法为A=1 B=0 C=1
即P25=1 P26=0 P27=1。

小结在这里插入图片描述

控制单片机 P06=1 P25=1 P26=0 P27=1即可打开蜂鸣器。
继电器打开方法与蜂鸣器类似 P06=1 P25=1 P26=0 P27=1即可打开继电器。

二、代码部分

实验平台:CT107D
实验芯片:stc15f2k60s2
实验现象:打开蜂鸣器和继电器
代码如下

#include "stc15f2k60s2.h"
sbit buzz = P0^6;  //位定义蜂鸣器
sbit relay = P0^4; //位定义继电器

void main()
{
	P2 = 0xa0;	 //打开寄存器
	buzz = 1;	 //1为打开蜂鸣器,0为关闭蜂鸣器
	P2 = 0x00;

	P2 = 0xa0;
	relay = 1;	 //1为打开继电器,0为关闭继电器
	P2 = 0x00;

	while(1)
	{
		;
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天地神仙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值