版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
機(jī)電控制技術(shù)第八章MCS-51系列單片機(jī)控制技術(shù)9/24/2024機(jī)電控制技術(shù)目錄8.1MCS-51系列單片機(jī)的結(jié)構(gòu)及工作原理8.2MCS-51系列單片機(jī)指令系統(tǒng)及語(yǔ)言設(shè)計(jì)8.3MCS-51系列單片機(jī)存儲(chǔ)器擴(kuò)展8.4MCS-51系列單片機(jī)中斷與中斷系統(tǒng)8.5MCS-51系列單片機(jī)定時(shí)/計(jì)數(shù)器8.6MCS-51系列單片機(jī)的接口與應(yīng)用8.7MCS-51系列單片機(jī)控制系統(tǒng)設(shè)計(jì)9/24/2024機(jī)電控制技術(shù)MCS-51系列單片機(jī)芯片的型號(hào)較多,如8031、8051、8751、80C51BH,它們的組成、性能和指令系統(tǒng)基本相同,因此,本章主要以較早生產(chǎn)的代表芯片8051為例,對(duì)MCS-51系列單片機(jī)的結(jié)構(gòu)及工作原理進(jìn)行介紹。8.1MCS-51系列單片機(jī)的結(jié)構(gòu)及工作原理單片機(jī)(Single-chipMicrocomputer)的實(shí)質(zhì)是微型計(jì)算機(jī)。它把CPU、內(nèi)存和外設(shè)接口等集成在一塊芯片上,具有集成度高,可靠性好,便于使用等優(yōu)點(diǎn)。隨著現(xiàn)代制造技術(shù)對(duì)機(jī)電控制的高精度、智能化、交互性和網(wǎng)絡(luò)化的要求越來越高,單片機(jī)以其功能強(qiáng)大、體積小和可靠性高等優(yōu)點(diǎn)被廣泛應(yīng)用在精確測(cè)量、數(shù)據(jù)采集、智能控制、設(shè)備驅(qū)動(dòng)、智能儀表和現(xiàn)場(chǎng)總線等機(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í)/計(jì)數(shù)器和中斷控制系統(tǒng)等若干部件組成的,再配置一定的外圍電路,如時(shí)鐘電路、復(fù)位電路等,即可構(gòu)成一個(gè)基本的微型計(jì)算機(jī)系統(tǒng)。MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如圖8-1所示。
各個(gè)組成部件功能如下:
(1)CPU。CPU是單片機(jī)的核心,通過它可以完成運(yùn)算和控制功能。MCS-51系列單片機(jī)的CPU能處理8位二進(jìn)制數(shù)或代碼,故稱為8位機(jī)。
(2)ROM和RAM。MCS-51系列單片機(jī)的芯片內(nèi)部有地址空間相互獨(dú)立的ROM和RAM。
(3)并行I/O接口。MCS-51系列單片機(jī)中共有4個(gè)8位I/O接口(P0、P1、P2和P3),以實(shí)現(xiàn)數(shù)據(jù)的并行輸入/輸出等。9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)
(4)串行I/O接口。MCS-51系列單片機(jī)有一個(gè)全雙工的串行接口,以實(shí)現(xiàn)單片機(jī)與其他設(shè)備之間的串行數(shù)據(jù)通信。該串行接口功能較強(qiáng),既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。
(5)定時(shí)/計(jì)數(shù)器。MCS-51系列單片機(jī)內(nèi)共有2個(gè)16位的定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)硬件定時(shí)或計(jì)數(shù)功能,并可根據(jù)需要用定時(shí)或計(jì)數(shù)結(jié)果對(duì)計(jì)算機(jī)進(jìn)行控制。
(6)中斷控制系統(tǒng)。MCS-51系列單片機(jī)的中斷功能較強(qiáng),用以滿足控制應(yīng)用的需要。它包括2個(gè)外部中斷、2個(gè)定時(shí)/計(jì)數(shù)器溢出中斷、1個(gè)串行接口中斷。MCS-51系列單片機(jī)的中斷控制系統(tǒng)可分為高級(jí)和低級(jí)兩個(gè)中斷優(yōu)先級(jí)。
(7)時(shí)鐘電路。MCS-51系列單片機(jī)的時(shí)鐘電路包括以兩種構(gòu)成方式:
①內(nèi)部時(shí)鐘方式。內(nèi)部時(shí)鐘方式是指由內(nèi)部的時(shí)鐘電路和外接的晶振、電容構(gòu)成自激振蕩器,產(chǎn)生脈沖信號(hào)。
②外部時(shí)鐘方式。外部時(shí)鐘方式是指直接將外部的信號(hào)源作為時(shí)鐘。9/24/2024機(jī)電控制技術(shù)2.MCS-51系列單片機(jī)的引腳及其功能
MCS-51系列單片機(jī)的早期芯片8031、8051、8751和8951采用HMOS工藝制造,現(xiàn)在的主流芯片80C31、80C51、80C71和80C91采用CHMOS工藝制造,在型號(hào)中間加字母“C”字作區(qū)分。其中,8031和80C31內(nèi)部無ROM,8051和80C51使用ROM作為程序存儲(chǔ)器,8751和87C51使用EPROM作為程序存儲(chǔ)器,8951和89C51使用FLASH作為程序存儲(chǔ)器。
采用雙列直插DIP封裝的MCS-51系列單片機(jī)有40個(gè)引腳,如圖8-2(a)所示為引腳封裝順序圖,是芯片出廠時(shí)的實(shí)際引腳分布圖,常用于繪制單片機(jī)系統(tǒng)的PCB制版圖,如圖8-2(b)所示為引腳功能順序圖,是按照引腳功能繪的圖,常用于在單片機(jī)系統(tǒng)原理設(shè)計(jì)階段繪制系統(tǒng)原理圖。9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)對(duì)各引腳的說明分別如下:
(1)主電源引腳。主電源引腳Vcc(40引腳)接+5V電源。主電源引腳Vss(20引腳)接電源地端。
(2)外接晶體引腳。外接晶體引腳XTAL1(19引腳)為內(nèi)部反相放大器的輸入端。外接晶體引腳XTAL2(18引腳)為內(nèi)部反相放大器的輸出端。使用內(nèi)部時(shí)鐘方式時(shí),XTAL1引腳和XTAL2引腳各接在外部晶體的一端;使用外部時(shí)鐘方式時(shí),外部信號(hào)源接XTAL1引腳,而XTAL2引腳懸空。
(3)I/O引腳。P0.0~P0.7(39~32引腳)為P0接口的8個(gè)引腳,可作為地址/數(shù)據(jù)線,也可以作為準(zhǔn)雙向I/O接口使用。在做外部擴(kuò)展時(shí),P0接口被分時(shí)復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線。P1.0~P1.7(1~8引腳)為P1接口的8個(gè)引腳。可以作為準(zhǔn)雙向I/O接口使用。P2.0~P2.7(21~28引腳)為P2接口的8個(gè)引腳,可作為準(zhǔn)雙向I/O接口,在接有外部存儲(chǔ)器或擴(kuò)展I/O接口且尋址范圍超過256B時(shí),可作為高8位地址總線。P3.0~P3.7(10~17引腳)為P3接口的8個(gè)引腳。除作為準(zhǔn)雙向I/O接口外,還具有第二種功能,即能輸出控制信號(hào)和輸入外部狀態(tài)信息等。9/24/2024機(jī)電控制技術(shù)(4)ALE引腳。
ALE引腳(30引腳)為地址鎖存有效信號(hào)的輸出端。在訪問外部ROM期間,每個(gè)機(jī)器周期該信號(hào)出現(xiàn)兩次,其下降沿用于控制鎖存P0接口輸出的低8位地址。對(duì)于內(nèi)部含EPROM的機(jī)型,在編程期間,此引腳用作編程脈沖的輸入端。
(5)PSEN引腳。PSEN引腳(29引腳)為外部ROM讀選通信號(hào)的輸出端,或稱為外部ROM取指信號(hào)輸出端。在向外部ROM讀取指令或常數(shù)期間,每個(gè)機(jī)器周期該信號(hào)兩次有效(低電平),以通過數(shù)據(jù)總線P0接口讀取指令或常數(shù),在訪問外部RAM期間,PSEN信號(hào)將不出現(xiàn)。
(6)RST引腳。RST引腳(9引腳)為復(fù)位端。當(dāng)該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平時(shí)單片機(jī)復(fù)位,各個(gè)寄存器的狀態(tài)改變?yōu)槌跏紶顟B(tài)。通電時(shí),考慮到振蕩器有一定的起振時(shí)間,該引腳上高電平必須持續(xù)10ms以上才能保證有效復(fù)位。(7)EA/VPP引腳。EA/VPP引腳(31引腳)為外部ROM的選用端。讀取外部ROM中的程序,該引腳接低電平有效,當(dāng)該引腳接高電平時(shí),內(nèi)部ROM有效并首先從內(nèi)部ROM中讀取程序,如果擴(kuò)展了外部ROM,在讀取內(nèi)部ROM的所有程序后才會(huì)自動(dòng)讀取外部ROM上的數(shù)據(jù)。
9/24/2024機(jī)電控制技術(shù)綜上所述,對(duì)MCS-51系列單片機(jī)的引腳特點(diǎn)可歸納出以下兩點(diǎn):
(1)MCS-51系列單片機(jī)的功能多,引腳數(shù)少,以至于許多引腳都具有第二功能。
(2)MCS-51系列單片機(jī)對(duì)外呈三總線形式,由P0接口和P2接口組成16位地址總線,由P0接口分時(shí)復(fù)用為數(shù)據(jù)總線,由ALE、PSEN、RST、EA與P3接口中的INT0、INT1、T0、T1、WR、RD共10個(gè)引腳組成控制總線。由于它們組成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í)行指令兩項(xiàng)步驟。例如,要使MCS-51系列單片機(jī)進(jìn)行08H+5BH=63H這樣的運(yùn)算,并將結(jié)果63H送單片機(jī)內(nèi)部RAM35H單元。具體的操作步驟如下:
(1)編寫匯編語(yǔ)言程序。
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)及語(yǔ)言設(shè)計(jì)8.2.1MCS-51系列單片機(jī)指令系統(tǒng)概述
在MCS-51系列單片機(jī)的指令系統(tǒng)中,程序是指令的有序集合,運(yùn)行程序就是按順序一條一條執(zhí)行指令的過程。指令的機(jī)器碼一般由操作碼和操作數(shù)地址兩部分組成,操作碼在前,操作數(shù)地址在后。操作碼決定指令的操作類型(如加、減、乘、除等算術(shù)操作),操作數(shù)地址指示了參加運(yùn)算的操作數(shù)來自何處。因此,指令是構(gòu)成MCS-51系列單片機(jī)程序的基本元素。
9/24/2024機(jī)電控制技術(shù)(2)通過查指令表得出各指令的機(jī)器碼。機(jī)器碼是在單片機(jī)的ROM中以“1”和“0”的形式存放的實(shí)際碼值,可以通過查指令表得出。機(jī)器碼難于記憶和書寫,使用助記符來替代后就是匯編指令,它和機(jī)器指令是一一對(duì)應(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中。例如,從存儲(chǔ)地址為8000H的ROM單元開始存放程序的機(jī)器碼見表8-2。
9/24/2024機(jī)電控制技術(shù)(4)程序執(zhí)行過程。先使用賦值令PC=8000H,第一條指令的執(zhí)行過程可分為以下幾步:①PC送出當(dāng)前地址8000H,選中ROM8000H單元。
②CPU發(fā)出訪問ROM信號(hào),從8000H單元中取出第一條指令的操作碼74H。
③PC內(nèi)容自動(dòng)加1,指向下一個(gè)存儲(chǔ)單元。
④CPU把操作碼74H送到內(nèi)部指令譯碼器中,經(jīng)譯碼操作后,得知是一條把立即數(shù)送到A的指令。
⑤PC送出當(dāng)前地址8001H,選中ROM8001H單元。
⑥CPU再發(fā)出訪問ROM信號(hào),從8001H單元中取出第一條指令的操作碼08H送到累加器A中。
⑦PC內(nèi)容自動(dòng)加1,指向下一個(gè)存儲(chǔ)單元。接下去CPU取出第二條指令,并完成加法運(yùn)算后將結(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)按匯編指令所占存儲(chǔ)器的字節(jié)數(shù)分
按匯編指令所占存儲(chǔ)器的字節(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ù)運(yùn)算指令(24條)。
(3)邏輯運(yùn)算指令(24條)。
(4)控制轉(zhuǎn)移指令(17條)。
(5)位操作指令(17條)。9/24/2024機(jī)電控制技術(shù)8.2.2MCS-51系列單片機(jī)尋址方式
所謂尋址方式是指如何找到存放被操作數(shù)位置(地址)的方法。MCS-51系列單片機(jī)的指令系統(tǒng)提供了7種尋址方式,分別為立即尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對(duì)尋址和位尋址。一條指令可能含有多種尋址方式。
1.立即尋址
將立即參與操作的數(shù)據(jù)直接寫在指令中,這種尋址方式稱為立即尋址。立即尋址的指令中直接含有所需的操作數(shù)。該操作數(shù)可以是8位的,也可以是16位的,常常處在指令的第二字節(jié)和第三字節(jié)的位置上。立即數(shù)通常使用#data或#data16表示,在立即數(shù)前面加“#”標(biāo)志,用以和直接尋址中的直接地址(direct或bit)相區(qū)別。MCS-51系列單片機(jī)中除了一條指令(MOVDPTR,#data16)是16位長(zhǎng)的立即數(shù)外,其余都是8位的立即數(shù)。
例如,MOVA,#32H,若執(zhí)行前(A)=51H,則執(zhí)行后(A)=32H?!?”號(hào)表示其后面的數(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)部的某個(gè)工作寄存器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ù)對(duì)應(yīng)不同的寄存器組的組號(hào),例如,RS0和RS1分別取“1”和“0”時(shí),對(duì)應(yīng)寄存器組的第2組。9/24/2024機(jī)電控制技術(shù)4.寄存器間接尋址
寄存器間接尋址是指以指定的地址寄存器的內(nèi)容作為地址,并以該地址所指定的存儲(chǔ)單元數(shù)據(jù)為指令的操作對(duì)象。MCS-51系列單片機(jī)的地址寄存器只能為R0、R1和DPTR。當(dāng)以R0或R1為地址寄存器時(shí),可以尋址內(nèi)部RAM的地址空間00H~FFH內(nèi)的256B個(gè)單元,以及外部RAM頁(yè)內(nèi)地址空間的256B個(gè)單元,頁(yè)內(nèi)地址為P2的內(nèi)容;以16位寄存器DPTR作為間接尋址寄存器時(shí),可尋址外部存儲(chǔ)器的64KB地址空間。例如,MOVXA,@DPTR的含義是把DPTR中的內(nèi)容作為地址,按這個(gè)地址找到的外部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)容是地址偏移量,這種尋址方式稱為基址加變址寄存器間接尋址,簡(jiǎn)稱為變址尋址。也就是說,在寄存器間接尋址中,地址放在寄存器的某個(gè)單元里,如果地址不是放在一個(gè)寄存器里,而是放在兩個(gè)寄存器里,兩個(gè)寄存器中存放的地址之和形成一個(gè)新的地址,按照這個(gè)地址可以找到操作數(shù)。
6.相對(duì)尋址
將程序計(jì)數(shù)器PC的當(dāng)前值(取出本條指令后的PC值)與指令第二個(gè)字節(jié)給出的偏移量(rel)相加,形成新的轉(zhuǎn)移目標(biāo)地址,這種尋址方式稱為相對(duì)尋址。
相對(duì)尋址是為了實(shí)現(xiàn)程序的相對(duì)轉(zhuǎn)移而設(shè)計(jì)的,為相對(duì)轉(zhuǎn)移指令所使用,其指令碼中含有相對(duì)地址偏移量,能生成浮動(dòng)代碼。例如,SJMPrel;(PC)←(PC)+2+rel,其也可以表示作為相對(duì)轉(zhuǎn)移指令的目的地址=指令地址+指令字節(jié)數(shù)+偏移量
9/24/2024機(jī)電控制技術(shù)7.位尋址
MCS-51系列單片機(jī)中設(shè)有獨(dú)立的位處理器,可對(duì)尋址的位進(jìn)行處理。在指令系統(tǒng)中共有17條位操作指令。位操作指令中的操作數(shù)僅允許采用位尋址方式。位尋址方式類似于直接尋址方式,同樣是在指令中直接給出操作數(shù)的地址。每一種尋址方式所對(duì)應(yīng)的尋址空間見表8-3。9/24/2024機(jī)電控制技術(shù)9/24/2024機(jī)電控制技術(shù)8.2.3MCS-51系列單片機(jī)匯編語(yǔ)言的程序設(shè)計(jì)
例8-2在MCS-51系列單片機(jī)最小系統(tǒng)的基礎(chǔ)上,實(shí)現(xiàn)一個(gè)發(fā)光二極管的閃爍。9/24/2024機(jī)電控制技術(shù)
如圖8-4所示為發(fā)光二極管閃爍的電路圖。
相應(yīng)程序代碼如下:
ORG2000H
MAIN:
SETBP0.0 ;讓P0.0置1
CALLDELAY ;調(diào)用延時(shí)程序
CLRP0.0 ;讓P0.0置0
CALLDELAY ;調(diào)用延時(shí)程序
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ī)存儲(chǔ)器擴(kuò)展在有些場(chǎng)合中,MCS-51系列單片機(jī)內(nèi)部集成的ROM和RAM難以滿足工藝對(duì)系統(tǒng)的要求,用戶必須在單片機(jī)外部擴(kuò)展ROM。MCS-51系列單片機(jī)外部有16條地址線,即P0接口和P2接口,因此,最大尋址范圍為64KB(0000H~FFFFH)。選擇存儲(chǔ)芯片中的單元的方法有單譯碼法和雙譯碼法。(1)單譯碼法。(2)雙譯碼法。把存儲(chǔ)芯片中的基本單元按線性排列,用2N條地址線選擇2N個(gè)存儲(chǔ)單元,這種譯碼的方法稱為單譯碼法。這種方法雖然結(jié)構(gòu)簡(jiǎn)單但是需要太多的地址線。把存儲(chǔ)芯片中的基本單元按矩陣排列,用N條行選擇線和N條列選擇線作為地址線,可以選擇2N×2N個(gè)存儲(chǔ)單元,這種譯碼的方法稱為雙譯碼法。這種方法需要很少的地址線即可實(shí)現(xiàn)尋址,例如,為了尋址64KB的存儲(chǔ)單元,由于這65536個(gè)存儲(chǔ)單元成矩陣排列,因而行和列上需要64+64=128根譯碼器輸出線。9/24/2024機(jī)電控制技術(shù)(1)地址總線。(2)數(shù)據(jù)總線。(3)控制總線。地址總線(adressbus,簡(jiǎn)稱為AB)的功能是傳送地址,其傳送方向是單向的,只能從單片機(jī)內(nèi)部向外部發(fā)送地址信息。數(shù)據(jù)總線(databus,簡(jiǎn)稱為DB)的功能是傳送數(shù)據(jù),其傳送方向是雙向的,既可以從單片機(jī)內(nèi)部向外部發(fā)送數(shù)據(jù)信息,也可以采集外界的信號(hào),從單片機(jī)外部向內(nèi)部發(fā)送數(shù)據(jù)信息??刂瓶偩€(controlbus,簡(jiǎn)稱為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)中的各個(gè)部件都是通過這三類總線傳遞信息。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芯片時(shí),首先必須滿足程序容量,其次在價(jià)格合理情況下盡量選用容量大的芯片。在單片機(jī)應(yīng)用系統(tǒng)硬件設(shè)計(jì)中應(yīng)注意,盡量減少芯片的使用個(gè)數(shù),使得電路結(jié)構(gòu)簡(jiǎn)單,提高可靠性。1.2732芯片
2732芯片的容量為4K×8位。4K表示有4×1024個(gè)存儲(chǔ)單元,8位表示每個(gè)單元存儲(chǔ)數(shù)據(jù)的寬度為8位。前者確定了地址線的位數(shù)為12位(A0~A11),后者確定了數(shù)據(jù)線的位數(shù)為8位(O0~O7)。2732芯片采用+5V供電,最大靜態(tài)工作電流為100mA,維持電流為35mA,讀出時(shí)間最大為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芯片的地址范圍的因素有兩個(gè):一個(gè)是片選端的連接方法,另一個(gè)是ROM芯片的地址線與單片機(jī)地址線的連接。在確定地址范圍時(shí),必須保證片選端為低電平。
例8-3根據(jù)控制要求需要在8051單片機(jī)外部擴(kuò)展32K的ROM,完成系統(tǒng)的硬件設(shè)計(jì)。
解要擴(kuò)展32K的外部ROM,可通過多種方法實(shí)現(xiàn),但應(yīng)該選擇集成度盡可能高的芯片,這樣設(shè)計(jì)的電路結(jié)構(gòu)簡(jiǎn)單易行、可靠性高,所以選擇27256芯片。因?yàn)?051單片機(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對(duì)內(nèi)部RAM具有豐富的操作指令,但是當(dāng)單片機(jī)用于實(shí)時(shí)數(shù)據(jù)采集或處理大批量數(shù)據(jù)時(shí),僅靠?jī)?nèi)部RAM提供的操作指令是遠(yuǎn)遠(yuǎn)不夠的。此時(shí),可以利用單片機(jī)的擴(kuò)展功能,擴(kuò)展外部RAM。
常用的外部RAM包括靜態(tài)RAM(StaticRandomAccessMemory,簡(jiǎn)稱為SRAM)和動(dòng)態(tài)RAM(DynamicRandomAccessMemory,簡(jiǎn)稱為DRAM)。前者的優(yōu)點(diǎn)是讀寫速度高,一般都是8位寬度,易于擴(kuò)展,而且大多數(shù)的RAM和與它相同容量的EPROM的引腳相兼容,有利于印刷板的電路設(shè)計(jì),使用方便;缺點(diǎn)是集成度低、成本高、功耗大。后者的優(yōu)點(diǎn)是EPROM的集成度高、功耗相對(duì)較低;缺點(diǎn)是需要使用EPROM就需要增加一個(gè)刷新電路,增加了額外的成本。
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地址范圍的確定及使用
按照?qǐng)D8-10中的連線,片選端直接與地址線P2.7相連,這種擴(kuò)展方法稱為線選法。顯然,只有P2.7=0,才能夠選中6116芯片。
如果與6116芯片無關(guān)的引腳取0,那么6116芯片的地址范圍為0000H~07FFH;如果與6116芯片無關(guān)的引腳取1,那么6116芯片的地址范圍為7800H~7FFFH。4.單片機(jī)對(duì)外部RAM的讀寫
單片機(jī)對(duì)RAM讀寫的相應(yīng)程序如下:
MOVX @DPTR,A;64KB內(nèi)寫入數(shù)據(jù)
MOVX A,@DPTR;64KB內(nèi)讀取數(shù)據(jù)
除了上述指令外,還可以使用以下指令對(duì)低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è)計(jì)。
解要擴(kuò)展8K的外部RAM,只需選擇一片6264芯片就可以達(dá)到要求。為了實(shí)現(xiàn)時(shí)分復(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í)行某個(gè)程序時(shí),由于有來自CPU外部的事件向CPU提出響應(yīng)請(qǐng)求,因而CPU中止當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而執(zhí)行與外部事件相關(guān)的處理程序,當(dāng)處理響應(yīng)的程序執(zhí)行結(jié)束后,返回被中止執(zhí)行的程序并繼續(xù)執(zhí)行,這種有響應(yīng)請(qǐng)求而改變程序執(zhí)行順序的現(xiàn)象稱為中斷。構(gòu)成中斷的要素包含中斷請(qǐng)求、中斷事件、中斷響應(yīng)、中斷屏蔽斷點(diǎn)和中斷源。9/24/2024機(jī)電控制技術(shù)8.4.2MCS-51系列單片機(jī)中斷系統(tǒng)1.中斷源
2.中斷入口地址3.中斷的優(yōu)先級(jí)是指能產(chǎn)生中斷請(qǐng)求的來源。MCS-51系列單片機(jī)系統(tǒng)中的中斷源包括外部中斷、定時(shí)/計(jì)數(shù)器中斷和串行通信中斷三種類型。中斷源發(fā)出中斷請(qǐng)求后,如果CPU響應(yīng)中斷,就會(huì)執(zhí)行該中斷對(duì)應(yīng)的中斷程序。系統(tǒng)約定了每一種中斷程序存放的地址,這個(gè)地址稱為中斷的入口地址,也稱為中斷矢量。MCS-51系列單片機(jī)的中斷源有5個(gè),由于CPU在任何時(shí)刻只能響應(yīng)一個(gè)中斷請(qǐng)求,因而需要把所有的中斷源分出優(yōu)先級(jí),根據(jù)中斷源的優(yōu)先級(jí),判斷CPU應(yīng)該選擇響應(yīng)哪一個(gè)中斷請(qǐ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ì)一個(gè)單片機(jī)系統(tǒng),要求系統(tǒng)通電以后,1、3、5、7號(hào)發(fā)光二極管點(diǎn)亮。當(dāng)按下按鈕時(shí),1、3、5、7號(hào)發(fā)光二極管熄滅,2、4、6、8號(hào)發(fā)光二極管點(diǎn)亮。9/24/2024機(jī)電控制技術(shù)相應(yīng)程序代碼如下:
ORG0003H
LJMP3000H ;外部中斷發(fā)生時(shí),程序跳轉(zhuǎn)到地址為3000H處執(zhí)行
ORG2000H
MAIN:
MOVP0,#0AAH ;將1、3、5、7號(hào)發(fā)光二極管點(diǎn)亮
SETBEA ;允許全局中斷
SETBEX0 ;允許外部中斷0
SETBIT0 ;把外部中斷0設(shè)置為邊沿觸發(fā)方式
AJMPMAIN
ORG3000H ;中斷程序入口地址
MOVP0,#55H;將1、3、5、7號(hào)發(fā)光二極管,熄滅;將2、4、6、8號(hào)發(fā)光二極管點(diǎn)亮
RETI9/24/2024機(jī)電控制技術(shù)8.5MCS-51系列單片機(jī)的定時(shí)/計(jì)數(shù)器在單片機(jī)系統(tǒng)設(shè)計(jì)中,定時(shí)/計(jì)數(shù)器的應(yīng)用非常廣泛。使用單片機(jī)內(nèi)置的定時(shí)器則可以實(shí)現(xiàn)精確的定時(shí)。定時(shí)器可以用在單片機(jī)串行通信中,而且可以和CPU并行工作,系統(tǒng)工作效率高。定時(shí)器的輸入端如果連接的是振蕩電路的脈沖信號(hào),就可以用來測(cè)量時(shí)間;定時(shí)器的輸入端如果連接的是外部電路的脈沖信號(hào),則可以用來實(shí)現(xiàn)對(duì)外部脈沖的計(jì)數(shù)功能,因此,定時(shí)器也可以作為計(jì)數(shù)器使用。此外,也可以將定時(shí)器和計(jì)數(shù)器聯(lián)合使用,在確定的時(shí)間里統(tǒng)計(jì)信號(hào)的脈沖個(gè)數(shù),從而完成頻率測(cè)量的功能。8.5.1MCS-51系列單片機(jī)定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作方式
1.定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)
定時(shí)/計(jì)數(shù)器是由專用寄存器、方式寄存器和控制寄存器構(gòu)成的。它的結(jié)構(gòu)如圖8-15所示。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)(1)置初值。(2)定方式。(3)開中斷。(4)啟動(dòng)。以方式0為例,預(yù)置初值0,如果不改變初值,定時(shí)時(shí)間=12×?xí)r鐘周期×(213-0),計(jì)算得到的時(shí)間不一定符合系統(tǒng)需要的控制時(shí)間,所以編程者可以在定時(shí)器初始化程序中設(shè)定初值,實(shí)現(xiàn)需要的定時(shí)時(shí)間。通過對(duì)TMOD的M1和M0賦值,可以確定定時(shí)/計(jì)數(shù)器的工作方式。啟動(dòng)可以用軟件啟動(dòng)定時(shí)/計(jì)數(shù)器,也可以用外部引腳啟動(dòng)定時(shí)/計(jì)數(shù)器。開中斷包括開CPU的總中斷和定時(shí)中斷。8.5.2MCS-51系列單片機(jī)定時(shí)/計(jì)數(shù)器的使用
定時(shí)/計(jì)數(shù)器在使用之前要做以下一系列的準(zhǔn)備工作,一般應(yīng)遵循如下步驟:9/24/2024機(jī)電控制技術(shù)例8-6用單片機(jī)內(nèi)部集成的定時(shí)/計(jì)數(shù)器實(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)場(chǎng)的狀態(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ū)動(dòng)的往往是模擬系統(tǒng),如直流電動(dòng)機(jī)、交流電動(dòng)機(jī)等,要輸出模擬量值,需要在單片機(jī)后加D/A轉(zhuǎn)換單元。
1)D/A轉(zhuǎn)換時(shí)間2)D/A轉(zhuǎn)換精度3)D/A轉(zhuǎn)換線性度D/A轉(zhuǎn)換芯片完成一次轉(zhuǎn)換的時(shí)間稱為D/A轉(zhuǎn)換時(shí)間。一般用D/A的建立時(shí)間來描述D/A芯片的特性。D/A的建立時(shí)間是指當(dāng)輸入的數(shù)字量的各位都為“1”時(shí),從接收數(shù)字量的值結(jié)束到輸出端的幅值達(dá)到最大幅值的某個(gè)百分比所需的時(shí)間。D/A轉(zhuǎn)換精度是以最大誤差的相對(duì)滿刻度電壓的百分比來表示的。通常也可用分辨率和D/A的數(shù)字最低位發(fā)生變化時(shí)輸出幅值的變化來描述。D/A轉(zhuǎn)換線性度描述了D/A轉(zhuǎn)換過程中輸入不同數(shù)字量時(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)換器,輸出信號(hào)是電流信號(hào),轉(zhuǎn)換時(shí)間為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è)計(jì)一個(gè)可以產(chǎn)生三角波的信號(hào)發(fā)生器。9/24/2024機(jī)電控制技術(shù)
9/24/2024機(jī)電控制技術(shù)8.6.3MCS-51系列單片機(jī)的鍵盤接口
如果操作者需要單片機(jī)系統(tǒng)實(shí)時(shí)地接收自己的命令,就需要給單片機(jī)加上鍵盤接口。鍵盤一般分為編碼鍵盤和非編碼鍵盤。計(jì)算機(jī)鍵盤就是編碼鍵盤,它集成了消抖、誤碼處理和編碼等功能。單片機(jī)系統(tǒng)一般采用結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉的非編碼鍵盤來提高性價(jià)比;非編碼鍵盤可分為獨(dú)立式按鍵和行列式按鍵。1.獨(dú)立式按鍵
每根I/O接口線上只有一個(gè)按鍵稱為獨(dú)立式按鍵。其優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)方便;缺點(diǎn)是耗費(fèi)接口線。它一般在系統(tǒng)需要按鍵很少的情況下使用。
例8-9使用獨(dú)立式按鍵實(shí)現(xiàn)用4個(gè)按鍵控制4個(gè)燈,要求某個(gè)按鍵按下的時(shí)候,對(duì)應(yīng)的發(fā)光二極管點(diǎn)亮。
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)
多個(gè)發(fā)光二極管封裝在一起就構(gòu)成了LED
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 越南合同范例
- 監(jiān)制出品合同范例
- 廣告中標(biāo)合同范例
- 個(gè)人合伙創(chuàng)業(yè)合同范例
- 檔口抽合同范例
- 塔吊設(shè)備轉(zhuǎn)讓合同范例
- 公司租貨車合同范例
- 代收鋪面租金合同范例
- 美容合伙協(xié)議合同范例
- 杭州房租定金合同范例
- GA/T 832-2014道路交通安全違法行為圖像取證技術(shù)規(guī)范
- 《神的一滴》設(shè)計(jì) 省賽一等獎(jiǎng)
- 項(xiàng)目定位策劃工作指引(商業(yè))
- 中國(guó)古代史概況
- 學(xué)大教育組織架構(gòu)
- 英語(yǔ)單詞詞根記憶大全
- 反不正當(dāng)競(jìng)爭(zhēng)法-課件
- 門禁系統(tǒng)安裝工藝
- 養(yǎng)育男孩版課件
- 試劑耗材驗(yàn)收記錄表
- DB31-T 405-2021 集中空調(diào)通風(fēng)系統(tǒng)衛(wèi)生管理規(guī)范
評(píng)論
0/150
提交評(píng)論