![材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件_第1頁](http://file4.renrendoc.com/view/0e86e2c524e799fd464dafd290233d15/0e86e2c524e799fd464dafd290233d151.gif)
![材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件_第2頁](http://file4.renrendoc.com/view/0e86e2c524e799fd464dafd290233d15/0e86e2c524e799fd464dafd290233d152.gif)
![材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件_第3頁](http://file4.renrendoc.com/view/0e86e2c524e799fd464dafd290233d15/0e86e2c524e799fd464dafd290233d153.gif)
![材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件_第4頁](http://file4.renrendoc.com/view/0e86e2c524e799fd464dafd290233d15/0e86e2c524e799fd464dafd290233d154.gif)
![材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件_第5頁](http://file4.renrendoc.com/view/0e86e2c524e799fd464dafd290233d15/0e86e2c524e799fd464dafd290233d155.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第八章材料加工過程的單片機控制8.1單片機結構及控制系統(tǒng)組成8.2交流電阻焊單片機控制8.3氣體滲碳爐的單片機控制8.4燃氣加熱爐溫度的單片機控制第八章材料加工過程的單片機控制8.1單片機結構及控制系統(tǒng)18.1單片機結構及控制系統(tǒng)組成MCS-51系列單片機的結構MCS是Intel公司單片機的系列符號。Intel推出有MCS-48、MCS-51、MCS-96系列單片機。MCS-51系列包括三個基本型8031、8051、8751,以及對應的低功耗型號80C31、80C51、87C51,因而MCS-51特指Intel的這幾種型號。20世紀80年代中期以后,Intel以專利轉讓的形式把8051內(nèi)核給了許多半導體廠家,這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準確地說是與MCS-51指令系統(tǒng)兼容的單片機。這些單片機與8051的系統(tǒng)結構(主要是指令系統(tǒng))相同,采用CMOS工藝,因而常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機。他們對8051一般都作了一些擴充,更有特點、功能更強、市場競爭力更強。8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。8.1單片機結構及控制系統(tǒng)組成MCS-51系列單片機的結構21.8051單片機的內(nèi)部結構8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:1.8051單片機的內(nèi)部結構8051單片機包含中央處理器、3材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件4材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件5中央處理器(CPU):是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)的協(xié)調(diào)工作,完成加減乘除及邏輯運算和控制輸入輸出功能等操作。
·數(shù)據(jù)存儲器(RAM):
8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。
中央處理器(CPU):是整個單片機的核心部件,是8位數(shù)據(jù)寬度6程序存儲器(ROM):
8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):
8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉向。并行輸入輸出(I/O)口:
8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:
8051內(nèi)置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):
8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。程序存儲器(ROM):
8051共有4096個8位掩膜ROM7時鐘電路:
8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(Princeton)結構。INTEL的MCS-51系列單片機采用的是哈佛結構的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結構。時鐘電路:
8051內(nèi)置最高頻率達12MHz的時鐘電8MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:920:接地腳。40:正電源腳,正常工作或對片內(nèi)EPROM燒寫程序時,接+5V電源。19:時鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。18:時鐘XTAL2腳,片內(nèi)振蕩電路的輸出端。8051的時鐘有兩種方式,一種是片內(nèi)時鐘振蕩方式,但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10p-30p。另外一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入。20:接地腳。10材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件11材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件129:RESET/Vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指鐘寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),
8051的復位方式可以是自動復位,也可以是手動復位,見下圖。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。9:RESET/Vpd復位信號復用腳,當8051通電,時鐘電13程序存儲器
一個微處理器能夠聰明地執(zhí)行某種任務,除了它們強大的硬件外,還需要它們運行的軟件,其實微處理器并不聰明,它們只是完全按照人們預先編寫的程序而執(zhí)行之。那么設計人員編寫的程序就存放在微處理器的程序存儲器中,俗稱只讀程序存儲器(ROM)。程序相當于給微處理器處理問題的一系列命令。其實程序和數(shù)據(jù)一樣,都是由機器碼組成的代碼串。只是程序代碼則存放于程序存儲器中。
MCS-51具有64kB程序存儲器尋址空間,它是用于存放用戶程序、數(shù)據(jù)和表格等信息。對于內(nèi)部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的EA-端必須接地。強制CPU從外部程序存儲器讀取程序。對于內(nèi)部有ROM的8051等單片機,正常運行時,EA-則需接高電平,使CPU先從內(nèi)部的程序存儲中讀取程序,當PC值超過內(nèi)部ROM的容量時,才會轉向外部的程序存儲器讀取程序。
程序存儲器
一個微處理器能夠聰明地執(zhí)行某種任務,除了148051片內(nèi)有4kB的程序存儲單元,其地址為0000H—0FFFH,單片機啟動復位后,程序計數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從0000H單元開始執(zhí)行程序。但在程序存儲中有些特殊的單元,這在使用中應加以注意:
其中一組特殊是0000H—0002H單元,系統(tǒng)復位后,PC為0000H,單片機從0000H單元開始執(zhí)行程序,如果程序不是從0000H單元開始,則應在這三個單元中存放一條無條件轉移指令,讓CPU直接去執(zhí)行用戶指定的程序。
另一組特殊單元是0003H—002AH,這40個單元各有用途,它們被均勻地分為五段,它們的定義如下:
0003H—000AH
外部中斷0中斷地址區(qū)。
000BH—0012H
定時/計數(shù)器0中斷地址區(qū)。
0013H—001AH
外部中斷1中斷地址區(qū)。
001BH—0022H
定時/計數(shù)器1中斷地址區(qū)。
0023H—002AH
串行中斷地址區(qū)。
8051片內(nèi)有4kB的程序存儲單元,其地址為0000H—0F15可見以上的40個單元是專門用于存放中斷處理程序的地址單元,中斷響應后,按中斷的類型,自動轉到各自的中斷區(qū)去執(zhí)行程序。因此以上地址單元不能用于存放程序的其他內(nèi)容,只能存放中斷服務程序。但是通常情況下,每段只有8個地址單元是不能存下完整的中斷服務程序的,因而一般也在中斷響應的地址區(qū)安放一條無條件轉移指令,指向程序存儲器的其它真正存放中斷服務程序的空間去執(zhí)行,這樣中斷響應后,CPU讀到這條轉移指令,便轉向其他地方去繼續(xù)執(zhí)行中斷服務程序。可見以上的40個單元是專門用于存放中斷處理程序的地址單元,中16數(shù)據(jù)存儲器
數(shù)據(jù)存儲器也稱為隨機存取數(shù)據(jù)存儲器。MCS-51單片機的數(shù)據(jù)存儲器在物理上和邏輯上都分為兩個地址空間,一個是內(nèi)部數(shù)據(jù)存儲區(qū)和一個外部數(shù)據(jù)存儲區(qū)。MCS-51內(nèi)部RAM有128或256個字節(jié)的用戶數(shù)據(jù)存儲(不同的型號有分別),它們是用于存放執(zhí)行的中間結果和過程數(shù)據(jù)的。MCS-51的數(shù)據(jù)存儲器均可讀寫,部分單元還可以位尋址。數(shù)據(jù)存儲器
數(shù)據(jù)存儲器也稱為隨機存取數(shù)據(jù)存儲器。MCS-51178051內(nèi)部RAM共有256個單元,這256個單元共分為兩部分。其一是地址從00H—7FH單元(共128個字節(jié))為用戶數(shù)據(jù)RAM。從80H—FFH地址單元(也是128個字節(jié))為特殊寄存器(SFR)單元。內(nèi)部RAM的20H—2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進行尋址。位尋址區(qū)共有16個字節(jié),128個位,位地址為00H—7FH。CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲空間指的就是這些為尋址區(qū)。
8051內(nèi)部RAM共有256個單元,這256個單元共分為兩部18
特殊功能寄存器(SFR)也稱為專用寄存器,特殊功能寄存器反映了MCS-51單片機的運行狀態(tài)。很多功能也通過特殊功能寄存器來定義和控制程序的執(zhí)行。
MCS-51有21個特殊功能寄存器,它們被離散地分布在內(nèi)部RAM的80H—FFH地址中,這些寄存的功能已作了專門的規(guī)定,用戶不能修改其結構。表2是特殊功能寄存器分布一覽表,我們對其主要的寄存器作一些簡單的介紹。
特殊功能寄存器(SFR)也稱為專用寄存器,特殊功能寄存器19
程序計數(shù)器PC(programCounter)
程序計數(shù)器在物理上是獨立的,它不屬于特殊內(nèi)部數(shù)據(jù)存儲器塊中。PC是一個16位的計數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,PC有自動加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動加1,程序執(zhí)行到什么地方,程序計數(shù)器PC就指到哪里。PC本身并沒有地址,因而不可尋址,用戶無法對它進行讀寫,但是可以通過轉移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序按我們的要求去執(zhí)行。
程序計數(shù)器PC(programCounter)
20累加器ACC(Accumulator)
累加器A是一個最常用的專用寄存器,大部分單操作指令的一個操作數(shù)取自累加器,很多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。加、減、乘、除法運算的指令,運算結果都存放于累加器A或AB累加器對中。大部分的數(shù)據(jù)操作都會通過累加器A進行,它形象于一個交通要道,在程序比較復雜的運算中,累加器成了制約軟件效率的“瓶頸”,它的功能較多,地位也十分重要。以至于后來發(fā)展的單片機,有的集成了多累加器結構,或者使用寄存器陣列來代替累加器,即賦予更多寄存器以累加器的功能,目的是解決累加器的“交通堵塞”問題。提高單片機的軟件效率。寄存器B
在乘除法指令中,乘法指令中的兩個操作數(shù)分別取自累加器A和寄存器B,其結果存放于AB寄存器對中。除法指令中,被除數(shù)取自累加器A,除數(shù)取自寄存器B,結果商存放于累加器A,余數(shù)存放于寄存器B中。累加器ACC(Accumulator)
累加器A是一21
程序狀態(tài)字(ProgramStatusWord)
程序狀態(tài)字是一個8位寄存器,用于存放程序運行的狀態(tài)信息,這個寄存器的一些位可由軟件設置,有些位則由硬件運行時自動設置的。PSW用來存放兩類信息:一類是體現(xiàn)當前指令執(zhí)行結果的各種狀態(tài)信息,如有無進位(CY位),有無溢出(OV位),奇偶標志位(P位)等;另一類是存放控制信息,如允許中斷(IF位),跟蹤標志(TF位)等。有些機器中將PSW稱為標志寄存器FR(FlagRegister)。寄存器的各位定義如下,其中PSW.1是保留位,未使用。下表是它的功能說明,并對各個位的定義介紹如下:
程序狀態(tài)字(ProgramStatusWord)
22PSW.7(CY)
進位標志位,此位有兩個功能:一是存放執(zhí)行某寫算數(shù)運算時,存放進位標志,可被硬件或軟件置位或清零。二是在位操作中作累加位使用。PSW.6(AC)
輔助進位標志位,當進行加、減運算時當有低4位向高4位進位或借位時,AC置位,否則被清零。AC輔助進位位也常用于十進制調(diào)整。PSW.5(F0)
用戶標志位,供用戶設置的標志位。PSW.4、PSW.3(RS1和RS0)
寄存器組選擇位。PSW.2(OV)
溢出標志。帶符號加減運算中,超出了累加器A所能表示的符號數(shù)有效范圍(-128—+127)時,即產(chǎn)生溢出,OV=1。表明運算運算結果錯誤。如果OV=0,表明運算結果正確。
PSW.0(P)
奇偶校驗位。聲明累加器A的奇偶性,
PSW.7(CY)
進位標志位,此位有兩個功能:一是存放執(zhí)行23
數(shù)據(jù)指針(DPTR)
數(shù)據(jù)指針為16位寄存器,編程時,既可以按16位寄存器來使用,也可以按兩個8位寄存器來使用,即高位字節(jié)寄存器DPH和低位字節(jié)DPL。
DPTR主要是用來保存16位地址,當對64kB外部數(shù)據(jù)存儲器尋址時,可作為間址寄存器使用,此時,使用如下兩條指令:
MOVX
A,
@DPTR
MOVX
@DPTR,
A
在訪問程序存儲器時,DPTR可用來作基址寄存器,采用基址+變址尋址方式訪問程序存儲器,這條指令常用于讀取程序存儲器內(nèi)的表格數(shù)據(jù)。
MOVC
A,
@A+@DPTR
數(shù)據(jù)指針(DPTR)
數(shù)據(jù)指針為16位寄存器,編程24
堆棧指針SP(StackPointer)
堆棧是一種數(shù)據(jù)結構,它是一個8位寄存器,它指示堆棧頂部在內(nèi)部RAM中的位置。系統(tǒng)復位后,SP的初始值為07H,使得堆棧實際上是從08H開始的。但我們從RAM的結構分布中可知,08H—1FH隸屬1—3工作寄存器區(qū),若編程時需要用到這些數(shù)據(jù)單元,必須對堆棧指針SP進行初始化,原則上設在任何一個區(qū)域均可,但一般設在30H—1FH之間較為適宜。
數(shù)據(jù)的寫入堆棧我們稱為入棧(PUSH,有些文獻也稱作插入運算或壓入),從堆棧中取出數(shù)據(jù)稱為出棧(POP,也稱為刪除運算或彈出),堆棧的最主要特征是“后進先出”規(guī)則,也即最先入棧的數(shù)據(jù)放在堆棧的最底部,而最后入棧的數(shù)據(jù)放在棧的頂部,因此,最后入棧的數(shù)據(jù)出棧時則是最先的。
堆棧指針SP(StackPointer)
堆棧25堆棧的設立是為了中斷操作和子程序的調(diào)用而用于保存數(shù)據(jù)的,即常說的斷點保護和現(xiàn)場保護。微處理器無論是在轉入子程序和中斷服務程序的執(zhí)行,執(zhí)行完后,還是要回到主程序中來,在轉入子程序和中斷服務程序前,必須先將現(xiàn)場的數(shù)據(jù)進行保存起來,否則返回時,CPU并不知道原來的程序執(zhí)行到哪一步,原來的中間結果如何?所以在轉入執(zhí)行其它子程序前,先將需要保存的數(shù)據(jù)壓入堆棧中保存。以備返回時,再復原當時的數(shù)據(jù)。供主程序繼續(xù)執(zhí)行。轉入中斷服務程序或子程序時,需要保存的數(shù)據(jù)可能有若干個,都需要一一地保留。如果微處理器進行多重子程序或中斷服務程序嵌套,那么需保存的數(shù)據(jù)就更多,這要求堆棧還需要有相當?shù)娜萘?。否則會造成堆棧溢出,丟失應備份的數(shù)據(jù)。輕者使運算和執(zhí)行結果錯誤,重則使整個程序紊亂。
堆棧的設立是為了中斷操作和子程序的調(diào)用而用于保存數(shù)據(jù)的,即常26
MCS-51的堆棧是在RAM中開辟的,即堆棧要占據(jù)一定的RAM存儲單元。同時MCS-51的堆??梢杂捎脩粼O置,SP的初始值不同,堆棧的位置則不一定,不同的設計人員,使用的堆棧區(qū)則不同,不同的應用要求,堆棧要求的容量也有所不同。堆棧的操作只有兩種,即進棧和出棧,但不管是向堆棧寫入數(shù)據(jù)還是從堆棧中讀出數(shù)據(jù),都是對棧頂單元進行的,SP就是即時指示出棧頂?shù)奈恢茫吹刂罚?。在子程序調(diào)用和中斷服務程序響應的開始和結束期間,CPU都是根據(jù)SP指示的地址與相應的RAM存儲單元交換數(shù)據(jù)。
堆棧的操作有兩種方法:其一是自動方式,即在中斷服務程序響應或子程序調(diào)用時,返回地址自動進棧。當需要返回執(zhí)行主程序時,返回的地址自動交給PC,以保證程序從斷點處繼續(xù)執(zhí)行,這種方式是不需要編程人員干預的。第二種方式是人工指令方式,使用專有的堆棧操作指令進行進出棧操作,也只有兩條指令:進棧為PUSH指令,在中斷服務程序或子程序調(diào)用時作為現(xiàn)場保護。出棧操作POP指令,用于子程序完成時,為主程序恢復現(xiàn)場。
MCS-51的堆棧是在RAM中開辟的,即堆棧要占據(jù)一定的R27
I/O口專用寄存器(P0、P1、P2、P3)
I/O口寄存器P0、P1、P2和P3分別是MCS-51單片機的四組I/O口鎖存器。MCS-51單片機并沒有專門的I/O口操作指令,而是把I/O口也當作一般的寄存器來使用,數(shù)據(jù)傳送都統(tǒng)一使用MOV指令來進行,這樣的好處在于,四組I/O口還可以當作寄存器直接尋址方式參與其他操作。
定時/計數(shù)器(TL0、TH0、TL1和TH1)
MCS-51單片機中有兩個16位的定時/計數(shù)器T0和T1,它們由四個8位寄存器組成的,兩個16位定時/計數(shù)器卻是完全獨立的。我們可以單獨對這四個寄存器進行尋址,但不能把T0和T1當作16位寄存來使用。
定時/計數(shù)器方式選擇寄存器(TMOD)
TMOD寄存器是一個專用寄存器,用于控制兩個定時計數(shù)器的工作方式,TMOD可以用字節(jié)傳送指令設置其內(nèi)容,但不能位尋址,各位的定義如下
I/O口專用寄存器(P0、P1、P2、P3)28材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件29材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件30材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件31材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件32材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件33注意:在不外擴ROM/RAM時,P0~P3均可作通用I/O口使用,而且都是準雙向I/O口!注意:在不外擴ROM/RAM時,P0~P3均可作通用I/O口34材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件3551單片機外部程序存儲器(ROM)和外部數(shù)據(jù)存儲器(RAM)的總線擴展電路圖51單片機外部程序存儲器(ROM)和外部數(shù)據(jù)存儲器(RAM)36材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件37材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件38材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件39材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件40材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件41材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件42材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件43材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件44材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件45材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件46材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件47材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件48材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件49材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件50用8051單片機控制報警聲產(chǎn)生實例1.實驗任務用P1.0輸出1KHz和500Hz的音頻信號驅動揚聲器,作報警信號,要求1KHz信號響100ms,500Hz信號響200ms,交替進行,P1.7接一開關進行控制,當開關合上響報警信號,當開關斷開告警信號停止,編出程序。用8051單片機控制報警聲產(chǎn)生實例1.實驗任務512.電路原理圖2.電路原理圖52“單片機系統(tǒng)”區(qū)域中的P1.0端口用導線連接到“音頻放大模塊”區(qū)域中的SPKIN端口上;在“音頻放大模塊”區(qū)域中的SPKOUT端口上接上一個8歐的或者是16歐的喇叭;把“單片機系統(tǒng)”區(qū)域中的P1.7/RD端口用導線連接到“四路撥動開關”區(qū)域中的K1端口上;“單片機系統(tǒng)”區(qū)域中的P1.0端口用導線連接到“音頻放大模塊53步進電機驅動實例接線圖步進電機驅動實例接線圖54第八章材料加工過程的單片機控制8.1單片機結構及控制系統(tǒng)組成8.2交流電阻焊單片機控制8.3氣體滲碳爐的單片機控制8.4燃氣加熱爐溫度的單片機控制第八章材料加工過程的單片機控制8.1單片機結構及控制系統(tǒng)558.1單片機結構及控制系統(tǒng)組成MCS-51系列單片機的結構MCS是Intel公司單片機的系列符號。Intel推出有MCS-48、MCS-51、MCS-96系列單片機。MCS-51系列包括三個基本型8031、8051、8751,以及對應的低功耗型號80C31、80C51、87C51,因而MCS-51特指Intel的這幾種型號。20世紀80年代中期以后,Intel以專利轉讓的形式把8051內(nèi)核給了許多半導體廠家,這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準確地說是與MCS-51指令系統(tǒng)兼容的單片機。這些單片機與8051的系統(tǒng)結構(主要是指令系統(tǒng))相同,采用CMOS工藝,因而常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機。他們對8051一般都作了一些擴充,更有特點、功能更強、市場競爭力更強。8051是MCS-51系列單片機的典型產(chǎn)品,我們以這一代表性的機型進行系統(tǒng)的講解。8.1單片機結構及控制系統(tǒng)組成MCS-51系列單片機的結構561.8051單片機的內(nèi)部結構8051單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:1.8051單片機的內(nèi)部結構8051單片機包含中央處理器、57材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件58材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件59中央處理器(CPU):是整個單片機的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進制數(shù)據(jù)或代碼,CPU負責控制、指揮和調(diào)度整個單元系統(tǒng)的協(xié)調(diào)工作,完成加減乘除及邏輯運算和控制輸入輸出功能等操作。
·數(shù)據(jù)存儲器(RAM):
8051內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的的RAM只有128個,可存放讀寫的數(shù)據(jù),運算的中間結果或用戶定義的字型表。
中央處理器(CPU):是整個單片機的核心部件,是8位數(shù)據(jù)寬度60程序存儲器(ROM):
8051共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。定時/計數(shù)器(ROM):
8051有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計數(shù)產(chǎn)生中斷用于控制程序轉向。并行輸入輸出(I/O)口:
8051共有4組8位I/O口(P0、P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。全雙工串行口:
8051內(nèi)置一個全雙工串行通信口,用于與其它設備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當同步移位器使用。中斷系統(tǒng):
8051具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。程序存儲器(ROM):
8051共有4096個8位掩膜ROM61時鐘電路:
8051內(nèi)置最高頻率達12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8051單片機需外置振蕩電容。單片機的結構有兩種類型,一種是程序存儲器和數(shù)據(jù)存儲器分開的形式,即哈佛(Harvard)結構,另一種是采用通用計算機廣泛使用的程序存儲器與數(shù)據(jù)存儲器合二為一的結構,即普林斯頓(Princeton)結構。INTEL的MCS-51系列單片機采用的是哈佛結構的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機則采用普林斯頓結構。時鐘電路:
8051內(nèi)置最高頻率達12MHz的時鐘電62MCS-51的引腳說明:MCS-51系列單片機中的8031、8051及8751均采用40Pin封裝的雙列直接DIP結構,右圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用?,F(xiàn)在我們對這些引腳的功能加以說明:MCS-51的引腳說明:6320:接地腳。40:正電源腳,正常工作或對片內(nèi)EPROM燒寫程序時,接+5V電源。19:時鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。18:時鐘XTAL2腳,片內(nèi)振蕩電路的輸出端。8051的時鐘有兩種方式,一種是片內(nèi)時鐘振蕩方式,但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10p-30p。另外一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入。20:接地腳。64材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件65材料加工過程的單片機控制81單片機結構及控制系統(tǒng)組成82課件669:RESET/Vpd復位信號復用腳,當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指鐘寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),
8051的復位方式可以是自動復位,也可以是手動復位,見下圖。此外,RESET/Vpd還是一復用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機內(nèi)部RAM的數(shù)據(jù)不丟失。9:RESET/Vpd復位信號復用腳,當8051通電,時鐘電67程序存儲器
一個微處理器能夠聰明地執(zhí)行某種任務,除了它們強大的硬件外,還需要它們運行的軟件,其實微處理器并不聰明,它們只是完全按照人們預先編寫的程序而執(zhí)行之。那么設計人員編寫的程序就存放在微處理器的程序存儲器中,俗稱只讀程序存儲器(ROM)。程序相當于給微處理器處理問題的一系列命令。其實程序和數(shù)據(jù)一樣,都是由機器碼組成的代碼串。只是程序代碼則存放于程序存儲器中。
MCS-51具有64kB程序存儲器尋址空間,它是用于存放用戶程序、數(shù)據(jù)和表格等信息。對于內(nèi)部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的EA-端必須接地。強制CPU從外部程序存儲器讀取程序。對于內(nèi)部有ROM的8051等單片機,正常運行時,EA-則需接高電平,使CPU先從內(nèi)部的程序存儲中讀取程序,當PC值超過內(nèi)部ROM的容量時,才會轉向外部的程序存儲器讀取程序。
程序存儲器
一個微處理器能夠聰明地執(zhí)行某種任務,除了688051片內(nèi)有4kB的程序存儲單元,其地址為0000H—0FFFH,單片機啟動復位后,程序計數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從0000H單元開始執(zhí)行程序。但在程序存儲中有些特殊的單元,這在使用中應加以注意:
其中一組特殊是0000H—0002H單元,系統(tǒng)復位后,PC為0000H,單片機從0000H單元開始執(zhí)行程序,如果程序不是從0000H單元開始,則應在這三個單元中存放一條無條件轉移指令,讓CPU直接去執(zhí)行用戶指定的程序。
另一組特殊單元是0003H—002AH,這40個單元各有用途,它們被均勻地分為五段,它們的定義如下:
0003H—000AH
外部中斷0中斷地址區(qū)。
000BH—0012H
定時/計數(shù)器0中斷地址區(qū)。
0013H—001AH
外部中斷1中斷地址區(qū)。
001BH—0022H
定時/計數(shù)器1中斷地址區(qū)。
0023H—002AH
串行中斷地址區(qū)。
8051片內(nèi)有4kB的程序存儲單元,其地址為0000H—0F69可見以上的40個單元是專門用于存放中斷處理程序的地址單元,中斷響應后,按中斷的類型,自動轉到各自的中斷區(qū)去執(zhí)行程序。因此以上地址單元不能用于存放程序的其他內(nèi)容,只能存放中斷服務程序。但是通常情況下,每段只有8個地址單元是不能存下完整的中斷服務程序的,因而一般也在中斷響應的地址區(qū)安放一條無條件轉移指令,指向程序存儲器的其它真正存放中斷服務程序的空間去執(zhí)行,這樣中斷響應后,CPU讀到這條轉移指令,便轉向其他地方去繼續(xù)執(zhí)行中斷服務程序??梢娨陨系?0個單元是專門用于存放中斷處理程序的地址單元,中70數(shù)據(jù)存儲器
數(shù)據(jù)存儲器也稱為隨機存取數(shù)據(jù)存儲器。MCS-51單片機的數(shù)據(jù)存儲器在物理上和邏輯上都分為兩個地址空間,一個是內(nèi)部數(shù)據(jù)存儲區(qū)和一個外部數(shù)據(jù)存儲區(qū)。MCS-51內(nèi)部RAM有128或256個字節(jié)的用戶數(shù)據(jù)存儲(不同的型號有分別),它們是用于存放執(zhí)行的中間結果和過程數(shù)據(jù)的。MCS-51的數(shù)據(jù)存儲器均可讀寫,部分單元還可以位尋址。數(shù)據(jù)存儲器
數(shù)據(jù)存儲器也稱為隨機存取數(shù)據(jù)存儲器。MCS-51718051內(nèi)部RAM共有256個單元,這256個單元共分為兩部分。其一是地址從00H—7FH單元(共128個字節(jié))為用戶數(shù)據(jù)RAM。從80H—FFH地址單元(也是128個字節(jié))為特殊寄存器(SFR)單元。內(nèi)部RAM的20H—2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進行尋址。位尋址區(qū)共有16個字節(jié),128個位,位地址為00H—7FH。CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲空間指的就是這些為尋址區(qū)。
8051內(nèi)部RAM共有256個單元,這256個單元共分為兩部72
特殊功能寄存器(SFR)也稱為專用寄存器,特殊功能寄存器反映了MCS-51單片機的運行狀態(tài)。很多功能也通過特殊功能寄存器來定義和控制程序的執(zhí)行。
MCS-51有21個特殊功能寄存器,它們被離散地分布在內(nèi)部RAM的80H—FFH地址中,這些寄存的功能已作了專門的規(guī)定,用戶不能修改其結構。表2是特殊功能寄存器分布一覽表,我們對其主要的寄存器作一些簡單的介紹。
特殊功能寄存器(SFR)也稱為專用寄存器,特殊功能寄存器73
程序計數(shù)器PC(programCounter)
程序計數(shù)器在物理上是獨立的,它不屬于特殊內(nèi)部數(shù)據(jù)存儲器塊中。PC是一個16位的計數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,PC有自動加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動加1,程序執(zhí)行到什么地方,程序計數(shù)器PC就指到哪里。PC本身并沒有地址,因而不可尋址,用戶無法對它進行讀寫,但是可以通過轉移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序按我們的要求去執(zhí)行。
程序計數(shù)器PC(programCounter)
74累加器ACC(Accumulator)
累加器A是一個最常用的專用寄存器,大部分單操作指令的一個操作數(shù)取自累加器,很多雙操作數(shù)指令中的一個操作數(shù)也取自累加器。加、減、乘、除法運算的指令,運算結果都存放于累加器A或AB累加器對中。大部分的數(shù)據(jù)操作都會通過累加器A進行,它形象于一個交通要道,在程序比較復雜的運算中,累加器成了制約軟件效率的“瓶頸”,它的功能較多,地位也十分重要。以至于后來發(fā)展的單片機,有的集成了多累加器結構,或者使用寄存器陣列來代替累加器,即賦予更多寄存器以累加器的功能,目的是解決累加器的“交通堵塞”問題。提高單片機的軟件效率。寄存器B
在乘除法指令中,乘法指令中的兩個操作數(shù)分別取自累加器A和寄存器B,其結果存放于AB寄存器對中。除法指令中,被除數(shù)取自累加器A,除數(shù)取自寄存器B,結果商存放于累加器A,余數(shù)存放于寄存器B中。累加器ACC(Accumulator)
累加器A是一75
程序狀態(tài)字(ProgramStatusWord)
程序狀態(tài)字是一個8位寄存器,用于存放程序運行的狀態(tài)信息,這個寄存器的一些位可由軟件設置,有些位則由硬件運行時自動設置的。PSW用來存放兩類信息:一類是體現(xiàn)當前指令執(zhí)行結果的各種狀態(tài)信息,如有無進位(CY位),有無溢出(OV位),奇偶標志位(P位)等;另一類是存放控制信息,如允許中斷(IF位),跟蹤標志(TF位)等。有些機器中將PSW稱為標志寄存器FR(FlagRegister)。寄存器的各位定義如下,其中PSW.1是保留位,未使用。下表是它的功能說明,并對各個位的定義介紹如下:
程序狀態(tài)字(ProgramStatusWord)
76PSW.7(CY)
進位標志位,此位有兩個功能:一是存放執(zhí)行某寫算數(shù)運算時,存放進位標志,可被硬件或軟件置位或清零。二是在位操作中作累加位使用。PSW.6(AC)
輔助進位標志位,當進行加、減運算時當有低4位向高4位進位或借位時,AC置位,否則被清零。AC輔助進位位也常用于十進制調(diào)整。PSW.5(F0)
用戶標志位,供用戶設置的標志位。PSW.4、PSW.3(RS1和RS0)
寄存器組選擇位。PSW.2(OV)
溢出標志。帶符號加減運算中,超出了累加器A所能表示的符號數(shù)有效范圍(-128—+127)時,即產(chǎn)生溢出,OV=1。表明運算運算結果錯誤。如果OV=0,表明運算結果正確。
PSW.0(P)
奇偶校驗位。聲明累加器A的奇偶性,
PSW.7(CY)
進位標志位,此位有兩個功能:一是存放執(zhí)行77
數(shù)據(jù)指針(DPTR)
數(shù)據(jù)指針為16位寄存器,編程時,既可以按16位寄存器來使用,也可以按兩個8位寄存器來使用,即高位字節(jié)寄存器DPH和低位字節(jié)DPL。
DPTR主要是用來保存16位地址,當對64kB外部數(shù)據(jù)存儲器尋址時,可作為間址寄存器使用,此時,使用如下兩條指令:
MOVX
A,
@DPTR
MOVX
@DPTR,
A
在訪問程序存儲器時,DPTR可用來作基址寄存器,采用基址+變址尋址方式訪問程序存儲器,這條指令常用于讀取程序存儲器內(nèi)的表格數(shù)據(jù)。
MOVC
A,
@A+@DPTR
數(shù)據(jù)指針(DPTR)
數(shù)據(jù)指針為16位寄存器,編程78
堆棧指針SP(StackPointer)
堆棧是一種數(shù)據(jù)結構,它是一個8位寄存器,它指示堆棧頂部在內(nèi)部RAM中的位置。系統(tǒng)復位后,SP的初始值為07H,使得堆棧實際上是從08H開始的。但我們從RAM的結構分布中可知,08H—1FH隸屬1—3工作寄存器區(qū),若編程時需要用到這些數(shù)據(jù)單元,必須對堆棧指針SP進行初始化,原則上設在任何一個區(qū)域均可,但一般設在30H—1FH之間較為適宜。
數(shù)據(jù)的寫入堆棧我們稱為入棧(PUSH,有些文獻也稱作插入運算或壓入),從堆棧中取出數(shù)據(jù)稱為出棧(POP,也稱為刪除運算或彈出),堆棧的最主要特征是“后進先出”規(guī)則,也即最先入棧的數(shù)據(jù)放在堆棧的最底部,而最后入棧的數(shù)據(jù)放在棧的頂部,因此,最后入棧的數(shù)據(jù)出棧時則是最先的。
堆棧指針SP(StackPointer)
堆棧79堆棧的設立是為了中斷操作和子程序的調(diào)用而用于保存數(shù)據(jù)的,即常說的斷點保護和現(xiàn)場保護。微處理器無論是在轉入子程序和中斷服務程序的執(zhí)行,執(zhí)行完后,還是要回到主程序中來,在轉入子程序和中斷服務程序前,必須先將現(xiàn)場的數(shù)據(jù)進行保存起來,否則返回時,CPU并不知道原來的程序執(zhí)行到哪一步,原來的中間結果如何?所以在轉入執(zhí)行其它子程序前,先將需要保存的數(shù)據(jù)壓入堆棧中保存。以備返回時,再復原當時的數(shù)據(jù)。供主程序繼續(xù)執(zhí)行。轉入中斷服務程序或子程序時,需要保存的數(shù)據(jù)可能有若干個,都需要一一地保留。如果微處理器進行多重子程序或中斷服務程序嵌套,那么需保存的數(shù)據(jù)就更多,這要求堆棧還需要有相當?shù)娜萘?。否則會造成堆棧溢出,丟失應備份的數(shù)據(jù)。輕者使運算和執(zhí)行結果錯誤,重則使整個程序紊亂。
堆棧的設立是為了中斷操作和子程序的調(diào)用而用于保存數(shù)據(jù)的,即常80
MCS-51的堆棧是在RAM中開辟的,即堆棧要占據(jù)一定的RAM存儲單元。同時MCS-51的堆棧可以由用戶設置,SP的初始值不同,堆棧的位置則不一定,不同的設計人員,使用的堆棧區(qū)則不同,不同的應用要求,堆棧要求的容量也有所不同。堆棧的操作只有兩種,即進棧和出棧,但不管是向堆棧寫入數(shù)據(jù)還是從堆棧中讀出數(shù)據(jù),都是對棧頂單元進行的,SP就是即時指示出棧頂?shù)奈恢茫吹刂罚T谧映绦蛘{(diào)用和中斷服務程序響應的開始和結束期間,CPU都是根據(jù)SP指示的地址與相應的RAM存儲單元交換數(shù)據(jù)。
堆棧的操作有兩種方法:其一是自動方式,即在中斷服務程序響應或子程序調(diào)用時,返回地址自動進棧。當需要返回執(zhí)行主程序時,返回的地址自動交給PC,以保證程序從斷點處繼續(xù)執(zhí)行,這種方式是不需要編程人員干預的。第二種方式是人工指令方式,使用專有的堆
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公樓裝修合同終止協(xié)議書
- 汽車銷售行業(yè)購車合同補充協(xié)議
- 2024年環(huán)保工程項目管理咨詢合同
- 高新技術企業(yè)知識產(chǎn)權轉讓合同
- 酒店物業(yè)設施管理服務合同
- 科研機構科技成果轉化合同
- 2024年智能交通系統(tǒng)建設項目投資合同
- 美容美發(fā)行業(yè)發(fā)型設計合同
- 互聯(lián)網(wǎng)大數(shù)據(jù)開發(fā)項目合同
- 文化娛樂行業(yè)版權轉讓合同
- 人教版高中生物學新舊教材知識差異盤點
- 四年級四年級下冊閱讀理解20篇(附帶答案解析)經(jīng)典
- 大連高新區(qū)整體發(fā)展戰(zhàn)略規(guī)劃(產(chǎn)業(yè)及功能布局)
- 國有資產(chǎn)管理法律責任與風險防控
- 未婚生子的分手協(xié)議書
- 變更監(jiān)事章程修正案范例
- 北京小客車指標租賃協(xié)議五篇
- 輸液室運用PDCA降低靜脈輸液患者外滲的發(fā)生率品管圈(QCC)活動成果
- YY/T 0681.2-2010無菌醫(yī)療器械包裝試驗方法第2部分:軟性屏障材料的密封強度
- 煙氣管道阻力計算
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務迎接重大節(jié)日、活動的保障措施
評論
0/150
提交評論