CT107D电路解析

1、译码器:

 其中,A、B、C为输入端,

 对应关系如下:

CBA  十进制    输出(低电平)

000      0           Y0

001      1           Y1

010      2           Y2

011      3        Y3

100      4     Y4

101      5     Y5

110      6     Y6

111      7     Y7

2、锁存器:

当使能端为高电平时:输入输出同步。

当使能端为低电平时:数据会被锁存(不管输入端的电平怎么变化,输出端电平不会变)。

3、或非门:

(1)IO扩展的开发模式:

 由于采用io扩展的开发模式,因此,WR接地,WR始终为低电平。

(2)或非门:

 由于采用的是IO扩展的开发模式,因此或非门的输入端的WR始终为低电平。

4、以LED显示为例,展示上述器件之间的联系:

 

先通过P2口的三位输出获得八位输出,使得八位输出中只有Y4为低电平;因为WR恒为低电平,Y4为低电平,经过或非门后输出Y4C为高电平,Y4C的高电平使得锁存器的使能端LE有效(输入输出同步),LED可以显示。

5、代码实现:

#include<reg51.h>
sbit wr=P3^6;
unsigned char leds[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay(unsigned int x)
{
    while(x--);
}
void stop_buzzer_relay(void)
{
    wr=1;
    P2=0xa0;//Y5
    P0=0x00;
    wr=0;
    P2=0x00;    
}
void main(void)
{
    char i;
    stop_buzzer_relay();
    wr=0;
    P2=0x80;//Y4
    while(1)
    {
        P0=~leds[i];
        delay(50000); 
        i++;
        if(i>=8)i=0;
    }    
}
原文地址:https://www.cnblogs.com/zhai1997/p/11951819.html