《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 具有串行接口的I/O擴展器EM83010及其應用

具有串行接口的I/O擴展器EM83010及其應用

2009-02-05
作者:曹立進 高敦堂 都思丹 孫宗琪

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


  單片機I/O口的擴展,過去常常采用門電路或可編程邏輯器件等來實現,比較麻煩。本文介紹具有串行接口的I/O擴展器EM83010及其應用,從而為設計者提供一種新的I/O口擴展方法。使用EM83010進行I/O擴展,不僅非常簡便,而且具有強大的功能。
1 EM83010簡介
  EM83010是EMC公司生產的帶串行接口的I/O擴展器,它具有以下功能及特點:
  · 14個雙向I/O口線
  · 2個I/O寄存器,2個I/O控制寄存器
  · 144×8bit片內RAM
  · 與MCU通過2線串行接口相連
  · 2線最多可同時接8片EM83010(此時擴展I/O數量為112個,RAM容量為1152×8bit)
  · 工作電壓寬:2.5V~5.5V
  · 低功耗,工作電流0.5mA,靜態電流15μA
  · 18DIP/SOIC封裝形式
1.1 管腳定義
  對于18DIP封裝的EM83010而言,其管腳功能如表1所示。


1.2 內部功能框圖
  EM83010內部功能框圖如圖1所示。EM83010內部主要包括I/O控制邏輯、存儲控制邏輯、地址指針、144字節的RAM、狀態及控制寄存器、兩個端口及其對應的數據寄存器和控制寄存器。


1.3 2線串行接口
  EM83010支持雙向2線串行接口,其中由SCK提供串行同步時鐘,SDT收發數據,并且最多可以有8個EM83010同時共享該總線。
  串行總線上數據傳送的時序如圖2所示。


  數據傳輸依次為:START、GRP位、DATA(控制字節、數據或地址,高位在前,低位在后)、ACK位、STOP。其中START定義為SCK=“1”時SDT的下降沿;STOP定義為SCK=“1”時SDT的上升沿;若GRP=“0”,表示下面的字節是控制字節,否則表示下面的字節是數據或地址;ACK的產生方法是在ACK周期(回應時鐘)的高電平期間將SDT拉低。STOP產生之后,SCK、SDT保持高電平狀態。
  串行總線上定義了三種數據格式:
  (a) 控制字節的傳送

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

  
  (c) 連續地址的數據讀寫

  
  在以上數據格式中,S:開始(START);P:停止(STOP);D:數據(8位);1:(GRP)高電平;0:(GRP)低電平;A:地址(8位);K:讀數據時有回應(ACK);C:控制字節(8位);NK:讀數據時無回應(No ACK)。
1.4 控制字節
  控制字節的位定義如表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位寄存器,對應端口0,讀寫R00的高2位無意義。
  ·R01是8位寄存器,對應端口1。
  ·每個I/O管腳均可定義為輸入或輸出。
  ·寫入R00和R01時是串行傳送的,但數據被刷新到管腳上是同時的;讀R00和R01時,管腳數據的采樣也是同時的。
1.5.3 R02和R03(IOC0和IOC1)
  ·IOC0(R02)是6位寄存器,控制端口0數據I/O的方向,讀寫IOC0的高2位無意義。
  ·IOC1(R03)是8位寄存器,控制端口1數據I/O的方向。
  ·IOC0和IOC1中的“1”置對應管腳為高阻,表示輸入;“0”置對應管腳為輸出狀態。
  ·上電后,IOC0和IOC1各位均為“1”。
  ·IOC0和IOC1的接收是串行的,但寫入寄存器是同時的。
1.5.4 R04~R93(通用寄存器)
  ·R04~R93為144字節的通用寄存器(SRAM)。
1.6 R-option地址片選
  總線上有多個設備時,每個設備應具有不同的地址。如表1所示,P00~P02可作為R-option腳,用于芯片的片選。
  每個R-option管腳被內部電路微弱拉為高電平,若外接560kΩ電阻接地則讀作“0”,否則讀作“1”。
  上電后必須在控制字節中發出“讀R-option”命令(此時CONTROL byte=11000001,且“STOP”上升沿之前應該延時500μs),將片選地址讀入后,P00~P02的R-option地址片選才起作用。
  P00~P02可作為雙向I/O管腳,由于R-option功能的原因,建議P00~P02用作輸出腳。
