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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

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

- f" M; x& J/ F' o3 u知识点:. |- Y* F- N, K* i0 W( [% |
! x' ^/ W- }' f# \
1、 IO 扩展之输入扩展/ T+ [) z9 [: e
2、 74HC165用法1 s: y4 J2 q3 k6 r- G* I5 ^. Q
3、 基于 74HC165 按键扩展实验/ ~+ E; m9 p0 u& O; o, c3 I* G
4、 矩阵式按键扩充实验' b! a& e; O) r2 c
5、 时序与真值表+ K9 @* Y9 s( b/ A4 m' y% A9 h
6、 学会根据器件真值表和时序图编写器件驱动程序, A3 O" c$ Y- R7 f1 |3 e5 k. _; J7 c
7、 单片机外围器件驱动程序设计的两种方式(器件时序图与标准通信接口)6 J2 n9 |# Z+ A2 A1 N
7 J* b/ H# o5 M
一、IO扩展之输入扩展:
: Q8 F3 i  v0 V* m  g; u+ g这里所讨论的 IO输入扩展,意思是如何通过单片机一位 IO端口去读取外部输入的一个字节的数据(8 位)。下面我们介绍一下器件74HC165。
  X4 @0 L0 ~8 K; J  X. \
9 Q3 p9 A" b' o% C/ z9 u% v
8 R0 _' `7 [2 G! F  E3 |二、74HC165用法:
6 w; f& k7 b( A" l $ s9 z% T% N' u. t( R  U5 D0 {
引脚介绍
+ r( }; |8 j1 h8 t$ q$ u( N2 p6 s
6 j! F7 p" V' ~6 Y5 @5 v, ESH//LD:移位控制/置入控制(低电平有效),移位:使能移位输出;置入:把数据放入移位寄存器中
% `: e5 m$ w$ v; L4 ?; o; `' BCLK,CLK_INH:时钟输入端
, w. j; G+ l* O4 O4 u- V& n1 e' [SER:串行数据输入端
: b3 l; p* ?  I0 H; K" rQH:输出端
" u. ~! R2 ^& ]! x/QH:互补输出端+ B2 O& [, v. j" ~) I, x
A- H:并行数据输入端 其实看一个芯片如何使用的,不只是看引脚功能,更重要的是要看时序图和真值表。
! b5 K1 q5 M& y) H: b, j' J. u  d, {1 W2 Z$ M4 `/ H2 f
真值表:
+ v6 m/ E, p, K7 k ' p* h/ U- n4 b: f. @7 d& S
3 t& y* R; G" J3 O; x7 T: R5 m+ P

8 y* b3 V% ~5 a' [; w时序图:
+ A" o' C8 R- t/ h9 g7 v) B! @
0 G1 q. S' v" {* S
# x* ~& F; T7 j! c这个时序图包含两大部分内容:装载数据(LOAD)和串行移位(SERIAL SHIFT),其中 LOAD 时, 必须 inhibit(时钟禁止),CLOCK _INHIBIT = 1;2 I/ u( A+ m/ `; l$ N
首先分析如何 LOAD,所谓 LOAD 就是把通过此器件获得的 8 位数据,加载到此器件的内部移 位寄存器里。比如外接的是 8 个按键,平时没按下按键时是高电平,这时,加载到器件内部 移位寄存器里的是 0XFF,当其中某一个键被按下时,对应的 8 位编码数据就被加载内部移位9 J% z" ]* L! o$ d  ^0 I

: t  I2 A4 a4 t  c9 x* e/ l' D' M寄存器里。通过时序图和真值表,我们不难发现,LOAD 时,SHIFT//LOAD 必须保持低电平。 所以加载数据时,我们可以这样编码:/ g( l& _" s: v# X1 \* o
SHIFT//LOAD = 0;0 t2 i' K( J! ^! E' _4 |
_NOP_();        //保持一段时间的低电平" {! K, Z! f0 L( U

1 S( W/ r+ `8 h" E( y  y随后,在 CLOCK_HAIBIT 保持低电平,SHIFT//LOAD 保高电平,开如一段 8 位串行数据的移 位输出,时钟上升沿状态下开始移位输出。以下是上升沿的写法,一定要记住!- C  Y0 p' k$ C1 {! X1 W: n. N
6 h4 {+ b" e* z
CLOCK = 0;
$ [4 ]& d) ^* G" h" o_NOP_();
" m9 H2 s7 Q+ hindata |= indata; CLOCK = 1;( c% A+ R: h8 }8 \

+ Q0 n6 o1 o- q( E9 q三、基于 74HC165 按键扩展实验: 实验现象:下载程序后,按下独立按键可以点亮对应 LED 灯。注意事项:必须将 74HC165 模块的 JP165 短接片短接,否则不会出现象。
7 g, @/ a0 B6 n, `  s# ]$ T% h5 V+ y
. |: c3 X+ T3 w, I2 N5 r四、时序与真值表 时序,就是按照一定的时间顺序给出信号。按照这个时间顺序,你就能得到你想要的数据或 者把你要写的数据写进芯片。3 v8 ~; S" \5 e* l& r  E
真值表:输入与输出物理电平关系 ' v- ~) K1 }8 P# ?8 W* j

: h  Z# e) C0 t( r- U$ t, n五、矩阵式按键扩充实验 不同的按键触发不同的功能(按键事件解析)' D; V7 C- i- }8 Z1 e

3 r( c& C% P( e; b8 i4 y( Y六、学会根据器件真值表和时序图编写器件驱动程序1 T  g. A) s* n" n- w, q

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-29 08:06 , Processed in 0.078125 second(s), 26 queries , Gzip On.

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

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

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