

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