|
两种单片机io扩展的方法
用8243扩展单片机IO接口 /*---------------------------------------------------------------------------------------------------------------- 函数名称:Config.h 功能描述:8243端口配置 输入参数:无 输出参数:无 特殊说明:在不同的单片机应用系统中,需要做相应调整 //----------------------------------------------------------------------------------------------------------------*/ #include sbit ContrBit0=P1^0; sbit ContrBit1=P1^1; sbit ContrBit2=P1^2; sbit ContrBit3=P1^3; sbit PROG =P1^4; sbit CS =P1^5; sfr data_buf=0x90;
/*---------------------------------------------------------------------------------------------------------------- 函数名称:driver8243 功能描述:驱动8243 输入参数:sele_P端口选择,sele_M工作模式选择,out_data输出模式下的输出数据 输出参数:in_data接收模式返回接收到的数据,其它模式返回0 特殊说明:在不同的单片机应用系统中,需要做相应得调整 //----------------------------------------------------------------------------------------------------------------*/ #include char driver8243(char sele_P,char sele_M,char out_data) { char in_data=0; PROG=1; //置PROG为高电平 //开始写控制字 if((sele_P&0x01)==0) //将控制字最低位送到8243的p2.0 { ContrBit0=0; } else { ContrBit0=1; } if((sele_P&0x02)==0) //将控制字第二位送到8243的p2.1 { ContrBit1=0; } else { ContrBit1=1; //以上两位共同指定端口地址 } //写端口工作模式控制字
if((sele_M&0x01)==0) //将端口工作模式控制字低位送到8243的p2.2 { ContrBit2=0; } else { ContrBit2=1; }
[1] [2] 下一页 |