微控制器課件

2023-01-02 03:21:05 字數 4933 閱讀 3101

第7章 mcs-51系列微控制器系統匯流排擴充套件方法

微控制器匯流排分內部匯流排和外部匯流排。

外部匯流排包括:資料匯流排db(data bus), 位址匯流排 ab(address bus)和控制匯流排 cb(control bus)

資料匯流排:p0兼作資料和位址匯流排的低8位a0~a7;

位址匯流排:p0口兼作位址匯流排的低8位a0~a7,p2口為位址匯流排的高8位a8~a15;

控制匯流排: psen :外部程式儲存器讀選通訊號輸出端;ale位址鎖存訊號輸出端;rst:

復位訊號輸入端;ea /vpp為內部或外部程式儲存器讀選擇輸入端: rd (p3.7)為外部資料儲存器讀選通輸出端;(p3.

6)wr 為外部資料儲存器寫選通輸出端。

匯流排設計時還需考慮如下幾個問題:

① cpu三匯流排(位址匯流排、資料匯流排、控制匯流排)的負載能力。

② cpu讀寫時序與介面晶元,如儲存器的訪問速度的匹配問題。儲存器的讀寫速度應與cpu要求的讀寫速度相同或更快

三匯流排的基本構架

由於51採用位址/資料分時復用技術,低8位位址a7~a0與資料匯流排d7~d0分時使用p0口引腳,因此需要在p0口上接乙個位址鎖存器晶元,p0口的直通端為8位資料匯流排,通過鎖存器的為低8位位址a7~a0。

常用的鎖存器是74ls373(現在常用74hc373)、74hc573。

8d鎖存器74ls373、74hc573是帶輸出三態門的8d鎖存器

1d~8d為8個輸入端;

1q~8q為8個輸出端;

g為資料打入端:當g為「1」時,鎖存器輸出狀態(1q~8q)同輸入狀態(1d~8d);當g由「1」變「0」時, 資料打入鎖存器中。並且在g保持「0」時輸出保持不變,輸入為高阻。

2.匯流排驅動器74ls244, 74ls245

解碼電路的設計原則是:在任意時刻只有乙個晶元的資料口開放,其他晶元的資料口均為高阻狀態。學習解碼技術要達到以下水平:

① 電路的設計者要能指出系統上每個晶元的位址範圍。

② 在參考別人設計電路時,只要硬體不加密,要能從解碼電路看出系統上每個晶元的位址範圍。

微控制器系統中,外部程式儲存器一般使用eprom、eeprom、flash rom;27系列為eprom型儲存器,其上帶有乙個石英窗,可透射紫外線擦除內部資料,反覆使用。27系列晶元有多種工作方式。對51系統設計者來說,最重要的是讀、輸出禁止和維持三種工作方式的運用

結論1:使器件工作的必要充分條件是,oe 、ce 上的電平均為低;

結論2:即使片選(或稱選片)端為低電平,只要輸出允許端為邏輯高電平,資料線仍保持高阻狀態。

7.2 mcs-51系列微控制器外部程式儲存器擴充套件

【例7-1】 設計乙個具有64k程式儲存器容量的8031系統。

解:由於8031構成最小應用系統時, 必須在片外擴充套件程式儲存器,根據題意選用單片27512即能滿足要求。對一片程式儲存器系統,可採用常選通方式,故將其選片端接地。

系統不需要位址解碼。

一般用作程式儲存器的eprom晶元不能鎖存位址, 故擴充套件時還應加1個鎖存器, 構成乙個3片最小系統,如圖7-12所示。

【例7-2】 問擴充套件64k外部程式儲存器空間,需要多少片2764晶元?設計這個8031系統的電路,並為每個2764晶元分配的位址。

解:64k外部程式儲存器空間正好是51機的最大程式儲存器的定址範圍。因此,本例必須採用完全解碼的方法:

即所有位址線全部連線的位址解碼方法。這種解碼每個儲存器單元只占用唯一的1個位址。

① 擴充套件64k外部程式儲存器正好需要8片2764。

本例採用解碼器晶元的設計方法,具體採用3-8解碼器74ls138。系統設計如圖7-13所示。

② 確定每個2764晶元的位址範圍

片內解碼位址範圍的確定方法:每一位址位可為0、1兩種情況,用×表示。最低位址為各位址位均為0的編碼,最高位址是各位址位全為1的編碼,因此每個晶元的片內位址變化範圍為從最低到最高位址編碼連續變化;片外解碼由採用的解碼電路決定,分析入手點是晶元的選片線是否有效。

③ 各個晶元的位址範圍的確定

實際解題時,綜合①、②確定位址範圍用表7-8表明。圖7-13中8個2764晶元的位址範圍如表7-8所示。

【例7-3】用27128晶元設計乙個32k外部程式儲存器的8031系統,並為每個27128晶元分配位址。

解:32k程式儲存器空間沒有達到51機的最大程式儲存器的定址範圍。因此,可採用完全解碼法也可採用部分解碼法為27128分配位址。

本例採用部分解碼法:即用部分位址線解碼方法。這種解碼法為每個儲存器分配的位址範圍可以不止乙個,因此有位址範圍重複的情況,究其原因,是因為部分解碼空出了部分位址線而不用。

部分解碼的方法,只能用於小於64k儲存器空間的系統(對51機來說)。

① 擴充套件32k外部程式儲存器正好需要2片27128。

② 確定每個27128晶元的位址範圍:

本例解碼方法是線選法,電路採用反相器7404設計,如圖7-14所示。確定位址範圍如表7-9所示。

訓練題7-2查閱74hc139的資料,用四片27128晶元設計乙個64k外部程式儲存器的8031系統,並為每個27128晶元分配位址。

7.3 mcs-51系列微控制器外部資料儲存器擴充套件

