2优先权交叉开关译码器..docVIP

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

2 交叉开关寄存器 优先权交叉开关译码器是C8051F系列单片面性机的鲜明特色。在传统的8051单片机中,管脚的功能是固定的。优先权交叉开关译码器出现在C8051F系列的单片机中,让片内的资源对应管脚,有可能以用户的意志为转移。 C8051F340有大量的外设,即UART0、SPI、I2C、CP0、CP1、SYSCLK、PCA、T0、T1、UART1等,在初始状态下,单片机并没有给它们分配管脚,事实上,许多外设,在某个具体的应用系统下,也不一定会使用。还有一些,并不是外设,也有可能使用一些管脚,如:XTAL1、XTAL2、ALE、VREF、RD、WR等,还有一些资源,如INT0、INT1、ADC、CPn+、CPn-也要占用一些管脚。 这里面,XTAL1、XTAL2、ALE、VREF、RD、WR,如果要使用的话,单片机会给它分配固定的引脚,与优先权交叉开关译码器无关。但是,要告诉交叉开关,这些引脚,另有它用,不能给UART0、SPI等外设分配了,怎么告诉呢?通过设置跳过寄存器,将对应的引脚跳过,这样单片机分配外设引脚时,就会跳过这些引脚。如XTAL1、XTAL2固定的占用P0.6、P0.7,如果我们使用XTAL1、XTAL2,则应设定P0SKIP|=0XC0,将P0.6、P0.7跳过。 另一些资源,如INT0、INT1、ADC、CPn+、CPn-,占用管脚虽然不是固定的,但是是通过其它的寄存器设定的,与交叉开关没什么关系。如果我们使用了这些资源中的某几个,则也应该通知交叉开关寄存器,这些管脚已用了,不能分配给UART0、SPI等外设了。方法仍然是设定跳过寄存器。如我们将P0.0分配给了INT0,则应设定P0SKIP|=0X01。 还要一些引脚,我们是做为GPIO使用的,不希望分配给片内外设,也应跳过。比如引脚P1.2上连有一个蜂鸣鸣器,该管脚不能分配给任何外设,在程序的开始处,应有这样的语句:P1SKIP|=0X02。 剩余的引脚,我们可以分配给片内外设了。首先,设定交叉开关寄存器XBR0、XBR1、XBR2,这几个寄存器,用来设定片内外设是否需要引脚。如果某外设需要分配引脚的外设,对应的“位”,置1,就行了。先分给谁呢?按照UART0、SPI、I2C、CP0、CP1、SYSCLK、PCA、T0、T1、UART1顺序,从前向后,依次分配,只有前面的分完了,后面的才能轮上分配引脚。先分配哪个引脚呢?按照P00、P01、P02、……P07、P10、……P17、P20、……P27、P30、……P37的顺序,从前向后分配。跳过寄存器设为“1”对应的引脚,不分配外设。 两个例外,UART0总是分配在P04、P05,不参与引脚排队,故其优先级最高。GPIO也需要由交叉开关配置,其使能位在XBR1.6位,名称为:XBARE。XBARE 不仅是GPIO的使能位,同时也是惠个交叉开关的使能控控制位。 由XBR0负责的片内外设有:UART0(串口0)、SPI0(同步串行接口SPI0)、SMBUS0(同步半双工串口I2C)、SYSCLK(系统时钟)、CP0(比较器0的输出)、CP0A(比较器0的异步输出)、CP1(比较器1的输出)、CP1A(比较器1的异步输出)、共8个。 我们注意到,系统时钟、比较器的输出都可以输出到管脚上,给其它电路来使用。 由XBR1负责的片内外设有:PCA、ECI(PCA0的引脚时钟源)、T0(T0做为计数功能时,T0引脚)、T1(T1做为计数功能时,T1引脚)。XBRAE、WEAKPUD。 PCA 使能位占三个比特,这三个比特的不同排列,可以选择五个模块中的全不、部分或全部,连到管脚上。 XBRAE,是三个交叉开关寄存器的总使能位,也是GPIO连到引脚的使能位,除非极个别的情况下,该位,应该是被置“1”的。 WEAKPUD,端口弱上拉使能位。端口做为数字输入或漏开输出时,该位如被使能,端口引脚上,将连接一个阻值较大的电阻到VDD上。电阻的阻值应在100K左右。 由XBR2负责的片内外设只有一个:UART1,串口1。与UART0只能连在P0.4、P0.5不同,理论上UART1可以连在P0、P1、P2、P3任两个相领的管脚上。

文档评论(0)

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

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

1亿VIP精品文档

相关文档