8051單片機串行接口是一個可編程的全雙工串行通信接口。它可用作異步通信方式(UART),與串行傳送信息的外部設備相連接,或用于通過標準異步通信協(xié)議進行全雙工的8051多機系統(tǒng)也能通過同步方式,使用TTL或CMOS移位寄存器來擴充I/O口。
串口工作在模式0,只是作為同步移位寄存器。RXD(P3.0)用于串行數(shù)據(jù)輸出,TXD(P3.1)用于移位時鐘輸出,P1.7用來控制74LS164的工作狀態(tài)。
單片機串口驅動74LS164的程序主要包括函數(shù)聲明管腳定義部分、串口初始化函數(shù)以及數(shù)據(jù)發(fā)送函數(shù)。
(1)函數(shù)聲明管腳定義。
函數(shù)聲明管腳定義部分主要完成程序所涉及的庫函數(shù)的聲明及有關引腳的定義,一般置于程序的開頭部分,代碼如下:
(2)串口初始化函數(shù)UART_init()。
串口初始化函數(shù)UART init()實現(xiàn)串口的初始化,包括工作方式選擇和中斷的開禁等功能,程序代碼如下:
(3)數(shù)據(jù)發(fā)送函數(shù)PA_out()。
數(shù)據(jù)發(fā)送函數(shù)PA_out()完成8位數(shù)據(jù)由串口串行發(fā)出,程序代碼如下: