流程图和代码
Uln2003
:达林顿管. 驱动管,可看作一个放大倍数大的三极管
sbit a=P2^5;
sbit b=P2^6;
sbit c=P2^7;
sbit relay=P0^4;
sbit buzzer=P0^6;
//像P2^5这种需要进行位变量定义后才能使用
//所以以上为位变量定义
P2=0xa0;
//P2=0xa0相当于位变量a=1;b=0;c=1
relay=1;
//P0^4口输入为1,经过uln2003后输出取反为0(低电平),正好与继电器连接电源vcc形成电压差,从而令继电器闭合
buzzer=0
//P0^6口输入为0,经过uln2003后输出取反为1(高电平),与蜂鸣器连接电源vcc之间电压差几乎相等,所以蜂鸣器由于电压差为0导致动作停止。
思路
-
先选择hc138译码器位:
Y5
置0 -
Y5经过或非门(74hc02)后输出
Y5C(置1)
-
当OE-接地置0,LE(Y5C)置1,锁存器
74hc573
:输出同步模式
-
- 令P04(relay)置一,OUT5输出0(低电平),由于继电器一端接着电源,由于继电器两端电位不同,电压差不同所以继电器动作
- 同时,令P06(buzzer)置零,OUT7输出1,由于蜂鸣器两端都为高电平,电压差为零所以停止哔哔;
PS
:
6. 在CT107D
蓝桥杯板子上,对蜂鸣器的响声开关简单理解为:蜂鸣器高电平不叫,低电平叫
.
7. 实际上
:需要根据蜂鸣器一端连接高低电平来分析另一端是供什么电平才能导致其动作。实际蜂鸣器开关理解
:不同电压差动作,同电压差不动作