0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)總線時(shí)序是什么?51單片機(jī)總線時(shí)序詳細(xì)分析

MCU開發(fā)加油站 ? 來源:未知 ? 作者:易水寒 ? 2018-07-19 17:15 ? 次閱讀

一、總線概述

計(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 所示。

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ī)總線時(shí)序分析

51 單片機(jī)總線時(shí)序如圖2 所示。

從圖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í)有效。

四、常見單片機(jī)編址電路

1、簡(jiǎn)單地址擴(kuò)展

51 單片機(jī)的P2 口可以直接作為高8位地址總線使用,在一些簡(jiǎn)單系統(tǒng)電路中,常使用P2口直接編址驅(qū)動(dòng)。

下面以使用數(shù)據(jù)緩沖器74LS273 驅(qū)動(dòng)數(shù)碼顯示為例,分析P2 口編址驅(qū)動(dòng)的靜態(tài)數(shù)碼顯示電路的設(shè)計(jì)。

一位LED 數(shù)碼顯示單元電路如圖3 所示。

WR 與A8( P2.0) 相或提供74LS273的時(shí)鐘信號(hào),當(dāng)執(zhí)行“MOVX @DPTR,A”指令時(shí),地址信息由DPTR 寄存器確定,會(huì)出現(xiàn)有效的寫信號(hào)WR,只有當(dāng)?shù)刂稟8 為滿足“0”時(shí),寫信號(hào)才可以作為74LS273 的時(shí)鐘信號(hào)輸入,完成數(shù)據(jù)鎖存。

P2 口為A8~A15 的8 位地址線,很容易擴(kuò)展到8 只LED 數(shù)碼管,WR 信號(hào)分別與A8~A15 按或關(guān)系連接,每位地址線均為低電平有效,即可實(shí)現(xiàn)8 個(gè)有效地址。

該方案電路簡(jiǎn)單,但有效地址數(shù)太少,不適用于復(fù)雜系統(tǒng)設(shè)計(jì)。

2、低8 位地址鎖存

通常的設(shè)計(jì)電路是使用8D 鎖存器74LS373 實(shí)現(xiàn)地址鎖存,74HC573 與之邏輯功能相同,只是引腳布局不一樣,使用74HC573 布線更容易。

74LS373 真值表如圖4所示。

在輸出允許OE 為L(zhǎng)、控制使能LE 為H 時(shí),輸出為跟隨狀態(tài);

OE 為L(zhǎng)、LE 為L(zhǎng) 時(shí),輸出為保持狀態(tài)。

地址鎖存電路如圖5 所示。OE 接地,LE 接單片機(jī)的ALE腳將產(chǎn)生滿足時(shí)序的低8 位地址信號(hào)。

執(zhí)行以下三條指令會(huì)得到如圖6所示的時(shí)序圖。

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

MOV A,# 0AAH;待發(fā)送數(shù)據(jù)0AAH→A( 55H 取反)

MOVX,@DPTR,A;A 中的0AAH送地址為0FF55H 的對(duì)象中會(huì)。

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

3、帶譯碼器的復(fù)雜地址接口電路

理論上高8 位地址線可以產(chǎn)生256 個(gè)有效地址,如何實(shí)現(xiàn)地址“擴(kuò)展”呢? 地址擴(kuò)展準(zhǔn)確描述是地址譯碼,例如3 根地址線可以譯碼成8 個(gè)地址,4根譯碼成16 個(gè)有效地址。這里選擇3-8 譯碼器實(shí)現(xiàn)地址譯碼,電路圖以及對(duì)應(yīng)的編址如表1 所示。

五、單片機(jī)總線編址電路實(shí)例

帶總線擴(kuò)展接口的單片機(jī)系統(tǒng),包括外部32k RAM 擴(kuò)展、LCD1602 接口、輸入輸出口。

帶編址擴(kuò)展的單片機(jī)最小系統(tǒng)電路如圖7 所示。

使用74HC573 鎖存低8 位地址;74138 實(shí)現(xiàn)8 個(gè)地址擴(kuò)展,74138 的A、B、C 接A8 ~A10,E1 接A15, E2、E3 接地常有效,得到0F8FFH 到0FFFFH8 個(gè)地址( 無關(guān)位用1 表示) 或者8000H 到8700H( 無關(guān)位用0 表示) 。

