IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 蓝桥杯(2)——蜂鸣器与继电器的使用 -> 正文阅读

[嵌入式]蓝桥杯(2)——蜂鸣器与继电器的使用

目录

蜂鸣器与继电器的使用

一、原理

?二、代码控制

三、与LED的连接控制举例


蜂鸣器与继电器的使用

一、原理

首先,如何去控制蜂鸣器与继电器呢,必须要知道的是蜂鸣器与继电器的各个引脚图(如下):

来源于CT107D单片机综合训练平台原理图

1.(1).蜂鸣器BUZZER,控制端口在N BUZZ,接着找对应的端口

(2).找到对应的M74HC573MIR锁存器,它控制的Q7连接ULN2003(达林顿管

引脚图入下,实际内部为非门;即输入1,输出0)

ULN2003芯片引脚图

OUT7口再连接N BUZZ,那再要去找控制锁存器Y5C的端口

(3)对应找到74HC02或非门,对应第一节LED里的芯片Y5

(4)即找到74HC138译码器

?

2.(1)继电器DIODE:

?(2)接下来找N RELAY,同样在上面的第二个图锁存器的OUT5引脚。接下来的操作同上;

由上图可以知道,继电器的开关闭合在一个LED显示出来

?二、代码控制

(1)打开Y5口:P2=(P2&0x1f)|0xa0;

关闭Y5口:P2&=0x1f;

(2)打开蜂鸣器:P0=0100 0000;或者P0=0x40;

关闭蜂鸣器:P0=1011 1111;或者P0&=0xb0

(3)打开继电器:P0=1110 1111;或者P0=0xef;

? ? ? ? 关闭继电器:P0=0001 0000;或者P0=0x10

三、与LED的连接控制举例

首先让8路LED指示灯闪烁3遍后熄灭,接着依次点亮LED,继电器吸合一会断开,然后依次熄灭LED,蜂鸣器鸣叫一次后关闭,程序循环实现以上功能。(借鉴B站UP主小蜜蜂老师的干货铺)

#include<reg51.h>

sbit HC138_A=P2^5;  
sbit HC138_B=P2^6;
sbit HC138_C=P2^7; //定义引脚

void Delay(unsigned int t)	  //定义延时函数
{
 while(t--);
 while(t--);
 }

void InitHC138(unsigned char n)//使用Switch语句以方便以下语句的重复使用
{
 switch (n)
 {
 case 4:
    HC138_C=1;
	HC138_B=0;
	HC138_A=0;	  //让Y4输出低电平
	break;
 case 5:
    HC138_C=1;
	HC138_B=0;
	HC138_A=1;	  //让Y5输出低电平
	break;
 case 6:
    HC138_C=1;
	HC138_B=1;
	HC138_A=0;	  //让Y6输出低电平
	break;
 case 7:
    HC138_C=1;
	HC138_B=1;
	HC138_A=1;	  //让Y7输出低电平
	break;
 }
}



void LEDRunning() //运行LED函数
{
    unsigned char i;
	InitHC138(4);

	for(i=0;i<3;i++) //闪烁三次
	{
	P0=0x00; //led亮,低电平有效
	Delay(60000)  ;//延时
	Delay(60000)  ;

	P0=0xff;
	Delay(60000)  ;
	Delay(60000)  ;
	}

	InitHC138(4);

	for(i=0; i<8;i++)//依次点亮8个LED
	{
	P0 = 0xff <<i;
	Delay(60000)  ;
	}
	
	InitHC138(5) ;

	P0 = 0x10; 		//继电器 吸合
	Delay(60000)  ;
	Delay(60000)  ;
	P0 = 0x00; 
	
	InitHC138(4)   ;
	

	for(i=0; i<8;i++)
	{
	P0 =~ 0xff <<i;
	Delay(60000) ;

	}		 //依次点亮8个LED
	
	
	InitHC138(5) ;
	

	P0 = 0x40; 	//蜂鸣器打开
	Delay(60000)  ;
	Delay(60000)  ;
	P0 = 0x00; 	
}	
void InitSystem()
{
	InitHC138(5) ;
		  
	P0 = 0x00;

}
void main()
{
 InitSystem();
 while(1)
 {
  LEDRunning();
 }
}

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-01-12 00:10:05  更:2022-01-12 00:11:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 12:31:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码