單片機1前言及51體系結構課件_第1頁
單片機1前言及51體系結構課件_第2頁
單片機1前言及51體系結構課件_第3頁
單片機1前言及51體系結構課件_第4頁
單片機1前言及51體系結構課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單片機原理及應用

授課人:楊紅宇什么是單片機?單片機:將組成微機的各個部件:CPU、存儲器、I/O接口電路、定時器/計數器等,集成在一塊電路芯片上,構成的一個完整的微型計算機系統(tǒng)。單片+微機系統(tǒng)=單片機數字電路與計算機二進制8個D觸發(fā)器可以存放8位2進制數據8位數據就是有序排列的8條導線或者8個觸發(fā)器按照導線排序,每一條導線分別代表不同的數字“權”值。以4線為基準,分別代表“8,4,2,1”,4線都是高電平,記為“1111”,其代表數字是8+4+2+1=15。我們采用16進制表達為F。4位2進制可以表達數字0~15或者0~9,A~F的16進制數。每4線代表1位16進制數據。8線就是2位16進制數據,稱為“1字節(jié)”我們學習計算機知識,一定要掌握2進制-16進制-10進制之間的換算關系。2進制數用B結尾,16進制數用H結尾,10進制不加結尾,或者加D結尾以示區(qū)別。單片機就是“嵌入式”系統(tǒng)嵌入式系統(tǒng)分為兩個層次:自己編寫全部控制程序——底層應用。利用實時多任務操作系統(tǒng)RTOS,在操作系統(tǒng)中添加具有針對性的控制任務(程序)——高層應用?!皢纹瑱C原理”課程教會我們底層應用uc/OS-II是“微控制器操作系統(tǒng)”,它將教會我們高層應用。單片機也稱為:微控制器(MCU)地址總線AB控制總線CBCPU內存智能儀器接口數字化存儲示波器、數字化萬用表通信接口終端調制解調器TTY電傳機過程控制接口A/D轉換器開關量I/OD/A轉換器輸出接口打印機,顯示器,繪圖儀,記錄儀輸入接口鍵盤,數字化儀,光筆,圖形/聲音輸入外存接口硬盤,軟盤,光盤,磁帶數據總線DB計算機的基本結構計算機主要模塊CPU、存儲器、接口連接三者用“總線”:數據總線DB;地址總線AB;控制總線CB接口連接外部設備:顯示器;鍵盤;鼠標;打印機;以及硬盤;光盤;軟盤;U盤、還有互聯網等等兩種計算機對比對比項目個人計算機PC單片機CPU位數64位8、16、32位內存大小256MB以上128字節(jié)~幾百KB工作頻率1GHZ以上幾十兆赫茲接口類型繁多的基本接口和智能接口只有基本接口基本接口并口、串口、定時器、中斷系統(tǒng)并口、串口、定時器、中斷系統(tǒng)智能接口FDD、IDE、USB、顯示器、聲卡少量類型有USB、CAN、等接口結構特點多種IC多個電路板結構單片IC結構計算機的內存內存分為只讀存儲器ROM和隨機存儲器RAM兩類。ROM存放啟動/開機程序以及一些系統(tǒng)子程序。PC機的BIOS就是存放在ROM中。用戶編寫的單片機程序也是存放在ROM中。RAM存放變量,數據。PC機還要存放從硬盤等處讀入的可執(zhí)行程序。ROM中的程序用于開機時,計算機能引導進入運行狀態(tài),這些程序在掉電后應保證不會消失。單片機:麻雀雖小,五臟俱全單片機設計為:專用于控制目的計算機。用于專門目的,為了降低成本,沒有必要將不用的功能包含進來。單片機通常只有8位,16位字長,運算速度不是很快,但用于專門的控制足夠了。因數據量不大,單片機內存也沒有必要做得太大。單片機應用系統(tǒng)功能單一,可見于我們生活中的時時處處:手機、微波爐、洗衣機、電視機、遙控器、電子詞典、高檔玩具……嵌入式單片機還見于計算機的許多輔助設備:鍵盤、硬盤、光驅、打印機等等。計算機的數據交換接口盡管計算機外部設備多種多樣,根本上來說就是數據的傳輸:外部設備把指令、數據送到計算機內讓計算機進行處理計算機把處理情況和處理結果,以及需要保存的數據送到外部設備:顯示;打印;保存;交換……計算機接口就是完成以上數據傳輸任務的基本電路模塊。計算機基本接口并行接口:多條線(8線)同時傳輸數據。一次傳輸一字節(jié)。串行接口:單線傳輸,一次傳輸一位,分時傳送。定時器:產生設定的時間間隔信號,用于安排計算機的多種任務執(zhí)行時間。中斷控制器:用于使CPU能及時響應多種外部設備申請的服務。通訊接口舉例并行接口:LPT打印機;內部FDD軟驅;IDE光驅/硬盤……串行接口:COM1/COM2串行接口;USB通用串行接口;鍵盤、鼠標接口;紅外線接口;網絡接口……串行接口還有更廣泛的應用:手機,數字電視,衛(wèi)星通訊……常見的8位16位單片機Intel8051系列和96系列Motorola的MC68H系列Microchip的PIC系列英飛凌的XC800系列、C166系列TI的MSP430系列單片機不同型號間的主要差異CPU字長:4位;8位;16位;32位ROM容量:沒有(需要外部擴展);1K;2K;4K;8K…64K,128K…,工藝上分EPROM;E2PROM;FLASHROMRAM容量:128B;256B;1K;2K…,基本RAM和片內擴展XRAM接口數量和種類:并口;串口;定時器;中斷控制器。好的芯片還集成了AD/DA接口,DMA,PWM,CAN,I2C,……。同時增加更多引腳。單片機引腳和封裝單片機的發(fā)展方向加大存儲容量,采用新型存儲器加強程序的保密措施集成部件越來越多通信和聯網功能不斷加強功耗降低,電源電壓范圍寬如何選擇單片機從應用的實際需求出發(fā),不是越貴越好。運行速度、接口數量、存儲容量、擴展單元、功耗是否能滿足要求?是否易于獲得,價格如何?開發(fā)是否容易(程序下載)?軟件環(huán)境是否友好(程序仿真)?封裝及大小是否滿足要求?本課程重點因課時所限,本課程包括:Intel的8051單片機(初期/打基礎)。Infineon的XC866單片機(后期/重點)。配以多個實驗,進行編程及操作練習。CPU主要結構和功能ALU:算術邏輯單元。它是一個集:加、減、乘、除、移位、與、或、非、異或等多種功能模塊的電路單元。選擇ALU的某項功能是通過“指令譯碼器”送出的控制信號決定的。指令寄存器存放著從存儲器讀回的操作指令,它被“指令譯碼器”譯成操作ALU的控制信號。地址寄存器/程序計數器自動計算CPU要執(zhí)行的下一條指令的存放地址,并產生相應地址信號用于選擇程序存儲器。指令譯碼器在執(zhí)行完當前指令時,發(fā)出“讀指令”信號,把下一條指令讀入指令寄存器。狀態(tài)寄存器存放著ALU運算的狀態(tài)標志。通用寄存器存放一些最常用的運算數據或地址。運算前,數據會轉存到暫存器中累加器是最常用的運算寄存器。通常,運算前是運算數據,運算后存放運算結果。它配合暫存器通過ALU進行運算。存儲器數據存儲器:RAM程序存儲器:ROM兩類存儲器的編址方法有兩種:線性統(tǒng)一編址和分區(qū)編址。IntelMCS-51為“分區(qū)編址”,ROM和RAM各自占用一個獨立地址空間。IntelX86采用線性統(tǒng)一編址。ROM和RAM分布于同一個地址空間的不同地址段。單片機的RAM特點單片機的RAM又分為“片內”和“片外”兩種。片內RAM包含兩種應用類型:①通用寄存器+片內RAM。②特殊功能寄存器SFR。SFR是特殊功能寄存器(SpecialFunctionRegisters),而且是專用的!它們控制著單片機的各種接口功能,也存放著接口的輸入輸出數據。這些寄存器都有特定的地址。片外RAM通常指外部擴展的RAM。一些性能較好的單片機片內也集成了“片外”RAM,稱為:XRAM,實際上還是存在于片內。片內RAM和片外RAM也分為統(tǒng)一編址和獨立編址兩種。51系列單片機最早以8031為代表,后來派生出許多型號,它們的基本結構和指令代碼相同。甚至引腳也相同,可以直接互換。這類系列統(tǒng)稱為MCS-51系列,常見型號有:8031,8032,8751,8752,8051,8052…89C51,89C52,9751,9752,……生產51系列單片機的許多廠家還推出了性能更好的型號。51單片機內部結構圖震蕩器及定時電路4K字節(jié)程序存儲器128字節(jié)數據存儲器2個16位定時器/事件計數器8051CPU64K字節(jié)總線擴展控制可編程I/O可編程串行口中斷中斷頻率基準源計數器控制并行I/O口串行輸入串行輸出51單片機代表型號及資源型號ROM(KB)RAM(字節(jié))并口(腳數)串口定時器中斷源8031無1284×81258032無2564×813680514KPROM1284×812589514K1284×812589528K2564×813689C5832K2564×813687C5416K2564×813689C20512K1282×812587C514K1284×8125DIP40封裝的51單片機P1.0~P1.7 并行口P1,其中P1.0和P1.1可能作為定時器T2的功能引腳。P0.1~P0.7 并行口P0,當需要擴展存儲器或接口時,可以作為數據/地址(低8位)總線。P2.0~P2.7 并行口P2,當需要擴展存儲器或接口時,可以作為地址總線高8位。P3.0~P3.7 并行口P3,通常單獨使用它們的第二功能:

