[C8051F320]Silicon C8051F320的IO…

原创 2015年07月11日 00:17:13
    问题描述:虽然一般芯片厂商都会提供相应的例程,固件代码开发也不需要完全依靠Datasheet来实现自己的代码了,许多都可以直接用。但用的过程中有时还是有点不放心,特别是出现问题的时候,就必须回到代码并对应硬件寻找问题了。而且感觉C8051F320的IO机制比较有趣,于是打算花些时间了解了解,做下记录,如果有错误的地方再改进。
    C8051F320的IO概述:每个端口引脚都既可以用作GPIO,又可以作为模拟输入。而且IO引脚还可以复用许多特殊功能接口,复用是用过Priority Crossbar Decoder来实现的(具体通过XBR0和XBR1两个寄存器的设置)。在PnMDOUT寄存器中可设置IO口为推挽或开漏模式。
    IO单元框图:
[C8051F320]Silicon <wbr>C8051F320的IO口机制
    WEAK-PULLUP,弱上拉,设置为0时有效。当端口输出高电平(PORT-OUTPUT=1),非模拟输入(Analog Select=0),启用弱上拉(WEAK-PULLUP=0)时,最右边的WEAK场效应管导通连接到PORT PAD,导通电阻很小,起到了弱上拉的作用了。
    PUSH-PULL,推挽,设置为1时有效。当允许输出(PORT-OUTENABLE=0),且输出为高电平(PORT-OUTPUT=1),右边上面的连接VDD的场效应管导通,下面的连接GND的场效应管截止,此时PORT PAD输出高电平。当允许输出(PORT-OUTENABLE=0),且输出为低电平(PORT-OUTPUT=0),右边上面的连接VDD的场效应管截止,下面的连接GND的场效应管导通,此时PORT PAD输出低电平。这就是端口引脚的推挽输出方式了。
    PORT-OUTENABLE,输出允许,设置为0时有效。当设置为1时,不允许输出,PORT PAD始终为低电平。
    PORT-OUTPUT,输出高电平和低电平,前提是允许输出已选择。
    ANALOG-INPUT,模拟输入选择,为1时选择模拟输入,此时PORT-INPUT可用,将PORT PAD连接到PORT-INPUT。此时所有的弱上拉,数字驱动与数字接收都失效,这样做是为了减少功耗和干扰。
    Priority Crossbar Decoder:
    这个带优先级的交叉解码器可根据优先级来分配每个IO口功能(UART0除外,因为串口0总是分配到引脚P0.4和P0.5)。如果数字资源选择了,则将最低未分配的端口引脚给该资源使用。如果端口引脚已经分配了其他数字功能了,Crossbar就跳过,分配下一个尚未分配的端口引脚。此外,如果在PnSKIP寄存器中设置了指定端口引脚需要跳过时,Crossbar也会跳过指定的端口引脚而分配最低位的尚未分配的其他引脚给数字资源。如有些引脚用于模拟输入,GPIO,就可以在PnSKIP中设置跳过这些引脚使得不分配其他的数字资源。具体如何跳过与数字资源引脚分配优先级的顺序等问题参见C8051F320的Datasheet的图表:
[C8051F320]Silicon <wbr>C8051F320的IO口机制
    另外还有一张分配了外接晶振引脚的类似的图,这里不贴出了。
    端口初始化流程:
[C8051F320]Silicon <wbr>C8051F320的IO口机制
    最后,就可以开始编程根据IO口有关的寄存器进行设置,实现需要的功能了。相应的寄存器有XBR0,XBR1,P0,P0MDIN,P0MDOUT,P0SKIP,P1,P1MDIN,P1MDOUT,P1SKIP,P2,P2MDIN,P2MDOUT,P2SKIP,P3,P3MDIN,P3MDOUT。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c8051f320 keil

c8059f320 flash :16kB   0000H-3FFFH, c代码 在keil中可设置编译地址 比如 之后keil会将代码编译在2a00之后这些地址空间里面,恩,是实际的flash的物...

silicon 官网 C8051F30x bootload 例程

//----------------------------------------------------------------------------- // loader_F30x.c /...

有关c8051f320的介绍

  • 2014-04-24 14:13
  • 649KB
  • 下载

c8051f320单片机

  • 2013-10-07 13:16
  • 1.41MB
  • 下载

usb6-usb数据采集仪,sic8051f320下位机,micro2440 linux2.6.32.2上位机

此单片机最多可配置17个ad采集通道,本例用到8个。 usb1.1,full speed 使用两个端点,数据流从sic8051f320的中断输入端点1流向micro2440,输出端点2也配置成中断...

c8051f320_USB枚举过程.usb

  • 2013-09-23 20:12
  • 6.31MB
  • 下载

C8051F320/1 datasheet

  • 2013-04-09 16:24
  • 3.42MB
  • 下载

c8051f 的IO配置方法及原则

C8051F---I/0口 问:C8051F020/022的p4-p7口和p0-p3口有什么不同? 答:P0-P3口复位时为通用口,可通过Crossbar(数据交叉开关)寄存器按优先级设置成第二功...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)