N_BUZZ低电平鸣叫
给继电器一个低电平。
ULN是一个达林顿管,一个驱动管,理解为一个放大的倍数比较大的三极管,
IN4,7应输入高电平.
例题:让8路LED指示灯闪烁3遍然后熄灭,接着依次点亮LED指示灯,最后依次熄灭指示灯,继电器吸合一会后断开然后依次熄灭LED灯,蜂鸣器鸣叫一会后关闭。
#include "reg52.h"
sbit HC_138A=P2^5;
sbit HC_138B=P2^6;
sbit HC_138C=P2^7;
void Delay(unsigned int t)
{
while(t--);
while(t--);
}
void LED_Running()
{
unsigned char i;
HC_138C=1;
HC_138B=0;
HC_138A=0;
for(i=0;i<3;i++)
{
P0=0x00;
Delay(60000);
P0=0xFF;
Delay(60000);
}
Delay(60000);
for(i=1;i<=8;i++)
{
P0=0xff<<i;
Delay(60000);
}
HC_138C=1;
HC_138B=0;
HC_138A=1;
P0=0x10;
Delay(60000);
P0=0x00;
HC_138C=1;
HC_138B=0;
HC_138A=0;
for(i=1;i<=8;i++)
{
P0=~(0xff<<i);
Delay(60000);
}
HC_138C=1;
HC_138B=0;
HC_138A=1;
P0=0x40;
Delay(60000);
P0=0x00;
}
void init1()
{
HC_138C=1;
HC_138B=0;
HC_138A=1;
P0=0x00;
}
void main()
{
init1();
while(1)
{
LED_Running();
}
}