P3口特殊功能

P3.0 RXD,異步通訊接口的數據輸入端。

P3.1 TXD,異步通訊接口的數據輸出端。

P3.2 INT0,外部中斷0申請的輸入端。

P3.3 INT1,外部中斷1申請的輸入端。

P3.4 T0,定時器T0外部時鐘輸入端。

P3.5 T1,定時器T1外部時鐘輸入端。

P3.6 WR,對外部存儲器/接口的“寫”信號。

P3.7 RD,對外部存儲器/接口的“讀”信號。51單片機的其它引腳VCC 工作電源,常為+5V,某些型號可以工作在2.7~8V之間。VSS GND,接地端。XTAL1 外接晶體振蕩器,當使用外部時鐘時,此腳應接地。XTAL2 外接晶體振蕩器。也作外部時鐘輸入。PSEN 讀外部ROM信號。RST 復位輸入端,高電平復位,低電平時CPU工作。ALE/PROG 地址鎖存信號輸出(正脈沖)/編程脈沖輸入(負脈沖),用戶一般不考慮后者。此信號控制外接的74LS373鎖存器把P0口的地址分量分離出來作為擴展地址的低8位。EA/VPP 片內片外ROM選擇/編程電壓輸入,用戶一般不考慮后者。當接GND時,表示使用外部程序存儲器;當接VCC時,使用片內程序存儲器。51單片機結構框圖結構簡介1

