在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 具有串行接口的I/O擴展器EM83010及其應(yīng)用

            具有串行接口的I/O擴展器EM83010及其應(yīng)用

            作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

            摘 要: 介紹了具有串行接口的I/O擴展器EM83010的性能和特點,利用EM83010實現(xiàn)了對MCS51單片機的I/O擴展。

            本文引用地址:http://www.biyoush.com/article/226467.htm

            關(guān)鍵詞: I/O擴展 串行接口 MCS51單片機

            單片機I/O口的擴展,過去常常采用門電路或可編程邏輯器件等來實現(xiàn),比較麻煩。本文介紹具有串行接口的I/O擴展器EM83010及其應(yīng)用,從而為設(shè)計者提供一種新的I/O口擴展方法。使用EM83010進行I/O擴展,不僅非常簡便,而且具有強大的功能。

            1 EM83010簡介

            EM83010是EMC公司生產(chǎn)的帶串行接口的I/O擴展器,它具有以下功能及特點:

            · 14個雙向I/O口線

            · 2個I/O寄存器,2個I/O控制寄存器

            · 144×8bit片內(nèi)RAM

            · 與MCU通過2線串行接口相連

            ·2線最多可同時接8片EM83010(此時擴展I/O數(shù)量為112個,RAM容量為1152×8bit)

            具有串行接口的I/O擴展器EM83010及其應(yīng)用 · 工作電壓寬:2.5V~5.5V

            · 低功耗,工作電流0.5mA,靜態(tài)電流15μA

            · 18DIP/SOIL封裝形式

            1.1 管腳定義

            對于18DIP封裝的EM83010而言,其管腳功能如表1所示。

            1.2 內(nèi)部功能框圖

            具有串行接口的I/O擴展器EM83010及其應(yīng)用 EM83010內(nèi)部功能框圖如圖1所示。EM83010內(nèi)部主要包括I/O控制邏輯、存儲控制邏輯、地址指針、144字節(jié)的RAM、狀態(tài)及控制寄存器、兩個端口及其對應(yīng)的數(shù)據(jù)寄存器和控制寄存器。

            1.3 2線串行接口

            EM83010支持雙向2線串行接口,其中由SCK提供串行同步時鐘,SDT收發(fā)數(shù)據(jù),并且最多可以有8個EM83010同時共享該總線。

            串行總線上數(shù)據(jù)傳送的時序如圖2所示。

            數(shù)據(jù)傳輸依次為:START、GRP位、DATA(控制字節(jié)、數(shù)據(jù)或地址,高位在前,低位在后)、ACK位、STOP。其中START定義為SCK=“1”時SDT的下降沿;STOP定義為SCK=“1”時SDT的上升沿;若GRP=“0”,表示下面的字節(jié)是控制字節(jié),否則表示下面的字節(jié)是數(shù)據(jù)或地址;ACK的產(chǎn)生方法是在ACK周期(回應(yīng)時鐘)的高電平期間將SDT拉低。STOP產(chǎn)生之后,SCK、SDT保持高電平狀態(tài)。

            串行總線上定義了三種數(shù)據(jù)格式:

            具有串行接口的I/O擴展器EM83010及其應(yīng)用 (a) 控制字節(jié)的傳送

            具有串行接口的I/O擴展器EM83010及其應(yīng)用

            (b) 隨機地址的數(shù)據(jù)讀寫

            具有串行接口的I/O擴展器EM83010及其應(yīng)用

            (c) 連續(xù)地址的數(shù)據(jù)讀寫

            具有串行接口的I/O擴展器EM83010及其應(yīng)用

            在以上數(shù)據(jù)格式中,S:開始(START);P:停止(STOP);D:數(shù)據(jù)(8位);1:(GRP)高電平;0:(GRP)低電平;A:地址(8位);K:讀數(shù)據(jù)時有回應(yīng)(ACK);C:控制字節(jié)(8位);NK:讀數(shù)據(jù)時無回應(yīng)(No ACK)。

            具有串行接口的I/O擴展器EM83010及其應(yīng)用1.4 控制字節(jié)

            控制字節(jié)的位定義如表2所示。

            注:(T1 T0 A2 A1 A0)=(1 1 0 0 0)被保留,

            用于R-option地址。

            1.5 寄存器(I/O端口及RAM)

            1.5.1 寄存器(I/O端口、RAM)分配表

            寄存器(I/O端口及RAM)分配表如表3所示。

            1.5.2 R00~R01(端口0~端口1)

            ·R00是6位寄存器,對應(yīng)端口0,讀寫R00的高2位無意義。

            具有串行接口的I/O擴展器EM83010及其應(yīng)用 ·R01是8位寄存器,對應(yīng)端口1。

            ·每個I/O管腳均可定義為輸入或輸出。

            ·寫入R00和R01時是串行傳送的,但數(shù)據(jù)被刷新到管腳上是同時的;讀R00和R01時,管腳數(shù)據(jù)的 采樣也是同時的。

            1.5.3 R02和R03(IOC0和IOC1)

            ·IOC0(R02)是6位寄存器,控制端口0數(shù)據(jù)I/O的方向,讀寫IOC0的高2位無意義。

            ·IOC1(R03)是8位寄存器,控制端口1數(shù)據(jù)I/O的方向。

            ·IOC0和IOC1中的“1”置對應(yīng)管腳為高阻,表示輸入;“0”置對應(yīng)管腳為輸出狀態(tài)。

            ·上電后,IOC0和IOC1各位均為“1”。

            ·IOC0和IOC1的接收是串行的,但寫入寄存器是同時的。

            1.5.4 R04~R93(通用寄存器)

            ·R04~R93為144字節(jié)的通用寄存器(SRAM)。

            1.6 R-option地址片選

            總線上有多個設(shè)備時,每個設(shè)備應(yīng)具有不同的地址。如表1所示,P00~P02可作為R-option 腳,用于芯片的片選。

            每個R-option管腳被內(nèi)部電路微弱拉為高電平,若外接560kΩ電阻接地則讀作“0”,否則讀作“1”。

            上電后必須在控制字節(jié)中發(fā)出“讀R-option”命令(此時Control byte=11000001,且“STOP”上升沿之前應(yīng)該延時500μs),將片選地址讀入后,P00~P02的R-option地址片選才起作用。

            P00~P02可作為雙向I/O管腳,由于R-option功能的原因,建議P00~P02用作輸出腳。

            1.7 EM83010的應(yīng)用電路舉例

            EM83010的應(yīng)用電路如圖3所示。R2~R8=560kΩ,R1=10kΩ,此電路有3片EM83010,共用2根總線(MCS51單片機的P10和P11)。由R2~R8的接法可知,3片EM83010的地址分別為000、001、010。

            這樣,在圖3中,2根I/O線(P10、P11)可擴展14×3=42個I/O口,以及144×3=432字節(jié)的RAM。

            可見EM83010用于I/O擴展時,不僅便于實現(xiàn),而且功能強大。

            2 EM83010用于MCS51的I/O擴展

            2.1 硬件電路

            利用EM83010對MCS51單片機進行I/O擴展的硬件電路請參照圖3。直接將MCS51單片機的2根I/O口線(如P10、P11)連至SDT、SCK即可。

            2.2 軟件設(shè)計

            2.2.1 基本考慮

            EM83010的SCK時鐘頻率最高可為500kHz。對于主頻12MHz的MCS51單片機而言,其指令周期不小于1μs,由指令產(chǎn)生的SCK時鐘周期不小于2μs,完全滿足上述條件。

            2.2.2 程序編寫

            下面以發(fā)送控制字節(jié)(Control byte)子程序為例,說明MCS51系列單片機對EM83010的控制方法。

            ;發(fā)送控制字節(jié)子程序

            ;Control Byte 存放在累加器A中

            SDT bit P10 ; P10與EM83010的SDT相連

            SCK bit P11 ; P11與EM83010的SCK相連

            具有串行接口的I/O擴展器EM83010及其應(yīng)用TransmitControl:

            SETB SDT ;

            SETB SCK ; 在SCK高電平期間

            CLR SDT ; 產(chǎn)生“START”(下降沿)

            CLR SCK ;

            SETB SCK ; 發(fā)送“GRP”(GRP=0)

            MOV R0#08 ;發(fā)送8位的Control Byte

            OutByte:

            CLR SCK ;

            RLC A ;帶進位標(biāo)志循環(huán)左移位

            MOV SDT,C ;發(fā)送1位數(shù)據(jù)

            SETB SCK ;

            DJNZ R0,OutByte ;

            CLR SCK ;

            SETB SCK ;

            JB SDT,$ ;等待“ACK”

            CLR SCK ;

            CLR SDT ;

            SETB SCK ;在SCK高電平期間

            SETB SDT ;產(chǎn)生“STOP”(上升沿)

            RET ;子程序返回

            以上子程序?qū)⒋娣旁诶奂悠鰽中的控制字節(jié)Control Byte發(fā)送給EM83010,入口地址標(biāo)號為TransmitControl。該程序在SDT上依次傳輸了START、GRP、8位Control Byte、ACK、STOP,其中8位Control Byte的串行化主要是由帶進位標(biāo)志循環(huán)移位指令(RLC A)實現(xiàn)的。

            2.2.3 操作步驟

            系統(tǒng)上電后,MCS51單片機應(yīng)先向EM83010發(fā)出“讀R-option”命令(與TransmitControl子程序相似,參數(shù)A=0C1H,且發(fā)送“STOP”上升沿前應(yīng)延時500μs”),將片選地址讀入后,P00~P02的R-option地址片選才起作用。

            接下來,可根據(jù)需要對EM83010的端口0、端口1及RAM進行讀寫,從而實現(xiàn)了單片機I/O口及RAM的擴展。



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