请教各位一个关于51单片机I/O口扩展的问题
我用的资料是北航李广弟编的《单片机基础》,其中关于I/O口扩展部分有下面这么个例子,请教如下:一个拨盘可以产生一个BCD码(4位二进制数)。现有A、B、C、D四个拨盘,要...
我用的资料是北航李广弟编的《单片机基础》,其中关于I/O口扩展部分有下面这么个例子,请教如下:
一个拨盘可以产生一个BCD码(4位二进制数)。现有A、B、C、D四个拨盘,要求把他们产生的BCD码依次输入到通用寄存器R4(B、A),R5(D、C)中去,由以上题目知每个BCD码需要4条输入线,4个BCD码需要16条输入线,即2个8位的口(1#口和2#口),因此用2片74LS244就可以构成其输入口,以P2.7和P2.6分别作为两个口的地址选通线,并且假定其他地址线为“1”,则1#口输入地址为7FFFH,2#口输入地址位0BFFFH。
对于上面资料的解释不是很清楚,我按上面说的做了如下的演绎:
p2.7 p2.6 p2.5 p2.4 p2.3 p2.2 p2.1 p2.0
1 0 1 1 1 1 1 1 很明显这个数是0BF
0 1 1 1 1 1 1 1 而这个数是7F
我不明白的是资料中怎么说两个地址分别是7FFFH和0BFFFH呢,这两个地址后面的“FF”是怎么回事呢?请各位大侠帮忙给解释一下,最好详细点,我是菜鸟!谢谢!!
那要是P1口表示高8位P2口表示低8位呢,就成了0FF7FH和0FFBFH了啊,在题目中就没有说明P2口表示高8位P1口表示低8位啊? 展开
一个拨盘可以产生一个BCD码(4位二进制数)。现有A、B、C、D四个拨盘,要求把他们产生的BCD码依次输入到通用寄存器R4(B、A),R5(D、C)中去,由以上题目知每个BCD码需要4条输入线,4个BCD码需要16条输入线,即2个8位的口(1#口和2#口),因此用2片74LS244就可以构成其输入口,以P2.7和P2.6分别作为两个口的地址选通线,并且假定其他地址线为“1”,则1#口输入地址为7FFFH,2#口输入地址位0BFFFH。
对于上面资料的解释不是很清楚,我按上面说的做了如下的演绎:
p2.7 p2.6 p2.5 p2.4 p2.3 p2.2 p2.1 p2.0
1 0 1 1 1 1 1 1 很明显这个数是0BF
0 1 1 1 1 1 1 1 而这个数是7F
我不明白的是资料中怎么说两个地址分别是7FFFH和0BFFFH呢,这两个地址后面的“FF”是怎么回事呢?请各位大侠帮忙给解释一下,最好详细点,我是菜鸟!谢谢!!
那要是P1口表示高8位P2口表示低8位呢,就成了0FF7FH和0FFBFH了啊,在题目中就没有说明P2口表示高8位P1口表示低8位啊? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询