网站大量收购独家精品文档,联系QQ:2885784924

第五章---IO端口、输入捕捉-.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第五章I/O端口、输入捕捉5.1简介本章讲述dsPIC30F系列器件I/O端口。器件的所有引脚(除VDD、VSS、MCLR和OSC1/CLKI以外)均由外设和通用I/O端口共用。通用I/O端口可供dsPIC30F监视和控制其他器件。大多数I/O引脚与备用功能复用。复用将取决于不同器件上的外设功能部件。一般来说,当相应的外设使能时,其对应的引脚将不再作为通用I/O引脚使用。图5-1所示为典型I/O端口的框图。该框图没有画出I/O引脚上可能复用的外设功能。图5-1:专用端口结构框图5.2I/O端口控制寄存器所有I/O端口都有三个与该端口的工作直接相关的寄存器,其中字母“x”表示指定的I/O端口号。TRISx:数据方向寄存器PORTx:I/O端口寄存器LATx:I/O锁存寄存器器件上的每个I/O引脚在TRIS、PORT和LAT寄存器中都分别有一个相关的位。注:端口和可用I/O引脚的总数将取决于不同的器件。在一个给定的器件中,可能并没有实现端口控制寄存器中的所有位。更多详细信息,请参阅特定的器件数据手册。5.2.1TRIS寄存器TRISx寄存器控制位决定与该I/O端口相关的各个引脚是输入引脚还是输出引脚。若某个I/O引脚的TRIS位为“1”,则该引脚是输入引脚。若某个I/O引脚的TRIS位为“0”,则该引脚被配置为输出引脚。这很好记,因为1很像I(input,输入),0很像O(output,输出)。复位以后,所有端口引脚被定义为输入。5.2.2PORT寄存器通过PORTx寄存器访问I/O引脚上的数据。读PORTx寄存器是读取I/O引脚上的值,而写PORTx寄存器是将值写入端口数据锁存器。很多指令,如BSET和BCLR指令,都是读-修改-写操作指令。因此,写一个端口就意味着读该端口的引脚电平,修改读到的值,然后再将改好的值写入端口数据锁存器。当与端口相关的一些I/O引脚被配置为输入时,在PORTx寄存器上使用读-修改-写命令应该特别小心。如果某个配置为输入的I/O引脚在过了一段时间后变成输出引脚,则该I/O引脚上将会输出一个不期望的值。产生这种情况的原因是读-修改-写指令读取了输入引脚上的瞬时值,并将该值装入端口数据锁存器。5.2.3LAT寄存器与I/O引脚相关的LATx寄存器消除了可能在执行读-修改-写指令过程中发生的问题。读LATx寄存器将返回保存在端口输出锁存器中的值,而不是I/O引脚上的值。对与某个I/O端口相关的LAT寄存器进行读-修改-写操作,避免了将输入引脚值写入端口锁存器的可能性。写LATx寄存器与写PORTx寄存器的结果相同。PORT和LAT寄存器之间的差异可以归纳如下:写PORTx寄存器就是将数据值写入该端口锁存器。写LATx寄存器就是将数据值写入该端口锁存器。读PORTx寄存器就是读取I/O引脚上的数据值。读LATx寄存器就是读取保存在该端口锁存器中的数据值。对某个器件无效的任何位以及与其相关的数据和控制寄存器都将被禁止。这意味着对应的LATx和TRISx寄存器以及该端口引脚将读作05.3外设复用

当某个外设使能时,与其相关的引脚将被禁止作为通用I/O引脚使用。可以通过输入数据路径读该I/O引脚,但该I/O端口位的输出驱动器将被禁止。与另一个外设共用一个引脚的I/O端口总是服从于该外设。外设的输出缓冲器数据和控制信号提供给一对多路开关。该多路开关选择是外设还是相关的端口拥有输出数据的所有权以及I/O引脚的控制信号。图11-2显示了端口如何与其他外设共用,以及与外设连接的相关I/O引脚。注:为了将PORTB引脚用作数字I/O,ADPCFG寄存器中的相应位必须置为“1”(即使关闭了A/D模块也应如此)。图5-2:共用的端口结构框图5.3.1I/O与多个外设复用对于有些dsPIC30F器件,尤其是那些带有少量I/O引脚数较少的器件,其每个I/O引脚可能要复用多种外设功能。图5-2所示为两个外设与同一个I/O引脚复用的示例。I/O引脚的名称定义了与该引脚相关的各个功能的优先级。如图11-2所示,概念化的I/O引脚与两个外设复用(“外设A”和“外设B”),并命名为“PERA/PERB/PIO”。已为I/O引脚选择了适当的名称,以便用户可以方便地识别分配给该引脚的功能的优先级。对于图5-2中的示例,外设A对引脚的控制具有最高优先权。若外设A和外设B同时使能,外设A将控制I/O引脚。5.3.1.1软件输入引脚

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档