找回密码
 注册
关于网站域名变更的通知
查看: 184|回复: 2
打印 上一主题 下一主题

单片机讲义13:IO扩展(74HC165输入扩展)与按键触发实验

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-6-8 10:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
第13讲 IO 扩展(输入扩展)与按键触发实验
: a* }' p; m& ^& \
知识点:
1 }% x7 l% ]7 |8 u) H
8 K" B# O# J2 ?2 ]+ |0 F  M0 Z( C1、 IO 扩展之输入扩展9 I' e! T7 Y  K  o! F, k2 c
2、 74HC165用法& g- K9 d. j1 F! n0 u& t; {6 A
3、 基于 74HC165 按键扩展实验
9 R# N9 a  j4 W' q, U9 c4、 矩阵式按键扩充实验+ H8 l  {; [' V) n" a; o
5、 时序与真值表
) e( B4 h8 G8 l9 E6、 学会根据器件真值表和时序图编写器件驱动程序% w. A% F9 L- t& O3 [& Z
7、 单片机外围器件驱动程序设计的两种方式(器件时序图与标准通信接口)
, m7 S7 \- |1 A& \' i3 U
7 l9 {1 D& p9 e+ `一、IO扩展之输入扩展:
8 K2 ?; z& I( B7 s+ h- x这里所讨论的 IO输入扩展,意思是如何通过单片机一位 IO端口去读取外部输入的一个字节的数据(8 位)。下面我们介绍一下器件74HC165。
4 J3 v! j$ B6 d5 D0 }. L1 Q7 [* j/ _8 `* P# A: Y7 n
- R# q1 D  i3 R3 k  |( A( M7 Y
二、74HC165用法:
5 F. o1 }! j! W) F; B
) I1 y5 r* b) }8 ^( x  ~7 s# \( T8 s引脚介绍7 X! y7 L8 L5 z2 N& U

9 X; q; b; v: aSH//LD:移位控制/置入控制(低电平有效),移位:使能移位输出;置入:把数据放入移位寄存器中* V+ P1 m( s2 t; Y: A
CLK,CLK_INH:时钟输入端
! l  K$ e( }$ A$ d+ U' iSER:串行数据输入端
+ c( s7 o' a5 g# ZQH:输出端
2 }- P5 t  m$ ~: R. c/QH:互补输出端
9 s3 ~0 D( w  d/ e: ^A- H:并行数据输入端 其实看一个芯片如何使用的,不只是看引脚功能,更重要的是要看时序图和真值表。
0 X0 Y, X7 _) Z' \- j. [
& t2 {4 t! _$ \5 Q2 u  F. n/ I- g: X' z真值表:
7 |$ F6 a' I% I  s + G" J# p& K2 S# b5 V+ v. o* [4 K

2 K$ {9 }: e" @- |! m* |
. B( B% [% }" S9 T6 T7 y  y2 l: }时序图:
% i2 ?6 k& C. Q+ y2 b6 u ( o/ ^3 X# B% A+ V  U

2 V. ?# H% H* _这个时序图包含两大部分内容:装载数据(LOAD)和串行移位(SERIAL SHIFT),其中 LOAD 时, 必须 inhibit(时钟禁止),CLOCK _INHIBIT = 1;. |3 }  ?8 o4 t! l- F
首先分析如何 LOAD,所谓 LOAD 就是把通过此器件获得的 8 位数据,加载到此器件的内部移 位寄存器里。比如外接的是 8 个按键,平时没按下按键时是高电平,这时,加载到器件内部 移位寄存器里的是 0XFF,当其中某一个键被按下时,对应的 8 位编码数据就被加载内部移位% j, Y- c* ?) X- Z* L# {5 r6 b' [+ l

* H* I% x+ \/ z$ z- a" U# E寄存器里。通过时序图和真值表,我们不难发现,LOAD 时,SHIFT//LOAD 必须保持低电平。 所以加载数据时,我们可以这样编码:& O9 C# O; d5 X' Y/ Q) m+ u6 c5 o4 e
SHIFT//LOAD = 0;
) I* }8 W8 u4 w4 w0 f8 H/ E_NOP_();        //保持一段时间的低电平0 G7 Z( f4 y) S: X
, ?7 S5 A; u3 z! {6 x) e2 p! Y% z
随后,在 CLOCK_HAIBIT 保持低电平,SHIFT//LOAD 保高电平,开如一段 8 位串行数据的移 位输出,时钟上升沿状态下开始移位输出。以下是上升沿的写法,一定要记住!6 z7 }1 Z: B( K6 ~8 j  p
- F# `4 A/ m5 u" r9 z
CLOCK = 0;8 q& N1 \) i  r4 R
_NOP_();
6 @) s( N! ^; }/ ~# A4 b5 Cindata |= indata; CLOCK = 1;' X% A- m+ y& c( }: A

2 c/ b. \- g4 v& K+ c& ~2 b4 E三、基于 74HC165 按键扩展实验: 实验现象:下载程序后,按下独立按键可以点亮对应 LED 灯。注意事项:必须将 74HC165 模块的 JP165 短接片短接,否则不会出现象。6 D* Z: B( y; K' a" Y# {( H

4 V, Y! m5 J9 {  O* v& |四、时序与真值表 时序,就是按照一定的时间顺序给出信号。按照这个时间顺序,你就能得到你想要的数据或 者把你要写的数据写进芯片。
4 s) M3 H. Z+ M真值表:输入与输出物理电平关系
2 L  M* @' ~' P% q7 g
" H! N7 m0 T+ |! y五、矩阵式按键扩充实验 不同的按键触发不同的功能(按键事件解析)
8 P. z, v& U) t' B, _( O
1 N  g9 S. X, I2 @0 F六、学会根据器件真值表和时序图编写器件驱动程序
5 w# {/ l. T0 s* ?3 E' W

该用户从未签到

2#
发表于 2022-6-8 11:00 | 只看该作者
||ヽ(* ̄▽ ̄*)ノミ|Ю来了来了,学习了

该用户从未签到

3#
发表于 2022-6-8 16:01 | 只看该作者
||ヽ(* ̄▽ ̄*)ノミ|Ю来了来了,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 17:54 , Processed in 0.125000 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表