使用HC165 级联输入(并入串出)

HC165结构图

使用HC165 级联输入(并入串出)_第1张图片

 

1.硬件原理图

使用HC165 级联输入(并入串出)_第2张图片

 2.编程代码

(这个是未验证的程序,这只是使用别人的板子编写的程序,后期等板子出来了,在验证程序)

/*
  ************************************* Copyright ******************************
  *
  *                 (C) Copyright 2023,Wenkic,China, GCU.
  *                            All Rights Reserved
  *
  *                     By(Wenkic)
  *                      https://blog.csdn.net/Wekic
  *
  * Version      : v1.0
  * Author       : Wenkic
  * Description  :
  * Function List: 74HC165D 并入串出(输入信号)
  *     74HC165和74HCT165是一种8位串行或并行输入/串行输出移位寄存器。
  * 该器件具有一个串行数据输入(DS)、8个并行数据输入(D0至D7)和两个互补的串行输出(Q7和Q7')。
  *
  * 【01】:数据加载控制引脚。该引脚处于低电平时,读取并行端口(D0->D7)的数据并储存在移位寄存器内;
  *  该引脚处于高电平时,串行数据从DS引脚(10号)进入到移位寄存器中(Q0->Q7)。
  * 【02】:时钟输入,上升沿触发。
  * 【11】【12】【13】【14】【03】【04】【05】【06】:D7>并行数据输入引脚。  
  * 【07】:串行数据互补输出引脚,与9号引脚互补。
  * 【08】:电源负极。
  * 【09】:串行数据输出引脚。
  * 【10】:串行数据输入引脚。
  * 【15】:时钟输入使能引脚,低电平触发。
  * 【16】:电源正极。
  * 应用1: 并入串出
  * 应用2: 串入并出
  *
  ******************************************************************************
  */
/********************************End of Head************************************/
#include "HC165.h"
static volatile u8 HC165Table[4] = { 0 };

//并入串出
#define HC165_SH   P21  //锁存脚(1脚)  0:外部输入到寄存器  1:上升沿锁存数据
#define HC165_CLK  P25  //锁存脚(2脚)  上升沿移位一位数据出
#define HC165_INH  P21  //锁存脚(15脚) 时钟使能(0:时钟上升沿无效 1:有效)
#define HC165_SER  P24  //数据脚(10脚) 数据输入

u8 Read_HC165Byte(void)
{
	u8 temp = 0,i;
    for (i=0; i<8; i++) {
        HC165_CLK  = 0;             		// 下降沿同步 HC165 和单片机
        temp      |= (HC165_SER)?(1<

你可能感兴趣的:(PCB电路,单片机,嵌入式硬件)