8051320引脚.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8051320引脚

概括一下,PnMDIN ,PnMDOUT, PnSKIP, XBR0、XBR1 ,XBARE = ‘1’ 数它们都与编程时无关,它们涉及的是信号是模拟还是数字,引脚是漏极开路还是推挽等不涉及电路的引脚功能连线,所以编程时它们不起任何作用。但具体实现时它们就起作用了 C8051F学习笔记3:优先权交叉开关译码器 数字和模拟资源可以通过25个I/O引脚(C8051F320)每个端口引脚都可以被定义为通用I/O(GPIO)或模拟输入。P0.0 ~ P2.3可以被分配给内部数字资源 特点: ??? 所有端口I/O都耐5V电压。 ??? 端口I/O单元可以被配置为漏极开路或推挽方式。 ? 端口I/O初始化 端口 I/O 初始化包括以下步骤: 1. 用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。 2. 用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。 3. 用端口跳过寄存器(PnSKIP)选择应被交叉开关跳过的那些引脚。 4. 将引脚分配给要使用的外设(XBR0、XBR1)。 5. 使能交叉开关(XBARE = ‘1’)。 ? 下面以端口P0为例 PnMDIN: 端口输入方式寄存器 ? ???? ??? ?对应的P0MDIN[n] =0 模拟输入 ???????????????? P0MDIN[n]=1 数字输入(默认) ? PnMDOUT: 端口出方式寄存器 ? ???? 对应的P0MDOUT[n] =0 漏极开路(默认) ??? ???????P0MDOUT[n] =1 推挽输出 ? 推挽输出,push-pull,不需要外加驱动电路,可以直接驱动外面的芯片。 推挽输出的时候,端口输出高电平,NMOS截止,PMOS导通,把IO口拉高;端口输出为低电平,PMOS截止,NMOS导通,把IO口拉低,适合驱动一些TTL负载,LED,或是通讯时用作数据或时钟发送; ? 漏极开路,open-drain,需要外加电阻上拉到电源。 漏极开漏输出时PMOS被禁止,只有保留NMOS,当端口输出低电平时,NMOS导通,把IO拉低;但输出端口为高电平时,NMOS截止,端口没有输出了高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1,适合线与或是用作I2C通讯。 ? 模拟输入,Analog in 模拟输入被使能时,其它IO方式将被禁止,模拟信号直接经过一个Pass Gate 送入MCU内部的ADC; ? 数字输入,Digital in 当数字输入时,IO口输出禁止,数字信号经过 Schmitt Trigger(施密特触发器??)送入内部逻辑。 ? ? ? 特别需要注意的是当IO口用作输入端口时: 有两种方法: 1、? 禁止IO输出,配置为数字输入。注意是所有的IO端口的输出方式都被禁止 2、? 配置为OD方式。这时外部的高电平会保持,低电平会把IO拉低。 通常中断输入,数据输入时可以这样配置 ? 不管交叉开关是否将端口引脚分配给某个数字外设,都需要对端口驱动器的输出方式进行设置。例外情况是SMBus上的SDA和SCL及UART的RXD引脚,这些引脚被自动配置为漏极开路。 ? ? 关于推免和漏极开漏可参考 1)C8051F单片机中IO的使用 /espace/45355/message.aspx? 2)漏级开路 VS 推挽方式 /blog/4458920-1217831198? 3)8051 P0口 ? P0SKIP:端口0跳过寄存器 ? ?????? ????? PnSKIP[n]=0 引脚不被交叉开关跳过;(默认) ????? PnSKIP[n]=0 引脚被交叉开关跳过。 ??????? ??????? ??????? ?XTAL1(P0.2)脚和XTAL2(P0.3)脚用作外部振荡器输入管脚时,要跳过交叉开关优先权译码表(P0SKIP = 0x0C)。 ? XBR0:端口I/O交叉开关寄存器0 XBR1:端口I/O交叉开关寄存器1 交叉开关负责SMBus、SPI、UART、定时器捕捉模块、外部PCA输入、比较器输出、定时器外部输入、/SYSCLK以及A/D转换启动输入的引脚分配。必须在访问这些外设的I/O之前配置和允许交叉开关 未指定的端口引脚作为通用I/O 。 ? ? ? ? ? XBARE=0 交叉开关禁止; XBARE=1 交叉开关使能。 在交叉开关被使能之前,外部引脚保持标准端口I/O方式(输入)。 ? 没有引脚被跳过的交叉开关优先权译码表 ? 可以通过Silicon Labs IDE软件的配置向导(Configuration Wizard)配置I/O管脚,如下图,配置UART0和SPI0和SMBus。UART0的TX0、RX0固定在P0.4和P0.

文档评论(0)

vshoulrengb3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档