自学内容网 自学内容网

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

模块训练题目:

一、蜂鸣器电路图

1.电路图

2.电路分析

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

二、程序代码

1.138译码器控制端口函数

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

2.实现题目功能

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

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译码器函数的优化

三、运行结果


原文地址:https://blog.csdn.net/m0_73597306/article/details/142832754

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!