電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>89C51單片機引腳分配及端口結(jié)構(gòu)分析資料下載

89C51單片機引腳分配及端口結(jié)構(gòu)分析資料下載

2021-04-02 | pdf | 658.84KB | 次下載 | 10積分

資料介紹

硬件結(jié)構(gòu) 單片機的內(nèi)部結(jié)構(gòu)是由CPU、ROMRAM等組成,現(xiàn)在介紹外部引腳。如圖1-3所示為單片機的引腳圖,這就是實驗中要用的89C51單片機的外部引腳圖。如表1-3所示為89C51單片機引腳分配表。 圖1-3?89C51單片機的引腳圖 表1-3?89C51單片機引腳分配表 端口結(jié)構(gòu)分析 從1.3.1節(jié)的硬件結(jié)構(gòu)中可以看出,89C51單片機總共有4組端口,P0、P1、P2和P3,了解這4組端口的結(jié)構(gòu)原理對于日后的編程會有很大的幫助,由于這4組端口結(jié)構(gòu)不盡相同,下面分別介紹單片機總的4組端口。由于每組端口都是由8位組成,故在下面的講解中,只以每組端口的其中一位來解釋。 1. P0口的結(jié)構(gòu)及工作原理 P0口字節(jié)地址為80H,位地址80H~87H。P0端口8位中的一位結(jié)構(gòu)圖如圖1-4所示。 圖1-4?P0端口位結(jié)構(gòu)圖 由圖1-4可見,P0端口由鎖存器、輸入緩沖器、多路開關(guān)、一個非門、一個與門及場效應(yīng)管驅(qū)動電路構(gòu)成。圖1-4中標號為P0.X引腳的圖標,表示引腳可以是P0.0~P0.7的任何一位,即在P0口有8個與圖1-4所示相同的電路組成。下面先介紹組成P0口的每個單元部分。 (1)輸入緩沖器 在P0口中,有兩個三態(tài)的緩沖器,學過數(shù)字電路的讀者都知道三態(tài)門有3個狀態(tài),即在其輸出端可以是高電平、低電平,同時還有一種高阻狀態(tài)(或稱為禁止狀態(tài)),圖1-4中,上面一個是讀鎖存器的緩沖器,也就是說,要讀取D鎖存器輸出端Q的數(shù)據(jù),需要使讀鎖存器中這個緩沖器的三態(tài)控制端(圖1-4中標號為“讀鎖存器”端)有效,下面一個是讀引腳的緩沖器,要讀取P0.X引腳上的數(shù)據(jù),也要使標號為“讀引腳”的三態(tài)緩沖器的控制端有效,引腳上的數(shù)據(jù)才會傳輸?shù)絾纹瑱C的內(nèi)部數(shù)據(jù)總線上。 (2)D鎖存器 構(gòu)成一個鎖存器,通常要用一個時序電路(時序的單元電路內(nèi)容請參考數(shù)字電路相關(guān)知識),一個觸發(fā)器可以保存一位二進制數(shù)(即具有保持功能),在51單片機的32根I/O口線中,都是用一個D觸發(fā)器來構(gòu)成鎖存器的。圖1-4中的D鎖存器,D端是數(shù)據(jù)輸入端,CP是控制端(即時序控制信號輸入端),Q是輸出端,是反向輸出端。 對于D鎖存器來講,當D輸入端有一個輸入信號,如果這時控制端CP沒有信號(即時序脈沖沒有到來),這時輸入端D的數(shù)據(jù)是無法傳輸?shù)捷敵龆薗及反向輸出端的。如果時序控制端CP的時序脈沖到達,這時D端輸入的數(shù)據(jù)就會傳輸?shù)絈及 端。數(shù)據(jù)傳送過來后,當CP時序控制端的時序信號消失時,輸出端還會保持著上次輸入端D的數(shù)據(jù)(即把上次的數(shù)據(jù)鎖存起來)。如果下一個時序控制脈沖信號到來,這時D端的數(shù)據(jù)才再次傳送到Q端,從而改變Q端的狀態(tài)。 (3)多路開關(guān) 在51單片機中,當內(nèi)部的存儲器夠用時(即不需要外擴展存儲器時,這里講的存儲器包括數(shù)據(jù)存儲器及程序存儲器),P0口可以作為通用的輸入/輸出端口(即I/O)使用,對于8031(內(nèi)部沒有ROM)的單片機,或者編寫的程序超過了單片機內(nèi)部的存儲器容量需要外擴存儲器時,P0口就作為地址/數(shù)據(jù)總線使用。那么這個多路選擇開關(guān)就是用于選擇是作為普通I/O口使用還是作為地址/數(shù)據(jù)總線使用的選擇開關(guān)了。從圖1-4可知,當多路開關(guān)與下端接通時,P0口作為普通的I/O口使用;當多路開關(guān)是與上端接通時,P0口作為地址/數(shù)據(jù)總線使用。 (4)輸出驅(qū)動 從圖1-4中可看出,P0口的輸出是由兩個MOS管組成的推拉式結(jié)構(gòu),也就是說,這兩個MOS管一次只能導通一個,當Vl導通時,V2截止,當V2導通時,Vl截止。 上面已對P0口的各單元部件進行了詳細的講解,下面研究一下P0口作為I/O口及地址/數(shù)據(jù)總線使用時的具體工作過程。 (1)作為I/O端口使用時的工作原理 P0口作為I/O端口使用時,多路開關(guān)的控制信號為0(低電平),如圖1-4所示,多路開關(guān)的控制信號同時和與門的一個輸入端相接,與門的邏輯特點是“全l出1,有0出0”,那么控制信號如果是0,這時與門輸出的也是一個0(低電平),此時Vl管就截止,在多路控制開關(guān)的控制信號是0(低電平)時,多路開關(guān)是與鎖存器的端相接的(即P0口作為I/O口線使用)。 P0口用作I/O口線,其由數(shù)據(jù)總線向引腳輸出(即輸出狀態(tài)Output)的工作過程:寫鎖存器信號CP有效,數(shù)據(jù)總線的信號的輸出流程為鎖存器的輸入端D→鎖存器的反向輸出端→多路開關(guān)→V2管的柵極→V2管的漏極→輸出端P0.X。前面已經(jīng)介紹過,當多路開關(guān)的控制信號為低電平0時,與門輸出為低電平,Vl管是截止的,所以作為輸出口時,P0是漏極開路輸出狀態(tài),類似于OC門,當驅(qū)動上接電流負載時,需要外接上拉電阻。如圖1-5所示就是由內(nèi)部數(shù)據(jù)總線向P0口輸出數(shù)據(jù)的流程圖。 圖1-5?P0口內(nèi)部數(shù)據(jù)總線向引腳輸出時的流程圖 P0口用作I/O口線,其由一引腳向內(nèi)部數(shù)據(jù)總線輸入(即輸入狀態(tài)Input)的工作過程,數(shù)據(jù)輸入時(讀P0口)有以下兩種情況: 第一種情況是讀引腳,即讀芯片引腳上的數(shù)據(jù)。讀引腳數(shù)時,讀引腳緩沖器打開(即三態(tài)緩沖器的控制端要有效),通過內(nèi)部數(shù)據(jù)總線輸入。如圖1-6所示為P0口讀引腳時的流程圖。 圖1-6?P0口讀引腳時的流程圖 第二種情況是讀鎖存器,通過打開讀鎖存器三態(tài)緩沖器讀取鎖存器輸出端Q的狀態(tài)。如圖1-7所示為P0口讀鎖存器時的流程圖。 圖1-7?P0口讀鎖存器時的流程圖 在輸入狀態(tài)下,從鎖存器和從引腳上讀取的信號一般是一致的,但也有例外。例如,當從內(nèi)部總線輸出低電平后,鎖存器Q=0,=l,場效應(yīng)管V2開通,端口線呈低電平狀態(tài),此時無論端口線上外接的信號是低電平還是高電平,從引腳讀入單片機的信號都是低電平,因而不能正確地讀入端口引腳上的信號。又如,當從內(nèi)部總線輸出高電平后,鎖存器Q=1,=0,場效應(yīng)管V2截止,如果外接引腳信號為低電平,從引腳上讀入的信號就與從鎖存器讀入的信號不同。為此,8031單片機在對端口P0~P3的輸入操作有如下約定:凡屬于讀—改—寫方式的指令,從鎖存器讀入信號,其他指令則從端口引腳線上讀入信號。讀—改—寫指令的特點是,從端口輸入(讀)信號,在單片機內(nèi)加以運算(修改)后,再輸出(寫)到該端口上。下面是幾條讀—改—寫指令的示例。 ORL?P0, A P0→AP0 INC?P1 P1 1→P1 DEC?P3 P3-1→P3 CPL?P2 P2→P2 這樣安排的原因在于讀—改—寫指令需要得到端口原輸出的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以避免因外部電路的原因使原端口的狀態(tài)被讀錯。 注意: P0端口是8031單片機的總線口,分時出現(xiàn)數(shù)據(jù)D7~D0、低8位地址A7~A0以及三態(tài),用來連接存儲器、外部電路與外部設(shè)備。P0端口是使用最廣泛的I/O端口。 (2)作為地址/數(shù)據(jù)復用口使用時的工作原理 在訪問外部存儲器時,P0口作為地址/數(shù)據(jù)復用口使用,這時多路開關(guān)控制信號為l,與門解鎖,與門輸出信號電平由地址/數(shù)據(jù)線信號決定;多路開關(guān)與反相器的輸出端相連,地址信號經(jīng)地址/數(shù)據(jù)線→反相器→V2場效應(yīng)管柵極→V2漏極輸出。例如,控制信號為l,地址信號為0時,與門輸出低電平,Vl管截止;反相器輸出高電平,V2管導通,輸出引腳的地址信號為低電平。如圖1-8所示為P0口作為地址線,控制信號為1,地址信號為0時的工作流程圖。 圖1-8?P0口作為地址線,控制信號為1,地址信號為0時的工作流程圖 反之,控制信號為l、地址信號為l,與門輸出為高電平,Vl管導通;反相器輸出低電平,V2管截止,輸出引腳的地址信號為高電平。如圖1-9所示為P0口作為地址線,控制信號為1,地址信號為1時的工作流程圖。 圖1-9?P0口作為地址線,控制信號為1,地址信號為1時的工作流程圖 可見,在輸出地址/數(shù)據(jù)信息時,Vl、V2管是交替導通的,負載能力很強,可以直接與外設(shè)存儲器相連,無須增加總線驅(qū)動器。P0口又作為數(shù)據(jù)總線使用,在訪問外部程序存儲器時,P0口輸出低8位地址信息后,將變?yōu)閿?shù)據(jù)總線,以便讀指令碼(輸入)。在存取指令期間,控制信號為0,Vl管截止,多路開關(guān)也跟著轉(zhuǎn)向鎖存器反相輸出端;CPU自動將0FFH(11111111,即向D鎖存器寫入一個高電平1)寫入P0口鎖存器,使V2管截止,在讀引腳信號控制下,通過讀引腳三態(tài)門電路將指令碼讀到內(nèi)部總線。如圖1-10所示為P0口作為數(shù)據(jù)總線,取指期間工作流程圖。 圖1-10?P0口作為數(shù)據(jù)總線時取指期間工作流程圖
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費