关闭LED
本节将会介绍板子上的最简单最基础的部分。
比赛一般上来需要关闭无关外设,蓝桥杯的板子比较特殊,51上电默认P0,O1,P2,P3都是高电平,打开电源开源的一瞬间程序还没走上,可能会开启板子上连接的发光二极管(led),继电器(relay),蜂鸣器(beep),之后会根据走的程序决定是否开启,我们现在要在程序里面把他们都关闭。
先看LED的相关电路,可以看出51单片机的P3^6引脚就是WR,上电为高电平。由板子上跳线帽IO模式要将WR与GND相连。故WR为低电平,逻辑0。LED串联限流电阻接在573锁存器上,573锁存器的使能端在Y4C,我们要给使能端Y4C一个高电平才能使能573锁存器。573锁存器原理简单来说在使能端为1(使能)时,输出等于输入,使能端为0(失能),输出保持原来状态不变。。使能573后给P00,P01…P07,都高电平,这样LED就不导通,熄灭。P0相关端口电路图如下,接了上拉电阻。
如何使Y4C为高电平呢,看图74HC02是与非门,Y4C=!(Y4+WR),上面说过WR为低电平,也就是逻辑0,只有当Y4为0,才能使Y4C为1。
如图Y4是138译码器的输出端,138译码器的原理简单来说就是由ABC三个位组成的二进制数转换成十进制,相应的通道为低电平。所以我们就将ABC(P25,P26,P27)分别设置为1,0,0。
那么我们上电熄灭数码管的程序就是:
先将P2端口前三位置0,再置自己要的数据。
将P0口全部设置为1;
再将P2端口前三位置0,防止数据混乱。
P2=(P2&0x1f)|0x80;
P0=0xff;
P2&=0x1f;
我们关闭LED运用的多少知识啊,这是一开始得把原理过程搞清楚,后面我们就会加速了。
关闭继电器和蜂鸣器
和前面关闭LED类似,如下图,Y5C控制U9这个573,573输出作为2003达林顿管输入控制2003输出,2003原理:输入1,输出0,输入0,输出1,作用是增大电流带动负载。由图要给继电器和蜂鸣器高电平,也就是在Y5C为1使能U9这个573时给P0口低电平就行。
代码如下。Y5对应ABC分别1,0,1。
P2=(P2&0x1f)|0xa0;
P0=0;
P2&=0x1f;