1、本例使用单片机的串口,使串口工作于移位寄存器模式,165的串行输出端口连接到单片机的串行数据输入端,单片机的串行数据发送端负责发送移位时钟脉冲,与165的CLK引脚相连。学要注意的是SH/LD引脚,为高时表示数据开始移位,为低时读入8位数据。在开始移位之前,需要先从并行输入端口读入数据,这时SH/LD端口应置0.这时165的8位数据输入端口的数据被读入。然后将SH/LD端置高,锁存这8位数据,开始移位操作,在TXD端的移位脉冲控制下,8位并行数据逐位串行发送到SO引脚。
2、在keil c51中新建工程ex60,编写如下程序代码,编译并生成ex60.hex文件
//利用串口读取74HC165的串行输出数据
#include <reg51.h> //
#include <intrins.h> //
sbit SPL = P3^2; //数据锁存端口定义 <
#include <reg51.h> //
#include <intrins.h> //
sbit SPL = P3^2; //数据锁存端口定义 <