從外部來看,共有4組8位并行接口,占用32個引腳,另:兩個引腳作晶振接入,電源,地各一個腳及4個控制腳共計40個引腳。

4組并行接口分別稱為:P0;P1;P2和P3,每一個單獨引腳由小數點后的數字確定。例如:P1.0;P3.2等。

4組并口,除P1為專門的并口外,其它3個并口還有第二功能:P0可以作為外部的數據總線和地址低8位;P2作為地址高8位。P3的每一個引腳都有不同的第2功能:串行接口的輸入輸出;外部中斷輸入;定時器外部鐘輸入以及外部接口存儲器的讀寫信號。單片機內部除CPU的主要結構外,還有128B(256B)的RAM,一定數量的ROM。RAM和ROM的多少隨芯片型號不同而不同。ALU:算術邏輯單元。所有的運算都通過ALU進行。PSW::(ProgramStateWord)程序狀態(tài)字,8位。其中存放著當前ALU的一些操作狀態(tài)特征。其字節(jié)地址是D0H。

結構簡介2PC:(ProgramCounter)程序計數器,16位。它與8086CPU的IP(InstructionPointer)意義類似。PC中存放著CPU要執(zhí)行的下一條指令地址,CPU通過它產生ROM地址從而讀取指令。每執(zhí)行一條指令,它都會自動增加。增加的數值依照已讀指令的長短而變化。只有中斷、跳轉和調用指令才能使其作其它變化。每當開機或者復位時,它的起始值為0000H。ACC:累加器,8位。51單片機大多數指令都必須使用ACC,它是使用最頻繁的寄存器。它與ALU直接相連,加、減、乘、除、移位以及其它邏輯運算都要使用ACC,特別是:外部數據的讀寫也都必須使用ACC。ACC有兩個名字:A和ACC。A表示寄存器,ACC表示用地址表達的寄存器(存儲器)。除入棧出棧指令使用ACC這個名字外,其它指令中都用A。DPTR:數據指針16位,主要用于指出外部RAM的數據地址或ROM數據表的基地址。內存中將其分為兩個8位寄存器,分別叫DPL和DPH,DPH存放地址的高8位,DPL存放低8位。SP:stackPointer堆棧指針,8位。用于指出當前堆棧的頂部地址,當有入棧操作時,SP自動+1,出棧時SP=SP-1。結構簡介3P0口和P2口可以作為外部擴展的數據總線和地址總線使用。P0口分時作為數據線(8位)和地址線低8位使用,通過外部地址分離電路將其分離。分離信號就是ALEP2口作為地址線高8位使用P0和P2可以組合成16位地址,因而可以對外部的64KB空間進行尋址訪問。他們可以同時連接ROM和RAM(訪問操作各自不同)程序狀態(tài)字PSWC:也叫CY,進位標志或借位標志。當運算產生進位或借位時:C=1,否則C=0。C位還有一個特殊意義:它是1位計算機的“累加器”,CPU作布爾運算時,需要C的介入。同時C還可以讀取一個引腳的數據或者把C的數據從引腳送出。AC:半進位。當AC=1時,表明運算使低4位向高4位產生了進位。F0:用戶標志位。用戶可以用于存1位數據。RS1和RS0:(RegistersSelection)寄存器選擇位。用于選擇寄存器組。OV:溢出標志。對符號數的運算,當結果超出-128~+127時,產生溢出,此時OV=1。F1:用戶標志位。用戶可以用于存1位數據。(有些品種不支持)P:奇偶標志,反映ACC中數據的奇偶性。若ACC中有奇數個1,則P=1。位地址D7HD6HD5HD4HD3HD2HD1HD0H位符號CACF0RS1RS0OVF1P51單片機內部RAM地址名稱PSW/說明00~07R0R1R2R3R4R5R6R70組RS1=0,RS0=008~0FR0R1R2R3R4R5R6R71組RS1=0,RS0=110~1FR0R1R2R3R4R5R6R72組RS1=1,RS0=018~1FR0R1R2R3R4R5R6R73組RS1=1,RS0=120~2F位尋址區(qū),地址00~7FH共128位,占16字節(jié)不用的字節(jié)作RAM30~7F用戶RAM區(qū),存變量、緩沖、堆棧等80~FF51、52單片機為SFR特殊功能寄存器采用直接地址(名稱)80~FF52單片機作RAM采用寄存器間接尋址

