zoukankan      html  css  js  c++  java
  • 74hc165三片级联

    3片74HC165进行级联,用于扩展IO口,读取外界设备的数据。

    unsigned int read_74165(void)
    {
        unsigned int val = 0;
        unsigned int count = 24;        //三片74hc165,需要读24次
        unsigned int i, tmp;
        //加载并行数据并锁存
        gpio_set(PL, HIGH);
        delay();
        gpio_set(PL, LOW);
        delay();
        gpio_set(PL, HIGH);
        delay();
        gpio_set(CLK, HIGH);
        delay();
    
        //gpio引脚与芯片数据脚直接相连,所以第一次不需要时钟就能读取到第一位数据。
    //下一个时钟将会得到第二位数据
      if (data_get()) val += 1; //读取剩下的23位 for (i = 0; i < count - 1; i++) { gpio_set(CLK, LOW); delay(); gpio_set(CLK, HIGH); delay(); val <<= 1; if (data_get()) val += 1; } gpio_set(CLK, HIGH); gpio_set(PL, HIGH);   //根据硬件调整数据的位置 tmp = ((val & 0xff0000) >> 16) | (val & 0xff00) | ((val & 0xff) << 16); return tmp; }

    硬件原理图如下:

  • 相关阅读:
    2021.1.11
    2021.1.10(每周总结)
    2021.1.9
    2021.1.8
    2021.1.7
    构建之法阅读笔记01
    [java] XML DTD XSD
    详解 泛型 与 自动拆装箱
    详解 正则表达式
    详解 LinkedHashMap
  • 原文地址:https://www.cnblogs.com/helloworldtoyou/p/5125916.html
Copyright © 2011-2022 走看看