32k RAM 接口如圖8 所示。

D0~D7 接數(shù)據(jù)總線P0 口,地址線A0~A14接單片機(jī)地址總線低15 位,單片機(jī)地址線A15 接RAM 片選信號(hào),低電平有效,這樣RAM 地址分配從0000H 到7FFFH,與74138 譯碼地址不沖突。

LCD1602 接口電路如圖9 所示。

RS、RW 分別接A12、A13,使能信號(hào)編址為Y7,這樣LCD 的四個(gè)驅(qū)動(dòng)地址( 數(shù)據(jù)讀寫和命令讀寫) 為0CFFFH 到0FFFFH ( 無關(guān)位為1) 或者8700H 到0B700H( 無關(guān)位為0)。

有些時(shí)候單片機(jī)引腳不夠用,還要進(jìn)行擴(kuò)展,輸入口擴(kuò)展電路如圖10 所示。

利用74HC573( 74LS373) 的高阻態(tài)功能,將其輸出Q0~Q7 接P0 口,在滿足總線地址讀操作中,可以把輸入InPORT的數(shù)據(jù)讀入單片機(jī)的累加器,地址為0F8FFH 或8000H。

輸出口擴(kuò)展電路如圖11 所示。

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

六、結(jié)束語

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

總線接口的要點(diǎn)就是在嚴(yán)格的控制時(shí)序下,總線被分時(shí)復(fù)用,以實(shí)現(xiàn)復(fù)雜系統(tǒng)設(shè)計(jì)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    272

    文章

    5689

    瀏覽量

    122171
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2817

    瀏覽量

    87711
  • 總線接口
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    30682
  • 數(shù)據(jù)總線
    +關(guān)注

    關(guān)注

    2

    文章

    55

    瀏覽量

    17491

