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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
第13讲 IO 扩展(输入扩展)与按键触发实验

! ^0 b3 Y4 B5 M3 G( c4 k& c8 }知识点:
- ?/ s9 }8 @% P% a3 ~' m
- @: B4 T+ w  h% I  Y+ @! X1、 IO 扩展之输入扩展
7 L3 T8 Q5 O( Z6 `2、 74HC165用法3 a" s$ C7 i4 u5 O' w
3、 基于 74HC165 按键扩展实验
, `! T0 V: o) v4、 矩阵式按键扩充实验
# n% \- p1 E  Z6 H- c5、 时序与真值表
# D' j1 K# a0 i. d2 y: b6、 学会根据器件真值表和时序图编写器件驱动程序
- W! s+ Y) ?2 y+ a$ b! |  V+ _; n7、 单片机外围器件驱动程序设计的两种方式(器件时序图与标准通信接口)  d7 p" f" f! e1 S# x

3 s0 z, d7 G, z* l2 l5 A# U4 ?一、IO扩展之输入扩展:
) G  }4 P! \+ g* F, [( \/ [8 g* ^这里所讨论的 IO输入扩展,意思是如何通过单片机一位 IO端口去读取外部输入的一个字节的数据(8 位)。下面我们介绍一下器件74HC165。+ Q; M4 S1 \& `6 R

& K* R5 M3 M# t5 _1 w; Z' p; p- C5 \
二、74HC165用法:! `2 `) j5 a" S* ?

, M" z# \* {, R& M- x引脚介绍
/ r- y6 U. b: N* N+ y
( {, h( T, v$ N8 [# c5 M; PSH//LD:移位控制/置入控制(低电平有效),移位:使能移位输出;置入:把数据放入移位寄存器中
& P7 U) X6 V* \0 `CLK,CLK_INH:时钟输入端
) u. L$ J& Q& bSER:串行数据输入端
% i( i% n3 |9 t* F/ J: C5 i1 |QH:输出端
  u. c5 H: I5 q2 O0 E/QH:互补输出端/ g8 W) T( W# h' p1 e2 F
A- H:并行数据输入端 其实看一个芯片如何使用的,不只是看引脚功能,更重要的是要看时序图和真值表。 # ]6 y  l9 z4 }% _  B
0 I+ q  a! k5 t6 B! u
真值表:, F1 f/ d# |9 k- R9 Q& w

) @& l- l  ], m# w. q0 w0 P
* S- P1 [. N6 w$ a1 c4 t/ Z& r; C$ F% ]! t2 `: x; E( M' h
时序图:
& S: g0 i/ S+ J: w  T
8 L5 b& H0 ]9 S/ }' M
: N9 A2 m4 Y; C3 H$ T这个时序图包含两大部分内容:装载数据(LOAD)和串行移位(SERIAL SHIFT),其中 LOAD 时, 必须 inhibit(时钟禁止),CLOCK _INHIBIT = 1;
3 X& C8 r5 _* q  T) M: A首先分析如何 LOAD,所谓 LOAD 就是把通过此器件获得的 8 位数据,加载到此器件的内部移 位寄存器里。比如外接的是 8 个按键,平时没按下按键时是高电平,这时,加载到器件内部 移位寄存器里的是 0XFF,当其中某一个键被按下时,对应的 8 位编码数据就被加载内部移位
) ]0 X% ~0 G9 W# Z# H* @7 P
' o- x& k" w' [1 I) j5 `! I+ Y寄存器里。通过时序图和真值表,我们不难发现,LOAD 时,SHIFT//LOAD 必须保持低电平。 所以加载数据时,我们可以这样编码:
: s5 _6 ]3 p9 I5 l  G) V0 GSHIFT//LOAD = 0;7 g2 D6 q" o& \, P9 f  K6 U- k
_NOP_();        //保持一段时间的低电平
3 t7 Q( G$ B* Z- e% o' W, d: c' h0 h+ @, b6 Z% j7 {
随后,在 CLOCK_HAIBIT 保持低电平,SHIFT//LOAD 保高电平,开如一段 8 位串行数据的移 位输出,时钟上升沿状态下开始移位输出。以下是上升沿的写法,一定要记住!
0 g7 T# E* H4 k* m5 z. v; g1 j! I: D( q2 ^
CLOCK = 0;
! m6 c/ s6 ?5 {_NOP_();
5 i$ E7 ^8 D; }) c% A9 O. P+ r/ Jindata |= indata; CLOCK = 1;
7 _% Z/ }3 q0 `6 h. T+ w+ ]2 U  n4 ~: u1 {( h1 Y; c3 L0 i
三、基于 74HC165 按键扩展实验: 实验现象:下载程序后,按下独立按键可以点亮对应 LED 灯。注意事项:必须将 74HC165 模块的 JP165 短接片短接,否则不会出现象。
+ B  t/ Z  k" [1 l- R% c$ P9 l5 ^' O  s0 Z( D$ ]
四、时序与真值表 时序,就是按照一定的时间顺序给出信号。按照这个时间顺序,你就能得到你想要的数据或 者把你要写的数据写进芯片。2 t* Z2 y  P! i9 y, L  N2 z
真值表:输入与输出物理电平关系 ! ]( K8 S2 |/ p/ @
2 t4 S2 A6 I1 G8 k+ L. Z
五、矩阵式按键扩充实验 不同的按键触发不同的功能(按键事件解析)) \5 I) _2 |/ ?8 c: F- C  @

# |+ y  O- B1 ~& q& j六、学会根据器件真值表和时序图编写器件驱动程序
- n$ j1 I1 f& p  m

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-14 11:22 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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