單片機的三總線結構(數據、地址、控制)

2021-02-23 嵌入式ARM

來源 :eepw


計算機系統是以微處理器為核心的,各器件要與微處理器相連,且必須協調工作,所以在微處理機中引入了總線的概念,各器件共同享用總線,任何時候只能有一個器件發送數據 (可以有多個器件同時接收數據) 。

計算機的總線分為控制總線、地址總線和數據總線等三種。而數據總線用於傳送數據,控制總線用於傳送控制信號, 地址總線則用於選擇存儲單元或外設。


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

數據總線:51單片機的數據總線為P0口,P0口為雙向數據通道,CPU從P0口送出和讀回數據。

地址總線:51系列單片機的地址總線為16位。為了節約晶片引腳,採用P0口復用方式,除了作為數據總線外,在ALE信號時序匹配下,通過外置的數據鎖存器,在總線訪問前半周期從P0口送出低8位地址,後半周期從P0口送出8位數據。高8位地址則通過P2口送出。

控制總線:51系列單片機的控制總線包括讀控制信號P3.7和寫控制信號P3.6等,二者分別作為總線模式下數據讀和數據寫的使能信號。

51單片機總線時序如圖2所示。從圖2中可以看出,完成一次總線 (讀寫) 操作周期為T,P0口分時復用,在T0期間,P0口送出低8位地址,在ALE的下降沿完成數據鎖存,送出低8位地址信號。在T1期間,P0口作為數據總線使用,送出或讀入數據,數據的讀寫操作在讀、寫控制信號的低電平期間完成。

需要注意的是,在控制信號 (讀、寫信號) 有效期間,P2口送出高8位地址,配合數據鎖存器輸出的低8位地址,實現16位地址總線,即64kB範圍的內的尋址。由於CPU不可能同時執行讀和寫操作,所以讀、寫信號不可能同時有效。

51單片機的P2口可以直接作為高8位地址總線使用,在一些簡單系統電路中,常使用P2口直接編址驅動。下面以使用數據緩衝器74LS273驅動數碼顯示為例,分析P2口編址驅動的靜態數碼顯示電路的設計。一位LED數碼顯示單元電路如圖3所示。


WR與A8 (P2.0) 相或提供74LS273的時鐘信號,當執行「MOVX @DPTR,A」指令時,地址信息由DPTR寄存器確定,會出現有效的寫信號WR,只有當地址A8為滿足「0」時,寫信號才可以作為74LS273的時鐘信號輸入,完成數據鎖存。P2口為A8~A15的8位地址線,很容易擴展到8隻LED數碼管,WR信號分別與A8~A15按或關係連接,每位地址線均為低電平有效,即可實現8個有效地址。該方案電路簡單,但有效地址數太少,不適用於複雜系統設計。

通常的設計電路是使用8D鎖存器74LS373實現地址鎖存,74HC573與之邏輯功能相同,只是引腳布局不一樣,使用74HC573布線更容易。74LS373真值表如圖4所示。

在輸出允許OE為L、控制使能LE為H時,輸出為跟隨狀態;OE為L、LE為L時,輸出為保持狀態。地址鎖存電路如圖5所示。OE接地,LE接單片機的ALE腳將產生滿足時序的低8位地址信號。

MOV DPTR,# 0FF55H;低8位地址為55H。

MOV A,# 0AAH;待發送數據0AAH→A (55H取反)。

MOVX,@DPTR,A;A中的0AAH送地址為0FF55H的對象中會。

從圖6中可以看出,P0口先送55H,在ALE下降沿實現地址鎖存,隨後送出數據0AAH,在WR有效 (低電平) 期間鎖存器輸出低8位地址55H,P0口送出數據0AAH。

理論上高8位地址線可以產生256個有效地址,如何實現地址「擴展」呢? 地址擴展準確描述是地址解碼,例如3根地址線可以解碼成8個地址,4根解碼成16個有效地址。這裡選擇3-8解碼器實現地址解碼,電路圖以及對應的編址如表1所示。

帶總線擴展接口的單片機系統,包括外部32k RAM擴展、LCD1602接口、輸入輸出口。帶編址擴展的單片機最小系統電路如圖7所示。

使用74HC573鎖存低8位地址;74138實現8個地址擴展,74138的A、B、C接A8~A10,E1接A15, E2、E3接地常有效,得到0F8FFH到0FFFFH8個地址 (無關位用1表示) 或者8000H到8700H (無關位用0表示) 。32k RAM接口如圖8所示。

D0~D7接數據總線P0口,地址線A0~A14接單片機地址總線低15位,單片機地址線A15接RAM片選信號,低電平有效,這樣RAM地址分配從0000H到7FFFH,與74138解碼地址不衝突。LCD1602接口電路如圖9所示。

