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;
}

硬件原理图如下:

时间: 2024-10-19 11:16:49

74hc165三片级联的相关文章

目标检测程序开发(三)——级联分类器训练

目标检测分为3个阶段 1.      样本创建 2.      训练分类器 3.      使用训练好的分类器进行目标检测 级联分类器 源地址http://www.opencv.org.cn/opencvdoc/2.3.2/html/modules/objdetect/doc/cascade_classification.html 基于Haar特征的用于目标检测的级联分类器 下面描述的目标检测器最初由PaulViola提出,由RainerLienhart改进, 论文分别是Paul Viola a

MyBatis之级联小结

在这之前我们知道了MyBatis为我们提供了三种级联:一对一关系(assocation).一对多关系(collection).鉴别器(discriminator).在最后一个鉴别器例子中,看到了当层级关系比较负责时,我们似乎已经难以应对和维护各种级联关系,在对数据库进行查询是否应用MyBatis为我们提供的级联这需要在实际中去斟酌和取舍.在我们通过级联来查询信息时会发现有一个问题,当我们只想查询出学生的普通信息(姓名.性别),而不想查询出他的成绩.课程.体检表时,之前的三个例子不管你是否需要成绩

基于Haar特征的Adaboost级联人脸检测分类器

基于Haar特征的Adaboost级联人脸检测分类器,简称haar分类器.通过这个算法的名字,我们可以看到这个算法其实包含了几个关键点:Haar特征.Adaboost.级联.理解了这三个词对该算法基本就掌握了. 1        算法要点 Haar分类器 = Haar-like特征 + 积分图方法 + AdaBoost +级联: Haar分类器算法的要点如下: a)        使用Haar-like特征做检测. b)       使用积分图(IntegralImage)对Haar-like特

关于mysql的级联删除(之前好多人咨询过我)

最近许多项目咨询,mysql进行级联删除的问题.在此做个系统的扫盲. 一 什么是级联删除. 即依赖于外键关系,删除父表时,一并删除独立依赖于此表的子表. 二 如何做到级联删除 其实非常简单,需要建立表的时候明确指定,外键依赖关系的属性为允许级联删除. ON DELETE CASCADE 三 使用级联删除有什么优缺点 优点很明显,程序删除时变简单了. 缺点也很明显,业务设计时做删除考虑时需要更高的要求.否则易出问题.

基于Haar特征Adaboost人脸检测级联分类

基于Haar特征Adaboost人脸检测级联分类,称haar分类器. 通过这个算法的名字,我们能够看到这个算法事实上包括了几个关键点:Haar特征.Adaboost.级联.理解了这三个词对该算法基本就掌握了. 1        算法要点 Haar分类器 = Haar-like特征 + 积分图方法 + AdaBoost +级联: Haar分类器算法的要点例如以下: a)        使用Haar-like特征做检測. b)       使用积分图(IntegralImage)对Haar-like

你所不知道的Pt heartbeat

pt-heartbeat原理研究 一.简介 Mysql Seconds_Behind_Master参数对于主从延迟测量并不准确,因为他的统计基于 slave SQLthread 和I/O thread的时间差,如果i/o thread 受到网络影响,这个估值就非常不正确.一般采用更精确的主从延迟检测pt-heartbeat.pt-heartbeat分为两个部分第一个为update,发生在主库上,更新时间戳.第二个部分为monitor或check,发生在从库,检查主库传过来的时间戳与从库系统时间做

Hibernate学习4—关联关系一对多映射

一.班级学生一对多映射实现(单向) Class 1 * Student 一对多 在学生多的一方,配置一的对象: com.cy.model.Class: package com.cy.model; public class Class { private long id; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String

qt qss

QT皮肤(QSS)编程: 借用css 的灵感, Qt也支持Qt自己的css, 简称qss.同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样,css机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用程序也能像web界面那样随意地改变外观. 一.QSS语法 同css一样,他也有由一个selector与一个declaration组成,selector指定了是对哪一个控件产生效果,而declarati

dropdownlist 控件的判断

问题: 三个级联 下拉框.在不点击第一级别直接点击第二级别时,弹出提示窗口."请先选择XXX"之类的,理想的结果是想要下图 这样的: 由于使用的微信公众号的内置浏览器,所以问题来了.我的弹出框被 下拉菜单的选项 档住了.如下图: 已知方法  alert 可以在选项框之上: 但是还不够好 经过N天的尝试,最后解决方法为: 给dropdownlist 上加入的事件是mousedown事件,因为下拉菜单的弹出是click事件,所以我们在它还没有弹出之前先把它隐藏了 在,点击OK 之后再把它显