日志档案

发表于 2007-9-7 9:27:22

0

标签: IO接口  

C8051F单片机中IO的使用

C8051F单片机中IO的使用

C8051F系列单片机IO可以配置为:Push-Pull ouput

                                                        Open Drain output

                                                        Analog in

                                                        Digital in

如图所示

点击看大图

推拉输出高电平由一个PMOSIO口来高,低电平由NMOSIO口拉低,适合驱动一些TTL负载,LED,或是通讯时用作数据或时钟发送;漏极开漏输出时PMOS被禁止,只有保留NMOS来把IO拉低,外接上拉电阻把IO拉高,适合线与或是用作I2C通讯,模拟输入被使能时,其它IO方式将被禁止,模拟信号直接经过一个Pass Gate 送入MCU内部的ADC;当数字输入时,IO口输出禁止,数字信号经过 Schmitt Trigger 送入内部逻辑。

特别需要注意的是当IO口用作输入端口时:

有两种方法:

1、  禁止IO输出,配置为数字输入。注意是所有的IO端口的输出方式都被禁止

2、  配置为OD方式。这时外部的高电平会保持,低电平会把IO拉低。

通常中断输入,数据输入时可以这样配置

IO用作Bidirection时,最好把IO 配置为OD输出,例如在软件模拟I2C传输时,并且在IO由发送转为接收时,一定要在接收前把IO置高,因为发送数据后IO可能是低电平,

下拉的NMOS打开,接收的数据无论如何也不能把IO拉高,或者拉不到Vth高电平阈值之上,导致接收的数据全部为0

                            应该:         Send_funtion();

                                                  SET_SDIO;

                                                  Read_funtion();

系统分类: 接口电路   |   用户分类: 接口技术   |   来源: 原创   |   【推荐给朋友】

    阅读(1686)    回复(0)  

投一票您将和博主都有获奖机会!