蓝桥杯单片机----学习一蜂鸣器和LED的控制(STC15F2K60S2)

 一、原理图

 

 

 二、原理分析

        74HC138是一个3-8译码器,三个输入端分别与单片机的P2.7、P2.6和P2.5相连,四个输出端(输出低电平有效)分别作为四个或非门的输入端。或非门U25B的输出端Y5C与74HC573锁存器(U9)的锁存使能输入端LE(输入高电平有效)。锁存器的输入端分别与P0.0~P0.7相连,输出端分别与ULN2003驱动芯片的输入端相连(ULN2003可看作一个非门)。而驱动芯片的OUT5端接到继电器的一个输入端,用于控制继电器开关,OUT7端接到蜂鸣器的一端,用于控制蜂鸣器的开关。或非门U25B的输出端Y4C与74HC573锁存器(U6)的锁存使能输入端LE(输入高电平有效)。锁存器的输入端分别与P0.0~P0.7相连,输出端接8个LED的阴极(低电平点亮),用于控制LED的亮灭。

 由于WR是接地,所以只需控制或非门的输出进而使能锁存器。

三、代码

​​​​​​​#include <STC15F2K60S2.H>
#include "main.h"

void Delay(unsigned int x){
    while(x--);
}
void Task_LED()
{
    static unsigned char led = 0xff;
    unsigned char i;
    BUZZ(0x00);
    for(i=0;i<8;i++){
        led = ~(0x01 << i); 
        LED(led);
        Delay(50000);
    }
}
void main()
{
    while(1)
    {
        Task_LED();
    }
}

tips:实现的流水效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值