8255扩展.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文档。上传文档
查看更多
8255扩展

#includereg52.h #define uchar unsigned char #define uint unsigned int sbit rd=P1^0; sbit cs=P1^1; sbit a1=P1^2; sbit a0=P1^3; sbit wr=P1^4; /* rst接地 */ uchar bdata Padata;//Pa口位操作 sbit led=Padata^0; uchar bdata Pbdata;//Pb口位操作 sbit led1=Pbdata^0; uchar bdata Pcdata;//Pc口位操作 sbit sb1=Pcdata^0; sbit sb2=Pcdata^1; /* a0=0,a1=0,为选中Pa口; a0=1,a1=0,为选中Pb口; a0=0,a1=1,为选中Pc口; a0=1,a1=1,为设置工作模式; */ void PP8255(uchar aa0,aa1,com)//8255扩展口用作输出 { rd=1; a0=aa0; a1=aa1; cs=0; wr=0; P0=com; wr=1; cs=1; } uchar c8255()//8255扩展口用作输入 { uchar com; wr=1; a0=0; a1=1; cs=0; rd=0; com=P0; rd=1; cs=1; return(com); } void main() { PP8255(1,1,0x89);//设置8255工作模式,0x80为三个口都为输出,0x89 PaPb口为输出,Pc口为输入。0x8b Pa口输出,PcPb输入。 Padata=0xff;//上电使Pa口状态都为高电平 PP8255(0,0,Padata);//将0xff送给8255的Pa口 Pbdata=0xff;//上电使Pb口状态都为高电平 PP8255(1,0,Pbdata);//将0xff送给8255的Pb口 while(1) { Pcdata=c8255();//读取Pc口的状态 { if(sb1==0) { led=0; PP8255(0,0,Padata); //将led=0,这个值返回给Pa口 } else { led=1; PP8255(0,0,Padata); //将led=1,这个值返回给Pa口 } if(sb2==0) { led1=0; PP8255(1,0,Pbdata); //将led1=0,这个值返回给Pb口 } else { led1=1; PP8255(1,0,Pbdata); //将led1=1,这个值返回给Pb口 } } } }

文档评论(0)

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

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

1亿VIP精品文档

相关文档