一、原理图(引用)
1.译码电路
74HC138输入101输出Y5逻辑0,接入74HC02,WR同上期接GND,输出Y5C逻辑1。
2.蜂鸣器、继电器控制电路
P04、P06输入逻辑0,经过74HC573锁存器,进入ULN2003(近似等效为非门),OUT5接N_RELAY(控制继电器)OUT7接N_BUZZ(控制蜂鸣器),当继电器高电平时可打开BUZZ,通过修改P0^4和P0^6修改N_REALY和N_BUZZ来控制蜂鸣器。
二、代码
/* 头文件 */
#include <STC15F2K60S2.H>
/* 自定义 */
sbit buzzer=P0^6; //蜂鸣器
sbit relay=P0^4; //继电器
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
/* 声明 */
void buzz();
/* 代码区 */
void buzz()
{
HC138_A=1;
HC138_B=0;
HC138_C=1;//101=5,即输出Y5逻辑0
buzzer=1;//蜂鸣器
relay =1;//继电器
}
void main()
{
while(1)
{
buzz();
}
}