原文 15. 端口输入/输出 数字和模拟资源可以通过40个I/O引脚(C8051F340/1/4/5)或25个I/O引脚(C8051F342/3/6/7)使用。端口引脚组织如图15.1 所示。每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入。P0.0 ~ P3.7可以被分配给内部数字资源,如图15.3所示。 设计者完全控制数字功能的引脚分配,只受I/O引脚数的限制。这种资源分配的灵活性是通过使用优先权交叉开关译码器实现 的。注意,不论交叉开关的设置如何,端口I/O引脚的状态总是可以被读到相应的端口锁存器。 交叉开关根据优先权译码表(图15.3和图15.4)为所选择的内部数字资源分配I/O引脚。寄存器XBR0、XBR1和XBR2(见SFR定义 15.1、SFR定义15.2和SFR定义15.3)用于选择内部数字功能。 所有端口I/O都耐5V电压(参见图15.2的端口I/O单元电路)。端口I/O单元可以被配置为漏极开路或推挽方式(在端口输出方 式寄存器PnMDOUT中设置,n = 0,1,2,3,4)。表15.1给出了端口I/O的电气特性。
15.1 优先权交叉开关译码器 优先权交叉开关译码器(图15.3)为每个I/O功能分配优先权,从优先权最高的UART0开始。当一个数字资源被选择时,尚未分 配的端口引脚中的最低位被分配给该资源(UART0总是使用引脚4和5)。如果一个端口引脚已经被分配,则交叉开关在为下一 个被选择的资源分配引脚时将跳过该引脚。此外,交叉开关还将跳过在PnSKIP寄存器中被置‘1’的那些位所对应的引脚。 PnSKIP寄存器允许软件跳过那些被用作模拟输入、特定功能或GPIO的引脚。 注意:如果一个端口引脚被一个外设使用而不经过交叉开关,则该引脚在PnSKIP寄存器中的对应位应被置‘1’。这种情况适 用于VREF信号、外部振荡器引脚(XTAL1、XTAL2)、ADC的外部转换启动信号(CNVSTR)、EMIF控制信号和任何被选择为ADC或 比较器输入的引脚。PnSKIP寄存器也可以用于跳过被用作GPIO的引脚。交叉开关跳过那些所选择的引脚(如同这些引脚已经被 交叉开关分配),移向下一个未被分配的引脚。图15.3示出没有引脚被跳过的优先权交叉开关译码表;图15.4给出了P0.2和 P0.3被跳过情况下(P0SKIP = 0x0C)的交叉开关优先权译码表。
请教: 请帮我看看下面这个图表示的是什么意思?(图 15.3) 那些紫色的方块表示的什么什么? 根据什么的来的
谢谢! |