數碼管解碼晶元驅動和微控制器IO口介紹

2021-08-13 19:35:04 字數 4646 閱讀 8949

8051引腳

現在我們介紹8051微控制器引腳及功能,8051系列各種晶元的引腳是相互相容的,8051、8751、8031引腳均40腳雙列直插封裝形式。當然,不同晶元之間引腳也略有差異。8051微控制器是高效能微控制器,因受到引腳數目限制,所以不少引腳具有第二功能,各引腳功能簡要說明如下:

vcc(40腳)電源端+5v vss(20腳)接地端365小站製作

時鐘電路引腳xtal2(18引腳)接外部晶體和微調電容。在8051片內它是振盪電路反相放大器的輸出端,振盪電路的頻率就是晶體固有頻率。若需要採用外部時鐘電路時,該引腳輸入外時鐘脈衝要檢查8051的振盪電路是否正常工作,可用顯波器檢視xtal2端是否有脈衝輸出。

時鐘電路引肢xtal1(19)接部晶體的微調電容的另一端。在片內它是振盪電路反相放大器輸入端。在採用外部時鐘時,該引腳必須接地。

rst(9腳)rst是復位訊號端,高電平有效。當此輸入端保持2個機器週期,即時4個時鐘振盪週期的高電平時,就可以完成復位操作。rst引腳的第二個功能就是vpd,即備用電源輸入端。

當主電源vcc發生故障,降低到規定值,就會將+5v電源自動接入rst端,為ram提供備用電源,以保證儲存在ram中的資訊不丟失,以使電源正常後能繼續工作。365小站製作

ale(30腳)位址鎖存允許端。當8051正常上電後,ale引腳不斷向外輸出正脈衝訊號,此頻率為振盪器頻率fosc的1/6。cpu訪問片外儲存器時,ale輸出訊號作為鎖存8位位址的控制訊號。

在cpu訪問片外資料儲存器時,會丟失乙個脈衝。平時不訪問片外儲存器時,ale也會以1/6的振盪頻率固定輸出正脈衝,因而ale訊號可以用來作定時訊號。如果你想檢查一下8051的好壞,只需要用顯波器檢視ale端是否有脈衝訊號輸出。

ale驅動能力為8個ls型ttl。此引腳第二功能是prog,用於片內帶有4keprom程式設計脈衝輸入端。

psen(29腳)程式儲存器允許輸出訊號端。在訪問片外程式儲存器時,此端定時輸出脈衝作為讀片外程式儲存器的選通訊號。此引腳接eprom的oe端,psen端有效,即允許讀出片外eprom中的指令碼。

cpu在外部eprom取指期間,psen訊號在每個機器週期中再次有效。psen端同樣可驅動8個st型ttl。要檢查乙個8051系統上電後cpu能否正確到eprom中讀取指令,也可以用顯波器檢視psen有無脈衝輸出,若有,證明基本是工作正常。

ea(31腳)外部程式儲存器位址允許端。當ea引腳接高電平時,cpu訪問片內eprom並執行內部程式儲存器中的指令,但在程式計數器pc的值超過offfh時,將自動轉向執行片外程式儲存器內的程式。當ea引腳接低電平時,cpu只訪問外部eprom並執行外部程式儲存器中的指令,而不管是否有片內程式儲存器。

對於無片內rom的8031,外擴eprom必須將ea接地。如使用有片內rom的8051,外擴eprom時,ea也要接地。

p0口(32-39腳)p0口是乙個漏極開路的8位準雙向i/0口。作為漏極開路的輸出埠,每位能驅動8個ls型ttl負載。當p0口作為輸入口使用時,應先向口鎖存器(位址80h)寫入全1,此時p0口的引腳全部浮空,可作為高阻抗輸入。

作輸入口使用時要先寫1,這就是準雙向口的含義。

p1口(1-8腳)p1口是乙個帶內部上接電阻的準雙向i/o口。p1的每一位能驅動4個ls型ttl負載。在p1口作為輸入口使用時,應先向p1口鎖存器(位址90h)寫入全1,此時p1引腳由內部上接電阻接成高電平。

365小站製作

p2口(21-28腳)p2口是乙個帶內部上接電阻的8位準雙向i/o口。p2口每一位能驅動4個ls型ttl負載。