原文標(biāo)題:51單片機(jī)總線時(shí)序介紹

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51單片機(jī)總線時(shí)序與編址技術(shù)

    51 系列單片機(jī)具有完善的總線接口時(shí)序,可以擴(kuò)展控制對(duì)象,其直接尋址能力達(dá)到64k( 2的16次方) 。
    發(fā)表于 03-22 10:27 ?7128次閱讀

    深度解讀MCS51單片機(jī)時(shí)序分析及系統(tǒng)擴(kuò)展

    MCS51單片機(jī)的外部總線時(shí)序擴(kuò)展主要包括外部的譯碼電路、鎖存電路等組合邏輯電路,形成整個(gè)系統(tǒng)的外部總線,即:數(shù)據(jù)
    的頭像 發(fā)表于 02-20 14:32 ?4563次閱讀
    深度解讀MCS<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)時(shí)序</b><b class='flag-5'>分析</b>及系統(tǒng)擴(kuò)展

    51 系列單片機(jī)慢速讀寫的時(shí)序擴(kuò)展

    51 系列單片機(jī)慢速讀寫的時(shí)序擴(kuò)展
    發(fā)表于 05-15 14:28 ?18次下載

    I2C總線單片機(jī)C語言實(shí)現(xiàn)及其應(yīng)用

    I2C總線單片機(jī)C語言實(shí)現(xiàn)及其應(yīng)用 本文介紹了I2C總線的概念、接口特性和傳輸時(shí)序,提出了一種用51系列
    發(fā)表于 10-17 08:36 ?2899次閱讀
    I2C<b class='flag-5'>總線</b>的<b class='flag-5'>單片機(jī)</b>C語言實(shí)現(xiàn)及其應(yīng)用

    SPI總線51單片機(jī)系統(tǒng)中的實(shí)現(xiàn)

    本文介紹了SPI總線及在51單片機(jī)系統(tǒng)中使用總線實(shí)現(xiàn)簡(jiǎn)易電壓表的制作。
    發(fā)表于 03-25 15:08 ?10次下載

    近期的幾個(gè)單片機(jī)例程及詳細(xì)分析

    近期的幾個(gè)單片機(jī)例程及詳細(xì)分析,感興趣的可以看看。
    發(fā)表于 06-21 17:02 ?3次下載

    51單片機(jī)的時(shí)鐘及總線時(shí)序總線擴(kuò)展

    說到51單片機(jī)的時(shí)鐘首先想到51時(shí)怎么工作的呢?微型控制器要想工作必須要有一個(gè)“動(dòng)力”,對(duì)于51單片機(jī)來說,這個(gè)“動(dòng)力”就是時(shí)鐘源。一般應(yīng)用
    發(fā)表于 11-16 09:58 ?1238次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的時(shí)鐘及<b class='flag-5'>總線</b><b class='flag-5'>時(shí)序</b>和<b class='flag-5'>總線</b>擴(kuò)展

    單片機(jī)總線結(jié)構(gòu)研究分析

    51系列單片機(jī)具有完善的總線接口時(shí)序,可以擴(kuò)展控制對(duì)象,其直接尋址能力達(dá)到64k(2的16次方)。在總線模式下,不同的對(duì)象共享
    發(fā)表于 11-16 14:03 ?6136次閱讀
    <b class='flag-5'>單片機(jī)</b>三<b class='flag-5'>總線</b>結(jié)構(gòu)研究<b class='flag-5'>分析</b>

    51單片機(jī)的時(shí)鐘及總線時(shí)序總線擴(kuò)展

    說到51單片機(jī)的時(shí)鐘首先想到51時(shí)怎么工作的呢?微型控制器要想工作必須要有一個(gè)“動(dòng)力”,對(duì)于51單片機(jī)來說,
    的頭像 發(fā)表于 03-15 14:48 ?9096次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的時(shí)鐘及<b class='flag-5'>總線</b><b class='flag-5'>時(shí)序</b>和<b class='flag-5'>總線</b>擴(kuò)展

    51單片機(jī)教程之80C51單片機(jī)的串行口介紹及如何進(jìn)行串行總線的擴(kuò)展

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)教程之80C51單片機(jī)的串行口介紹及如何進(jìn)行串行總線的擴(kuò)展
    發(fā)表于 12-05 11:53 ?27次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>教程之80C<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的串行口介紹及如何進(jìn)行串行<b class='flag-5'>總線</b>的擴(kuò)展

    如何使用單片機(jī)模擬SPI時(shí)序代碼免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用單片機(jī)模擬SPI時(shí)序代碼免費(fèi)下載。
    發(fā)表于 09-10 17:26 ?5次下載
    如何使用<b class='flag-5'>單片機(jī)</b>模擬SPI<b class='flag-5'>時(shí)序</b>代碼免費(fèi)下載

    51單片機(jī)的指令時(shí)序詳細(xì)資料說明

    MCS-51單片機(jī)的指令時(shí)序時(shí)序是用定時(shí)單位來描述的,MCS-51時(shí)序單位有四個(gè),它們分別是節(jié)拍、狀態(tài)、機(jī)器周期和指令周期,接下來我們分別
    發(fā)表于 07-19 17:38 ?4次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的指令<b class='flag-5'>時(shí)序</b><b class='flag-5'>詳細(xì)</b>資料說明

    51單片機(jī)總線與非總線的程序有什么不同詳細(xì)對(duì)比資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)總線與非總線的程序有什么不同詳細(xì)對(duì)比資料說明。
    發(fā)表于 06-12 17:46 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>總線</b>與非<b class='flag-5'>總線</b>的程序有什么不同<b class='flag-5'>詳細(xì)</b>對(duì)比資料說明

    51單片機(jī)實(shí)驗(yàn)12:EEPROM(IIC總線) 應(yīng)用

    51單片機(jī)實(shí)驗(yàn)12:EEPROM(IIC總線) 應(yīng)用
    發(fā)表于 11-23 16:36 ?21次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>實(shí)驗(yàn)12:EEPROM(IIC<b class='flag-5'>總線</b>) 應(yīng)用

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

    ) 。 計(jì)算機(jī)的總線分為控制總線、地址總線和數(shù)據(jù)總線等三種。而數(shù)據(jù)總線用于傳送數(shù)據(jù),控制總線用于
    發(fā)表于 02-11 15:30 ?1次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b><b class='flag-5'>總線</b><b class='flag-5'>時(shí)序</b>介紹