C8051的交叉开关
SMBus :SDA SCL
SPI : MISO,MOSI,SCK,NSS
UART: RX,TX
Timers: Timer0,Timer1,Timer2 ,T2EX XBR0:Port I/O Crossbar Register 0 CP1AE CP1E CP0AE CP0E SYSCLK SMB0E SPI0E UART0E
XBR1:Port I/O Crossbar Register 1 WEAKPUD XBARE T1E T0E ECIE PCA0ME XBR2:Port I/O Crossbar Register 2 UART1
PnMDOUT = 0;//漏极开路
PnMDOUT = 1;//推挽方式
PnSKIP = 1;//跳过交叉开关分配,如跳过:做模拟输入,特定功能,GPIO引脚 //如P0.0:Vref .P0.3,P0.2:外部震荡电路被史能。
//当SMBUS enable时将分配:SDA,SCL
//当UART enable时将分配; TX,RX
//处于引导方便,UART0引脚分配固定:UART TX0 <-->P0.4; RX0< -- >P0.5
//SPI有三线,四线,由SPI0CN的NSSMD1-NSSMD0确定
SFRPGEN = 0/1;//SFR自动页控制使能位0:disable,1:enable
IO初始化流程:
1.PnMDIN //输入方式:模拟 = 0(比较起,AD转换) / 数字 =1
//PnMDIN = 0,模拟输入;PnMDIN = 1,数字输入
//该模式弱上拉.数字驱动器.数字接受器都被禁止.
//模拟只能为输入模式
//读模拟输入引脚总是返回1
//配置为数字输入时直接读端口引脚,Pn
2.PnMDOUT //输出方式:开漏/推挽, SMBUS的SDA,SCL一定为漏极开路
//当XBR1的WEAKPUD = 0,开漏弱上拉enable! 推挽端口不受影响
//PnMDOUT = 0,漏极开路
//PnMOUT = 1,推挽方式
3.PnSKIP //PnSKIP = 1,跳过特定引脚,如做模拟输入的引脚
//PnSKIP = 0,不跳过
4.分配引脚给外设
5.XBARE = 1 //交叉开关enable,XBR1的XBARK = 1
//该步骤前I/O为
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
输入IO,输出被禁止.
6.留下的为通用I/O.
注意:
1.端口4-7的所有引脚都可做通用IO(GPIO),P4,P5,P6,P7寄存器位于SFR页F,
访问前SFRPAGE = 0x0F;
C8051F12X器件共有5个SFR页:0,1,2,3,F