1.7 EM83010的應用電路舉例
  EM83010的應用電路如圖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字節的RAM。
  可見EM83010用于I/O擴展時,不僅便于實現,而且功能強大。
2 EM83010用于MCS51的I/O擴展
2.1 硬件電路
  利用EM83010對MCS51單片機進行I/O擴展的硬件電路請參照圖3。直接將MCS51單片機的2根I/O口線(如P10、P11)連至SDT、SCK即可。
2.2 軟件設計
2.2.1 基本考慮

  EM83010的SCK時鐘頻率最高可為500kHz。對于主頻12MHz的MCS51單片機而言,其指令周期不小于1μs,由指令產生的SCK時鐘周期不小于2μs,完全滿足上述條件。
2.2.2 程序編寫
  下面以發送控制字節(CONTROL byte)子程序為例,說明MCS51系列單片機對EM83010的控制方法。
  ;發送控制字節子程序
  ;Control Byte 存放在累加器A中
  SDT bit P10 ; P10與EM83010的SDT相連
  SCK bit P11 ; P11與EM83010的SCK相連
  TransmitControl:
   SETB SDT ;
   SETB SCK ; 在SCK高電平期間
   CLR SDT ; 產生“START”(下降沿)
  CLR SCK ;
   SETB SCK ; 發送“GRP”(GRP=0)
   MOV R0,#08 ;發送8位的Control Byte
  OutByte:
   CLR SCK ;
   RLC A ;帶進位標志循環左移位
   MOV SDT,C ;發送1位數據
   SETB SCK ;
   DJNZ R0,OutByte ;
   CLR SCK ;
   SETB SCK ;
   JB SDT,$ ;等待“ACK”
   CLR SCK ;
   CLR SDT ;
   SETB SCK ;在SCK高電平期間
   SETB SDT ;產生“STOP”(上升沿)
   RET ;子程序返回
  以上子程序將存放在累加器A中的控制字節(Control Byte)發送給EM83010,入口地址標號為TransmitControl。該程序在SDT上依次傳輸了START、GRP、8位Control Byte、ACK、STOP,其中8位Control Byte的串行化主要是由帶進位標志循環移位指令(RLC A)實現的。
2.2.3 操作步驟
  系統上電后,MCS51單片機應先向EM83010發出“讀R-option”命令(與TransmitControl子程序相似,參數A=0C1H,且發送“STOP”上升沿前應延時500μs),將片選地址讀入后,P00~P02的R-option地址片選才起作用。
  接下來,可根據需要對EM83010的端口0、端口1及RAM進行讀寫,從而實現了單片機I/O口及RAM的擴展。
參考文獻
1 EM83010-I/O EXPANDER. EMC Corp.
2 何立民. MCS-51系列單片機應用系統設計. 北京:北京航空航天大學出版社,1993

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 久草视频资源在线观看 | 亚洲欧美二区三区久本道 | 久久两性视频 | 91精品国产乱码久久久久久 | 在线一区免费视频播放 | 日本高清毛片视频在线看 | 亚洲精彩| 国产一区二区在线 |播放 | 国产90后美女露脸在线观看 | 久久久久欧美精品观看 | 亚洲精品手机在线观看 | 中文字幕一区二区视频 | 日本免费网址 | 亚洲天堂美女视频 | 美女张开腿给男生桶下面视频 | 美国一级欧美三级 | 亚洲欧美一级视频 | 男人v天堂 | 欧美在线一 | 99精品免费视频 | 欧美色视频日本片高清在线观看 | 免费看一级欧美激情毛片 | 欧美一级片手机在线观看 | 国产免费一区二区在线看 | 透逼视频 | 在线欧美国产 | 亚洲欧美在线免费 | 久久伊人男人的天堂网站 | 亚洲欧美一区二区三区久久 | 国产精品久久久香蕉 | 欧洲成人全免费视频网站 | 日本精品国产 | 久久黄色影片 | 精品久久久久久久久久久 | 男女一级爽爽快视频 | 日本午色www高清视频 | 国产合集91合集久久日 | freexxxx性特大另类ww | 91亚洲人成手机在线观看 | 亚洲视频一区在线观看 | 成人性免费视频 |