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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
第13讲 IO 扩展(输入扩展)与按键触发实验
) \0 e) h+ N4 y# ~  n( E
知识点:  i/ |& m& T( Y) P; B, W; R

) X4 `5 n; L: c! u3 n+ _+ {1、 IO 扩展之输入扩展! o) v- T/ S) u6 D: L6 o
2、 74HC165用法9 U! G7 T- J" ^( z& \1 }
3、 基于 74HC165 按键扩展实验6 z9 I% I8 R2 I6 T( f9 v( l# P5 V
4、 矩阵式按键扩充实验. c: f1 M$ g% N8 _
5、 时序与真值表4 \$ @0 N2 k* J! v) w  K
6、 学会根据器件真值表和时序图编写器件驱动程序/ L' F  l  A# i1 z6 H5 a' N0 A/ ]
7、 单片机外围器件驱动程序设计的两种方式(器件时序图与标准通信接口). c# l  z5 a0 G% w2 e( u7 l. G! r4 n

& X9 r: ^2 \' a: v一、IO扩展之输入扩展:
8 @; S0 C' _% P3 j( e  G这里所讨论的 IO输入扩展,意思是如何通过单片机一位 IO端口去读取外部输入的一个字节的数据(8 位)。下面我们介绍一下器件74HC165。/ u% p3 }3 f0 B! f# V% t  Q& l1 K

$ Y. a  g# I; I1 p' Y, r% X8 x/ G9 r  C) w8 O
二、74HC165用法:" S8 _4 C" n; c, N0 b2 }

) Y4 b' P* s; ?' @引脚介绍( h3 ^: W/ t* f# e- o, l! r

( x0 \$ ?/ Z0 x+ {SH//LD:移位控制/置入控制(低电平有效),移位:使能移位输出;置入:把数据放入移位寄存器中
3 l( e5 Y4 j& v9 ~: H9 V; k5 ?" G! sCLK,CLK_INH:时钟输入端
4 m8 l5 P' z* iSER:串行数据输入端; G5 ?: t& y$ j- v1 A! U; H
QH:输出端
& W" N3 b" H3 d/QH:互补输出端( @$ T* X% i' F6 V
A- H:并行数据输入端 其实看一个芯片如何使用的,不只是看引脚功能,更重要的是要看时序图和真值表。
4 ?+ X( u* Z* j. w" t0 [
: G8 @! d0 q6 m  E. G7 |真值表:! Q  d0 N% \1 F4 t

0 z5 T9 e$ n& b/ T) F4 z! q5 }4 o! k$ b7 w3 H( }9 o) J! S
( Q8 H5 R6 j6 I0 h, r
时序图:
' R0 e  U8 k4 X  K- \/ P7 n8 Q
9 L& t/ C5 K2 y; |" s0 v
4 l1 S3 L. H4 d/ d这个时序图包含两大部分内容:装载数据(LOAD)和串行移位(SERIAL SHIFT),其中 LOAD 时, 必须 inhibit(时钟禁止),CLOCK _INHIBIT = 1;$ E( ]0 U, T0 Z( @& u" G
首先分析如何 LOAD,所谓 LOAD 就是把通过此器件获得的 8 位数据,加载到此器件的内部移 位寄存器里。比如外接的是 8 个按键,平时没按下按键时是高电平,这时,加载到器件内部 移位寄存器里的是 0XFF,当其中某一个键被按下时,对应的 8 位编码数据就被加载内部移位
7 E$ n* z: y) d( M* D; w7 S! a9 A7 x
寄存器里。通过时序图和真值表,我们不难发现,LOAD 时,SHIFT//LOAD 必须保持低电平。 所以加载数据时,我们可以这样编码:
; n3 Z, I2 P" ?- J! l5 @SHIFT//LOAD = 0;8 Z% u) W& b# G7 U$ [' S
_NOP_();        //保持一段时间的低电平
1 j3 }) L3 k* M$ e# b+ V. X
( K; k3 X+ B' n$ b2 `& |随后,在 CLOCK_HAIBIT 保持低电平,SHIFT//LOAD 保高电平,开如一段 8 位串行数据的移 位输出,时钟上升沿状态下开始移位输出。以下是上升沿的写法,一定要记住!* }4 ^2 ]9 L) |3 I- M

8 n& j( N( [8 }CLOCK = 0;# Y$ Q$ U9 p9 w& K6 ^0 v
_NOP_();
. R. Q3 r; |; b6 @. ~+ `+ F* ?indata |= indata; CLOCK = 1;2 N+ c( p- @" F
4 M/ ?8 Y# P4 K  R! O& P( _; A
三、基于 74HC165 按键扩展实验: 实验现象:下载程序后,按下独立按键可以点亮对应 LED 灯。注意事项:必须将 74HC165 模块的 JP165 短接片短接,否则不会出现象。
9 G. _* x1 Y. d& Y$ I. I8 d: j! B1 t% F1 u, x
四、时序与真值表 时序,就是按照一定的时间顺序给出信号。按照这个时间顺序,你就能得到你想要的数据或 者把你要写的数据写进芯片。( @8 e! c6 p$ `
真值表:输入与输出物理电平关系
! i4 V8 i; ~5 j* Z6 i
* r9 F! M* U- U( ]+ W! I' O五、矩阵式按键扩充实验 不同的按键触发不同的功能(按键事件解析)- y! Y* P* q3 a! u: i
( ?0 a& c/ M9 ~. x% q  d! w
六、学会根据器件真值表和时序图编写器件驱动程序
% Z. U! N- s$ U- a

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-4 23:02 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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