;*標題: 串口驅動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,需要從(cong) 74LS164並行口輸出的數據
// 輸出參數:無
// 功能說明:發送八位串行數據至並口
//---------------------------------------------------------------------
void out(unsigned char)
{CLR =0; //並口輸出清零
CLR =1; //開始串行移位
UART_init(); //74LS164工作在時鍾控製下的串行移位狀態
While(TI==0); //循環等待
TI=0;
SBUF=data;
}