資料儲存器即隨機訪問儲存器(random access memory),簡稱ram,用於存放可隨時修改的資料資訊。與rom不同,微控制器可對ram可以進行讀、寫兩種操作。ram為易失性儲存器,斷電後所存資訊立即消失

62系列晶元是靜態資料儲存器晶元,在微控制器中常用的有6264(8k×8位)和62256(32k×8位,容量的演算法與27系列相同)。其28 引腳雙列直插式封裝管腳圖如圖7-15所示。其中i/o0~i/o7為三態雙向資料口,控制線為 ce 、oe 、we 三根,其功能見表7-10

上述51機中三個空間的某個單元的位址均為007fh,但他們在物理上存在且獨立,則:

訪問程式儲存器方式:

mov dptr,#007fh ;先位址,後操作

movc a,@dptr ;讀,且只能讀

訪問外部資料儲存器方式:

mov dptr,#007fh ;先位址,後操作

movx a,@dptr ;讀

movx @dptr,a ;寫

訪問片記憶體儲器暫存器方式:

mov a,7fh ;直接定址

mov a,@ri ;間接定址

從程式設計角度看,指令形式將3種儲存器空間分開,從本質上講,由於指令形式不同,指令生成的**不同,cpu對這些**產生的控制時序就不同,因此訪問到不同的空間。

微控制器對外部資料儲存器的操作可以是並行匯流排方式的,也可用i/o方式直接對其操作。

【例7-4】用一片6264晶元為80c51外擴8k資料儲存器,分別用匯流排方式及i/o方式進行電路設計並寫出對6264任一單元進行讀、寫的程式段。

分析:除外部程式儲存器,所有的並行介面器件,都可以用匯流排及i/o兩種方式與微控制器介面。

非易失性的儲存器,只要不做外部程式儲存器用,也可當普通資料儲存器用。但做程式儲存器時,只能讀,不能寫,常用於存放資料**。

重要結論要引起注意:對51機而言,所有的並行介面器件(種類很多,包括資料儲存器、i/o擴充套件晶元、時鐘、序列通訊介面晶元、定時/計數器、a/d和d/a轉換器等)都可以用匯流排方式或i/o方式與微控制器介面,在匯流排方式下,cpu對他們的操作與對資料儲存器的操作完全一樣(指令格式相同),介面器件的位址安排在ram區,即占用外部介面器件64k空間的一部分。

解:(1)並行匯流排方式:將電路圖7-19中80c51的ale與74hc573的鎖存控制端g相聯。

6264的片內解碼只需要13根位址線,而高三位位址線只有a14(p2.6)參與了6264的選片,其餘a15、a13處於懸空狀態,因此6264有多組位址範圍。只要(p2.

6)為邏輯0即可

。取最簡單的一組:000則6264的位址範圍為0000~1fffh,共8k。

51機訪問外部資料儲存器的指令只有以下兩組:

① mov dptr,#addr16

movx a,@dptr ;對擴充套件ram的讀操作

movx @dptr,a ;對擴充套件ram的寫操作

② mov ri,#data

movx a,@ri ;只能讀0~ffh單元

movx @ri,a ;只能寫0~ffh單元

其中:第1組訪問的位址範圍包含第2組,常用.

對6264內部1000h單元進行讀、寫乙個位元組的程式段分別為:

mov dptr,#1000h

movx a,@dptr ;對擴充套件ram的讀操作

mov dptr,#1000h

mov a,#0aah

movx @dptr,a ;對擴充套件ram單寫入aah操作

匯流排方式,在電路設計滿足匯流排要求後,對資料儲存器類的介面器件的操作:位址輸入、晶元選通、操作時序、運算元據讀、寫,全都包含在幾條簡練的指令中。例如,上面的程式段 。

2)i/o口方式: 在圖7-19中,若不用ale而將p2.7與鎖存控制端g相聯,即為i/o方式了,在硬體設計上就這點區別。

讀操作 setb p2.7

mov p0,#00h ;位址低8位

nopmov p2,#10h ;位址低8位鎖存(p2.7低)高8位也設定好1000h ;選通6264(低電平有效)0101

mov a,p0 ;對擴充套件ram的讀操作

setb p2.6 ;禁止6264

寫操作 setb p2.7

mov p0,#00h ;位址低8位

nopmov p2,#10h

mov a,#0aah

mov p0,a ;對擴充套件ram寫入aah的操作

setb p2.6禁止6264

微控制器原理及應用課件學生用

微控制器例題程式清單 ch1 1 微控制器i o口輸出ch1 2 微控制器i o口輸入 ch1 3 程式儲存器的使用 ch1 4 工作暫存器組的使用 ch1 5 位位址使用ch1 6 利用堆疊指標保護斷點位址 ch1 7 利用堆疊保護資料ch1 8 片外資料儲存器 ch1 9 特殊功能暫存器使用 c...

微控制器實習

第四次實習 樓道照明燈 一 實習題目 樓道照明燈 二 實習目的 綜合實驗,掌握80c51微控制器的程式設計除錯方法。三 實習內容 實現樓道間照明燈的方便控制,乙個照明燈,在樓上和樓下各有乙個 閉合式 開關控制。開關的閉合並不直接決定燈的亮滅,而開關狀態的改變才是決定燈亮滅的關鍵。即不管兩個開關當前的...

微控制器總結

微控制器引腳 80c51的資料儲存器配置 80c51的特殊功能暫存器 sfr 五個中斷源 兩個外部中斷,兩個定時器計數器中斷,乙個序列介面中斷。int0 int1輸入低電平或負跳變訊號作為中斷觸發事件 t0 t1定時器 計數器中斷 序列口中斷 8051微控制器中斷源的向量位址 tcon的中斷標誌 中...