简单了解一下74HC573锁存器
蓝桥杯CT107D浅学(二)
74HC573锁存器有Y4C,Y5C,Y6C,Y7C;
Y4C可以通过P0口控制8个led小灯。Y5C可以通过P0口控制蜂鸣器和继电器等;Y6C可以控制数码管的位选,Y7C可以控制数码管的段选。
蓝桥杯CT107D浅学(二)
74HC573锁存器可以通过74HC138译码器来控制;138译码器其高三位即P25,P26,P27决定八位输出。
蓝桥杯CT107D浅学(二)
上图的元器件是逻辑或的运算,即0|1=1;因此当Y7=1时;Y7C=1;从而打开数码管的位选。
我们可以编写一个简单的LED控制函数并进行初始化。
首先CT107D开发板开始的蜂鸣器是打开的,因此我们要初始化关闭蜂鸣器。
P2 = (P2 & 0X1F) | 0XA0; P0 = 0x00; P2 &= 0x1F;
上述三段程序,第一段P2&0X1F是为了将138译码器的高三位初始化均为0,而不改变其他位的控制功能,以便防止多余的位改变出现一些功能被限制。
(P2 &0X1F) | 0XA0, 0xA0的高四位为1010;即P25=1,P26=0,P27=1;即控制Y5=1,即Y5C打开。
蓝桥杯CT107D浅学(二)
这时Y5C打开之后,我们可以通过改变P0来控制ULN2003的各个模块。其中,蜂鸣器模块可以由P06口,控制,我们将P0=0X00;即将ULN2003所有的功能都给关闭了,因此蜂蜜器也被关闭了。我们也可以只操作P06该I/O口等于0,来控制蜂鸣器,不改变其他模块。这样更能准确一些。P0=0X00;是一个很偷懒的方法。第三段P2&=0X1F;此时是为了重新初始化P2口,即关闭Y5C。如果不关闭,之后的对P0口进行操作会影响ULN2003。

相关文章: