;*标题: 串口驱动74LS164-发送八位串行数据至并口C程序
//------------------------------------------------------
# include <reg52.h>
sbit CLR=P3^0; //用P3^0控制CLR
//----------------------------------------------------------------------
// 函数名称:UART_init()
// 功能说明:串口初始化,设定串口工作在方式0
//----------------------------------------------------------------------
void UART_init(void)
{
SCON =0x00; //没串行口方式0,允许发送,启动发送过程
ES=0; // 禁止串口中断
}
//---------------------------------------------------------------------
// 函数名称:out()
// 输入参数:data,需要从74LS164并行口输出的数据
// 输出参数:无
// 功能说明:发送八位串行数据至并口
//---------------------------------------------------------------------
void out(unsigned char)
{CLR =0; //并口输出清零
CLR =1; //开始串行移位
UART_init(); //74LS164工作在时钟控制下的串行移位状态
While(TI==0); //循环等待
TI=0;
SBUF=data;
}