p3(21-28腳)p3口是乙個帶內部上接電阻的8位準雙向i/o口。p3口每一位能驅動4個ls型ttl負載。p3口與其它i/o口有較大區別,每個引腳還具有專門功能,關於這四個並行介面使用,我們今後再講。

8051微控制器i/o引腳工作原理

一。p0埠的結構及工作原理

p0埠8位中的一位結構圖見下圖:

由上圖可見,p0埠由鎖存器。輸入緩衝器。切換開關。

乙個與非門。乙個與門及場效電晶體驅動電路構成。再看圖的右邊,標號為p0.

x引腳的圖示,也就是說p0.x引腳可以是p0.0到p0.

7的任何一位,即在p0口有8個與上圖相同的電路組成。

下面,我們先就組成p0口的每個單元部份跟大家介紹一下:

先看輸入緩衝器:在p0口中,有兩個三態的緩衝器,在學數位電路時,我們已知道,三態門有三個狀態,即在其的輸出端可以是高電平。低電平,同時還有一種就是高阻狀態(或稱為禁止狀態),大家看上圖,上面乙個是讀鎖存器的緩衝器,也就是說,要讀取d鎖存器輸出端q的資料,那就得使讀鎖存器的這個緩衝器的三態控制端(上圖中標號為『讀鎖存器』端)有效。

下面乙個是讀引腳的緩衝器,要讀取p0.x引腳上的資料,也要使標號為『讀引腳』的這個三態緩衝器的控制端有效,引腳上的資料才會傳輸到我們微控制器的內部資料匯流排上。

d鎖存器:構成乙個鎖存器,通常要用乙個時序電路,時序的單元電路在學數位電路時我們已知道,乙個觸發器可以儲存一位的二進位制數(即具有保持功能),在51微控制器的32根i/o口線中都是用乙個d觸發器來構成鎖存器的。大家看上圖中的d鎖存器,d端是資料輸入端,cp是控制端(也就是時序控制訊號輸入端),q是輸出端,q非是反向輸出端。

對於d觸發器來講,當d輸入端有乙個輸入訊號,如果這時控制端cp沒有訊號(也就是時序脈衝沒有到來),這時輸入端d的資料是無法傳輸到輸出端q及反向輸出端q非的。如果時序控制端cp的時序脈衝一旦到了,這時d端輸入的資料就會傳輸到q及q非端。資料傳送過來後,當cp時序控制端的時序訊號消失了,這時,輸出端還會保持著上次輸入端d的資料(即把上次的資料鎖存起來了)。

如果下乙個時序控制脈衝訊號來了,這時d端的資料才再次傳送到q端,從而改變q端的狀態。

多路開關:在51微控制器中,當內部的儲存器夠用(也就是不需要外擴充套件儲存器時,這裡講的儲存器包括資料儲存器及程式儲存器)時,p0口可以作為通用的輸入輸出埠(即i/o)使用,對於8031(內部沒有rom)的微控制器或者編寫的程式超過了微控制器內部的儲存器容量,需要外擴儲存器時,p0口就作為『位址/資料』匯流排使用。那麼這個多路選擇開關就是用於選擇是做為普通i/o口使用還是作為『資料/位址』匯流排使用的選擇開關了。

大家看上圖,當多路開關與下面接通時,p0口是作為普通的i/o口使用的,當多路開關是與上面接通時,p0口是作為『位址/資料』匯流排使用的。

輸出驅動部份:從上圖中我們已看出,p0口的輸出是由兩個mos管組成的推拉式結構,也就是說,這兩個mos管一次只能導通乙個,當v1導通時,v2就截止,當v2導通時,v1截止。

與門。與非門:這兩個單元電路的邏輯原理我們在第四課數字及常用邏輯電路時已做過介紹,不明白的同學請回到第四節去看看。

前面我們已將p0口的各單元部件進行了乙個詳細的講解,下面我們就來研究一下p0口做為i/o口及位址/資料匯流排使用時的具體工作過程。

1.作為i/o埠使用時的工作原理

p0口作為i/o埠使用時,多路開關的控制訊號為0(低電平),看上圖中的線線部份,多路開關的控制訊號同時與與門的乙個輸入端是相接的,我們知道與門的邏輯特點是「全1出1,有0出0」那麼控制訊號是0的話,這時與門輸出的也是乙個0(低電平),與讓的輸出是0,v1管就截止,在多路控制開關的控制訊號是0(低電平)時,多路開關是與鎖存器的q非端相接的(即p0口作為i/o口線使用)。

