PB_data=a8255_PB; /*把PA口的数据读到PB_data*/
return(PB_data); /*返回PB_data*/
}
char rd_PC(void) /*读PC口*/
{
unsigned char PC_data;
ACC=IO_flags; /*把状态标志字读到ACC便于进行位操作*/
do
{
IO_flagsC=1; /*置PC状态标志位为高--输入*/
IO_flags=ACC;
PABC_config(); /*调用配置子程序,完成对8255的设置*/
ACC=IO_flags;
}
while(IO_flagsC==0); /*判断状态标志位是否为高*/
/*控制字设置完成*/
PC_data=a8255_PC; /*把PC口的数据读到PC_data*/
return(PC_data); /*返回PC_data*/
}
void wd_PA(unsigned char PA_data) /*写PA口*/
{
ACC=IO_flags; /*把状态标志字读到ACC便于进行位操作*/
{IO_flagsA=0; /*置PA状态标志位为低--输出*/
IO_flags=ACC; /*位操作完成,把ACC的内容写回状态标志字*/
PABC_config(); /*调用配置子程序,完成对8255的设置*/
ACC=IO_flags;
}
while(IO_flagsA==1); /*判断状态标志位是否为高
为高,设置未完成,需从新设置*/
a8255_PA=PA_data; /*将PA_data的内容送到PA口*/
}
void wd_PB(unsigned char PB_data) /*写PB口*/
{
ACC=IO_flags; /*把状态标志字读到ACC便于进行位操作*/
{IO_flagsB=0; /*置PB状态标志位为低--输出*/
IO_flags=ACC; /*位操作完成,把ACC的内容写回状态标志字*/
PABC_config(); /*调用配置子程序,完成对8255的设置*/
ACC=IO_flags;
}
while(IO_flagsB==1); /*判断状态标志位是否为高
为高,设置未完成,需从新设置*/
a8255_PB=PB_data; /*将PB_data的内容送到PB口*/
}
上一页 [1] [2] [3] 下一页
本文关键字:单片机 程序 51单片机,单片机-工控设备 - 51单片机