RS、RW分別接A12、A13,使能信號編址為Y7,這樣LCD的四個驅動地址 (數據讀寫和命令讀寫) 為0CFFFH到0FFFFH (無關位為1) 或者8700H到0B700H (無關位為0)。有些時候單片機引腳不夠用,還要進行擴展,輸入口擴展電路如圖10所示。
利用74HC573 (74LS373) 的高阻態功能,將其輸出Q0~Q7接P0口,在滿足總線地址讀操作中,可以把輸入InPORT的數據讀入單片機的累加器,地址為0F8FFH或8000H。輸出口擴展電路如圖11所示。


利用74LS273數據鎖存功能,在滿足總線地址寫操作中,可以把單片機累加器裡的數據寫入273鎖存輸出,地址為0F8FFH或8000H。由於所用控制總線不同,可以和輸入共用地址。

總線擴展是設計單片機控制電路必須掌握的技術,大量的特殊功能IC都支持總線接口, 如ADC0809,TLC7528,DDS器件AD9851等。

總線接口的要點就是在嚴格的控制時序下,總線被分時復用,以實現複雜系統設計。

-END-

免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯繫刪除

相關焦點

  • 5分鐘了解單片機數據、地址、控制總線結構!
    計算機的總線分為控制總線、地址總線和數據總線等三種。而數據總線用於傳送數據,控制總線用於傳送控制信號, 地址總線則用於選擇存儲單元或外設。 單片機三總線擴展示意如圖1 所示。 3、控制總線 51 系列單片機的控制總線包括讀控制信號P3.7 和寫控制信號P3.6 等,二者分別作為總線模式下數據讀和數據寫的使能信號。
  • 詳解51單片機基本硬體結構
    硬體結構單片機的內部結構是由CPU、ROM、RAM等組成,現在介紹外部引腳。如圖1-3所示為單片機的引腳圖,這就是實驗中要用的89C51單片機的外部引腳圖。如表1-3所示為89C51單片機引腳分配表。了解這4組埠的結構原理對於日後的編程會有很大的幫助,由於這4組埠結構不盡相同,下面分別介紹單片機總的4組埠。
  • MCS-51單片機的結構和工作原理
    3、數據指針(DPTR)16bit      數據指針DPTR為16位寄存器。它的功能是存放16位的地址,作為訪問外部程序存儲器和外部數據存儲器時的地址。 關鍵字:MCS-5  1單片機  結構  工作原理 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/ic466093.html
  • 51單片機C語言編程中對單片機絕對地址訪問的兩種方法
    在進行8051單片機應用系統程序設計時,編程都往往少不了要直接作業系統的各個存儲器地址空間。C51程序經過編譯之後產生的目標代碼具有浮動地址,其絕對地址必須經過BL51連接定位後才能確定。為了能夠在C51程序中直接對任意指定的存儲器地址進行操作,可以採用擴展關鍵字「at」、指針、預定義以及連接定位控制命令。在這些方法中,本人認為最簡單而有效的方法是用「 _at_ 」關鍵字來對指定變量存儲器空間絕對地址來指定。
  • MCS-51單片機P0埠的結構及工作原理
    下面一個是讀引腳的緩衝器,要讀取P0.X引腳上的數據,也要使標號為『讀引腳』的這個三態緩衝器的控制端有效,引腳上的數據才會傳輸到我們單片機的內部數據總線上。多路開關:在51單片機中,當內部的存儲器夠用(也就是不需要外擴展存儲器時,這裡講的存儲器包括數據存儲器及程序存儲器)時,P0口可以作為通用的輸入輸出埠(即I/O)使用,對於8031(內部沒有ROM)的單片機或者編寫的程序超過了單片機內部的存儲器容量,需要外擴存儲器時,P0口就作為『地址/數據』總線使用。
  • 平凡單片機教學 第六講 單片機內部結構分析(五)
    從圖中我們可以看出,在51單片機內部有一個CPU用來運算、控制,有四個並行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。在一個51單片機的內部包含了這麼多的東西。
  • 89C51單片機內部結構深度解析三
    89C51單片機內部結構深度解析三:單片機RAM地址空間單片機的工作寄存器:00H~1FH本文引用地址:http://www.eepw.com.cn/article/201611/322002.htm單片機在工作時需要處理大量的數據,這些數據有些要用來運算
  • 基於MSP430單片機的冷媒中心控制系統的研製
    全自動冷媒加注控制系統採用16位單片機msp430f149為核心控制器,採用了atera公司新型cpld器件epf10k10a,並實現了外存數據加密,整機功能完備、可靠性高。 2 系統結構及控制流程 全自動冷媒加注系統結構主要由嵌入式控制系統、電子秤、真空泵、壓縮機、多個狀態檢測傳感器、執行開關和電磁閥等組成。如圖1所示。
  • 基於ATmgea8型單片機的加熱控制系統
    l 引言本文引用地址:http://www.eepw.com.cn/article/79030.htm  溫度是工業生產中主要的被控參數之一,與之相關的各種溫度控制系統廣泛應用於冶金、化工、機械、食品等領域。
  • 波形發生器設計,單片機、CPLD控制的任意波形發生器設計實例
    電路設計中充分利用MATLAB的仿真功能,將希望得到的波形信號在MATLAB中完成信號的產生、抽樣和模數轉換,並將得到的數字波形數據存放在數據存儲器中,通過單片機和CPLD控制,將波形數據讀出,送入後向通道進行A/D轉換和放大處理後得到所需的模擬信號波形。利用上述方法設計的任意波形發生器,信號產生靈活方便、功能擴展靈活、信號參數可調,實現了硬體電路的軟體化設計。
  • 基於HT46RU232單片機的智能家居電話 遠程控制系統
    1 電話遠程控制系統的功能與體系結構1.1 功能 (1)遠程家電控制功能。通過電話終端通信設備對家中電器實現遠程控制,如控制電飯煲煮飯、空調開機等。 (2)自動模擬摘掛機。在規定的振鈴次數內,認為是正常來電,可正常通話;超過規定振鈴計數,系統自動模擬摘機。 (3)主人身份校驗。密碼操作。 (4)語音提示。
  • MCS-51單片機控制跑馬燈的三種方法
    在MCS一51單片機的控制系統中,它的四個並行8位輸入輸出埠P0一P3是我們經常使用的。在並行埠的編程學習中,「跑馬燈」是單片機並行埠輸出控制的典型實例。所謂跑馬燈,是指將八個發光二極體分別連接到單片機的某一併行埠的八根線上,通過編程控制這八個發光二極體從低到高或從高到低依次點亮。
  • 單片機IO口結構及上拉電阻
    由圖可見,電路中包含一個數據輸出鎖存器(D觸發器)和兩個三態數據輸入緩衝器,另外還有一個數據輸出的驅動(T1和T2)和控制電路。這兩組口線用來作為CPU與外部數據存儲器、外部程序存儲器和I/O擴展口,而不能象P1、P3直接用作輸出口。它們一起可以作為外部地址總線,P0口身兼兩職,既可作為地址總線,也可作為數據總線。
  • 步進電機的單片機控制
    本設計採用凌陽16 位單片機SPCE061A對步進電機進行控制,通過IO口輸出的具有時序的方波作為步進電機的控制信號,信號經過晶片L298N驅動步進電機;同時,用4X4的鍵盤來對電機的狀態進行控制,並用數碼管顯示電機的轉速,採用74LS164作為4位單個數碼管的顯示驅動,從單片機
  • 基於ATMEL單片機的自動扶梯控制系統
    一、項目概述1.1 引言本文引用地址:http://www.eepw.com.cn/article/201612/326298.htm自動扶梯廣泛應用於大型商場、超市、機場、地鐵、賓館等場合。
  • 基於MSP430單片機編程器的設計
    本文提出一種採用MSP430F149單片機作為CPU控制核心的編程器。與51單片機編程器相比,MSP430單片機編程器增加了I2C存儲模塊,可無需電腦利用該編程器對晶片進行燒錄,使燒錄過程更方便、快捷。
  • 支持RS485接口的PLC與單片機的通訊
    在自動控制領域,PLC 和單片機都受到廣泛應用。PLC 具有穩定可靠,抗幹擾能力強, 功能強大且使用方便等特點,單片機具有成本低廉,使用靈活,功能多樣等特點。PLC 與 單片機結合,互相聯繫,互相通訊,將擴展控制功能,更好的控制複雜的系統。 在研究混合動力電動汽車驅動系統時, 採用PLC 作為主控制器,控制電機變頻器和發 動機節氣門控制器,實現對電機和發動機功率的 綜合控制。
  • 用於電機控制的新型TriCore單片機
    在推出AUDO MAX TriCore產品家族時,英飛凌推出了三個採用90納米工藝製造的新型TriCore單片機產品系列,它們既適用於高端應用,也適用於低成本的應用
  • 51單片機教程
    小到電話,玩具,手機,各類刷卡機,電腦鍵盤,彩電,冰箱,空調,電磁爐,大到汽車,工業自動控制,機器人,飛彈導航裝置,你可以用51單片機用它來做個鬧鐘,電飯煲定時控制器,電子門鎖,IC卡讀取識別器。電飯煲定時控制器如圖本文引用地址:http://www.eepw.com.cn/article/272993.htm
  • PC與單片機的串行通信及數據處理
    數據採集系統的結構框圖如圖1所示。PC機串口與單片機USART口通過MAX232電平轉換晶片相連,系統工作時,Matlab通過調用設備控制工具箱中的serial類及相關函數。來創建串口設備對象,得到設備的文件句柄,從而以操作文件的方式實現對PC機串行口的讀寫操作。因而PC機可以通過Matlab向串行口發送特殊指令,PIC單片機應用系統對此作出相應的反應,將A/D採樣數據通過串行口回送給PC機。