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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
第13讲 IO 扩展(输入扩展)与按键触发实验
: x! c8 R: ?5 \! x* b- Z
知识点:
$ R+ R' u5 w# r# ]; p
2 _2 c0 S) s- o- v5 @* y1 R4 `1、 IO 扩展之输入扩展( ]6 A0 [6 i' V$ p
2、 74HC165用法+ A0 g$ j) e3 P8 H! U9 J* ?7 Q2 V
3、 基于 74HC165 按键扩展实验/ p, |4 V# f( l8 C, N7 P2 S( [
4、 矩阵式按键扩充实验) s  G  r, P* _" a1 l
5、 时序与真值表" v- Z; R  h8 K" s9 R+ D
6、 学会根据器件真值表和时序图编写器件驱动程序
5 w1 H) h6 m- m/ f: T# P; l9 f7、 单片机外围器件驱动程序设计的两种方式(器件时序图与标准通信接口)& w" h/ V# V& S, x5 P$ t

9 @$ w+ c. m9 O5 u7 ?7 r一、IO扩展之输入扩展:
6 u/ U5 w$ Z' {- V' _9 P这里所讨论的 IO输入扩展,意思是如何通过单片机一位 IO端口去读取外部输入的一个字节的数据(8 位)。下面我们介绍一下器件74HC165。
& L) D' s/ X/ e5 r% c
2 Z2 n% o" {0 V8 K/ d1 e# U( {6 X" z2 q" [+ M; ?
二、74HC165用法:
' G$ i6 D( X! a* B 5 q5 q$ g2 v! G! {+ F! _; T6 \
引脚介绍/ r% b' o/ S. o, I4 X
0 J. a( d8 J: x' Y" \9 J: i: _$ t
SH//LD:移位控制/置入控制(低电平有效),移位:使能移位输出;置入:把数据放入移位寄存器中- f8 k) F( U. c! E1 ^/ N
CLK,CLK_INH:时钟输入端
+ C. i2 E% P7 X6 q5 p; eSER:串行数据输入端
/ [/ z) F* F3 S) bQH:输出端+ @# Y2 K, z$ ~/ F# l7 t, s
/QH:互补输出端# a/ L% ]. `. R" v+ V6 M0 c
A- H:并行数据输入端 其实看一个芯片如何使用的,不只是看引脚功能,更重要的是要看时序图和真值表。 + Z* [1 q1 Q* u: F& c

' d+ @3 ~- q# L4 W9 u' b# h真值表:
% B' g( t3 E  f8 L7 x # [0 O! Y; k# D8 H2 B$ c- w
( v. U: A- h; ]; l; Z
3 `/ ~! Z! |+ I0 `) B1 u
时序图:
0 i9 s9 v% k4 Z/ k2 S+ |  R % M. [! a' _& x# G' v( h3 X
4 h+ I& V, v5 `- m1 P/ u- f) J
这个时序图包含两大部分内容:装载数据(LOAD)和串行移位(SERIAL SHIFT),其中 LOAD 时, 必须 inhibit(时钟禁止),CLOCK _INHIBIT = 1;
6 Z( O/ j* d% i4 P# [首先分析如何 LOAD,所谓 LOAD 就是把通过此器件获得的 8 位数据,加载到此器件的内部移 位寄存器里。比如外接的是 8 个按键,平时没按下按键时是高电平,这时,加载到器件内部 移位寄存器里的是 0XFF,当其中某一个键被按下时,对应的 8 位编码数据就被加载内部移位: h; D; T2 f0 o: q6 x, e0 f+ V
3 o  K% ?/ G& k
寄存器里。通过时序图和真值表,我们不难发现,LOAD 时,SHIFT//LOAD 必须保持低电平。 所以加载数据时,我们可以这样编码:
) [8 U: b) t. ^& b1 j$ f( ]SHIFT//LOAD = 0;6 f$ c, V, _& i& K$ {
_NOP_();        //保持一段时间的低电平) o1 j5 z8 Y+ s0 n/ v! |4 h
4 {( _- A: [8 {
随后,在 CLOCK_HAIBIT 保持低电平,SHIFT//LOAD 保高电平,开如一段 8 位串行数据的移 位输出,时钟上升沿状态下开始移位输出。以下是上升沿的写法,一定要记住!( w- P; u; G3 m# Z8 B6 V

$ S3 m5 _, U6 {2 |) dCLOCK = 0;* L3 }: b; {$ E# X( v0 T/ R/ F
_NOP_();; d- d1 o) z  w+ S7 g, Q$ h
indata |= indata; CLOCK = 1;
5 H  `# A0 U7 x+ m( ]. c+ U. `
; A/ I2 X4 V4 u( n9 b三、基于 74HC165 按键扩展实验: 实验现象:下载程序后,按下独立按键可以点亮对应 LED 灯。注意事项:必须将 74HC165 模块的 JP165 短接片短接,否则不会出现象。
5 V5 X7 s5 t! |- Y* K0 H2 _
, h/ I" i& k1 S  a6 j( _. k* p) w四、时序与真值表 时序,就是按照一定的时间顺序给出信号。按照这个时间顺序,你就能得到你想要的数据或 者把你要写的数据写进芯片。# d+ Y/ @* c: X- L: @4 u* z
真值表:输入与输出物理电平关系 # w! L& c% l( R0 l  W6 }+ Q

6 |7 t( x3 T5 E+ `五、矩阵式按键扩充实验 不同的按键触发不同的功能(按键事件解析)
$ X6 j* |  c% h3 D+ ]6 J5 `# G, v$ F
六、学会根据器件真值表和时序图编写器件驱动程序
* M# i# Q) o; |' H3 ]$ C/ ]. \6 n' y

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-18 09:21 , Processed in 0.093750 second(s), 26 queries , Gzip On.

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

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

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