

摘 要: 白色智能家電產(chǎn)品多以單片機進行控制。這一類產(chǎn)品的特點是體積較小,需要外部輸入的信息和對外輸出的信息多,因此要求單片機體積小且I/O多。通過對基于單片機的串行通信接口與并入串出移位寄存器74LS166配合進行輸入口擴展的關(guān)鍵技術(shù)進行研究,提出解決數(shù)據(jù)錯位的方法。
關(guān)鍵字: AT89S2051; 數(shù)據(jù)錯位; 串行通信; 74LS166
中圖分類號: TN95?34; TP391.4 文獻標(biāo)識碼: A 文章編號: 1004?373X(2015)07?0160?03
在單片機的控制系統(tǒng)中,經(jīng)常會進行I/O口擴展,常用擴展方法有:利用單片機提供的三總線(數(shù)據(jù)、地址、控制)技術(shù)配合通用的數(shù)據(jù)寄存器、數(shù)據(jù)緩沖器(74LS373、273、244、245等)進行I/O擴展,也可以利用I/O擴展專用芯片(8255、8155等)進行I/O擴展。在實際的控制器中,由于控制板體積限制,采用體積較小簡化版的單片機(如AT89S2051),但這類單片機I/O少,且不能提供三總線,如何實現(xiàn)I/O擴展?在一款家電產(chǎn)品的控制器設(shè)計時,利用AT89S2051單片機的串行異步通信接口進行配合并入串出移位寄存器74LS166進行輸入口擴展,但在設(shè)計仿真時,遇到讀入數(shù)據(jù)錯位的問題,下面就這一問題的解決方法進行探究。
1 軟硬件設(shè)計
1.1 硬件電路
AT89Sxx系列單片機都提供有一個全雙工串行異步通信接口TXD(P3.1)和RXD(P3.0),其工作方式有四種,方式1、2、3主要用于單片機與其他設(shè)備的數(shù)據(jù)通信,在此不做討論;方式0稱為移位寄存器方式,與外部移位寄存器配合可以用于I/O擴展,此時單片機的RXD端作為數(shù)據(jù)的發(fā)送和接收,TXD端作為單片機提供給外部移位寄存器的移位時鐘。利用單片機TXD、RXD與外部并入串出移位寄存器74LS166進行8位輸入口擴展,也可以通過串級擴展更多位輸入口。……