51–PIC–ARM的IO口比较.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文档。上传文档
查看更多
51–PIC–ARM的IO口比较

51-PIC-ARM的I/O口比较(希望大家补充) ********************** 51的I/O口: 1:准双向口 2:单独控制I/O口输出的置位或清零(位方式CLR,SETB) 3:复位后上拉成高电平,可以用做输入 4:带载能很弱(未考虑变异产品) P1等直接控制 ********************** PIC的I/O口: 1:真正的双向口 2:单独控制I/O口输出的置位或清零(位方式BSF,BCF) 3:所有I/O口在复位后默认为输入 4:带载能力强 由2个寄存器控制(忽略其他功能)以PORTC为例 TRISC:I/O口方向控制寄存器?输入为1,输出为0 PORTC:I/O引脚值寄存器??????? *********************** ARM7的I/O口: 1:真正的双向口 2:单独控制I/O口输出的置位或清零(其实还是字方式) 3:所有I/O口在复位后默认为输入 4:带载能力不强 由4个寄存器控制(忽略其他功能) IOPIN:IO引脚值寄存器,引脚的当前状态可从该寄存器中读出 ???????(不管I/O口是输入还是输出)其实PIC的也一样 IOSET:I/O输出置位寄存器,写入1输出高电平,写入0无效 ???????好象不存在读-修改-写的问题,这个比较特殊 IOCLR:I/O输出清0寄存器,作用同上 IODIR:I/O口方向控制寄存器(同PIC的TRISC等) ???????输入为0,输出为1(同PIC的相反) 注:IOSET与IOCLR是一对 *************** *************** I/O口优缺点(个人愚见): 1:输出1或0 ???51:?SETB?P1.0 ???PIC:BSF??PORTC,0 ????????或 ????????BCF??PORTC,0 ????????要注意其他端口的情况(读-修改-写的问题) ???ARM:如要求在P0.0输出1,只要IO0SET=0可 ????????不用担心其他引脚的情况 2:取反(例对第0位) ???51:?可以用异或也可用取反(因为有布尔取反指令) ???PIC:用异或?PORTB=PORTB^0x01; ???ARM:只能分开搞了 ????????if(IO0SET0=0) ?????????{IO0SET=0} ????????else ?????????{IO0CLR=0} 3:同时改变P0口的某几位为1,某几位为0 ???如原P0=0现要求P0=0x000000aa ???51:?P0=0xaa; ???PIC:PORTC=0xaa; ???ARM:比较麻烦了 ????????写法1:IO0SET=0x0000aaaa ??????????????IO0CLR=0xffff5555 ????????不但要分2次写,而且还出现了中间状态 ????????这种情况在51和PIC中是不会出现的 4:读I/O口状态 ???51:?必须先对端口写1(SETB??P1.0) ????????然后再判断是1还是0???? ???PIC:先设为输入,然后判断 ???ARM:先设为输入,然后判断 4:驱动能力 ???51最低,PIC最强 ???例:在I/O口与地间接一个100欧的电阻 ???????I/O口输出1,然后读此I/O口,只有PIC可读回高电平 ???????如果ARM读的是IOSET则读到高电平,如果读IOPIN则读到 ???????低电平,输出和实际电平不符 发短消息 加为好友 martin 当前离线 帖子 135? 精华 1? 积分 8183? 阅读权限 30? 在线时间 4 小时? 注册时间 2001-1-1? 最后登录 2010-7-23? 帖子: 135 积分: 8183 专家等级: martin发表于 2007-7-25 10:10 | 只看该作者 回复 引用 返回版面 TOP?? 得分:0 2楼: 客观!赞一个! 补充一丁点,PIC的18及以上系列的IO还有LATx寄存器。 发短消息 加为好友 fxmxh 当前离线 帖子 217? 精华 2? 积分 2528? 阅读权限 30? 在线时间 28 小时? 注册时间 2003-5-20? 最后登录 2010-8-3? 帖子: 217 积分: 2528 专家等级: fxmxh发表于 2007-7-25 15:53 | 只看该作者 回复 引用 返回版面 TOP?? 得分:0 3楼: PIC还有个位测试指令 在测试I/O电平时有些注意问题吧? 发短消息 加为好友 mcu

文档评论(0)

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

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

1亿VIP精品文档

相关文档