51的这些端口为什么要跳过去?

[复制链接]
 楼主| youwenchao 发表于 2009-7-14 14:26 | 显示全部楼层 |阅读模式
一个很简单的键盘扫描程序中的一段端口初始化子程序:<br />void&nbsp;port_init&nbsp;(void)<br />{<br />&nbsp;&nbsp;&nbsp;P0SKIP&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0xFF;<br />&nbsp;&nbsp;&nbsp;P1SKIP&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0xFF;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//跳过前面I/O端口<br />&nbsp;&nbsp;&nbsp;XBR1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;0x44;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;使能交叉开关,CEX0,连到P2.2<br />&nbsp;&nbsp;&nbsp;P2MDOUT&nbsp;&nbsp;|=&nbsp;0x50;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;使能P2.6,P2.4为推挽输出<br />}<br />P0口和P1为什么要跳过去?按键是连到P2^0,P2^1,P2^2,P2^3。不跳过P0和P1口,按这些键时还真没反应。P3口为什么又不用跳过去呢?<br />到底是为什么?
vwwj 发表于 2009-7-14 15:35 | 显示全部楼层

这个是C8051独家的复用方法

&nbsp;&nbsp;C8051的特殊模块是可以随意联通到绝大部分管脚的,但是是按照管脚大小顺序连接的,要是不跳过P0,特殊模块就连在P0的管脚上
 楼主| youwenchao 发表于 2009-7-14 16:46 | 显示全部楼层

谢谢楼上的~

只能这么理解了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

68

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

23

主题

68

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部