发新话题
打印

8255A的控制字

8255A的控制字


8255A的控制字
  I. z2 y1 u6 m$ I3 l2 t" \9 a    8255A有两种控制字。一个是方式选择控制字,另一个是对c口进行置位或复位的控制字。这两种控制字都为8位。 ) B/ j" L: U9 |/ B9 W
  1.方式选择控制字
2 z$ V8 y, ?4 z! X) p3 n  方式选择控制字用来设置工作方式,其格式及含义如图6.2所示。 6 t& }; O' Z+ }8 x
  最高位D7为1,作为该控制字的标志。紧接着的4位用来对A组进行设置,最低的3 位用来对B组进行设置。A组可设置成三种工作方式的任一种,因此用了两位(D6、D5)来规定工作方式;而B组只能选择方式1或方式0,所以规定工作方式仅需一位(D2)。D4和D3位分别规定A组的8位口(A口)和4位口(C口高4位)是输入还是输出:l表示输入,0表示输出。D1和DO位分别规定B组的8位口(B口)和4位口(c口低4位)是输入还是输出:1表示输入,0表示输出。注意到数字“1”和字母“I”字型相似,数字“O”和字母“O”字型相似,因此,可利用这一现象来帮助记忆。
) Z: N8 e& L' {1 q  A; \1 s* O" U4 V% w, f# p! C! p  C6 m/ W: q
) D! u+ J, [( ~9 b; i* a. Z0 y+ l6 {* y
$ R2 t/ M* Y1 d! W8 F& ~* m% Q( Y
4 d+ h2 t7 x- g" Z& q, Q: r
2.置位/复位控制字 " J  l, \$ E. H% c- X6 c
端口c的任一位可用这个控制字来置位或复位,而其他位保持不变。该控制字的格式及含义如图6.3所示。
- l+ ^1 q! V; A5 M; R# I. B, {/ N8 A& r* B2 Y4 u) q2 w0 x, P
8 d9 [5 q1 k  ^- d, p1 T

) K$ w; T7 P% A5 n  U9 N! B
3 U9 U8 W/ h, |  X: l' Y4 A  该控制字用最高位D7为0作为标志。D3~D1用来进行位选择,即指定对哪一位进行操作。DO用来表示是置位(DO为1)还是复位(DO为0)。另有3位未用到,一般取0。
7 M2 J, w0 Y2 q0 u9 ]1 C  该控制字为对C口的按位操作提供了方便。如果没有这个控制字,也能实现对端口的按位操作,但要麻烦一些。例如,A口和B口没有相应的置位/复位控制字,若要将某位置1(事先已将其设置为输出),先对该端口进行一次读操作,读出的内容是上次输出时锁存的数据(注意,不可能是外设的数据),将该读出值“或”上一个数(要置l的位取1,其他位取0),将结果再回送到同一端口。若要将某位置0,也先对该端口进行一次读操作,读出的内容“与”上一个数(要置0的位取0,其他位取1),将结果再回送到该端口。当然,能够这样做的条件是输出具有锁存功能(实际上,8255A的任何一种工作方式的输出都具有锁存功能)。
" Q4 i2 L+ o- d' W/ c  注意,采用置位/复位控制字对C口进行按位操作,口地址应是控制字口的地址;而采用先读出,“与”或“或”后再回写的方法进行按位操作,口地址应是相应数据端口的地址。



点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹

TOP

发新话题