p0口用作i/o口線,其由資料匯流排向引腳輸出(即輸出狀態output)的工作過程:當寫鎖存器訊號cp有效,資料匯流排的訊號→鎖存器的輸入端d→鎖存器的反向輸出q非端→多路開關→v2管的柵極→v2的漏極到輸出端p0.x。

前面我們已講了,當多路開關的控制訊號為低電平0時,與門輸出為低電平,v1管是截止的,所以作為輸出口時,p0是漏極開路輸出,類似於oc門,當驅動上接電流負載時,需要外接上拉電阻。

下圖就是由內部資料匯流排向p0口輸出資料的流程圖(紅色箭頭)。

p0口用作i/o口線,其由引腳向內部資料匯流排輸入(即輸入狀態input)的工作過程:

資料輸入時(讀p0口)有兩種情況

1.讀引腳

讀晶元引腳上的資料,讀引腳數時,讀引腳緩衝器開啟(即三態緩衝器的控制端要有效),通過內部資料匯流排輸入,請看下圖(紅色簡頭)。

2.讀鎖存器

通過開啟讀鎖存器三態緩衝器讀取鎖存器輸出端q的狀態,請看下圖(紅色箭頭):

在輸入狀態下,從鎖存器和從引腳上讀來的訊號一般是一致的,但也有例外。例如,當從內部匯流排輸出低電平後,鎖存器q=0,q非=1,場效電晶體t2開通,埠線呈低電平狀態。此時無論埠線上外接的訊號是低電乎還是高電平,從引腳讀入微控制器的訊號都是低電平,因而不能正確地讀入埠引腳上的訊號。

又如,當從內部匯流排輸出高電平後,鎖存器q=1,q非=0,場效電晶體t2截止。如外接引腳訊號為低電平,從引腳上讀入的訊號就與從鎖存器讀入的訊號不同。為此,8031微控制器在對埠p0一p3的輸入操作上,有如下約定:

為此,8051微控制器在對埠p0一p3的輸入操作上,有如下約定:凡屬於讀-修改-寫方式的指令,從鎖存器讀入訊號,其它指令則從埠引腳線上讀入訊號。

讀-修改-寫指令的特點是,從埠輸入(讀)訊號,在微控制器內加以運算(修改)後,再輸出(寫)到該埠上。下面是幾條讀-修改-寫指令的例子。

anl p0,#立即數

;p0→立即數p0

orl p0,a

;p0→ap0

inc p1

;p1+1→p1

dec p3

;p3-1→p3

cpl p2

;p2→p2

這樣安排的原因在於讀-修改-寫指令需要得到埠原輸出的狀態,修改後再輸出,讀鎖存器而不是讀引腳,可以避免因外部電路的原因而使原埠的狀態被讀錯。

p0埠是8031微控制器的匯流排口,分時出現資料d7一d0.低8位位址a7一ao,以及三態,用來介面儲存器。外部電路與外部裝置。p0埠是使用最廣泛的i/o埠。

微控制器數碼管,電機驅動詳解

廣州微控制器交流 qq 5329265 經群裡vsg01的提醒,發現三極體的驅動做錯了,不是不能用,是遇到電流大的情況會驅動不了,比如電機。現從新更正三極體的驅動,同時增加電機驅動部分。感謝vsg01,感謝自由的夢想 驅動共陰 a g引腳的接法 1,使用74hc373 2.使用74hc244 3.使...

AT89C51串並轉換驅動數碼管實驗指導

2011 05 17 18 49 42 網際網路 關鍵字 at89c51 串並轉換驅動數碼管 器件 74hc595.引腳說明 sda 資料輸入口。sh cp 資料輸入控制端,在每個 sh cp的上公升沿,sda口上的資料移入暫存器,在 sh cp的第 9個上公升沿,資料開始從 qs 移出。st cp...

4位7段數碼管驅動電路設計要求

圖 1 開發板電路原理圖 圖 2 驅動電路框圖 訊號說明 1.irst n 非同步復位 當irst n訊號為低時,seg7 driver模組中的所有暫存器非同步復位為初值。2.iclk 模組的輸入時鐘 40mhz。3.iseg val 15 0 7段數碼管輸入二進位制值,0x0 0xf iseg v...