//-------------------------------------库函数声明,管脚定义--------------
#include <reg52.h>
sbit LOAD=P1^7; //用P1^7控制SH/LD管脚
//-----------------------------------------------------------------------
// 函数名称:UART_init()
//功能说明:串口初始化,设定串口工作在方式0
//-----------------------------------------------------------------------
void UART_init(void)
{SCON =0x10; //没串行口方式0,允许接收,启动接收过程
ES=0; // 禁止串口中断
}
//-------------------------------------------------------------------------------------------------------
// 函数名称:PA()
// 输入参数:无
// 输出参数:返回由并口输入的数据
// 功能说明:接收八位串行数据
//--------------------------------------------------------------------------------------------------------
unsigned char PA(void)
{unsigned char PA_data;
LOAD=0; //当P1.7输出低电平,74LS165将并行数据置入寄存器中
LOAD=1; //当P1.7输出高电平,74LS165将并行数据置入寄存器中
UART_init(); //74LS165工作在时钟控制下的串行移位状态
While(RI==0); //循环等待
RI=0;
PA_data=SBUF;
return PA_data; //返回并行输入的数据
}