資源描述:
《單片機擴展IO接口設(shè)計課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第9章MCS-51擴展I/O接口設(shè)計在單片機的I/O口線不夠用的情況下,可以借助外部器件對I/O口進行擴展??晒┻x用的器件很多,方案也有多種。(1)并行總線擴展的方法(2)串行口擴展方法(3)I/O端口模擬串行方法I/O接口是MCS-51與外設(shè)交換數(shù)字信息的橋梁。19.1I/O接口并行擴展概述I/O接口電路應(yīng)滿足以下要求:1.實現(xiàn)和不同外設(shè)的速度匹配2.輸出數(shù)據(jù)鎖存I/O電路應(yīng)具有數(shù)據(jù)鎖存器,以保證接收設(shè)備接收。3.輸入數(shù)據(jù)三態(tài)緩沖數(shù)據(jù)總線可“掛”有多個數(shù)據(jù)源,為不發(fā)生沖突,只允許當前時刻正在進
2、行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其余的數(shù)據(jù)源應(yīng)處于隔離狀態(tài)。2I/O數(shù)據(jù)的幾種傳送方式為實現(xiàn)和不同的外設(shè)的速度匹配,I/O接口必須根據(jù)不同外設(shè)選擇恰當?shù)腎/O數(shù)據(jù)傳送方式。I/O數(shù)據(jù)傳送的幾種傳送方式是:(1)同步傳送(2)查詢傳送(3)中斷傳送。3I/O接口和I/O端口I/O端口:簡稱I/O口,指具有端口地址的寄存器或緩沖器。I/O接口:是指單片機與外設(shè)間的I/O接口芯片。一個I/O接口芯片可以有多個I/O端口:(1)數(shù)據(jù)口(2)命令口(3)狀態(tài)口I/O端口編址是給所有I/O接口中的寄存器編址
3、。4并行總線擴展I/O接口①訪問擴展I/O口的方法與訪問數(shù)據(jù)存儲器完全相同,使用相同的指令,所有擴展的I/O口與片外數(shù)據(jù)存儲器統(tǒng)一編址。②利用并行總線擴展的方法擴展外部并行I/O口時,必須注意P0,P2口的負載問題,若負載能力不夠,必須進行總線驅(qū)動能力擴展。③擴展外部并行I/O口對外設(shè)的硬件具有依賴性(驅(qū)動功率、電平匹配、干擾抑制、隔離等)。54.3.3可編程并行I/O接口678255A應(yīng)用實例88255A各端口的地址A口:0111111111111100B7FFCHB口:01111111111
4、11101B7FFDHC口:0111111111111110B7FFEH控制:0111111111111111B7FFFH98255的應(yīng)用例:從8255A的A口讀入數(shù)據(jù),送到8255A的B口輸出解:MOVDPTR,#7FFFHMOVA,#90H;MOVX@DPTR,AMOVDPTR,#7FFCHMOVXA,@DPTRMOVDPTR,#7FFDHMOVX@DPTR,A109.4用鎖存器或緩沖器擴展并行I/O口利用TTL或CMOS電路的緩沖驅(qū)動器(74244、74245)和鎖存器(74273、743
5、73、74377),通過P0口構(gòu)成各種類型的輸入/輸出口。這些類型的芯片具有數(shù)據(jù)緩沖或鎖存功能,但沒有地址線和讀寫控制線,僅有數(shù)據(jù)輸入/輸出線和選通控制端。因此這類芯片擴展并行I/O口的方法與擴展數(shù)據(jù)存儲器不同。其選通端應(yīng)由地址線和控制線的組合控制。11擴展并行輸出口帶數(shù)據(jù)使能端正邊沿觸發(fā)的高速D觸發(fā)器7437712擴展并行輸出口三態(tài)正邊沿觸發(fā)的高速D觸發(fā)器743741314159.5用MCS-51的串行口擴展并行口16用74LS164擴展并行輸出口例9-8編寫將內(nèi)部RAM單元30H、31H的內(nèi)
6、容經(jīng)串行口由74LS164并行輸出子程序。START:MOVR7,#02H;設(shè)置要發(fā)送的字節(jié)個數(shù)MOVR0,#30H;設(shè)置地址指針MOVSCON,#00H;設(shè)置串行口為方式0SEND:MOVA,@R0MOVSBUF,A;啟動串行口發(fā)送過程WAIT:JNBTI,WAIT;1幀數(shù)據(jù)未發(fā)完,循環(huán)等待CLRTIINCR0;取下一個數(shù)DJNZR7,SEND;未完,發(fā)完從子程序返回RET17用74LS165擴展并行輸入口例9-7從16位擴展口讀入5組數(shù)據(jù)(每組二個字節(jié)),并把它們轉(zhuǎn)存到內(nèi)部RAM20H開始的
7、單元中。18MOVR7,#05H;設(shè)置讀入組數(shù)MOVR0,#20H;設(shè)置內(nèi)部RAM數(shù)據(jù)區(qū)首址START:CLRP1.0;并行置入數(shù)據(jù),S/L*=0SETBP1.0;允許串行移位,S/L*=1MOVR1,#02H;設(shè)置每組字節(jié)數(shù),即外擴;74LS165的個數(shù)RXDAT:MOVSCON,#10H;設(shè)串口方式0,允許接收,啟動WAIT:JNBRI,WAIT;未接收完一幀,循環(huán)等待CLRRI;清RI標志,準備下次接收MOVA,SBUF;讀入數(shù)據(jù)MOV@R0,A;送至RAM緩沖區(qū)INCR0;指向下一個地址
8、DJNZR1,RXDAT;未讀完一組數(shù)據(jù),繼續(xù)DJNZR7,START;5組數(shù)據(jù)未讀完重新并行置入……;對數(shù)據(jù)進行處理19串行擴展總線接口技術(shù)一、串行擴展特點:⑴最大程度發(fā)揮最小系統(tǒng)的資源功能。⑵簡化連接線路,縮小印板面積。⑶擴展性好,可簡化系統(tǒng)的設(shè)計。⑷串行擴展的缺點:數(shù)據(jù)吞吐容量較小,信號傳輸速度較慢,但隨著CPU芯片工作頻率的提高,以及串行擴展芯片功能的增強,這些缺點將逐步淡化。20串行擴展總線接口技術(shù)二、串行擴展方式分類:1、一線制一線制的典型代表為Dallas公司推出的單總線(1-wi