蓝桥杯模块三:蜂鸣器和继电器的基本控制

模块训练题目:

一、蜂鸣器电路图

1.电路图

2.电路分析

138译码器控制Y5,Y5控制Y5C,Y5C低电平控制芯片开启P0口控制ULN2003继而控制蜂鸣器端口和继电器端口

二、程序代码

1.138译码器控制端口函数

建立初始化函数选择锁存器

2.实现题目功能

在LED代码的基础上写整个代码

cpp 复制代码
void InitHC138(unsigned char n)
{
	switch(n)
	{
		case 4:
			HC138_C=1;
			HC138_A=0;
			HC138_B=0;  //Y4输出低电平
		break;
		case 5:
			HC138_C=1;
			HC138_A=0;
			HC138_B=1;
		break;
		case 6:
			HC138_C=1;
			HC138_A=1;
			HC138_B=0;
		break;
		case 7:
			HC138_C=1;
			HC138_A=1;
			HC138_B=1;
		break;
	}
}

void Delay(unsigned int t)
{
	while(t--);
	while(t--);
}

void LEDRunning()
{
	unsigned char i;
	InitHC138(4);
	for(i=0;i<3;i++)
	{
		P0=0x00;
		Delay(60000);
		Delay(60000);
		P0=0XFF;
		Delay(60000);
		Delay(60000);
	}
	for(i=0;i<=7;i++)
	{
		P0=0xFE<<i;
		Delay(60000);
		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);
		Delay(60000);
	}
	InitHC138(5);
	P0=0X40;
	Delay(60000);
	Delay(60000);
	P0=0x00;
}


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

3.优化代码

初始化138译码器函数的优化

三、运行结果

相关推荐
AlenTech3 小时前
155. 最小栈 - 力扣(LeetCode)
算法·leetcode·职场和发展
码农水水4 小时前
蚂蚁Java面试被问:混沌工程在分布式系统中的应用
java·linux·开发语言·面试·职场和发展·php
石去皿7 小时前
大模型面试常见问答
人工智能·面试·职场和发展
鹿角片ljp8 小时前
力扣7.整数反转-从基础到边界条件
算法·leetcode·职场和发展
java修仙传8 小时前
力扣hot100:前K个高频元素
算法·leetcode·职场和发展
小北方城市网8 小时前
微服务注册中心与配置中心实战(Nacos 版):实现服务治理与配置统一
人工智能·后端·安全·职场和发展·wpf·restful
码农丁丁9 小时前
第二十七篇 技术管理者自身的能力升级
人工智能·职场和发展·技术管理·ai时代的技术管理
YuTaoShao11 小时前
【LeetCode 每日一题】2053. 数组中第 K 个独一无二的字符串
算法·leetcode·职场和发展
想逃离铁厂的老铁12 小时前
Day42 >> 188、买卖股票的最佳时机IV + 309.最佳买卖股票时机含冷冻期 + 714.买卖股票的最佳时机含手续费
算法·leetcode·职场和发展
Hacker_xingchen13 小时前
如何用Postman做接口自动化测试及完美的可视化报告?
自动化测试·软件测试·测试工具·职场和发展·postman