原理
蜂鸣器和LED灯的原理是一样一样的。
下面是蜂鸣器的原理图。
蜂鸣器BUZZER一端接电源,一端接N_BUZZ,那么只要N_BUZZ为低电平,则蜂鸣器响。
N_BUZZ通过ULN2003非门连接M74HC573M1R锁存器再连到P06.
所以要使得N_BUZZ为低电平,P06要为高电平(因为非门连接)。
这里就和前面的一样啦,连接一个或非门,要锁存器连通,则LE为高电平,即Y5C要为高电平,则Y5为低电平。
则138译码器的P27、P26、P25的排列要为101。
整理逻辑:
P27 P26 P25排列为 101 -> 选中Y5-> Y5 为低电平 -> Y5C为高电平
-> LE为高电平 ->锁存器连通;
P06为高电平 -> 锁存器输出端 Q7为高电平 -> 非门使能端 IN7 为高电平
-> 非门输出端 OUT7 为低电平 -> N_BEEP 为低电平 -> 蜂鸣器响;
P27 P26 P25排列为 000 -> 选中Y0 -> Y0为低电平 ->Y5为高电平
-> Y5C为低电平-> LE为低电平 ->锁存器锁存;
代码
void BEEP_disp(void){
P06 = 1
P2 = P2 & 0x1F | 0xA0;
P2 &= 0x1F;
}