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