<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)總線時(shí)序

          51單片機(jī)總線時(shí)序

          作者: 時(shí)間:2013-03-04 來源:網(wǎng)絡(luò) 收藏

          一、總線概述

          計(jì)算機(jī)系統(tǒng)是以微處理器為核心的,各器件要與微處理器相連,且必須協(xié)調(diào)工作,所以在微處理機(jī)中引入了總線的概念,各器件共同享用總線,任何時(shí)候只能有一個(gè)器件發(fā)送數(shù)據(jù)(可以有多個(gè)器件同時(shí)接收數(shù)據(jù)) 。

          計(jì)算機(jī)的總線分為控制總線、地址總線和數(shù)據(jù)總線等三種。而數(shù)據(jù)總線用于傳送數(shù)據(jù),控制總線用于傳送控制信號(hào), 地址總線則用于選擇存儲(chǔ)單元或外設(shè)。

          二、單片機(jī)的三總線結(jié)構(gòu)

          51系列單片機(jī)具有完善的總線接口時(shí)序,可以擴(kuò)展控制對(duì)象,其直接尋址能力達(dá)到64k( 2的16次方) 。在總線模式下,不同的對(duì)象共享總線,獨(dú)立編址、分時(shí)復(fù)用總線,CPU 通過地址選擇訪問的對(duì)象,完成與各對(duì)象之間的信息傳遞。

          單片機(jī)三總線擴(kuò)展示意如圖1 所示。

          51單片機(jī)總線時(shí)序

          1、數(shù)據(jù)總線

          51 單片機(jī)的數(shù)據(jù)總線為P0 口,P0 口為雙向數(shù)據(jù)通道,CPU 從P0 口送出和讀回?cái)?shù)據(jù)。

          2、地址總線

          51 系列單片機(jī)的地址總線為16 位。

          為了節(jié)約芯片引腳,采用P0 口復(fù)用方式,除了作為數(shù)據(jù)總線外,在ALE 信號(hào)時(shí)序匹配下,通過外置的數(shù)據(jù)鎖存器,在總線訪問前半周期從P0口送出低8位地址,后半周期從P0 口送出8 位數(shù)據(jù)。

          高8位地址則通過P2 口送出。

          3、控制總線

          51 系列單片機(jī)的控制總線包括讀控制信號(hào)P3.7 和寫控制信號(hào)P3.6 等,二者分別作為總線模式下數(shù)據(jù)讀和數(shù)據(jù)寫的使能信號(hào)。

          三、單片機(jī)分析

          51 單片機(jī)如圖2 所示。

          51單片機(jī)總線時(shí)序

          從圖2 中可以看出,完成一次總線( 讀寫) 操作周期為T,P0 口分時(shí)復(fù)用,在T0 期間,P0 口送出低8 位地址,在ALE 的下降沿完成數(shù)據(jù)鎖存,送出低8位地址信號(hào)。在T1 期間,P0 口作為數(shù)據(jù)總線使用,送出或讀入數(shù)據(jù),數(shù)據(jù)的讀寫操作在讀、寫控制信號(hào)的低電平期間完成。

          需要注意的是,在控制信號(hào)( 讀、寫信號(hào)) 有效期間,P2 口送出高8位地址,配合數(shù)據(jù)鎖存器輸出的低8 位地址,實(shí)現(xiàn)16 位地址總線,即64kB 范圍的內(nèi)的尋址。

          由于CPU不可能同時(shí)執(zhí)行讀和寫操作,所以讀、寫信號(hào)不可能同時(shí)有效。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();