




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、機電控制技術(shù)第八章 MCS-51系列單片機控制技術(shù)24 七月 2022機電控制技術(shù)目 錄8.1 MCS-51系列單片機的結(jié)構(gòu)及工作原理8.2 MCS-51系列單片機指令系統(tǒng)及語言設(shè)計8.3 MCS-51系列單片機存儲器擴展8.4 MCS-51系列單片機中斷與中斷系統(tǒng)8.5 MCS-51系列單片機定時/計數(shù)器8.6 MCS-51系列單片機的接口與應(yīng)用8.7 MCS-51系列單片機控制系統(tǒng)設(shè)計24 七月 2022機電控制技術(shù)MCS-51系列單片機芯片的型號較多,如8031、8051、8751、80C51BH,它們的組成、性能和指令系統(tǒng)基本相同,因此,本章主要以較早生產(chǎn)的代表芯片8051為例,對MC
2、S-51系列單片機的結(jié)構(gòu)及工作原理進行介紹。8.1 MCS-51系列單片機的結(jié)構(gòu)及工作原理單片機(Single-chip Microcomputer)的實質(zhì)是微型計算機。它把CPU、內(nèi)存和外設(shè)接口等集成在一塊芯片上,具有集成度高,可靠性好,便于使用等優(yōu)點。隨著現(xiàn)代制造技術(shù)對機電控制的高精度、智能化、交互性和網(wǎng)絡(luò)化的要求越來越高,單片機以其功能強大、體積小和可靠性高等優(yōu)點被廣泛應(yīng)用在精確測量、數(shù)據(jù)采集、智能控制、設(shè)備驅(qū)動、智能儀表和現(xiàn)場總線等機電控制領(lǐng)域。24 七月 2022機電控制技術(shù)8.1.1 MCS-51系列單片機的結(jié)構(gòu) 1.MCS-51系列單片機的組成及內(nèi)部結(jié)構(gòu) MCS-51系列單片機是
3、由CPU、ROM、RAM、并行I/O接口、串行I/O接口、定時/計數(shù)器和中斷控制系統(tǒng)等若干部件組成的,再配置一定的外圍電路,如時鐘電路、復(fù)位電路等,即可構(gòu)成一個基本的微型計算機系統(tǒng)。MCS-51系列單片機的內(nèi)部結(jié)構(gòu)框圖如圖8-1所示。 各個組成部件功能如下:(1)CPU。CPU是單片機的核心,通過它可以完成運算和控制功能。MCS-51系列單片機的CPU能處理8位二進制數(shù)或代碼,故稱為8位機。(2)ROM和RAM。MCS-51系列單片機的芯片內(nèi)部有地址空間相互獨立的ROM和RAM。(3)并行I/O接口。MCS-51系列單片機中共有4個8位I/O接口(P0、P1、P2和P3),以實現(xiàn)數(shù)據(jù)的并行輸入
4、/輸出等。24 七月 2022機電控制技術(shù)24 七月 2022機電控制技術(shù) (4)串行I/O接口。MCS-51系列單片機有一個全雙工的串行接口,以實現(xiàn)單片機與其他設(shè)備之間的串行數(shù)據(jù)通信。該串行接口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。 (5)定時/計數(shù)器。MCS-51系列單片機內(nèi)共有2個16位的定時/計數(shù)器,以實現(xiàn)硬件定時或計數(shù)功能,并可根據(jù)需要用定時或計數(shù)結(jié)果對計算機進行控制。 (6)中斷控制系統(tǒng)。MCS-51系列單片機的中斷功能較強,用以滿足控制應(yīng)用的需要。它包括2個外部中斷、2個定時/計數(shù)器溢出中斷、1個串行接口中斷。MCS-51系列單片機的中斷控制系統(tǒng)可分
5、為高級和低級兩個中斷優(yōu)先級。 (7)時鐘電路。MCS-51系列單片機的時鐘電路包括以兩種構(gòu)成方式: 內(nèi)部時鐘方式。內(nèi)部時鐘方式是指由內(nèi)部的時鐘電路和外接的晶振、電容構(gòu)成自激振蕩器,產(chǎn)生脈沖信號。 外部時鐘方式。外部時鐘方式是指直接將外部的信號源作為時鐘。24 七月 2022機電控制技術(shù)2.MCS-51系列單片機的引腳及其功能 MCS-51系列單片機的早期芯片8031、8051、8751和8951采用HMOS工藝制造,現(xiàn)在的主流芯片80C31、80C51、 80C71和80C91采用CHMOS工藝制造,在型號中間加字母“C”字作區(qū)分。其中,8031和80C31內(nèi)部無ROM,8051和80C51使
6、用ROM作為程序存儲器,8751和87C51使用EPROM作為程序存儲器,8951和89C51使用FLASH作為程序存儲器。采用雙列直插DIP封裝的MCS-51系列單片機有40個引腳,如圖8-2(a)所示為引腳封裝順序圖,是芯片出廠時的實際引腳分布圖,常用于繪制單片機系統(tǒng)的PCB制版圖,如圖8-2(b)所示為引腳功能順序圖,是按照引腳功能繪的圖,常用于在單片機系統(tǒng)原理設(shè)計階段繪制系統(tǒng)原理圖。24 七月 2022機電控制技術(shù)24 七月 2022機電控制技術(shù)對各引腳的說明分別如下: (1)主電源引腳。主電源引腳Vcc(40引腳)接5 V電源。主電源引腳Vss(20引腳)接電源地端。 (2)外接晶體
7、引腳。外接晶體引腳XTAL1(19引腳)為內(nèi)部反相放大器的輸入端。外接晶體引腳XTAL2(18引腳)為內(nèi)部反相放大器的輸出端。使用內(nèi)部時鐘方式時,XTAL1引腳和XTAL2引腳各接在外部晶體的一端;使用外部時鐘方式時,外部信號源接XTAL1引腳,而XTAL2引腳懸空。 (3)I/O引腳。P0.0P0.7(3932引腳)為P0接口的8個引腳,可作為地址/數(shù)據(jù)線,也可以作為準(zhǔn)雙向I/O接口使用。在做外部擴展時,P0接口被分時復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線。P1.0P1.7(18引腳)為P1接口的8個引腳。可以作為準(zhǔn)雙向I/O接口使用。P2.0P2.7(2128引腳)為P2接口的8個引腳,可作為
8、準(zhǔn)雙向I/O接口,在接有外部存儲器或擴展I/O接口且尋址范圍超過256 B時,可作為高8位地址總線。P3.0P3.7(1017引腳)為P3接口的8個引腳。除作為準(zhǔn)雙向I/O接口外,還具有第二種功能,即能輸出控制信號和輸入外部狀態(tài)信息等。24 七月 2022機電控制技術(shù)(4)ALE引腳。 ALE引腳(30引腳)為地址鎖存有效信號的輸出端。在訪問外部ROM期間,每個機器周期該信號出現(xiàn)兩次,其下降沿用于控制鎖存P0接口輸出的低8位地址。對于內(nèi)部含EPROM的機型,在編程期間,此引腳用作編程脈沖的輸入端。(5)PSEN引腳。PSEN引腳(29引腳)為外部ROM讀選通信號的輸出端,或稱為外部ROM取指信
9、號輸出端。在向外部ROM讀取指令或常數(shù)期間,每個機器周期該信號兩次有效(低電平),以通過數(shù)據(jù)總線P0接口讀取指令或常數(shù),在訪問外部RAM期間,PSEN信號將不出現(xiàn)。(6)RST引腳。RST引腳(9引腳)為復(fù)位端。當(dāng)該引腳上出現(xiàn)持續(xù)兩個機器周期的高電平時單片機復(fù)位,各個寄存器的狀態(tài)改變?yōu)槌跏紶顟B(tài)。通電時,考慮到振蕩器有一定的起振時間,該引腳上高電平必須持續(xù)10 ms以上才能保證有效復(fù)位。(7)EA/VPP引腳。EA/VPP引腳(31引腳)為外部ROM的選用端。讀取外部ROM中的程序,該引腳接低電平有效,當(dāng)該引腳接高電平時,內(nèi)部ROM有效并首先從內(nèi)部ROM中讀取程序,如果擴展了外部ROM,在讀取內(nèi)
10、部ROM的所有程序后才會自動讀取外部ROM上的數(shù)據(jù)。24 七月 2022機電控制技術(shù)綜上所述,對MCS-51系列單片機的引腳特點可歸納出以下兩點: (1)MCS-51系列單片機的功能多,引腳數(shù)少,以至于許多引腳都具有第二功能。 (2)MCS-51系列單片機對外呈三總線形式,由P0接口和P2接口組成16位地址總線,由P0接口分時復(fù)用為數(shù)據(jù)總線,由ALE、PSEN、RST、EA與P3接口中的INT0、INT1、T0、T1、WR、RD共10個引腳組成控制總線。由于它們組成16位地址總線,因而使外部ROM和外部RAM的尋址范圍均能達到64 K字節(jié)。24 七月 2022機電控制技術(shù)8.1.2 MCS-5
11、1系列單片機的工作原理 所謂最小系統(tǒng)是指用最少的元件構(gòu)成的能夠讓單片機正常工作的系統(tǒng)。它是構(gòu)成其他單片機系統(tǒng)的核心模塊。在最小系統(tǒng)的基礎(chǔ)上,配合外圍元件和相關(guān)電路,就構(gòu)成了不同功能的單片機系統(tǒng)。如圖8-3所示為MCS-51單片機最小系統(tǒng)的組成圖。24 七月 2022機電控制技術(shù)1.匯編指令的執(zhí)行過程 指令的執(zhí)行又可分為取出指令和執(zhí)行指令兩項步驟。例如,要使MCS-51系列單片機進行08H+5BH=63H這樣的運算,并將結(jié)果63H送單片機內(nèi)部RAM 35H單元。具體的操作步驟如下:(1)編寫匯編語言程序。MOV A,#08H;將立即數(shù)08H送到累加器A中,即(A)=08H。ADD A,#5BH;
12、將累加器A中的內(nèi)容與立即數(shù)5BH相加,結(jié)果送到累加器A中,即A(A)+5BH。 MOV 35H,A;將結(jié)果送入內(nèi)部RAM 35H單元。8.2 MCS-51系列單片機的指令系統(tǒng)及語言設(shè)計8.2.1 MCS-51系列單片機指令系統(tǒng)概述 在MCS-51系列單片機的指令系統(tǒng)中,程序是指令的有序集合,運行程序就是按順序一條一條執(zhí)行指令的過程。指令的機器碼一般由操作碼和操作數(shù)地址兩部分組成,操作碼在前,操作數(shù)地址在后。操作碼決定指令的操作類型(如加、減、乘、除等算術(shù)操作),操作數(shù)地址指示了參加運算的操作數(shù)來自何處。因此,指令是構(gòu)成MCS-51系列單片機程序的基本元素。24 七月 2022機電控制技術(shù)(2)
13、通過查指令表得出各指令的機器碼。機器碼是在單片機的ROM中以“1”和“0”的形式存放的實際碼值,可以通過查指令表得出。機器碼難于記憶和書寫,使用助記符來替代后就是匯編指令,它和機器指令是一一對應(yīng)的。各指令的機器碼見表8-1。24 七月 2022機電控制技術(shù) 表8-1中MOV A,#08H是一條匯編指令,MOV是操作碼,A和#08H都是操作數(shù)。74H 08H是機器碼,74H是操作碼,08H是操作數(shù)。 (3)將操作碼存入ROM中。例如,從存儲地址為8000H的ROM單元開始存放程序的機器碼見表8-2。24 七月 2022機電控制技術(shù)(4)程序執(zhí)行過程。先使用賦值令PC=8000H,第一條指令的執(zhí)行
14、過程可分為以下幾步: PC送出當(dāng)前地址8000H,選中ROM 8000H單元。 CPU發(fā)出訪問ROM信號,從8000H單元中取出第一條指令的操作碼74H。 PC內(nèi)容自動加1,指向下一個存儲單元。 CPU把操作碼74H送到內(nèi)部指令譯碼器中,經(jīng)譯碼操作后,得知是一條把立即數(shù)送到A的指令。 PC送出當(dāng)前地址8001H,選中ROM 8001H單元。 CPU再發(fā)出訪問ROM信號,從8001H單元中取出第一條指令的操作碼08H送到累加器A中。 PC內(nèi)容自動加1,指向下一個存儲單元。接下去CPU取出第二條指令,并完成加法運算后將結(jié)果送到累加器A中,最后完成把累加器A中的內(nèi)容傳送到地址為35H的單元的指令。每
15、條指令的執(zhí)行步驟與前面所述基本相同,不再細述。24 七月 2022機電控制技術(shù)2.MCS-51系列單片機的匯編指令 MCS-51系列單片機使用44種助記符。通過助記符、指令中源操作數(shù)及目的操作數(shù)的不同組合,構(gòu)成MCS-51系列單片機111種指令。 1)按匯編指令所占存儲器的字節(jié)數(shù)分 按匯編指令所占存儲器的字節(jié)數(shù)可分為以下幾種: (1)單字節(jié)指令(49條)。 (2)雙字節(jié)指令(45條)。 (3)三字節(jié)指令(17條)。24 七月 2022機電控制技術(shù)2)按匯編指令執(zhí)行的周期分 按匯編指令執(zhí)行的周期可分為以下幾種: (1)單周期指令(64條)。 (2)雙周期指令(45條)。 (3)四周期指令(2條)
16、。3)按匯編指令的功能分 按匯編指令的功能可分為以下幾種: (1)數(shù)據(jù)傳輸指令(29條)。 (2)算術(shù)運算指令(24條)。 (3)邏輯運算指令(24條)。 (4)控制轉(zhuǎn)移指令(17條)。 (5)位操作指令(17條)。24 七月 2022機電控制技術(shù)8.2.2 MCS-51系列單片機尋址方式 所謂尋址方式是指如何找到存放被操作數(shù)位置(地址)的方法。MCS-51系列單片機的指令系統(tǒng)提供了7種尋址方式,分別為立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。一條指令可能含有多種尋址方式。1.立即尋址 將立即參與操作的數(shù)據(jù)直接寫在指令中,這種尋址方式稱為立即尋址。立即尋址的指
17、令中直接含有所需的操作數(shù)。該操作數(shù)可以是8位的,也可以是16位的,常常處在指令的第二字節(jié)和第三字節(jié)的位置上。立即數(shù)通常使用#data或#data16表示,在立即數(shù)前面加“#”標(biāo)志,用以和直接尋址中的直接地址(direct或bit)相區(qū)別。MCS-51系列單片機中除了一條指令(MOV DPTR,#data16)是16位長的立即數(shù)外,其余都是8位的立即數(shù)。 例如,MOV A,#32H,若執(zhí)行前(A)=51H,則執(zhí)行后(A)=32H?!?”號表示其后面的數(shù)為立即數(shù)而非直接地址。24 七月 2022機電控制技術(shù)2.直接尋址 將操作數(shù)的地址直接存放在指令中,這種尋址方式稱為直接尋址,也就是在指令中直接給
18、出操作數(shù)所在單元的地址。例如,MOV A,20H,若執(zhí)行前(A)=51H,內(nèi)部RAM 20H地址單元的內(nèi)容為96H,執(zhí)行后(A)=(96H)。3.寄存器尋址 操作數(shù)存放在MCS-51系列單片機內(nèi)部的某個工作寄存器Rn(R0R7)或部分專用寄存器中,這種尋址方式稱為寄存器尋址??蓪ぶ返募拇嫫鞒齊0R7外還有累加器A、寄存器B、數(shù)據(jù)指針DPTR和位處理累加器Cy。PSW是程序狀態(tài)字寄存器,地址為D0HD7H,其中,D3H為RS0,D4H為RS1,它們統(tǒng)稱為工作寄存器組的選擇位。RS0和RS1取不同的值,構(gòu)成的二進制數(shù)對應(yīng)不同的寄存器組的組號,例如,RS0和RS1分別取“1”和“0”時,對應(yīng)寄存器組
19、的第2組。24 七月 2022機電控制技術(shù)4.寄存器間接尋址 寄存器間接尋址是指以指定的地址寄存器的內(nèi)容作為地址,并以該地址所指定的存儲單元數(shù)據(jù)為指令的操作對象。MCS-51系列單片機的地址寄存器只能為R0、R1和DPTR。當(dāng)以R0或R1為地址寄存器時,可以尋址內(nèi)部RAM的地址空間00HFFH內(nèi)的256 B個單元,以及外部RAM頁內(nèi)地址空間的256 B個單元,頁內(nèi)地址為P2的內(nèi)容;以16位寄存器DPTR作為間接尋址寄存器時,可尋址外部存儲器的64 KB地址空間。例如,MOVX A,DPTR的含義是把DPTR中的內(nèi)容作為地址,按這個地址找到的外部RAM單元中的內(nèi)容,并將該內(nèi)容傳給累加器A。 若執(zhí)
20、行前(A)=20H,DPTR=2000H,外部RAM2000H地址單元的內(nèi)容為79H,則執(zhí)行指令后(A)=79H。24 七月 2022機電控制技術(shù)5.變址尋址 操作數(shù)存放在變址寄存器(累加器A)和基址寄存器(DPTR或PC)相加形成的16位地址單元中,DPTR或PC中的內(nèi)容是基地址,A中的內(nèi)容是地址偏移量,這種尋址方式稱為基址加變址寄存器間接尋址,簡稱為變址尋址。也就是說,在寄存器間接尋址中,地址放在寄存器的某個單元里,如果地址不是放在一個寄存器里,而是放在兩個寄存器里,兩個寄存器中存放的地址之和形成一個新的地址,按照這個地址可以找到操作數(shù)。6.相對尋址 將程序計數(shù)器PC的當(dāng)前值(取出本條指令
21、后的PC值)與指令第二個字節(jié)給出的偏移量(rel)相加,形成新的轉(zhuǎn)移目標(biāo)地址,這種尋址方式稱為相對尋址。 相對尋址是為了實現(xiàn)程序的相對轉(zhuǎn)移而設(shè)計的,為相對轉(zhuǎn)移指令所使用,其指令碼中含有相對地址偏移量,能生成浮動代碼。例如,SJMP rel;(PC)(PC)+2+rel,其也可以表示作為相對轉(zhuǎn)移指令的目的地址指令地址指令字節(jié)數(shù)偏移量24 七月 2022機電控制技術(shù)7.位尋址 MCS-51系列單片機中設(shè)有獨立的位處理器,可對尋址的位進行處理。在指令系統(tǒng)中共有17條位操作指令。位操作指令中的操作數(shù)僅允許采用位尋址方式。位尋址方式類似于直接尋址方式,同樣是在指令中直接給出操作數(shù)的地址。每一種尋址方式所
22、對應(yīng)的尋址空間見表8-3。24 七月 2022機電控制技術(shù)24 七月 2022機電控制技術(shù)8.2.3 MCS-51系列單片機匯編語言的程序設(shè)計 例8-2 在MCS-51系列單片機最小系統(tǒng)的基礎(chǔ)上,實現(xiàn)一個發(fā)光二極管的閃爍。24 七月 2022機電控制技術(shù) 如圖8-4所示為發(fā)光二極管閃爍的電路圖。 相應(yīng)程序代碼如下:ORG 2000HMAIN:SETB P0.0;讓P0.0置1CALL DELAY;調(diào)用延時程序CLR P0.0;讓P0.0置0 CALL DELAY;調(diào)用延時程序AJMP MAINDELAY:MOV R1 ,#250;給R1置立即數(shù)250D1: MOV R2 ,#250;給R2置立
23、即數(shù)250D2: DJNZ R2 ,D2;內(nèi)層循環(huán)DJNZ R1 ,D1 ;外層循環(huán)RETEND 24 七月 2022機電控制技術(shù)8.3 MCS-51系列單片機存儲器擴展在有些場合中,MCS-51系列單片機內(nèi)部集成的ROM和RAM難以滿足工藝對系統(tǒng)的要求,用戶必須在單片機外部擴展ROM。MCS-51系列單片機外部有16條地址線,即P0接口和P2接口,因此,最大尋址范圍為64 KB(0000HFFFFH)。選擇存儲芯片中的單元的方法有單譯碼法和雙譯碼法。(1)單譯碼法。(2)雙譯碼法。把存儲芯片中的基本單元按線性排列,用2N條地址線選擇2N個存儲單元,這種譯碼的方法稱為單譯碼法。這種方法雖然結(jié)構(gòu)
24、簡單但是需要太多的地址線。把存儲芯片中的基本單元按矩陣排列,用N條行選擇線和N條列選擇線作為地址線,可以選擇2N2N個存儲單元,這種譯碼的方法稱為雙譯碼法。這種方法需要很少的地址線即可實現(xiàn)尋址,例如,為了尋址64 KB的存儲單元,由于這65 536個存儲單元成矩陣排列,因而行和列上需要64+64=128根譯碼器輸出線。24 七月 2022機電控制技術(shù)(1)地址總線。(2)數(shù)據(jù)總線。 (3)控制總線。地址總線(adress bus,簡稱為AB)的功能是傳送地址,其傳送方向是單向的,只能從單片機內(nèi)部向外部發(fā)送地址信息。數(shù)據(jù)總線(data bus,簡稱為DB)的功能是傳送數(shù)據(jù),其傳送方向是雙向的,既
25、可以從單片機內(nèi)部向外部發(fā)送數(shù)據(jù)信息,也可以采集外界的信號,從單片機外部向內(nèi)部發(fā)送數(shù)據(jù)信息??刂瓶偩€(control bus,簡稱為CB)的功能是傳送控制信息,其傳送方向是雙向的,既可以從單片機內(nèi)部向外部發(fā)送控制信息,也可以從單片機外部向內(nèi)部發(fā)送控制信息。8.3.1 MCS-51系列單片機三總線的概念和構(gòu)成 1.三總線的概念 MCS-51系列單片機的結(jié)構(gòu)是基于三總線的馮諾依曼結(jié)構(gòu),即三種總線分別是地址總線、數(shù)據(jù)總線和控制總線。系統(tǒng)中的各個部件都是通過這三類總線傳遞信息。24 七月 2022機電控制技術(shù)2.MCS-51系列單片機擴展三總線的構(gòu)成 MCS-51系列單片機由于受引腳數(shù)目的限制,使得數(shù)據(jù)
26、線和低8位地址線復(fù)用,為了將它們分離出來,需要外加地址鎖存器,從而構(gòu)成與一般CPU相類似的外部三總線,如圖8-5所示。 24 七月 2022機電控制技術(shù)8.3.2 MCS-51系列單片機ROM擴展 MCS-51系列單片機中的8051單片機的內(nèi)部有4KB的ROM,能滿足一般系統(tǒng)的需求,但如果系統(tǒng)規(guī)模比較大,需要存放較大的程序,就需要擴展ROM。在選擇ROM芯片時,首先必須滿足程序容量,其次在價格合理情況下盡量選用容量大的芯片。在單片機應(yīng)用系統(tǒng)硬件設(shè)計中應(yīng)注意,盡量減少芯片的使用個數(shù),使得電路結(jié)構(gòu)簡單,提高可靠性。1.2732芯片 2732芯片的容量為4 K8位。4 K表示有41 024個存儲單元
27、,8位表示每個單元存儲數(shù)據(jù)的寬度為8位。前者確定了地址線的位數(shù)為12位(A0A11),后者確定了數(shù)據(jù)線的位數(shù)為8位(O0O7)。2732芯片采用+5 V供電,最大靜態(tài)工作電流為100 mA,維持電流為35 mA,讀出時間最大為250 ns。2732芯片的封裝形式為DIP24,其引腳圖如圖8-7所示。24 七月 2022機電控制技術(shù) 24 七月 2022機電控制技術(shù)2.ROM擴展的硬件電路 8051單片機擴展一片2732芯片的電路圖,如圖8-8所示。24 七月 2022機電控制技術(shù)3.擴展ROM地址范圍的確定 單片機擴展ROM的關(guān)鍵是搞清楚擴展芯片的地址范圍。決定ROM芯片的地址范圍的因素有兩個
28、:一個是片選端的連接方法,另一個是ROM芯片的地址線與單片機地址線的連接。在確定地址范圍時,必須保證片選端為低電平。例8-3 根據(jù)控制要求需要在8051單片機外部擴展32K的ROM,完成系統(tǒng)的硬件設(shè)計。 解 要擴展32 K的外部ROM,可通過多種方法實現(xiàn),但應(yīng)該選擇集成度盡可能高的芯片,這樣設(shè)計的電路結(jié)構(gòu)簡單易行、可靠性高,所以選擇27256芯片。因為8051單片機的P0接口既要傳輸數(shù)據(jù)又要傳輸?shù)刂?,所以需?位的鎖存器鎖存低8位地址,可以選擇74LS373鎖存器,8051單片機ROM的擴展圖如圖8-9所示。24 七月 2022機電控制技術(shù) 24 七月 2022機電控制技術(shù)8.3.3 MCS-
29、51系列單片機RAM擴展 MCS-51系列單片機中的8051單片機內(nèi)部有128 B的RAM。 CPU對內(nèi)部RAM具有豐富的操作指令,但是當(dāng)單片機用于實時數(shù)據(jù)采集或處理大批量數(shù)據(jù)時,僅靠內(nèi)部RAM提供的操作指令是遠遠不夠的。此時,可以利用單片機的擴展功能,擴展外部RAM。 常用的外部RAM包括靜態(tài)RAM(Static Random Access Memory,簡稱為SRAM)和動態(tài)RAM(Dynamic Random Access Memory,簡稱為DRAM)。前者的優(yōu)點是讀寫速度高,一般都是8位寬度,易于擴展,而且大多數(shù)的RAM和與它相同容量的EPROM的引腳相兼容,有利于印刷板的電路設(shè)計,
30、使用方便;缺點是集成度低、成本高、功耗大。后者的優(yōu)點是EPROM的集成度高、功耗相對較低;缺點是需要使用EPROM就需要增加一個刷新電路,增加了額外的成本。 8051單片機擴展外部RAM的地址線也是由P0接口和P2接口提供的,因此,其最大尋址范圍為64 KB(0000HFFFFH)。24 七月 2022機電控制技術(shù)1.8051單片機的硬件電路 8051單片機與6116芯片連接的電路圖如圖8-10所示。24 七月 2022機電控制技術(shù)2.8051單片機芯片的選擇 8051單片機常用的SRAM芯片有6116(2 K8位)芯片、6264(8 K8位)芯片、62256(32 K8位)芯片等。6116芯
31、片的引腳圖如圖8-11所示。 24 七月 2022機電控制技術(shù)3.外部RAM地址范圍的確定及使用 按照圖8-10中的連線,片選端直接與地址線P2.7相連,這種擴展方法稱為線選法。顯然,只有P2.7=0,才能夠選中6116芯片。 如果與6116芯片無關(guān)的引腳取0,那么6116芯片的地址范圍為0000H07FFH;如果與6116芯片無關(guān)的引腳取1,那么6116芯片的地址范圍為7800H7FFFH。4.單片機對外部RAM的讀寫 單片機對RAM讀寫的相應(yīng)程序如下:MOVXDPTR,A;64 KB內(nèi)寫入數(shù)據(jù)MOVXA,DPTR;64 KB內(nèi)讀取數(shù)據(jù)除了上述指令外,還可以使用以下指令對低256 B進行讀寫
32、:MOVXRi,A;低256 B內(nèi)寫入數(shù)據(jù)MOVXA,Ri;低256 B內(nèi)讀取數(shù)據(jù)24 七月 2022機電控制技術(shù)例8-4 根據(jù)控制要求需要在8051單片機外部擴展8 K的RAM,完成系統(tǒng)的硬件設(shè)計。 解 要擴展8 K的外部RAM,只需選擇一片6264芯片就可以達到要求。為了實現(xiàn)時分復(fù)用,鎖存低8位地址,可以選擇74LS373鎖存器,8051單片機RAM的擴展圖如圖8-12所示。24 七月 2022機電控制技術(shù) 8.4 MCS-51系列單片機中斷與中斷系統(tǒng)8.4.1 MCS-51系列單片機中斷概述 當(dāng)CPU正在執(zhí)行某個程序時,由于有來自CPU外部的事件向CPU提出響應(yīng)請求,因而CPU中止當(dāng)前正
33、在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行與外部事件相關(guān)的處理程序,當(dāng)處理響應(yīng)的程序執(zhí)行結(jié)束后,返回被中止執(zhí)行的程序并繼續(xù)執(zhí)行,這種有響應(yīng)請求而改變程序執(zhí)行順序的現(xiàn)象稱為中斷。構(gòu)成中斷的要素包含中斷請求、中斷事件、中斷響應(yīng)、中斷屏蔽斷點和中斷源。24 七月 2022機電控制技術(shù)8.4.2 MCS-51系列單片機中斷系統(tǒng)1.中斷源 2.中斷入口地址3.中斷的優(yōu)先級是指能產(chǎn)生中斷請求的來源。MCS-51系列單片機系統(tǒng)中的中斷源包括外部中斷、定時/計數(shù)器中斷和串行通信中斷三種類型。中斷源發(fā)出中斷請求后,如果CPU響應(yīng)中斷,就會執(zhí)行該中斷對應(yīng)的中斷程序。系統(tǒng)約定了每一種中斷程序存放的地址,這個地址稱為中斷的入口地址,也稱
34、為中斷矢量。MCS-51系列單片機的中斷源有5個,由于CPU在任何時刻只能響應(yīng)一個中斷請求,因而需要把所有的中斷源分出優(yōu)先級,根據(jù)中斷源的優(yōu)先級,判斷CPU應(yīng)該選擇響應(yīng)哪一個中斷請求。24 七月 2022機電控制技術(shù)8.4.3 MCS-51系列單片機中斷設(shè)置 如圖8-13所示為MCS-51系列單片機中斷系統(tǒng)的結(jié)構(gòu)圖,它描述了中斷系統(tǒng)的組成部件及其相互關(guān)系。24 七月 2022機電控制技術(shù)例8-5 設(shè)計一個單片機系統(tǒng),要求系統(tǒng)通電以后,1、3、5、7號發(fā)光二極管點亮。當(dāng)按下按鈕時,1、3、5、7號發(fā)光二極管熄滅,2、4、6、8號發(fā)光二極管點亮。24 七月 2022機電控制技術(shù)相應(yīng)程序代碼如下:O
35、RG 0003HLJMP 3000H;外部中斷發(fā)生時,程序跳轉(zhuǎn)到地址為3000H處執(zhí)行ORG 2000HMAIN:MOV P0,#0AAH;將1、3、5、7號發(fā)光二極管點亮SETB EA;允許全局中斷SETB EX0;允許外部中斷0SETB IT0;把外部中斷0設(shè)置為邊沿觸發(fā)方式AJMP MAINORG 3000H;中斷程序入口地址MOV P0,#55H ;將1、3、5、7號發(fā)光二極管,熄滅;將2、4、6、8號發(fā)光二極管點亮RETI24 七月 2022機電控制技術(shù)8.5 MCS-51系列單片機的定時/計數(shù)器在單片機系統(tǒng)設(shè)計中,定時/計數(shù)器的應(yīng)用非常廣泛。使用單片機內(nèi)置的定時器則可以實現(xiàn)精確的定
36、時。定時器可以用在單片機串行通信中,而且可以和CPU并行工作,系統(tǒng)工作效率高。定時器的輸入端如果連接的是振蕩電路的脈沖信號,就可以用來測量時間;定時器的輸入端如果連接的是外部電路的脈沖信號,則可以用來實現(xiàn)對外部脈沖的計數(shù)功能,因此,定時器也可以作為計數(shù)器使用。此外,也可以將定時器和計數(shù)器聯(lián)合使用,在確定的時間里統(tǒng)計信號的脈沖個數(shù),從而完成頻率測量的功能。8.5.1 MCS-51系列單片機定時/計數(shù)器的結(jié)構(gòu)和工作方式 1.定時/計數(shù)器的結(jié)構(gòu) 定時/計數(shù)器是由專用寄存器、方式寄存器和控制寄存器構(gòu)成的。它的結(jié)構(gòu)如圖8-15所示。24 七月 2022機電控制技術(shù) 24 七月 2022機電控制技術(shù)(1)
37、置初值。(2)定方式。(3)開中斷。(4)啟動。以方式0為例,預(yù)置初值0,如果不改變初值,定時時間=12時鐘周期(2130),計算得到的時間不一定符合系統(tǒng)需要的控制時間,所以編程者可以在定時器初始化程序中設(shè)定初值,實現(xiàn)需要的定時時間。通過對TMOD的M1和M0賦值,可以確定定時/計數(shù)器的工作方式。啟動可以用軟件啟動定時/計數(shù)器,也可以用外部引腳啟動定時/計數(shù)器。開中斷包括開CPU的總中斷和定時中斷。8.5.2 MCS-51系列單片機定時/計數(shù)器的使用 定時/計數(shù)器在使用之前要做以下一系列的準(zhǔn)備工作,一般應(yīng)遵循如下步驟:24 七月 2022機電控制技術(shù)例8-6 用單片機內(nèi)部集成的定時/計數(shù)器實現(xiàn)
38、發(fā)光二極管的閃爍。如圖8-20所示。24 七月 2022機電控制技術(shù) 24 七月 2022機電控制技術(shù)8.6 MCS-51系列單片機的接口與應(yīng)用在機電控制系統(tǒng)中,根據(jù)控制需要,單片機需要各種接口,如為了接收模擬量,需要A/D轉(zhuǎn)換接口;為了輸出模擬量,需要D/A轉(zhuǎn)換接口;為了響應(yīng)操作者的要求,需要鍵盤接口;為了給操作者提供需要的信息,需要顯示器接口。8.6.1 MCS-51系列單片機的A/D轉(zhuǎn)換接口 在控制系統(tǒng)中多使用閉環(huán)控制,將系統(tǒng)的當(dāng)前狀態(tài)值反饋到輸入端,但工業(yè)現(xiàn)場的狀態(tài)量值經(jīng)傳感器轉(zhuǎn)換后多為模擬量值,如溫度、成分、速度和位置等,單片機作為數(shù)字系統(tǒng)無法直接接收模擬量,這就需要能把模擬量值轉(zhuǎn)換
39、為數(shù)字量值的A/D轉(zhuǎn)換器。 A/D轉(zhuǎn)換器是由采樣環(huán)節(jié)、保持環(huán)節(jié)和量化編碼環(huán)節(jié)組成的,如圖8-21所示。24 七月 2022機電控制技術(shù)8.6.2 MCS-51系列單片機D/A轉(zhuǎn)換器接口 在機電控制系統(tǒng)中,要驅(qū)動的往往是模擬系統(tǒng),如直流電動機、交流電動機等,要輸出模擬量值,需要在單片機后加D/A轉(zhuǎn)換單元。1)D/A轉(zhuǎn)換時間2)D/A轉(zhuǎn)換精度3)D/A轉(zhuǎn)換線性度D/A轉(zhuǎn)換芯片完成一次轉(zhuǎn)換的時間稱為D/A轉(zhuǎn)換時間。一般用D/A的建立時間來描述D/A芯片的特性。D/A的建立時間是指當(dāng)輸入的數(shù)字量的各位都為“1”時,從接收數(shù)字量的值結(jié)束到輸出端的幅值達到最大幅值的某個百分比所需的時間。D/A轉(zhuǎn)換精度是以
40、最大誤差的相對滿刻度電壓的百分比來表示的。通常也可用分辨率和D/A的數(shù)字最低位發(fā)生變化時輸出幅值的變化來描述。D/A轉(zhuǎn)換線性度描述了D/A轉(zhuǎn)換過程中輸入不同數(shù)字量時輸出模擬量值和真值的偏離程度。1.D/A轉(zhuǎn)換的參數(shù):24 七月 2022機電控制技術(shù)2.D/A轉(zhuǎn)換芯片 DAC0832芯片內(nèi)部有8位的D/A轉(zhuǎn)換器,輸出信號是電流信號,轉(zhuǎn)換時間為1 s,基準(zhǔn)電壓為10 V,工作電壓在515 V范圍內(nèi)。 1)DAC0832芯片的結(jié)構(gòu)與工作原理 DAC0832芯片是由輸入寄存器、DAC寄存器和8位乘法DAC形式的D/A轉(zhuǎn)換電路構(gòu)成的,如圖8-26所示。24 七月 2022機電控制技術(shù)例8-8 使用DAC
41、0832芯片設(shè)計一個可以產(chǎn)生三角波的信號發(fā)生器。24 七月 2022機電控制技術(shù) 24 七月 2022機電控制技術(shù)8.6.3 MCS-51系列單片機的鍵盤接口 如果操作者需要單片機系統(tǒng)實時地接收自己的命令,就需要給單片機加上鍵盤接口。鍵盤一般分為編碼鍵盤和非編碼鍵盤。計算機鍵盤就是編碼鍵盤,它集成了消抖、誤碼處理和編碼等功能。單片機系統(tǒng)一般采用結(jié)構(gòu)簡單、價格低廉的非編碼鍵盤來提高性價比;非編碼鍵盤可分為獨立式按鍵和行列式按鍵。1.獨立式按鍵 每根I/O接口線上只有一個按鍵稱為獨立式按鍵。其優(yōu)點是結(jié)構(gòu)簡單、實現(xiàn)方便;缺點是耗費接口線。它一般在系統(tǒng)需要按鍵很少的情況下使用。 例8-9 使用獨立式按
42、鍵實現(xiàn)用4個按鍵控制4個燈,要求某個按鍵按下的時候,對應(yīng)的發(fā)光二極管點亮。24 七月 2022機電控制技術(shù)24 七月 2022機電控制技術(shù) 24 七月 2022機電控制技術(shù)2.行列式按鍵 如果系統(tǒng)需要較多的按鍵,為了節(jié)省接口線,可以把按鍵排成矩陣,這就是矩陣式鍵盤,也稱為行列式鍵盤。 行列式按鍵的結(jié)構(gòu),行列式按鍵的結(jié)構(gòu)如圖8-30所示。24 七月 2022機電控制技術(shù)8.6.4 MCS-51系列單片機的顯示器接口 1.LED顯示器的結(jié)構(gòu) 多個發(fā)光二極管封裝在一起就構(gòu)成了LED顯示器。其結(jié)構(gòu)如圖8-32所示。由于多個發(fā)光二極管封裝在一起必然需要公共端,因而把與正極相連的公共端稱為共陽極LED;把與負極相連的公共端稱為共陰極LED。24
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市場推廣居間合同模板
- 項目可行性研究報告的框架
- 農(nóng)民土地流轉(zhuǎn)及規(guī)模經(jīng)營實施方案
- 涵洞施工安全措施
- 建筑規(guī)范設(shè)計
- 三農(nóng)村基層民主決策機制完善方案
- 光伏發(fā)電項目可研報告
- 三農(nóng)創(chuàng)業(yè)項目策劃手冊
- 2025年燃氣輸配設(shè)備項目建議書
- 植物園綠化養(yǎng)護方案
- GB/T 30133-2022一次性衛(wèi)生用品用面層
- GB/T 20878-2007不銹鋼和耐熱鋼牌號及化學(xué)成分
- 部編版小學(xué)語文三年級下冊書法教案設(shè)計(全冊)
- 胎動不安課件
- 雙重預(yù)防體系建設(shè)全套文件非煤礦山
- 文件袋、檔案袋密封條模板
- 皮內(nèi)注射技術(shù)操作考核評分標(biāo)準(zhǔn)
- 加油站重大風(fēng)險清單
- 大唐大慈恩寺三藏法師傳白話本(整理壓縮版)
- ?;芳佑图託庹救細馄髽I(yè)安全隱患排查手冊
- 某電廠330MW機組八級熱力系統(tǒng)及管道通流部分的設(shè)計
評論
0/150
提交評論