蓝桥杯 蜂鸣器与继电器控制

甩出电路图镇楼

 题目  首先让8路LED指示灯闪烁三遍后熄灭,接着依次点亮LED灯,继电器吸合,最后依次熄灭指示灯,蜂鸣器鸣叫。循环上述功能

图上BUZZER是蜂鸣器,下面的是继电器,蜂鸣器已经接电源了,BUZZ再接低电平即可工作。(继电器也是低电平工作)

可以看到BUZZ是ULN2003的输出引脚,ULN2003可以简单理解为一个放大装置,下面是内部原理

值得注意的是,内部有非门,所以要BUZZ置0,需要P06置1

而想要使用573锁存器,就得把Y5C置1,这样逻辑就非常清晰了。

代码如下

#include"reg52.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(n)
    {
        case 4:
            HC138_C = 1;
        HC138_B = 0;
            HC138_A = 0;
        break;
        case 5:
            HC138_C = 1;
        HC138_B = 0;
            HC138_A = 1;
        break;
        case 6:
            HC138_C = 1;
        HC138_B = 1;
            HC138_A = 0;
        break;
        case 7:
            HC138_C = 1;
        HC138_B = 1;
            HC138_A = 1;
        break;
    }
}

void OutPut(unsigned char channel,unsigned char dat)
{
    InitHC138(channel);
    P0 = dat;
}

void InitSystem()//
{
    OutPut(5,0x00);
}
void main()
{
    InitSystem();
    while(1)
    {
        unsigned char i;
        for(i = 0;i < 3;i++)
        {
        OutPut(4,0x00);
        Delay(60000);
        Delay(60000);
        OutPut(4,0xff);
        Delay(60000);
        Delay(60000);
        }
        for(i = 1;i <= 8;i++)
        {
            OutPut(4,(0XFF << i));//这里dat的形式要注意打括号
            Delay(60000);
        }
        OutPut(5,0x10);
        Delay(60000);
        Delay(60000);
        OutPut(5,0x00);
        for(i = 1;i <= 8;i++)
        {
            OutPut(4,~(0XFF << i));
            Delay(60000);
        }
        OutPut(5,0x40);
        Delay(60000);
        Delay(60000);
        OutPut(5,0x00);
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值