发新话题
打印

从端口C中读状态字

从端口C中读状态字


从端口C中读状态字 ; @2 {9 E) A  ?
    当8255A工作在方式1或方式2时,端口c的一些位被设置成联络信号。为方便程序员检测这些信号的当前状态,8255A对端口C的读出作了特殊安排,在设置成方式1或方式2时,可从端口C中读到状态字。所读出的状态字与此前对8255A所作的设置有关,图6.12中分别给出了方式1输入、方式l输出和方式2的状态字格式及含义。从中可以看出,对于已被征用作联络控制或中断逻辑的c口引脚,状态字中对应的位是该引脚信号的当前状态(对于两用的位,是中断允许的当前状态)。对于未被征用的引脚,在读C口时将从定义为输入的端口读到引脚的输入信息;将从定义为输出的端口读到此前输出到该引脚的信息。 3 ]' ]- I5 q2 v7 t0 l
    需要指出,图6.12中只给出了A组和B组同时为方式1输入或同时为方式1输出的状态字格式,而A组和B组工作在方式1时,还有两种组合:A组为输入、B组为输出以及A组为输出、B组为输入。实际上,状态字是按“组的状态”来组合的,所以,读者不难写出这两种组合时的状态字格式。同样,也能写出A组工作在方式2而B组工作在方式1或方式0时的状态字格式(图中所示)。
& i& B3 e+ }7 g* E) _: B    另外,当c口的8根线都未被征用时,即各个口都工作在方式O时,读端口C的结果是: 4 R1 v* [+ z2 v( F9 m) \6 ~9 n
从定义为输入的端口(指C口高4位和C口低4位)读到来自外部的输入信息;从定义为输出的端口读到此前输出到该端口的信息。此为端口c的正常读出。
, @2 Z5 e8 P. w2 n5 I. w' u2 u/ j8 ?$ ~( ^



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

TOP

发新话题