35行多了个等号
21和35行多写了个等号
不知道你这个问题是否已经解决, 如果还没有解决的话:看我们的原理图:
可以看到,我们蓝桥杯的板子上的led灯其实是M74HC573M1R控制的,要使用这个芯片需要Y4C的信号,也就是说,Y4C控制着led灯,当Y4C有脉冲信号,P0控制的就是led灯啦,那么怎么才能使Y4C产生信号呢。
可以看到我上面的截图的74HC138控制着Y4C的信号输出,这个怎么控制呢,看到它的结构上面P25,P26,P27控制着Yx的信号,然后通过u25或非门控制YxC,所以我们来看蓝桥杯官方给我们的芯片资料:
点开74HC138的芯片资料:
我们参加竞赛的,特别是我这种不是电气和自动化专业的,咱只需要知道怎么输出的信号就行了:
可以看到,a,b,c分别对应的就是P25,P26,P27,不要慌,控制这三个就行了,看到只有Y4低电平的输出的控制,为什么会是低电平才是Y4c打开的呢,是因为可以看到原理图的
U25的那一部分,他们都是或非门,(因为j13我接的是wr和gnd,所以wr为零)如图:
所以我们需要的是低电平。
哦,这里我也要说一下,led为什么等于零的时候才会是亮的状态:如图
因为后接高电平,因为这个是P0都有的,所以说,凡是P0口控制的,打开的状态都是需要低电平的。
回来接着说我们的控制led灯:
看到Y4c的是c:H,b:L,a:L,所以我们写出来的初始化是:
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
void main(){
P25=0;P26=0;P27=1;//初始化LED灯
P0=0x00;//灯全亮
}
然后我们可以看到灯全亮
所以初始化就好了
那么其他人的都是16进制,咱也可以写成(我这里不演示了)也就是P2=0x80;(简便)
但是呢这样写,会让蜂鸣器叽叽叽叽的叫,我好烦
那我们看,蜂鸣器的控制:
原理图:
Y5低电平是:c:h,b:l,a:h
sbit P25=P2^5;
sbit P26=P2^6;
sbit P27=P2^7;
void main(){
P25=1;P26=0;P27=1;//初始化Y5
P04=0//关闭继电器,看图,relay口控制继电器输出成1关闭继电器
P06=0;//关闭蜂鸣器
}
那么P2=0xBF;P0=0xAF;的意思就是关闭继电器和蜂鸣器,写成P2=0xa0,P0=0x00;也可以哦
1011111
好了,今天分享到这了,学会了关闭蜂鸣器,还有初始化,就对以后还有动态数码管非常好玩了