问:单片机里的译码器是如何工作的?寻址空间是如何确定的?译码器与寻址空间是怎么联系的?
答:单片机技术里常用的译码器实际上是由许多与门、或门、非门和它们的组合构成的。它有若干个输入端和若干个输出端(也可能只有一个输出端)。对某一个输出端来说,它的电平高低必然与输入的某一种状态相对应。
例如,具有4个输入端的与非门就是一个简单的译码器,只有四个输入端为1111时,它的输出端才为0。如果将地址总线的A9、A8、A7、A6与它的四个输入连接起来,并把它的输出连到存储器芯片或某个需要寻址的外设接口的片选端(假定低电平有效),那么,只有当A9、A8、A7、A6为1111时,存储器芯片或外设才会被选中。
译码器的寻址空间取决于地址总线的哪几根线接到译码器的输入端,例如上例,地址总线的A9、A8、A7、A6与译码器的输入连接,那么其寻址空间应该是11 1100 0000~11 1111 1111,即3C0H~3F0H。
注意,没有参与译码的低位地址线必然要参与存储器芯片或外设接口的内部译码。也就是说,内部译码地址范围是0 -- 2n - 1,例如上例为00 0000 - 11 0000。
可以说,译码器的译码输出决定了寻址空间的起始地址,内部译码决定了寻址空间的大小。