版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)電控制技術(shù)第八章MCS-51系列單片機(jī)控制技術(shù)9/24/2024機(jī)電控制技術(shù)目錄8.1MCS-51系列單片機(jī)的結(jié)構(gòu)及工作原理8.2MCS-51系列單片機(jī)指令系統(tǒng)及語言設(shè)計8.3MCS-51系列單片機(jī)存儲器擴(kuò)展8.4MCS-51系列單片機(jī)中斷與中斷系統(tǒng)8.5MCS-51系列單片機(jī)定時/計數(shù)器8.6MCS-51系列單片機(jī)的接口與應(yīng)用8.7MCS-51系列單片機(jī)控制系統(tǒng)設(shè)計9/24/2024機(jī)電控制技術(shù)MCS-51系列單片機(jī)芯片的型號較多,如8031、8051、8751、80C51BH,它們的組成、性能和指令系統(tǒng)基本相同,因此,本章主要以較早生產(chǎn)的代表芯片8051為例,對MCS-51系列單片機(jī)的結(jié)構(gòu)及工作原理進(jìn)行介紹。8.1MCS-51系列單片機(jī)的結(jié)構(gòu)及工作原理單片機(jī)(Single-chipMicrocomputer)的實質(zhì)是微型計算機(jī)。它把CPU、內(nèi)存和外設(shè)接口等集成在一塊芯片上,具有集成度高,可靠性好,便于使用等優(yōu)點。隨著現(xiàn)代制造技術(shù)對機(jī)電控制的高精度、智能化、交互性和網(wǎng)絡(luò)化的要求越來越高,單片機(jī)以其功能強(qiáng)大、體積小和可靠性高等優(yōu)點被廣泛應(yīng)用在精確測量、數(shù)據(jù)采集、智能控制、設(shè)備驅(qū)動、智能儀表和現(xiàn)場總線等機(jī)電控制領(lǐng)域。9/24/2024機(jī)電控制技術(shù)8.1.1MCS-51系列單片機(jī)的結(jié)構(gòu)
1.MCS-51系列單片機(jī)的組成及內(nèi)部結(jié)構(gòu)
MCS-51系列單片機(jī)是由CPU、ROM、RAM、并行I/O接口、串行I/O接口、定時/計數(shù)器和中斷控制系統(tǒng)等若干部件組成的,再配置一定的外圍電路,如時鐘電路、復(fù)位電路等,即可構(gòu)成一個基本的微型計算機(jī)系統(tǒng)。MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖8-1所示。
各個組成部件功能如下:
(1)CPU。CPU是單片機(jī)的核心,通過它可以完成運算和控制功能。MCS-51系列單片機(jī)的CPU能處理8位二進(jìn)制數(shù)或代碼,故稱為8位機(jī)。
(2)ROM和RAM。MCS-51系列單片機(jī)的芯片內(nèi)部有地址空間相互獨立的ROM和RAM。
(3)并行I/O接口。MCS-51系列單片機(jī)中共有4個8位I/O接口(P0、P1、P2和P3),以實現(xiàn)數(shù)據(jù)的并行輸入/輸出等。9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)
(4)串行I/O接口。MCS-51系列單片機(jī)有一個全雙工的串行接口,以實現(xiàn)單片機(jī)與其他設(shè)備之間的串行數(shù)據(jù)通信。該串行接口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。
(5)定時/計數(shù)器。MCS-51系列單片機(jī)內(nèi)共有2個16位的定時/計數(shù)器,以實現(xiàn)硬件定時或計數(shù)功能,并可根據(jù)需要用定時或計數(shù)結(jié)果對計算機(jī)進(jìn)行控制。
(6)中斷控制系統(tǒng)。MCS-51系列單片機(jī)的中斷功能較強(qiáng),用以滿足控制應(yīng)用的需要。它包括2個外部中斷、2個定時/計數(shù)器溢出中斷、1個串行接口中斷。MCS-51系列單片機(jī)的中斷控制系統(tǒng)可分為高級和低級兩個中斷優(yōu)先級。
(7)時鐘電路。MCS-51系列單片機(jī)的時鐘電路包括以兩種構(gòu)成方式:
①內(nèi)部時鐘方式。內(nèi)部時鐘方式是指由內(nèi)部的時鐘電路和外接的晶振、電容構(gòu)成自激振蕩器,產(chǎn)生脈沖信號。
②外部時鐘方式。外部時鐘方式是指直接將外部的信號源作為時鐘。9/24/2024機(jī)電控制技術(shù)2.MCS-51系列單片機(jī)的引腳及其功能
MCS-51系列單片機(jī)的早期芯片8031、8051、8751和8951采用HMOS工藝制造,現(xiàn)在的主流芯片80C31、80C51、80C71和80C91采用CHMOS工藝制造,在型號中間加字母“C”字作區(qū)分。其中,8031和80C31內(nèi)部無ROM,8051和80C51使用ROM作為程序存儲器,8751和87C51使用EPROM作為程序存儲器,8951和89C51使用FLASH作為程序存儲器。
采用雙列直插DIP封裝的MCS-51系列單片機(jī)有40個引腳,如圖8-2(a)所示為引腳封裝順序圖,是芯片出廠時的實際引腳分布圖,常用于繪制單片機(jī)系統(tǒng)的PCB制版圖,如圖8-2(b)所示為引腳功能順序圖,是按照引腳功能繪的圖,常用于在單片機(jī)系統(tǒng)原理設(shè)計階段繪制系統(tǒng)原理圖。9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)對各引腳的說明分別如下:
(1)主電源引腳。主電源引腳Vcc(40引腳)接+5V電源。主電源引腳Vss(20引腳)接電源地端。
(2)外接晶體引腳。外接晶體引腳XTAL1(19引腳)為內(nèi)部反相放大器的輸入端。外接晶體引腳XTAL2(18引腳)為內(nèi)部反相放大器的輸出端。使用內(nèi)部時鐘方式時,XTAL1引腳和XTAL2引腳各接在外部晶體的一端;使用外部時鐘方式時,外部信號源接XTAL1引腳,而XTAL2引腳懸空。
(3)I/O引腳。P0.0~P0.7(39~32引腳)為P0接口的8個引腳,可作為地址/數(shù)據(jù)線,也可以作為準(zhǔn)雙向I/O接口使用。在做外部擴(kuò)展時,P0接口被分時復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線。P1.0~P1.7(1~8引腳)為P1接口的8個引腳??梢宰鳛闇?zhǔn)雙向I/O接口使用。P2.0~P2.7(21~28引腳)為P2接口的8個引腳,可作為準(zhǔn)雙向I/O接口,在接有外部存儲器或擴(kuò)展I/O接口且尋址范圍超過256B時,可作為高8位地址總線。P3.0~P3.7(10~17引腳)為P3接口的8個引腳。除作為準(zhǔn)雙向I/O接口外,還具有第二種功能,即能輸出控制信號和輸入外部狀態(tài)信息等。9/24/2024機(jī)電控制技術(shù)(4)ALE引腳。
ALE引腳(30引腳)為地址鎖存有效信號的輸出端。在訪問外部ROM期間,每個機(jī)器周期該信號出現(xiàn)兩次,其下降沿用于控制鎖存P0接口輸出的低8位地址。對于內(nèi)部含EPROM的機(jī)型,在編程期間,此引腳用作編程脈沖的輸入端。
(5)PSEN引腳。PSEN引腳(29引腳)為外部ROM讀選通信號的輸出端,或稱為外部ROM取指信號輸出端。在向外部ROM讀取指令或常數(shù)期間,每個機(jī)器周期該信號兩次有效(低電平),以通過數(shù)據(jù)總線P0接口讀取指令或常數(shù),在訪問外部RAM期間,PSEN信號將不出現(xiàn)。
(6)RST引腳。RST引腳(9引腳)為復(fù)位端。當(dāng)該引腳上出現(xiàn)持續(xù)兩個機(jī)器周期的高電平時單片機(jī)復(fù)位,各個寄存器的狀態(tài)改變?yōu)槌跏紶顟B(tài)。通電時,考慮到振蕩器有一定的起振時間,該引腳上高電平必須持續(xù)10ms以上才能保證有效復(fù)位。(7)EA/VPP引腳。EA/VPP引腳(31引腳)為外部ROM的選用端。讀取外部ROM中的程序,該引腳接低電平有效,當(dāng)該引腳接高電平時,內(nèi)部ROM有效并首先從內(nèi)部ROM中讀取程序,如果擴(kuò)展了外部ROM,在讀取內(nèi)部ROM的所有程序后才會自動讀取外部ROM上的數(shù)據(jù)。
9/24/2024機(jī)電控制技術(shù)綜上所述,對MCS-51系列單片機(jī)的引腳特點可歸納出以下兩點:
(1)MCS-51系列單片機(jī)的功能多,引腳數(shù)少,以至于許多引腳都具有第二功能。
(2)MCS-51系列單片機(jī)對外呈三總線形式,由P0接口和P2接口組成16位地址總線,由P0接口分時復(fù)用為數(shù)據(jù)總線,由ALE、PSEN、RST、EA與P3接口中的INT0、INT1、T0、T1、WR、RD共10個引腳組成控制總線。由于它們組成16位地址總線,因而使外部ROM和外部RAM的尋址范圍均能達(dá)到64K字節(jié)。9/24/2024機(jī)電控制技術(shù)8.1.2MCS-51系列單片機(jī)的工作原理
所謂最小系統(tǒng)是指
用最少的元件構(gòu)成的能
夠讓單片機(jī)正常工作的
系統(tǒng)。它是構(gòu)成其他
單片機(jī)系統(tǒng)的核心模塊。
在最小系統(tǒng)的基礎(chǔ)上,
配合外圍元件和相關(guān)電
路,就構(gòu)成了不同功能
的單片機(jī)系統(tǒng)。如圖8-3
所示為MCS-51單片機(jī)最小
系統(tǒng)的組成圖。
9/24/2024機(jī)電控制技術(shù)1.匯編指令的執(zhí)行過程
指令的執(zhí)行又可分為取出指令和執(zhí)行指令兩項步驟。例如,要使MCS-51系列單片機(jī)進(jìn)行08H+5BH=63H這樣的運算,并將結(jié)果63H送單片機(jī)內(nèi)部RAM35H單元。具體的操作步驟如下:
(1)編寫匯編語言程序。
MOVA,#08H;將立即數(shù)08H送到累加器A中,即(A)=08H。
ADDA,#5BH;將累加器A中的內(nèi)容與立即數(shù)5BH相加,結(jié)果送到累加器A中,即A←(A)+5BH。
MOV35H,A;將結(jié)果送入內(nèi)部RAM35H單元。8.2MCS-51系列單片機(jī)的指令系統(tǒng)及語言設(shè)計8.2.1MCS-51系列單片機(jī)指令系統(tǒng)概述
在MCS-51系列單片機(jī)的指令系統(tǒng)中,程序是指令的有序集合,運行程序就是按順序一條一條執(zhí)行指令的過程。指令的機(jī)器碼一般由操作碼和操作數(shù)地址兩部分組成,操作碼在前,操作數(shù)地址在后。操作碼決定指令的操作類型(如加、減、乘、除等算術(shù)操作),操作數(shù)地址指示了參加運算的操作數(shù)來自何處。因此,指令是構(gòu)成MCS-51系列單片機(jī)程序的基本元素。
9/24/2024機(jī)電控制技術(shù)(2)通過查指令表得出各指令的機(jī)器碼。機(jī)器碼是在單片機(jī)的ROM中以“1”和“0”的形式存放的實際碼值,可以通過查指令表得出。機(jī)器碼難于記憶和書寫,使用助記符來替代后就是匯編指令,它和機(jī)器指令是一一對應(yīng)的。各指令的機(jī)器碼見表8-1。
9/24/2024機(jī)電控制技術(shù)表8-1中MOVA,#08H是一條匯編指令,MOV是操作碼,A和#08H都是操作數(shù)。74H08H是機(jī)器碼,74H是操作碼,08H是操作數(shù)。
(3)將操作碼存入ROM中。例如,從存儲地址為8000H的ROM單元開始存放程序的機(jī)器碼見表8-2。
9/24/2024機(jī)電控制技術(shù)(4)程序執(zhí)行過程。先使用賦值令PC=8000H,第一條指令的執(zhí)行過程可分為以下幾步:①PC送出當(dāng)前地址8000H,選中ROM8000H單元。
②CPU發(fā)出訪問ROM信號,從8000H單元中取出第一條指令的操作碼74H。
③PC內(nèi)容自動加1,指向下一個存儲單元。
④CPU把操作碼74H送到內(nèi)部指令譯碼器中,經(jīng)譯碼操作后,得知是一條把立即數(shù)送到A的指令。
⑤PC送出當(dāng)前地址8001H,選中ROM8001H單元。
⑥CPU再發(fā)出訪問ROM信號,從8001H單元中取出第一條指令的操作碼08H送到累加器A中。
⑦PC內(nèi)容自動加1,指向下一個存儲單元。接下去CPU取出第二條指令,并完成加法運算后將結(jié)果送到累加器A中,最后完成把累加器A中的內(nèi)容傳送到地址為35H的單元的指令。每條指令的執(zhí)行步驟與前面所述基本相同,不再細(xì)述。9/24/2024機(jī)電控制技術(shù)2.MCS-51系列單片機(jī)的匯編指令
MCS-51系列單片機(jī)使用44種助記符。通過助記符、指令中源操作數(shù)及目的操作數(shù)的不同組合,構(gòu)成MCS-51系列單片機(jī)111種指令。
1)按匯編指令所占存儲器的字節(jié)數(shù)分
按匯編指令所占存儲器的字節(jié)數(shù)可分為以下幾種:
(1)單字節(jié)指令(49條)。
(2)雙字節(jié)指令(45條)。
(3)三字節(jié)指令(17條)。
9/24/2024機(jī)電控制技術(shù)2)按匯編指令執(zhí)行的周期分
按匯編指令執(zhí)行的周期可分為以下幾種:
(1)單周期指令(64條)。
(2)雙周期指令(45條)。
(3)四周期指令(2條)。
3)按匯編指令的功能分
按匯編指令的功能可分為以下幾種:
(1)數(shù)據(jù)傳輸指令(29條)。
(2)算術(shù)運算指令(24條)。
(3)邏輯運算指令(24條)。
(4)控制轉(zhuǎn)移指令(17條)。
(5)位操作指令(17條)。9/24/2024機(jī)電控制技術(shù)8.2.2MCS-51系列單片機(jī)尋址方式
所謂尋址方式是指如何找到存放被操作數(shù)位置(地址)的方法。MCS-51系列單片機(jī)的指令系統(tǒng)提供了7種尋址方式,分別為立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。一條指令可能含有多種尋址方式。
1.立即尋址
將立即參與操作的數(shù)據(jù)直接寫在指令中,這種尋址方式稱為立即尋址。立即尋址的指令中直接含有所需的操作數(shù)。該操作數(shù)可以是8位的,也可以是16位的,常常處在指令的第二字節(jié)和第三字節(jié)的位置上。立即數(shù)通常使用#data或#data16表示,在立即數(shù)前面加“#”標(biāo)志,用以和直接尋址中的直接地址(direct或bit)相區(qū)別。MCS-51系列單片機(jī)中除了一條指令(MOVDPTR,#data16)是16位長的立即數(shù)外,其余都是8位的立即數(shù)。
例如,MOVA,#32H,若執(zhí)行前(A)=51H,則執(zhí)行后(A)=32H?!?”號表示其后面的數(shù)為立即數(shù)而非直接地址。9/24/2024機(jī)電控制技術(shù)2.直接尋址
將操作數(shù)的地址直接存放在指令中,這種尋址方式稱為直接尋址,也就是在指令中直接給出操作數(shù)所在單元的地址。
例如,MOVA,20H,若執(zhí)行前(A)=51H,內(nèi)部RAM20H地址單元的內(nèi)容為96H,執(zhí)行后(A)=(96H)。3.寄存器尋址
操作數(shù)存放在MCS-51系列單片機(jī)內(nèi)部的某個工作寄存器Rn(R0~R7)或部分專用寄存器中,這種尋址方式稱為寄存器尋址??蓪ぶ返募拇嫫鞒齊0~R7外還有累加器A、寄存器B、數(shù)據(jù)指針DPTR和位處理累加器Cy。PSW是程序狀態(tài)字寄存器,地址為D0H~D7H,其中,D3H為RS0,D4H為RS1,它們統(tǒng)稱為工作寄存器組的選擇位。RS0和RS1取不同的值,構(gòu)成的二進(jìn)制數(shù)對應(yīng)不同的寄存器組的組號,例如,RS0和RS1分別取“1”和“0”時,對應(yīng)寄存器組的第2組。9/24/2024機(jī)電控制技術(shù)4.寄存器間接尋址
寄存器間接尋址是指以指定的地址寄存器的內(nèi)容作為地址,并以該地址所指定的存儲單元數(shù)據(jù)為指令的操作對象。MCS-51系列單片機(jī)的地址寄存器只能為R0、R1和DPTR。當(dāng)以R0或R1為地址寄存器時,可以尋址內(nèi)部RAM的地址空間00H~FFH內(nèi)的256B個單元,以及外部RAM頁內(nèi)地址空間的256B個單元,頁內(nèi)地址為P2的內(nèi)容;以16位寄存器DPTR作為間接尋址寄存器時,可尋址外部存儲器的64KB地址空間。例如,MOVXA,@DPTR的含義是把DPTR中的內(nèi)容作為地址,按這個地址找到的外部RAM單元中的內(nèi)容,并將該內(nèi)容傳給累加器A。
若執(zhí)行前(A)=20H,DPTR=2000H,外部RAM2000H地址單元的內(nèi)容為79H,則執(zhí)行指令后(A)=79H。9/24/2024機(jī)電控制技術(shù)5.變址尋址
操作數(shù)存放在變址寄存器(累加器A)和基址寄存器(DPTR或PC)相加形成的16位地址單元中,DPTR或PC中的內(nèi)容是基地址,A中的內(nèi)容是地址偏移量,這種尋址方式稱為基址加變址寄存器間接尋址,簡稱為變址尋址。也就是說,在寄存器間接尋址中,地址放在寄存器的某個單元里,如果地址不是放在一個寄存器里,而是放在兩個寄存器里,兩個寄存器中存放的地址之和形成一個新的地址,按照這個地址可以找到操作數(shù)。
6.相對尋址
將程序計數(shù)器PC的當(dāng)前值(取出本條指令后的PC值)與指令第二個字節(jié)給出的偏移量(rel)相加,形成新的轉(zhuǎn)移目標(biāo)地址,這種尋址方式稱為相對尋址。
相對尋址是為了實現(xiàn)程序的相對轉(zhuǎn)移而設(shè)計的,為相對轉(zhuǎn)移指令所使用,其指令碼中含有相對地址偏移量,能生成浮動代碼。例如,SJMPrel;(PC)←(PC)+2+rel,其也可以表示作為相對轉(zhuǎn)移指令的目的地址=指令地址+指令字節(jié)數(shù)+偏移量
9/24/2024機(jī)電控制技術(shù)7.位尋址
MCS-51系列單片機(jī)中設(shè)有獨立的位處理器,可對尋址的位進(jìn)行處理。在指令系統(tǒng)中共有17條位操作指令。位操作指令中的操作數(shù)僅允許采用位尋址方式。位尋址方式類似于直接尋址方式,同樣是在指令中直接給出操作數(shù)的地址。每一種尋址方式所對應(yīng)的尋址空間見表8-3。9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)8.2.3MCS-51系列單片機(jī)匯編語言的程序設(shè)計
例8-2在MCS-51系列單片機(jī)最小系統(tǒng)的基礎(chǔ)上,實現(xiàn)一個發(fā)光二極管的閃爍。9/24/2024機(jī)電控制技術(shù)
如圖8-4所示為發(fā)光二極管閃爍的電路圖。
相應(yīng)程序代碼如下:
ORG2000H
MAIN:
SETBP0.0 ;讓P0.0置1
CALLDELAY ;調(diào)用延時程序
CLRP0.0 ;讓P0.0置0
CALLDELAY ;調(diào)用延時程序
AJMPMAIN
DELAY:
MOVR1,#250 ;給R1置立即數(shù)250
D1:MOVR2,#250 ;給R2置立即數(shù)250
D2:DJNZR2,D2 ;內(nèi)層循環(huán)
DJNZR1,D1 ;外層循環(huán)
RET
END
9/24/2024機(jī)電控制技術(shù)8.3MCS-51系列單片機(jī)存儲器擴(kuò)展在有些場合中,MCS-51系列單片機(jī)內(nèi)部集成的ROM和RAM難以滿足工藝對系統(tǒng)的要求,用戶必須在單片機(jī)外部擴(kuò)展ROM。MCS-51系列單片機(jī)外部有16條地址線,即P0接口和P2接口,因此,最大尋址范圍為64KB(0000H~FFFFH)。選擇存儲芯片中的單元的方法有單譯碼法和雙譯碼法。(1)單譯碼法。(2)雙譯碼法。把存儲芯片中的基本單元按線性排列,用2N條地址線選擇2N個存儲單元,這種譯碼的方法稱為單譯碼法。這種方法雖然結(jié)構(gòu)簡單但是需要太多的地址線。把存儲芯片中的基本單元按矩陣排列,用N條行選擇線和N條列選擇線作為地址線,可以選擇2N×2N個存儲單元,這種譯碼的方法稱為雙譯碼法。這種方法需要很少的地址線即可實現(xiàn)尋址,例如,為了尋址64KB的存儲單元,由于這65536個存儲單元成矩陣排列,因而行和列上需要64+64=128根譯碼器輸出線。9/24/2024機(jī)電控制技術(shù)(1)地址總線。(2)數(shù)據(jù)總線。(3)控制總線。地址總線(adressbus,簡稱為AB)的功能是傳送地址,其傳送方向是單向的,只能從單片機(jī)內(nèi)部向外部發(fā)送地址信息。數(shù)據(jù)總線(databus,簡稱為DB)的功能是傳送數(shù)據(jù),其傳送方向是雙向的,既可以從單片機(jī)內(nèi)部向外部發(fā)送數(shù)據(jù)信息,也可以采集外界的信號,從單片機(jī)外部向內(nèi)部發(fā)送數(shù)據(jù)信息??刂瓶偩€(controlbus,簡稱為CB)的功能是傳送控制信息,其傳送方向是雙向的,既可以從單片機(jī)內(nèi)部向外部發(fā)送控制信息,也可以從單片機(jī)外部向內(nèi)部發(fā)送控制信息。8.3.1MCS-51系列單片機(jī)三總線的概念和構(gòu)成
1.三總線的概念
MCS-51系列單片機(jī)的結(jié)構(gòu)是基于三總線的馮·諾依曼結(jié)構(gòu),即三種總線分別是地址總線、數(shù)據(jù)總線和控制總線。系統(tǒng)中的各個部件都是通過這三類總線傳遞信息。9/24/2024機(jī)電控制技術(shù)2.MCS-51系列單片機(jī)擴(kuò)展三總線的構(gòu)成
MCS-51系列單片機(jī)由于受引腳數(shù)目的限制,使得數(shù)據(jù)線和低8位地址線復(fù)用,為了將它們分離出來,需要外加地址鎖存器,從而構(gòu)成與一般CPU相類似的外部三總線,如圖8-5所示。
9/24/2024機(jī)電控制技術(shù)8.3.2MCS-51系列單片機(jī)ROM擴(kuò)展
MCS-51系列單片機(jī)中的8051單片機(jī)的內(nèi)部有4KB的ROM,能滿足一般系統(tǒng)的需求,但如果系統(tǒng)規(guī)模比較大,需要存放較大的程序,就需要擴(kuò)展ROM。在選擇ROM芯片時,首先必須滿足程序容量,其次在價格合理情況下盡量選用容量大的芯片。在單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計中應(yīng)注意,盡量減少芯片的使用個數(shù),使得電路結(jié)構(gòu)簡單,提高可靠性。1.2732芯片
2732芯片的容量為4K×8位。4K表示有4×1024個存儲單元,8位表示每個單元存儲數(shù)據(jù)的寬度為8位。前者確定了地址線的位數(shù)為12位(A0~A11),后者確定了數(shù)據(jù)線的位數(shù)為8位(O0~O7)。2732芯片采用+5V供電,最大靜態(tài)工作電流為100mA,維持電流為35mA,讀出時間最大為250ns。2732芯片的封裝形式為DIP24,其引腳圖如圖8-7所示。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)2.ROM擴(kuò)展的硬件電路
8051單片機(jī)擴(kuò)展一片2732芯片的電路圖,如圖8-8所示。
9/24/2024機(jī)電控制技術(shù)3.擴(kuò)展ROM地址范圍的確定
單片機(jī)擴(kuò)展ROM的關(guān)鍵是搞清楚擴(kuò)展芯片的地址范圍。決定ROM芯片的地址范圍的因素有兩個:一個是片選端的連接方法,另一個是ROM芯片的地址線與單片機(jī)地址線的連接。在確定地址范圍時,必須保證片選端為低電平。
例8-3根據(jù)控制要求需要在8051單片機(jī)外部擴(kuò)展32K的ROM,完成系統(tǒng)的硬件設(shè)計。
解要擴(kuò)展32K的外部ROM,可通過多種方法實現(xiàn),但應(yīng)該選擇集成度盡可能高的芯片,這樣設(shè)計的電路結(jié)構(gòu)簡單易行、可靠性高,所以選擇27256芯片。因為8051單片機(jī)的P0接口既要傳輸數(shù)據(jù)又要傳輸?shù)刂?,所以需?位的鎖存器鎖存低8位地址,可以選擇74LS373鎖存器,8051單片機(jī)ROM的擴(kuò)展圖如圖8-9所示。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)8.3.3MCS-51系列單片機(jī)RAM擴(kuò)展
MCS-51系列單片機(jī)中的8051單片機(jī)內(nèi)部有128B的RAM。
CPU對內(nèi)部RAM具有豐富的操作指令,但是當(dāng)單片機(jī)用于實時數(shù)據(jù)采集或處理大批量數(shù)據(jù)時,僅靠內(nèi)部RAM提供的操作指令是遠(yuǎn)遠(yuǎn)不夠的。此時,可以利用單片機(jī)的擴(kuò)展功能,擴(kuò)展外部RAM。
常用的外部RAM包括靜態(tài)RAM(StaticRandomAccessMemory,簡稱為SRAM)和動態(tài)RAM(DynamicRandomAccessMemory,簡稱為DRAM)。前者的優(yōu)點是讀寫速度高,一般都是8位寬度,易于擴(kuò)展,而且大多數(shù)的RAM和與它相同容量的EPROM的引腳相兼容,有利于印刷板的電路設(shè)計,使用方便;缺點是集成度低、成本高、功耗大。后者的優(yōu)點是EPROM的集成度高、功耗相對較低;缺點是需要使用EPROM就需要增加一個刷新電路,增加了額外的成本。
8051單片機(jī)擴(kuò)展外部RAM的地址線也是由P0接口和P2接口提供的,因此,其最大尋址范圍為64KB(0000H~FFFFH)。9/24/2024機(jī)電控制技術(shù)1.8051單片機(jī)的硬件電路8051單片機(jī)與6116芯片連接的電路圖如圖8-10所示。9/24/2024機(jī)電控制技術(shù)2.8051單片機(jī)芯片的選擇
8051單片機(jī)常用的SRAM芯片有6116(2K×8位)芯片、6264(8K×8位)芯片、62256(32K×8位)芯片等。6116芯片的引腳圖如圖8-11所示。
9/24/2024機(jī)電控制技術(shù)3.外部RAM地址范圍的確定及使用
按照圖8-10中的連線,片選端直接與地址線P2.7相連,這種擴(kuò)展方法稱為線選法。顯然,只有P2.7=0,才能夠選中6116芯片。
如果與6116芯片無關(guān)的引腳取0,那么6116芯片的地址范圍為0000H~07FFH;如果與6116芯片無關(guān)的引腳取1,那么6116芯片的地址范圍為7800H~7FFFH。4.單片機(jī)對外部RAM的讀寫
單片機(jī)對RAM讀寫的相應(yīng)程序如下:
MOVX @DPTR,A;64KB內(nèi)寫入數(shù)據(jù)
MOVX A,@DPTR;64KB內(nèi)讀取數(shù)據(jù)
除了上述指令外,還可以使用以下指令對低256B進(jìn)行讀寫:
MOVX @Ri,A;低256B內(nèi)寫入數(shù)據(jù)
MOVXA,@Ri;低256B內(nèi)讀取數(shù)據(jù)9/24/2024機(jī)電控制技術(shù)例8-4根據(jù)控制要求需要在8051單片機(jī)外部擴(kuò)展8K的RAM,完成系統(tǒng)的硬件設(shè)計。
解要擴(kuò)展8K的外部RAM,只需選擇一片6264芯片就可以達(dá)到要求。為了實現(xiàn)時分復(fù)用,鎖存低8位地址,可以選擇74LS373鎖存器,8051單片機(jī)RAM的擴(kuò)展圖如圖8-12所示。
9/24/2024機(jī)電控制技術(shù)
8.4MCS-51系列單片機(jī)中斷與中斷系統(tǒng)8.4.1MCS-51系列單片機(jī)中斷概述
當(dāng)CPU正在執(zhí)行某個程序時,由于有來自CPU外部的事件向CPU提出響應(yīng)請求,因而CPU中止當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行與外部事件相關(guān)的處理程序,當(dāng)處理響應(yīng)的程序執(zhí)行結(jié)束后,返回被中止執(zhí)行的程序并繼續(xù)執(zhí)行,這種有響應(yīng)請求而改變程序執(zhí)行順序的現(xiàn)象稱為中斷。構(gòu)成中斷的要素包含中斷請求、中斷事件、中斷響應(yīng)、中斷屏蔽斷點和中斷源。9/24/2024機(jī)電控制技術(shù)8.4.2MCS-51系列單片機(jī)中斷系統(tǒng)1.中斷源
2.中斷入口地址3.中斷的優(yōu)先級是指能產(chǎn)生中斷請求的來源。MCS-51系列單片機(jī)系統(tǒng)中的中斷源包括外部中斷、定時/計數(shù)器中斷和串行通信中斷三種類型。中斷源發(fā)出中斷請求后,如果CPU響應(yīng)中斷,就會執(zhí)行該中斷對應(yīng)的中斷程序。系統(tǒng)約定了每一種中斷程序存放的地址,這個地址稱為中斷的入口地址,也稱為中斷矢量。MCS-51系列單片機(jī)的中斷源有5個,由于CPU在任何時刻只能響應(yīng)一個中斷請求,因而需要把所有的中斷源分出優(yōu)先級,根據(jù)中斷源的優(yōu)先級,判斷CPU應(yīng)該選擇響應(yīng)哪一個中斷請求。9/24/2024機(jī)電控制技術(shù)8.4.3MCS-51系列單片機(jī)中斷設(shè)置
如圖8-13所示為MCS-51系列單片機(jī)中斷系統(tǒng)的結(jié)構(gòu)圖,它描述了中斷系統(tǒng)的組成部件及其相互關(guān)系。
9/24/2024機(jī)電控制技術(shù)例8-5設(shè)計一個單片機(jī)系統(tǒng),要求系統(tǒng)通電以后,1、3、5、7號發(fā)光二極管點亮。當(dāng)按下按鈕時,1、3、5、7號發(fā)光二極管熄滅,2、4、6、8號發(fā)光二極管點亮。9/24/2024機(jī)電控制技術(shù)相應(yīng)程序代碼如下:
ORG0003H
LJMP3000H ;外部中斷發(fā)生時,程序跳轉(zhuǎn)到地址為3000H處執(zhí)行
ORG2000H
MAIN:
MOVP0,#0AAH ;將1、3、5、7號發(fā)光二極管點亮
SETBEA ;允許全局中斷
SETBEX0 ;允許外部中斷0
SETBIT0 ;把外部中斷0設(shè)置為邊沿觸發(fā)方式
AJMPMAIN
ORG3000H ;中斷程序入口地址
MOVP0,#55H;將1、3、5、7號發(fā)光二極管,熄滅;將2、4、6、8號發(fā)光二極管點亮
RETI9/24/2024機(jī)電控制技術(shù)8.5MCS-51系列單片機(jī)的定時/計數(shù)器在單片機(jī)系統(tǒng)設(shè)計中,定時/計數(shù)器的應(yīng)用非常廣泛。使用單片機(jī)內(nèi)置的定時器則可以實現(xiàn)精確的定時。定時器可以用在單片機(jī)串行通信中,而且可以和CPU并行工作,系統(tǒng)工作效率高。定時器的輸入端如果連接的是振蕩電路的脈沖信號,就可以用來測量時間;定時器的輸入端如果連接的是外部電路的脈沖信號,則可以用來實現(xiàn)對外部脈沖的計數(shù)功能,因此,定時器也可以作為計數(shù)器使用。此外,也可以將定時器和計數(shù)器聯(lián)合使用,在確定的時間里統(tǒng)計信號的脈沖個數(shù),從而完成頻率測量的功能。8.5.1MCS-51系列單片機(jī)定時/計數(shù)器的結(jié)構(gòu)和工作方式
1.定時/計數(shù)器的結(jié)構(gòu)
定時/計數(shù)器是由專用寄存器、方式寄存器和控制寄存器構(gòu)成的。它的結(jié)構(gòu)如圖8-15所示。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)(1)置初值。(2)定方式。(3)開中斷。(4)啟動。以方式0為例,預(yù)置初值0,如果不改變初值,定時時間=12×?xí)r鐘周期×(213-0),計算得到的時間不一定符合系統(tǒng)需要的控制時間,所以編程者可以在定時器初始化程序中設(shè)定初值,實現(xiàn)需要的定時時間。通過對TMOD的M1和M0賦值,可以確定定時/計數(shù)器的工作方式。啟動可以用軟件啟動定時/計數(shù)器,也可以用外部引腳啟動定時/計數(shù)器。開中斷包括開CPU的總中斷和定時中斷。8.5.2MCS-51系列單片機(jī)定時/計數(shù)器的使用
定時/計數(shù)器在使用之前要做以下一系列的準(zhǔn)備工作,一般應(yīng)遵循如下步驟:9/24/2024機(jī)電控制技術(shù)例8-6用單片機(jī)內(nèi)部集成的定時/計數(shù)器實現(xiàn)發(fā)光二極管的閃爍。如圖8-20所示。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)8.6MCS-51系列單片機(jī)的接口與應(yīng)用在機(jī)電控制系統(tǒng)中,根據(jù)控制需要,單片機(jī)需要各種接口,如為了接收模擬量,需要A/D轉(zhuǎn)換接口;為了輸出模擬量,需要D/A轉(zhuǎn)換接口;為了響應(yīng)操作者的要求,需要鍵盤接口;為了給操作者提供需要的信息,需要顯示器接口。
8.6.1MCS-51系列單片機(jī)的A/D轉(zhuǎn)換接口
在控制系統(tǒng)中多使用閉環(huán)控制,將系統(tǒng)的當(dāng)前狀態(tài)值反饋到輸入端,但工業(yè)現(xiàn)場的狀態(tài)量值經(jīng)傳感器轉(zhuǎn)換后多為模擬量值,如溫度、成分、速度和位置等,單片機(jī)作為數(shù)字系統(tǒng)無法直接接收模擬量,這就需要能把模擬量值轉(zhuǎn)換為數(shù)字量值的A/D轉(zhuǎn)換器。
A/D轉(zhuǎn)換器是由采樣環(huán)節(jié)、保持環(huán)節(jié)和量化編碼環(huán)節(jié)組成的,如圖8-21所示。
9/24/2024機(jī)電控制技術(shù)8.6.2MCS-51系列單片機(jī)D/A轉(zhuǎn)換器接口
在機(jī)電控制系統(tǒng)中,要驅(qū)動的往往是模擬系統(tǒng),如直流電動機(jī)、交流電動機(jī)等,要輸出模擬量值,需要在單片機(jī)后加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á)到最大幅值的某個百分比所需的時間。D/A轉(zhuǎn)換精度是以最大誤差的相對滿刻度電壓的百分比來表示的。通常也可用分辨率和D/A的數(shù)字最低位發(fā)生變化時輸出幅值的變化來描述。D/A轉(zhuǎn)換線性度描述了D/A轉(zhuǎn)換過程中輸入不同數(shù)字量時輸出模擬量值和真值的偏離程度。1.D/A轉(zhuǎn)換的參數(shù):
9/24/2024機(jī)電控制技術(shù)2.D/A轉(zhuǎn)換芯片
DAC0832芯片內(nèi)部有8位的D/A轉(zhuǎn)換器,輸出信號是電流信號,轉(zhuǎn)換時間為1μs,基準(zhǔn)電壓為±10V,工作電壓在5~15V范圍內(nèi)。
1)DAC0832芯片的結(jié)構(gòu)與工作原理
DAC0832芯片是由輸入寄存器、DAC寄存器和8位乘法DAC形式的D/A轉(zhuǎn)換電路構(gòu)成的,如圖8-26所示。
9/24/2024機(jī)電控制技術(shù)例8-8使用DAC0832芯片設(shè)計一個可以產(chǎn)生三角波的信號發(fā)生器。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)8.6.3MCS-51系列單片機(jī)的鍵盤接口
如果操作者需要單片機(jī)系統(tǒng)實時地接收自己的命令,就需要給單片機(jī)加上鍵盤接口。鍵盤一般分為編碼鍵盤和非編碼鍵盤。計算機(jī)鍵盤就是編碼鍵盤,它集成了消抖、誤碼處理和編碼等功能。單片機(jī)系統(tǒng)一般采用結(jié)構(gòu)簡單、價格低廉的非編碼鍵盤來提高性價比;非編碼鍵盤可分為獨立式按鍵和行列式按鍵。1.獨立式按鍵
每根I/O接口線上只有一個按鍵稱為獨立式按鍵。其優(yōu)點是結(jié)構(gòu)簡單、實現(xiàn)方便;缺點是耗費接口線。它一般在系統(tǒng)需要按鍵很少的情況下使用。
例8-9使用獨立式按鍵實現(xiàn)用4個按鍵控制4個燈,要求某個按鍵按下的時候,對應(yīng)的發(fā)光二極管點亮。
9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)2.行列式按鍵
如果系統(tǒng)需要較多的按鍵,為了節(jié)省接口線,可以把按鍵排成矩陣,這就是矩陣式鍵盤,也稱為行列式鍵盤。
行列式按鍵的結(jié)構(gòu),行列式按鍵的結(jié)構(gòu)如圖8-30所示。
9/24/2024機(jī)電控制技術(shù)8.6.4MCS-51系列單片機(jī)的顯示器接口
1.LED顯示器的結(jié)構(gòu)
多個發(fā)光二極管封裝在一起就構(gòu)成了LED
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年代理合同簽署注意事項
- 2025年商業(yè)合作形象授權(quán)代理服務(wù)協(xié)議
- 二零二五版商業(yè)地產(chǎn)買賣合同附帶抵押權(quán)登記0023篇
- 2025年高校與企業(yè)聯(lián)合培養(yǎng)協(xié)議教授合作協(xié)議9篇
- 二零二五年度出口合同模板(含出口貨物倉儲與物流服務(wù))4篇
- 2025年度裝配式建筑構(gòu)件生產(chǎn)與施工合同范本4篇
- 2025版水電安裝工程新能源并網(wǎng)服務(wù)合同集錦3篇
- 二零二五版零擔(dān)運輸合同物流數(shù)據(jù)安全保護(hù)合同4篇
- 二零二五版路演車輛租賃與后勤保障合同4篇
- 二零二五年度家族財產(chǎn)管理及子女成長支持協(xié)議
- (一模)臨汾市2025年高考考前適應(yīng)性訓(xùn)練考試(一)語文試卷(含答案)
- 2024-2025學(xué)年滬科版數(shù)學(xué)七年級上冊期末綜合測試卷(一)(含答案)
- 2023年廣東省公務(wù)員錄用考試《行測》真題及答案解析
- 2024年公證遺產(chǎn)繼承分配協(xié)議書模板
- 燃?xì)饨?jīng)營安全重大隱患判定標(biāo)準(zhǔn)課件
- 深圳小學(xué)英語單詞表(中英文)
- 護(hù)理質(zhì)量反饋內(nèi)容
- 抖音搜索用戶分析報告
- 鉆孔灌注樁技術(shù)規(guī)范
- 2023-2024學(xué)年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學(xué)設(shè)計
- 供貨進(jìn)度計劃
評論
0/150
提交評論