训练项目:
原理图分析
蜂鸣器的一极接上电源,另一极接上低电平,蜂鸣器就会鸣叫,高电平则停止鸣叫
继电器内部有一个线圈,上面则有一个铁芯,给线圈充电的时候就可以产生一个电磁场,将上面的的开关吸下来(二极管的作用是保护电路)
ULN2003是一个达林顿管,起到一个缓冲作用
根据上图的逻辑
实现思路如下:
首先在74HC138译码器上对P25,26,27口进行操作,并选择Y5口输出低电平,再经过M74HC573MIR译码器的LE口,高电平使能(Y5经过与非门后变成高电平),再由M74HC573MIR译码器内部的P0-P7和对达林顿管ULN2003的Q1-Q7连通,M74HC573MIR译码器可以控制达林顿管ULN2003进行操作,最后达到控制蜂鸣器的目的
M74HC573MIR译码器内部的P04控制继电器,P06控制蜂鸣器
优化HC138译码器的选择,使用一个switch即可
void InitHC138(unsigend char n)
{
switch(n)
{
case 4:
HC138_C=1;
HC138_B=0;
HC138_A=0; //让Y4输出低电平
break;
case 5:
HC138_C=1;
HC138_B=0;
HC138_A=1; //让Y5输出低电平
break;
case 6:
HC138_C=1;
HC138_B=1;
HC138_A=0; //让Y6输出低电平
break;
}
}