用74HC165读8个按键状态

74LV165说明:
74LV165是8位并行负载或串行输入移位寄存器,末级提供互补串行输出(Q7和Q7)。并行负载(PL)输入为低电平时,来自D0至D7输入的并行数据会异步加载到寄存器中。输入PL为高电平时,数据在输入DS处串行输入寄存器。其随每次时钟正向跃迁向右移一位(Q0 → Q1 → Q2,以此类推)。通过将Q7输出连接到后一级的DS输入,该特性可实现并行到串行转换器扩展。
时钟输入为门控或结构,允许一个输入用作低电平有效时钟使能输入(CE)输入。CP和CE输入的针脚分配是任意的,为方便布局可颠倒。CE输入从低电平至高电平的跃迁应当仅在CP为高电平时发生,以便操作可预测。PL从低电平跃迁到高电平前CP或CE应当为高电平,以防激活PL时移位数据。
逻辑功能列表:
以上可知:
/PL 拉低,D0至D7输入的并行数据会异步加载到寄存器中;/PL 拉高,则Ds可以按CP上升沿串行输入数据至寄存器,同时寄存器中的8位数据通过7个CP上升沿从Q7输出。
当单片使用时,Ds一般不输入任何数据,用户通过/PL 拉低,加载D0-D7数据至寄存器(并行)。/PL 拉高,通过7个CP上升沿,从Q7获得8个数据。
当多片级联(N)使用时,Ds连接上一片74LV165的Q7,作为Ds的输入数据,用户通过/PL 拉低,加载D0-D7数据至寄存器(并行)。/PL 拉高,通过 8 * N 个CP上升沿,从Q7获得8*N个数据。
用74HC165读8个按键状态的更多相关文章
- 用74HC165读8个按键状态(转)
源:用74HC165读8个按键状态 //-------------------------------------------------------------------------- //来源: ...
- [VB.NET]调用API获取/设置键盘按键状态
1.调用GetAsyncKeyState()获取指定按键的状态,GetActiveKey()检索指定范围内的按键状态 2.调用keybd_event()可合成一次击键事件,通常两次击键事件间需要设定时 ...
- 【iCore4 双核心板_ARM】例程二:读取ARM按键状态
实验原理: 按键的一端与STM32 PB9相连,另外一端接地,且PB9外接一个1K电阻大小的上拉电阻, 初始化时把PB9设置成输入模式,当按键弹起时,PB9由于上拉电阻的作用呈高电平(3.3V): 当 ...
- [VB.NET][C#]调用API获取或设置键盘按键状态
前言 通过 C# 或 VB.NET,你只需编写少量的代码即可实现一个按键精灵. 第一节 接口 调用系统 API 实现获取或设置指定的按键状态. 获取按键状态 调用 GetAsyncKeyState() ...
- 一文读懂Java线程状态转换
前言 本文描述Java线程线程状态及状态转换,不会涉及过多理论,主要以代码示例说明线程状态如何转换. 基础知识 1. 线程状态 Thread源码中的状态说明: 线程可以有6种状态: New(新建) R ...
- AVR单片机教程——按键状态
好久没更新了,今天开始继续,争取日更. 今天我们来讲按键.开发板的右下角有4个按键,按下会有明显的“咔嗒”声.如何检测按键是否被按下呢?首先要把按键或直接或间接地连接到单片机上.与之前使用的4个LED ...
- Delphi 判断按键状态
Delphi 判断按键状态 http://blog.sina.com.cn/s/blog_54da9cc001015di1.html (2012-04-05 14:22:50) 标签: 杂谈 分类: ...
- 【iCore1S 双核心板_ARM】例程三:EXTI中断输入实验——读取ARM按键状态
实验原理: 按键的一端与STM32的GPIO(PB9)相连,且PB9外接一个1k大小的限流上接电阻. 初始化时把PB9设置成输入模式,当按键弹起时,PB9由于上拉电阻的作用呈高电平(3.3V): 当按 ...
- 【iCore4 双核心板_ARM】例程三:EXTI中断输入实验——读取ARM按键状态
实验原理: 按键的一端与STM32的GPIO(PB9)相连,且PB9外接一个1k大小的限流上接电阻. 初始化时把PB9设置成输入模式,当按键弹起时,PB9由于上拉电阻的作用呈高电平(3.3V): 当按 ...
随机推荐
- vue的递归组件以及三级菜单的制作
js里面有递归算法,同时,我们也可以利用props来实现vue模板的递归调用,但是前提是组件拥有 name 属性 父组件:slotDemo.vue: <template> <div& ...
- 《C++ Primer Plus》学习笔记 2.1.3 C++预处理器和iostream文件
程序清单2-1 myfirst.cpp // myfirst.cpp -- displays a message #include <iostream> // a PREPROCESSOR ...
- org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService: mapreduce_shuffle do
在yarn-site.xml 配置文件中增加: <property> <name>yarn.nodemanager.aux-services</name> < ...
- Oracle 查询表信息(字段+备注) .
var t= CardService.GetInstance().test("900000000233"); foreach (DataRow row in ...
- ios 给UIImageView添加阴影
_borderView.layer.shadowColor = [UIColor grayColor].CGColor; _borderView.layer.shadowOffset = CGSize ...
- 逐一取Map值
String[] mKeys = starDetil.getRows().keySet().toArray(new String[starDetil.getRows().size()]); starD ...
- css 更改input radio checkbox的样式
html <label> <input type="checkbox" class="colored-blue"> <span c ...
- 解决;R语言使用sqldf库是报错"Failed to connect to database: Error: Access denied for user '..'@'localhost' (using password: NO) Error in !dbPreExists : invalid argument type"
原因:在使用sqldf时,不需要加载RMySQL库 解决方案:在控制台执行释放RMySQL库加载 detach("package:RMySQL", unload=T);
- 发送邮件的三种方式:Send Mail Message
发送邮件的三种方式: 1.VBS 执行vbs脚本文件的程序为: system32文件下的 NameSpace = "http://schemas.microsoft.com/cdo/conf ...
- 【Flask】在Flask中使用logger
https://blog.csdn.net/yannanxiu/article/details/53557657 Flask在0.3版本后就有了日志工具logger,在Flask的官方文档中这么记载: ...