內部RAM的讀寫采用“MOV”指令,操作數分為:字節(jié)或位,其操作對象隨之不同。

R0-R7通用寄存器部分,不用的字節(jié)也做RAM。SFR簡介

地址:80H~FFH并口數據寄存器:P0;P1;P2;P3累加器ACC和寄存器B定時器T0(TH0;TL0),T1(TH1;TL1)定時器控制寄存器:TMOD;TCON串行口控制SCON和數據SBUF中斷控制:IE,IP電源控制:PCON程序狀態(tài)字:PSW堆棧指針:SP數據指針:DPTR(DPH和DPL)通用寄存器的使用51單片機留了4組寄存器,它們都叫做:R0,R1~R7。它們在各種運算中起著參與運算的作用。程序只能使用某一組寄存器。其它組用于其它程序。目的是互不破壞數據。這種情況主要發(fā)生在“中斷服務”時。如何切換到另一組呢?用程序改變PSW中的RS1和RS0就可。主程序默認使用:寄存器組0。中斷服務程序開始時,先保存PSW,然后改寫RS1和RS0。退出服務時恢復原來的PSW。一般只要使用兩組就可以了。單片機的“位”單片機特色之一是使用“位”變量并可以直接操作?!拔弧贝嬖谟诟鱾€并口(引腳),累加器,PSW以及若干寄存器中;同時在RAM中也預留了“可位尋址”的空間:20H~2FH。位空間占用16字節(jié),每個字節(jié)8位共128位,用地址00H~7FH表達。換算關系:字節(jié)地址=20H

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論