74HC165应用
- 管脚定义与内部逻辑图
注1:其中控制管脚有3个:SH/LD-QH-CLK,CLK INH硬件接VSS,SER和QH'悬空
原理:先拉低SH/LD,A-H置入芯片内部寄存器中,然后拉高SH/LD,锁住A-H输入,然后拉低CLK,读取QH的值,读完后再拉高CLK,读取下一个输入端(A-H),最先读取出来的是H,故将依次读取出来的bit左移组成一个字节。
注2:165级联,父165QH--子165 SER,然后左移位16次,移出来的位先子后父,其中INPUT_BYTEH为父
RLCF INPUT_BYTEH
RLCF INPUT_BYTE
- 实例代码
;--------------------------------------------------------------------------------------------------
;******************************************************************************
;74HC165并转串读取 SHIFT_165
BSF P_165PL
CALL T4US_DELAY
BCF P_165PL
CALL T4US_DELAY
BSF P_165PL
CALL T4US_DELAY MOVLW D''
MOVWF TMP0_LSB
LOOP_165
BCF P_165SCL
CALL T4US_DELAY BTFSS P_165SDA
BRA LOW_165SDA
BSF STATUS,C
BRA RIGHT_SHIFT_165BYTE
LOW_165SDA
BCF STATUS,C
RIGHT_SHIFT_165BYTE
RLCF HC165BYTE
BSF P_165SCL
CALL T4US_DELAY DECFSZ TMP0_LSB
BRA LOOP_165
;==========================================================
END_SHIFT_165
RETURN
74HC165应用的更多相关文章
- I/O扩展篇(基于74HC164/74HC165)
在我们的单片机应用系统中,常常会遇到I/O口不够的情况.譬如说接有外部RAM而且要求有16个以上的按键,8位数码管以上的显示.而且还不包括其它的外围器件.这时整个系统的I/O资源就很吃紧了.系统的扩展 ...
- 用74HC165读8个按键状态(转)
源:用74HC165读8个按键状态 //-------------------------------------------------------------------------- //来源: ...
- 51单片机:IO口扩展芯片用法(74HC165,74HC595)
IO口扩展芯片,主要是解决单片机IO口太少. 74HC165:数据从并转串 74HC595:数据从串转并 两种芯片,都是通过时序电路,加上移位功能,进行数据传输 74HC165:数据从并转串.以下实例 ...
- 74hc165三片级联
3片74HC165进行级联,用于扩展IO口,读取外界设备的数据. unsigned int read_74165(void) { unsigned ; unsigned ; //三片74hc165,需 ...
- 用74HC165读8个按键状态
源:用74HC165读8个按键状态 源:74LV165与74HC595 使用 74LV165说明: 74LV165是8位并行负载或串行输入移位寄存器,末级提供互补串行输出(Q7和Q7).并行负载(PL ...
- C51 矩阵按键 个人笔记
矩阵按键 电路 每个按键一端和同行一端相连(JP4的高4位),另一端和同列一端相连(JP4的低4位) 判断按键是否按下: 法一:逐行扫描 for(int i = 8 ; i>3 ; i-- ) ...
- AVR单片机教程——开发板介绍
本教程使用EasyElectronics开发板: EasyElectronics是一款基于AVR单片机的开发板.AVR单片机是基于改进的哈佛架构.8~32位的一系列RISC微控制器,最初由Atmel公 ...
- AVR单片机教程——EasyElectronics Library v1.0手册
更新:EasyElectronics Library v1.1手册 索引: bit.h delay.h pin.h tone.h pwm.h uart.h adc.h led.h rgbw.h seg ...
- AVR单片机教程——小结
本文隶属于AVR单片机教程系列. 第一期挺让我失望的,是我太菜,没有把想讲的都讲出来.经常写了很多,然后一点一点删掉,最后就没多少了. 而且感觉难度不合适,处于很尴尬的位置.讲得简单,难的丢给库, ...
随机推荐
- C#操作sql时注意点
①创建必要的索引 ②使用预编译查询 ③使用参数化sql会执行预编译,第一次执行的时候DBMS会为这个SQL语句进行查询优化并执行预编译 ④调整where子句中的连接顺序 ⑤DBMS一般次用自上而下的顺 ...
- Oracle数据库基础(二)
1.表名命名规则:必须以字母开头,不能超过30个字符,不要有Oracle保留字 2.数据类型 字符型: char :2000个字符 定长 效率高 ...
- Linux 搭建互信后,仍需要密码验证
修改ssh配置文件: vi /etc/ssh/sshd_config PermitRootLogin no 注释掉
- vue <router-view>没有渲染
将routes中的components换成component
- day19-2 生成器,递归函数
目录 生成器 有关yield的理解 实现range()函数 生成器表达式 递归 思考 斐波那契额 汉诺塔 二分法 生成器 自定义的迭代器 yield关键字: 和return一样,接收值,但不终止函数 ...
- zabbix-agent端自定义监控项(free -m)服务器内存使用率
Agent端操作 [root@agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf 末行追加 UserParameter=memory_user ...
- 使用easyui combobox初始化+在input中触发下拉框+获取值
效果图: 1.html <input id="alarmLeve" class="easyui-combobox" name="alarmLev ...
- CSS布局总结(一)
前言:今天是学校为期六周的实训第一天,实训课感觉很水,第一天讲的竟然是HTML...实训老师丢了一个静态页面给我们做.感觉很久没写过这种东西,突然觉得自己的基本功很渣.布局这方面感觉需要总结一下,然后 ...
- myeclipse反编译安装 jd-gui.exe下载
一:在线安装 1.Help->Install New Site Name:** Location:http://jd.benow.ca/jd-eclipse/update 二:手动安装 1.下载 ...
- JVM运行原理详解
1.JVM简析: 作为一名Java使用者,掌握JVM的体系结构也是很有必要的. 说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Ja ...