1、74LS13芯片介绍(以Proteus元器件为例):
①、SH/LD:移位与置位控制端;SH/LD置0,并行口的8位数据将被置入其内部的8个触发器,在SH/LD为1时,并行输入被封锁,移位操作开始;
②、INH:低电平时充许时钟输入,高电平时禁止时钟输入;
③、CLK:时钟输入,上升沿有效;
①、D0~D7:并行输入端。
⑤、SI:串行输入,用于扩展多个74LS165 的首尾连接端;
⑥、SO(QH):串行输出;QH(反):也是串行输出端,它与 SO(QH)是反相的关系;
2、Proteus原理图
使用2片74LS165级联,作I/O扩展输入
①、74LS165通过拨动开关输入数据;
②、通过P1,P2端口输出所给数据并显示。
3、Keil C51程序:
#include <REGX52.H>
#define SL P3_2
unsigned char flag,i;
void Delay20ms(void) //@11.0592MH
{
unsigned char data i, j;
i = 36;
j = 217;
do
{
while (--j);
} while (--i);
}
void main()
{
SCON = 0x10;
while(1)
{
SL = 0;
Delay20ms();
SL = 1;
for(i= 0;i< 2;i++ )//先读取低第二个74ls165的数据,然后读取第一个74ls165的数据
{
while(RI==0);
flag = !flag;
if(flag)
{
P2 = SBUF;
RI = 0;
Delay20ms();
}else
{
P1 = SBUF;
RI = 0;
Delay20ms();
}
}
}
}