8255的应用(C语言版本).doc

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

【实例24】用8243扩展I/O端口 #includereg52.h sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit ContrBit2=P1^2; sbit ContrBit3=P1^3; sbit PROG=P1^4; sbit CS=P1^5; char driver8243(char sele_P,char sele_M,char out_data) { char in_data=0; char data_buf; PROG=1; //置PROG为高电平 //----------------------------------------------开始写控制字----------------------------------------------- if((sele_P0x01)==0) //将控制字最低位送到8243的p2.0 ContrBit0=0; else ContrBit0=1; if((sele_P0x02)==0) //将控制字第二位送到8243的p2.1 ContrBit1=0; else ContrBit1=1; //以上两位共同指定端口地址 //----------------------------------------写端口工作模式控制字---------------------------------------- if((sele_M0x01)==0) //将端口工作模式控制字低位送到8243的p2.2 ContrBit2=0; else ContrBit2=1; if((sele_M0x01)==0) //将端口工作模式控制字高位送到8243的p2.3 ContrBit3=0; else ContrBit3=1; //完成写控制字 PROG=0; //在PROG上产生下降沿 switch(sele_M0x03) //判断工作模式 { case 0: break; //sele_M=B00为输入,不处理,等待上升沿 case 1: data_buf=out_data; break; //sele_M=B01为输出,直接送数据 case 2: data_buf=out_data; break; //sele_M=B10为逻辑或,直接送数据 case 3: data_buf=out_data; break; //sele_M=B11为逻辑与,直接送数据 } PROG=1; //产生上升沿 if((sele_M0x03)==0) //sele_M=B00为输入,接收数据 in_data=(data_buf0x0F); return(in_data); //sele_M=B00,返回接收到的数据 } //sele_M!=B00,返回0 void main( void) { char receive_data; receive_data=driver8243(1,0,5); } 【实例25】用8255A扩展I/O口 //---------------------------------------------------------------------------------------------------- // 函数名称:rd_PA // 输入函数:无 // 输出参数:PA_data,PA输入的数据 // 功能说明:驱动PA实现输入功能,读入PA的并行数据 //---------------------------------------------------------------------------------------------------- unsigned char rd_PA(void) //读PA 管脚定义及函数声明 //-------------------------------------------函数声明,管脚定义---------------------------------------

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档