




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
單片機應用實戰培訓1第一頁,共87頁。單片機基礎知識2第二頁,共87頁。3第三頁,共87頁。單片機是用于控制用的.(使用相當廣泛,它屬于一種低端的計算機的控制,高端為嵌入式)對于計算機而言,操作系統要學UNIX,而控制用則學單片機;單片機是面向具體機器的,不同的CPU有不同的指令系統,但基本兼容.4第四頁,共87頁。單片機的發展歷史和發展趨勢一、單片機的發展歷史第一階段(1974~1976):單片機采用雙片形式,即需另加其它外圍電路才能構成完整的微型計算機。eg:仙童公司的F8+3851第二階段(1976~1978):低性能的單片機階段。單片機由一片芯片構成,性能低。eg:MCS-48(Intel);8048,8035(I/O少,存貯器容量小);5第五頁,共87頁。第三階段(1978~):高性能單片機階段。CPU、并行口、串行口、定時器、RAM、ROM、A/D、多級中斷處理,RAM、ROM容量大,I/O種類數量多,尋址范圍大。
eg:MCS-51—8031、Motorona—6801、Zilog—Z8第四階段(1982~)8位單片機鞏固發展及16位單片機推出。
eg:MCS-51—8031,MCS-96—8096(8098)6第六頁,共87頁。二、單片機的發展趨勢(一)CPU功能的增強(二)內部資源增多
1、加大存貯容量。1、雙CPU提高處理能力。2、增加數據總線寬度。NEC
PD—7800系列,內部采用16位數據總線。3、采用流水線結構。指令以隊列形式出現在CPU中。4、串行總線。SPI、I2C用三條數據總線代替8位數據總線,減少引線,降低成本。7第七頁,共87頁。2、片內EPROM開始EEPROM化。鑒于EEPROM中數據寫入后就能永久保存,因此,有的單片機將它作為片內RAM使用,有的甚至作片內通用寄存器。3、I/O數量、能力增強(驅動能力,傳輸速度、控制能力)(四)低功耗化(三)外圍電路內裝化8第八頁,共87頁。單片機的應用與選擇一、單片機的特點
(1)小巧靈活、成本低、易于產品化(2)可靠性高、適用的溫度范圍寬(3)易擴展、控制功能強(4)指令系統相對簡單,較易掌握二、單片機的應用領域
(1)在智能儀表中的應用(2)在機電一體化中的應用(3)在實時控制中的應用(4)在軍工領域的應用(5)在分布式多機系統中應用(6)民用電子產品中的應用9第九頁,共87頁。三、單片機應用系統的結構1、基本系統2、擴展系統復位時鐘單片機輸入輸出設備單片機+輸入/輸出設備無擴展的ROM,RAM,I/O等。
單片機內部資源有限,要求較高的單片機系統需外擴展ROM、RAM、I/O,甚至A/D、D/A等。復位時鐘電源單片機ROMRAMA/D串行接口并行接口D/ABUS10第十頁,共87頁。單片機的特點:即在一塊芯片上集成了CPU、RAM、ROM、定時器/計數器和多種I/O接口電路。由于把上述功能均集成在一塊芯片上,故它的穩定性高,適合于工業控制。11第十一頁,共87頁。2、8051的結構框圖VCCVSSXTAL1XTAL2微處理器(運算部件)CPU
控制部件數據存貯器RAM128BP0口P2口P3口程序存貯器4KB特殊功能寄存器(SFR)中斷系統定時器0定時器1串行口P1口ROM/EPROM外部中斷8888PSENEAALERESETB圖1-18031、8051及8751結構框圖12第十二頁,共87頁。8位CPU;片內振蕩器及時鐘電路;外部RAM和ROM存貯器的尋址范圍為64KB;128字節內部RAM數據存貯器;2個16位的定時器/計數器;1個全雙工的異步串行口,4個8位并行I/O口;5個中斷源、2級中斷優先級的中斷控制器;
13第十三頁,共87頁。常用的單片機產品目前生產單片機的廠商主要有Intel公司、Motorola公司、Philips公司、ATMEL公司、WinBond公司、Microchip公司、AMD公司、Zilog公司等,產品型號規格眾多,性能各具特色。型號ROM/EPROMRAM時鐘速度(MHz)I/O線定時器/計數器串行口中斷源PCA通道A/D通道保密位省電方式8031AH
128B123221500
8051AH4KB128B1232215000
8751BH4KB128B1232215002
8032AH
256B123231600
8052AH8KB256B1232316000
8752BH8KB256B1232316002
87C514KB128B12
2432215003√80C32
256B12
243231600
√80C528KB256B12
2432316001√87C528KB256B12
2432316003√80C5416KB256B12
2432316001√87C5416KB256B12
2432316003√87C5832KB256B12
2432316003√80C51GB
256B12,16483115108
√87C51GB8KB256B12,164831151083√14第十四頁,共87頁。
MCS
51系列單片機的所有產品都含有8051除程序存貯器外的基本硬件,都是在8051的基礎上增減部分資源(程序存貯器、數據存貯器、I/O口、定時/計數器及一些其它特殊部件)。
微處理器(運算部件)CPU
控制部件數據存貯器128BRAMP0口P2口P3口程序存貯器4KB特殊功能寄存器(SFR)中斷系統定時器0定時器1串行口P1口ROM/EPROM外部中斷888PSENEAALERESETBXTAL1XTAL2VCCVSS圖2-2MCS-51系列單片機結構框圖定時器2特殊I/O特殊部件128BRAMnKB8二、MCS-51系列單片機的一般結構15第十五頁,共87頁。1。28051內部結構單片機內部可分為:CPU、存儲器、并行口、串行口、定時器/計算器和中斷邏輯這幾個部分。16第十六頁,共87頁。1。2。1中央處理器1。8051中央處理器由運算器和控制邏輯構成,其中包括若干個特殊功能寄存器。在寄存器中進行加、減、乘、除、和邏輯運算。R0~R7,acc,b等。17第十七頁,共87頁。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW
Cy(PSW.7):進位標志,又是布爾處理機的累加器C。在執行某些算術和邏輯指令時,數據操作結果最高位有進位輸出(加法時)或借位輸入(減法時),則置位Cy,否則清Cy。
AC(PSW.6):輔助進位標志,又稱半進位標志。當進行加減法操作而產生由低4位向高4位進位(加法)或借位(減法)時,則置位AC,否則清AC。
F0、F1(PSW.5、PSW.1):用戶標志。18第十八頁,共87頁。OV(PSW.2):溢出標志。溢出標志位常用于補碼運算,當有符號的兩個數運算結果超出了目的寄存器所能表示的帶符號數的范圍(
128~+127)時置位OV。即當操作結果有進位進入最高位但最高位沒有產生進位,或者最高位產生進位而低位沒有向最高位進位,則置位OV,否則清OV。D7D6D5D4D3D2D1D0CyACF0RS1RS0OVF1PPSW01111111+011111111111111001111000+011001001101110010000000+1000000010000000010001000+10011100100100100方法:如果位6有進位輸出而位7沒有或者位7有進位輸出而 位6沒有則置位OV。19第十九頁,共87頁。eg:(A)=05H 00000101
P=0
(A)=85H10000101
P=1P(PSW.0):寄偶標志。表示累加器ACC的值二進制表示時1的個數,若1的個數為寄數,則置位P,否則清P。eg:(A)=00001110B
P=1注意:ACC中1的個數為奇數并不能表示ACC的值為奇數。20第二十頁,共87頁。RS1RS0工作寄存器組RS1RS0工作寄存器組000組(00H~07H)102組(10H~17H)011組(08H~0FH)113組(18H~1FH)21第二十一頁,共87頁。1)8051的時鐘單片機的時鐘產生方法有內部時鐘方式和外部時鐘方式兩種,大多數單片機應用系統采用內部時鐘方式。它控制著計算機的節奏。MCS-51單片機內有一個反相放大器組成的振蕩器,振蕩頻率主要由外接的石英晶振確定。一般石英晶振的振蕩頻率為12MHz或11.059MHz;1.2MHz~12MHz。一般:C01、C02均為30pF(20~80pF);fosc:12,11.059MHzNMOS、CMOS型單片機22第二十二頁,共87頁。NMOS型單片機外部時鐘電路輸入接線圖CMOS型單片機外部時鐘電路輸入接線圖23第二十三頁,共87頁。2)MCS
51CPU基本時序周期振蕩周期:一般指石英晶體的振蕩周期;時鐘周期:(稱S周期)為振蕩周期的2倍;機器周期:一個機器周期含6個時鐘周期(S周期);指令周期:完成一條指令占用的全部時間。一般由1~4個機器周期組成。CPU的工作是不斷地取指令和執行指令,以完成數據的處理、傳送和輸入/輸出操作。CPU取出一條指令至該指令執行完所需的時間稱為指令周期。指令周期是以機器周期為基本單位的,是機器周期的整數倍。一個機器周期包含12個時鐘周期(S1P1、S1P2、S2P1、S2P2、
、S6P1、S6P2)。
時鐘周期:
時鐘脈沖的間隔。
24第二十四頁,共87頁。一般情況下算術邏輯操作發生在時相P1期間,而寄存器至寄存器之間的數據傳送發生在時相P2期間。引腳ALE輸出信號為MCS
51擴展系統的外部存貯器地址低8位的鎖存信號,在訪問外部程序存貯器的周期內,ALE信號有效兩次(S1P2至S2P1和S4P2至S5P1輸出兩個正脈沖);而在訪問外部數據存貯器的機器周期內,ALE信號有效一次(只在S1P2和S2P1期間產生一個正脈沖)。25第二十五頁,共87頁。26第二十六頁,共87頁。3)指令部件程序計數器PC:是16位的計數器,尋址64KB;指令寄存器IR:用來存放當前正在執行的指令;指令譯碼器:對IR中內容進行分析解釋;數據指針DPTR:為16位地址寄存器,主要用于外部尋址,尋址范圍為64KB。27第二十七頁,共87頁。
51單片機的存貯器MCS
51單片機的存貯器的特點為程序存儲區與數據存儲區是分開的MCS—51系列單片機有五個獨立的存貯空間:64KB程序存貯器空間(0~0FFFFH)64KB外部數據存貯空間(0~0FFFFH)256B內部RAM(0~0FFH);128B內部特殊功能寄存器(80~0FFH)位尋址空間(0~0FFH)包含位尋址地址一、程序存貯器地址指針為16位的程序計數器PC,64KB地址空間,包含內部程序存貯器和外部程序存貯器兩部分。特殊功能寄存器只能用直接尋址方式,內部數據存貯器區80H~0FFH單元只能用寄存器間接尋址方式。地址重疊問題MOVC,MOVX28第二十八頁,共87頁。EA=1(VCC5V),PC值大于某值(由容量決定)為訪問外部程序存貯器;PC值小于某值為訪問內部程序存貯器。EA=0(VSS地),內部程序存貯器被忽略。29第二十九頁,共87頁。二、外部RAM和I/OMCS
51的外部數據存貯器(RAM/IO)空間為64KB字節(地址為0000H~0FFFFH),一般通過16位的數據指針DPTR來訪問,且外部RAM和外部I/O的地址安排是統一編址的,CPU對其有相同的操作功能。00H7FH80HFFH0000HFFFFH內部WRRDSFR外部30第三十頁,共87頁。三、內部RAM數據存貯器內部RAM數據存貯器可劃分為三個區域:工作寄存區00H~1FH(R0~R7)
位尋址區20H~2FH
堆棧和數據緩沖區30H~7FH
PSW.3PSW.4000區00H~07H0 11區08H~0FH1 02區10H~17H1 13區18H~1FH
CPU當前使用的工作寄存器區由程序狀態字PSW的3、4位決定。位尋址區16個單元的每一位都有一個位地址(16*8)。在實際應用中,往往需要一個后進先出(LIFO)的RAM緩沖器用于保護CPU的現場,這種后進先出的緩沖器稱之為堆棧。堆棧的棧頂位置由堆棧指針SP確定。31第三十一頁,共87頁。五、特殊功能寄存器MCS—51內部的I/O口鎖存器以及定時器、串行口、中斷等各種控制寄存器和狀態寄存器都稱為特殊功能寄存器。地址80H~0FFH
見特殊功能寄存器地址表。32第三十二頁,共87頁。表2
5特殊功能寄存器列表標示符名稱地址ACCBPSWSPDPTRP0P1P2P3IPIETMODTCON*T2CONTH0TL0TH1TL1*TH2*TL2*RLDH*RLDLSCONSBUFPCON累加器B寄存器程序狀態字堆棧指針數據指針(包括DPH和DPL)I/O口0I/O口1I/O口2I/O口3中斷優先級控制中斷允許控制定時器/計數器工作方式控制定時器/計數器控制定時器/計數器2控制定時器/計數器0定時常數(高位字節)定時器/計數器0定時常數(低位字節)定時器/計數器1定時常數(高位字節)定時器/計數器1定時常數(低位字節)定時器/計數器2定時常數(高位字節)定時器/計數器2定時常數(低位字節)定時器/計數器2自動再裝載(高位字節)定時器/計數器2自動再裝載(低位字節)串行口控制串行數據接收、發送緩沖器電源控制0E0H0F0H0D0H81H83H和82H80H90H0A0H0B0H0B8H0A8H89H88H0C8H8CH8AH8DH8BH0CDH0CCH0CBH0CAH98H99H87H33第三十三頁,共87頁。六、位存貯器
20H~2FH單元以及特殊功能寄存器中地址為8的倍數的特殊功能寄存器可以位尋址。其每一位都有一個字節地址。地址位地址D7D6D5D4D3D2D1D020H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH07H0FH17H1FH27H2FH37H3FH47H4FH57H5FH67H6FH77H7FH06H0EH16H1EH26H2EH36H3EH46H4EH56H5EH66H6EH76H7EH05H0DH15H1DH25H2DH35H3DH45H4DH55H5DH65H6DH75H7DH04H0CH14H1CH24H2CH34H3CH44H4CH54H5CH64H6CH74H7CH03H0BH13H1BH23H2BH33H3BH43H4BH53H5BH63H6BH73H7BH02H0AH12H1AH22H2AH32H3AH42H4AH52H5AH62H6AH72H7AH01H09H11H19H21H29H31H39H41H49H51H59H61H69H71H79H00H08H10H18H20H28H30H38H40H48H50H58H60H68H70H78H34第三十四頁,共87頁。
51單片機的外部引腳制造工藝為HMOS的系列單片機大都采用40條引腳的雙列直插式封裝(DIP).
P0I/OP2I/OI/OP1I/OP3VccALEPSENEARSTXTAL1XTAL2Vss圖2
3b邏輯符號803180518751圖2
3aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31322P2.121P2.023P2.230ALE/PROG35第三十五頁,共87頁。輸入/輸出接口是CPU外設間信息的橋梁,它可以制成一塊單獨的大規模集成電路,也可以和CPU集成在同一塊芯片上,單片機中就是后一種結構。內部并行I/O端口8031有四個并行端口,分別命名為P0、P1、P2和P3。這四個并行I/O端口的內部位結構如圖所示,每個端口皆有八位。由圖可見,每個位結構都有一個輸出鎖存器和一個輸入緩沖器。輸出鎖存器,用于存放需要輸出的數據。36第三十六頁,共87頁。每個端口的八位輸出鎖存器構成一個特殊功能寄存器,且冠名與端口相同。輸入緩沖器用于對端口引腳上輸入數據進行緩沖,因此各引腳上輸入的數據必須一直保持到CPU把它讀走為止。P0、P1、P2和P3端口的電路形式不同,其功能也不同。下面結合電路結構就其功能加以說明。一、P0口
在訪問外部存儲器時,P0口是一個真正的雙向數據口,并分時送出地址的8位和送出(接收)相應存儲單元的數據。37第三十七頁,共87頁。圖1
1(a)是P0口的位結構圖,它包括一個輸出鎖存器,兩個三態緩沖器,一個輸出驅動電路和一個輸出控制電路。&MUX鎖存器DQCPQ讀鎖存器內部總線寫入讀引腳地址/數據控制vccP0.x(a)p0口電路邏輯38第三十八頁,共87頁。
當從P0口輸出地址或數據時,控制信號應為高電平1,模擬轉換開關(MUX)把地址/數據信息經反相器和下拉場效應管接通,同時與門打開。輸出的地址或數據既通過與門去驅動上拉場效應管,又通過反相器去驅動下拉場效應管。例如,若地址/數據信息為“0”,該“0”信號一方面通過與門使上拉場效應管截止,另一方面經反相器使下拉場效應管導通,從而使引腳上輸出相應的“0”信號,反之,若地址/數據信息為“1”,將會使上拉場效應管導通而下拉場效應管截止,引腳上將出現相應的“1”信號。39第三十九頁,共87頁。若P0口作為一般I/O口使用,在CPU向端口輸出數據時,對應的輸出控制信號應為0,模擬轉換開關將把輸出級與鎖存器Q端接通。同時,因與門輸出為0,使上拉場效應管處于截止狀態,因此輸出級是漏極開路電路。這樣,當寫脈沖加在觸發器時針端CP上時,則與內部總線相連的D端數據取反后就出現在Q端,再經場效應管反相,在P0引腳上出現的數據正好是內部總線的數據。不難看出,P0口在輸出地址/數據信息和作為一般I/O口輸出數據時,其輸出驅動電路的工作狀態是有差別的。40第四十頁,共87頁。一般P0口的輸出級能驅動8個LSTTL輸入,但對NMOS輸入而言,P0口做地址/數據總線口使用時,不必外加提升電阻。而作一般I/O口使用時,由于輸出驅動電路工作于開漏狀態,故需外接上拉電阻。當P0口引腳上輸入數據,此時上拉FET應一直處于截止狀態。引腳上的外部信號即加在下面一個三態緩沖器的輸入端,又加在下拉FET的漏極,假定在此之前曾輸出鎖存過數據0,則FET是導通的,這樣引腳上的電位就始終被鉗位在0電平,使輸入高電平無法讀入。因此作為一般I/O口使用時,P0口是一個準雙向口,即輸入數據時,應先向口寫“1”,使兩個FET均截止,然后方可作高阻抗輸入。41第四十一頁,共87頁。但在P0口連接外部存儲器時,由于訪問外部存儲器期間,CPU會自動向口0的鎖存器寫入0FFH,所以,對用戶而言,P0口用作地址/數據總線時,則是一個真正的雙向口。上面所述為數據由引腳輸入的情況,稱為“讀引腳”操作。但在有些情況下,例如用一根口線去驅動一個晶體管的基極,則向此口線寫“1”時,晶體管導通,并把引腳上的電平拉低,這時若從引腳上讀取數據,會把此數據錯讀為0。為了避免錯讀引腳上電平的可能性,單片機中還提供了另一類所謂“讀鎖存器”操作。42第四十二頁,共87頁。這類操作的特點是:先讀口,隨之可對讀入的數據進行修改,然后再寫到端口上。例如執行指令ORLP0,A時,則先把P0上的內容讀入CPU,然后與A累加器內容按位進行邏輯“或”操作,最后把“或”的結果送回P0口。能使單片機產生這種讀-修改-寫操作的指令,其目的操作數一般為某I/O口或口的某一位,這些指令是:ANL,ORL,XRL,JBC,CPL,INC,DEC,DJNZ,MOVPX·Y,C,CLRPX·Y和SETBPX·Y等,它們的含義詳見指令系統一章的說明。43第四十三頁,共87頁。綜上所述,P0口既可作地址/數據總線口,這時它是真正的雙向口,也可作通用I/O口,但只是一個準雙向口。一般情況下,P0口已當作地址/數據口使用時,就不能再作通用I/O口使用。P2口的位結構如圖1-1(b)所示,它與P0口基本相同,只有輸出部分略有不同,在輸出FET的漏極接有上拉電阻,這種結構不必外接上拉電阻就可驅動任何MOS輸入電路,且能驅動四個LSTTL輸入。P2口常用作外部存儲器的高八位地址口。當不用作地址口時,P2口亦可作通用I/O口,這時它也是一個準雙向I/O口。
二、P2口44第四十四頁,共87頁。
vccP2X地址(b)p2口電路邏輯MUX鎖存器DQCPQ讀鎖存器內部總線寫入讀引腳控制45第四十五頁,共87頁。三、P1口(c)p1口電路邏輯鎖存器DQCPQ讀鎖存器內部總線寫入讀引腳vccP1XP1口的位結構如圖5-1(c)所示,它與P2口基本相同,只是少了一個轉換器(MUX)和一個反相器,且為使邏輯上的一致將鎖存器的Q與輸出FET相連。P1口常用作通用I/O口,它是一個標準的準雙向口,即作輸入口使用時必須先給鎖存器置1。46第四十六頁,共87頁。四、P3口P3口是一個雙功能口,第一功能和P2口一樣可作為通用I/O口。P3口工作于第二功能時,各位的定義如下:P3·0RxD(串行輸入通道)P3·1TxD(串行輸出通道)P3·2INT0(外中斷0)P3·3INT1(外中斷1)P3·4T0(定時器0外部輸入)P3·5T1(定時器1外部輸出)P3·6WR(外部數據存儲器寫選通)P3.7RD(外部數據存儲器讀選通)
47第四十七頁,共87頁。&鎖存器DQCPQ讀鎖存器內部總線寫入讀引腳第二輸出功能(d)p3口電路邏輯第二輸入功能vccP3.x48第四十八頁,共87頁。
由圖1-1(d)P3口位結構可以看出,實現第一功能作通用I/O輸出口時,選擇輸出功能端應保持高電平,使與非門對鎖存器Q端是暢通的。同理,實現第二功能做專用信號輸出時,則該位的鎖存器應置1,使與非門對選擇輸出功能端是暢通的。對輸入而言,無論該位是作通用輸入口還是作第二功能輸入口,其輸出鎖存器和選擇輸出功能端都應置1,即使FET截止。
由于所有口鎖存器在上電復位時均置為1,自然滿足了上述條件,所以用戶不必做任何工作,就可以直接使用P3口的第二功能。至于第一功能,應在確信某一引腳第二功能提供的信號不用時,該引腳才可作I/O線使用,使用方法同與一般準雙向口相同。
49第四十九頁,共87頁。1.MCS
51單片機的串行口
MCS
51系列單片機的串行口是全雙工的,這個口既可以用于網絡通信,也可以實現串行異步通信,還可以作為同步移位寄存器使用。50第五十頁,共87頁。在串行口中可供用戶使用的是它的寄存器,因此了解其寄存器結構對用戶來說是十分重要的。一、串行口寄存器結構發送SBUF(99H)接收SUBF(99H)輸入移位寄存器TI(發送中斷)TXD串行輸出8051內部總線RXD串行輸入RI(接收輸入)移位時鐘圖1-23MCS-51串行口寄存器結構51第五十一頁,共87頁。2。定時器/計數器
MCS
51單片機內部有兩個可編程的定時器/計數器,分別稱為定時器/計數器0和定時器/計數器1。它們都是16位加法計數結構,分別由TH0和TL0及TH1和TL1兩個8位計數器組成。52第五十二頁,共87頁。
一、計數功能計數是指對外部事件進行計數。外部事件的發生以輸入脈沖表示,因此計數功能的實質就是對外來脈沖進行計數。MCS
51芯片有T0(P3.4)和T1(P3.5)兩個信號引腳,分別是這兩個計數器的輸入端。外部輸入的脈沖為負跳變時有效,進行計數器加1。單片機在每個機器周期的S5P2拍節對外部計數脈沖進行采樣。如果前一個機器周期采樣為高電平,后一個機器周期采樣為低電平,即為一個有效脈沖。在下一個機器周期的S3P1進行計數。可見采樣計數脈沖是在2個機器周期進行的。因此,計數脈沖的頻率不能高于震蕩脈沖頻率的1/24。外部輸入脈沖高電平和低電平時間必須在一個機器周期以上。53第五十三頁,共87頁。
二、定時功能定時功能也是通過定時器/計數器的計數來實現的。不過此時的計數脈沖來自單片機內部,即每個機器周期產生一個計數脈沖,也就是每個機器周期計數器加1。由于一個機器周期等于12個振蕩脈沖周期,因此計數頻率為振蕩頻率的1/12。這樣不但可以根據計數值計算出定時時間,也可以反過來按定時時間的要求計算出計數器的初值。54第五十四頁,共87頁。
3.MCS-51中斷系統與控制MCS
51的51子系列(8031、8051、8751等)有5個中斷源,52子系列(8032、8052等)有6個中斷源,它們均有兩個優先級,通過4個中斷控制器(IE、IP、TCON、SCON)進行中斷管理8051單片機的5個中斷源分為兩種類型:一類是外部中斷源,包括INT0和INT1;另一類是內部中斷源,包括兩個定時器/計數器(T0和T1)的溢出中斷和串行口的發送/接收中斷。55第五十五頁,共87頁。
51單片機的外部引腳制造工藝為HMOS的系列單片機大都采用40條引腳的雙列直插式封裝(DIP).
P0I/OP2I/OI/OP1I/OP3VccALEPSENEARSTXTAL1XTAL2Vss圖1
8b邏輯符號803180518751圖1
8aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31322P2.121P2.023P2.230ALE/PROG56第五十六頁,共87頁。一、電源及時鐘引腳Vcc(40腳):接+5V電源;
Vss(20腳):接地;
XTAL1(19腳):接外部晶體的一個引腳;
XTAL2(18腳):接外部晶體的另一端;時鐘引腳(18、19腳)外接晶體時與片內的反相放大器構成一個振蕩器,它提供單片機的時鐘控制信號。時鐘引腳也可外接晶體振蕩器。
圖2
3aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31321P2.022P2.123P2.230ALE/PROG57第五十七頁,共87頁。二、控制引腳
RST/VPD(9腳)當振蕩器運行時,在此引腳加上兩個機器周期的高電平將使單片機復位(RST);
ALE/PROG(30腳)當單片機訪問外部存貯器時,ALE(地址鎖存允許)輸出脈沖的下降沿用于鎖存16位地址的低8位。即使不訪問外部存貯器,ALE端仍有周期性正脈沖輸出,其頻率為振蕩器頻率的1/6;
PSEN(29腳)此輸出為訪問外部程序存貯器的讀選通信號;
30ALE/PROG23P2.222P2.121P2.0圖2
3aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31358第五十八頁,共87頁。30ALE/PROG23P2.222P2.121P2.0圖2
3aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.313
EA/Vpp(31腳)當EA端保持高電平時,單片機訪問的是內部程序存貯器(對8051、8751來說),但當PC(程序計數器)值超過某值(如8751內部含有4KBEPROM,值為0FFFH)時,將自動轉向執行外部程序存貯器內的程序。當EA端保持低電平時,則不管是否有內部程序存貯器而只訪問外部程序存貯器。59第五十九頁,共87頁。三、輸入/輸出引腳
P0口(P0.0~P0.7)為雙向8位三態I/O口,當作為I/O口時,可直接連接外部I/O設備。它是地址總線低8位及數據總線分時復用口,可驅動8個TTL負載。一般作為擴展時地址/數據總線;
P1口(P1.0~P1.7)為8位準雙向I/O口,可定義為輸入線或輸出線(作為輸入時,口鎖存器必須置1),可驅動4個TTL負載;30ALE/PROG23P2.222P2.121P2.0圖2
3aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31360第六十頁,共87頁。P2口(P2.0~P2.7)為8位準雙向I/O口,當作為I/O口時,可直接連接外部I/O設備。它是與地址總線高8位復用,可驅動4個TTL負載。一般作為擴展時地址總線的高8位,可驅動4個TTL負載。
P3口(P3.0~P3.7)為8位準雙向I/O口,是雙功能復用口,可驅動4個TTL負載。
30ALE/PROG23P2.222P2.121P2.0圖2
3aMCS-51引腳圖P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RxDP3.010TxDP3.111INT0P3.212T0P3.414WRP3.616RDP3.717XTAL218XTAL119Vss2039P0.038P0.137P0.236P0.335P0.434P0.533P0.632P0.731EA/Vpp29PSEN28P2.727P2.626P2.525P2.424P2.340Vcc803180518751P1.01T1P3.515INT1P3.31361第六十一頁,共87頁。(a)1。MCS
51單片機的復位方式復位電路:使CPU和系統中的其它部件都處于一個確定的初始狀態,并從這個初始狀態開始工作。上電復位電路上電復位和開關電路系統復位電路(b)復位原理:使RST引腳為足夠長的高電平時間。62第六十二頁,共87頁。3。MCS-51單片機的單步工作方式單步工作方式,即單步執行:就是由外來脈沖控制程序的執行,使之達到來一個脈沖就執行一條指令的目的。而外來脈沖是通過按鍵產生的,因此實際上單步執行就是按一次鍵執行一條指令。
假定利用外部中斷0來實現程序的單步執行,為此應事先作好兩項準備工作:①
建立單步執行的外部控制電路;②編寫外部中斷0的中斷服務程序。
63第六十三頁,共87頁。+5V1K
單脈沖電路
8031
INT0利用中斷實現單步操作
CLRIT0;設置外部中斷0為電平觸發SETBEA ;CPU開中斷SETBPX0 ;置外部中斷0為高優先級SETBEX0 ;外部中斷0開中斷其初始化程序如下:JBP3.2,$ ;INT0=1則原地踏步JNBP3.2,$;INT0=0則原地踏步RETI ;返回主程序
外部中斷0的中斷服務程序如下:
注意:MCS
51的中斷機制有這樣的特點,即從中斷服務程序返回主程序后,至少要執行一條指令,然后才能再響應新的中斷。64第六十四頁,共87頁。4。低功功耗操作方式。65第六十五頁,共87頁。1.1MCS
51并行擴展總線MCS
51系統單片機(8031、8032除外)盡管是一功能完全的單片機,但因其內部資源(RAM、ROM、I/O、A/D、D/A等)不足,在實際應用中不加以擴展直接用其基本系統的情況較少,一般情況下需擴展。一、MCS
51并行擴展 總線方法
MCS
51可以擴展64KB的程序存貯器和64KB的數據存貯器或輸入/輸出口。
803180518751P2ALEP0PSENWRRDD0~D7A0~A7A8~A15地址總線數據總線控制總線地址鎖存器66第六十六頁,共87頁。P0、P2口可以直接作為輸入輸出使用,其更重要的用途是用來擴展總線口使用。
P0口作為地址(地址低8位)/數據(D0~D7)總線口。
P2口作為地址總線口(地址高8位)。803180518751P2ALEP0PSENWRRDD0~D7A0~A7A8~A15地址總線數據總線控制總線地址鎖存器67第六十七頁,共87頁。PSENMCS—51P2,P0 RD WR外部程序存貯器擴展RAM并行I/O接口串行I/O接口A/D轉換D/A轉換定時器計數器外部數據存貯器擴展并行I/O設備串行I/O設備模擬量輸入模擬量輸出擴展總線外部程序存貯器用PSEN作為讀選通信號外部數據存貯器用RD和WR作為讀/寫選通信號★
68第六十八頁,共87頁。69第六十九頁,共87頁。70第七十頁,共87頁。MCS
51訪問外部存貯器時序波形可以看出,輸出的地址當ALE上升以后有效,當ALE下降以后消失,因此可以用ALE的負跳變將地址打入地址鎖存器,即當ALE由高變低時,將出現在P0口的地址信號低8位鎖存到外部地址鎖存器中(如圖6
1所示),直到下一次ALE變高時,地址才發生變化。用74LS373作地址鎖存器D0...D7Q0...Q7鎖存器三態門(a)74LS373邏輯符號GEINOUT19A716A69A35A12A0D0.0D0.1D0.2D0.3D0.4D0.5D0.6D0.78D7D6D5D4D3D2D1D321834143317351336837738439315A512A46A28Q7Q6Q5Q4Q3Q2Q1QGALE+5V20GND11074LS37330803180518751(b)MCS
51地址擴展電路Vcc11EN71第七十一頁,共87頁。二、地址譯碼方法
(一)線選法一般片選端(CS、CE等)低電平有效,只要連接片選信號端的引線狀態為低電平,就表示選中該芯片。在確定地址時,該芯片未用到的地址線為1,用到的地址線由所訪問的芯片和單元確定。線選法有可能產生地址重疊:若片選線中除和存貯芯片CS相連的以外還存在懸空的片選線,則存貯單元的地址就有重疊現象;否則,存貯單元的地址就是唯一的。72第七十二頁,共87頁。(二)全地址譯碼法全地址譯碼就是將系統中未用到的全部高位地址作為譯碼信號的輸入端,由此產生的譯碼輸出信號作為選片信號的一種譯碼方式。在全地址譯碼法中,存貯器每個存貯單元只有唯一的一個CPU地址和它一一對應,只要單片機發出這個地址就可選中該存貯單元工作,故不存在地址重疊現象。73第七十三頁,共87頁。(三)部分地址譯碼法部分地址譯碼法是指單片機片選線中只有一部分參加了譯碼,其余部分是懸空的,在實際應用中這種使用方式不太多。當使用部分地址譯碼法時,無論CPU使懸空片選地址線上電平如何變化,都不會影響它對存貯單元的選址,故存貯器每個存貯單元的地址不是唯一的,必然會有一個以上的CPU地址和它對應(既地址有重疊)。采用部分地址譯碼法時必須把程序和數據放在基本地址范圍內(即懸空片選地址線全為低電平時存貯芯片的地址范圍),以避免因地址重疊引起程序運行的錯誤。74第七十四頁,共87頁。1.2MCS
51存貯器的擴展對于用內部無ROM的芯片8031,8032來建立系統,則必須外部擴展程序存貯器。對于僅靠內部ROM,其ROM容量不能滿足要求的情況,則可外部擴展程序存貯器。程序存貯器的作用:用于存貯程序代碼或程序常數。75第七十五頁,共87頁。1、程序存貯器擴展的基本原理(二)MCS—51程序存貯器的擴展方法“某一值”由內部程序存貯器的容量決定。PC≤某一值,CPU從內部存貯器中取指令PC>某一值,CPU從外部存貯器中取指令EA=1EA=0CPU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝考生體態管理制度
- 蘇州鍋爐房管理制度
- 課件學習-操作指南
- 財務會計與管理知識分析模擬題
- 視覺感知生物識別領域應用分析
- 自動控制原理第2章練習題
- 河南省平頂山市魯山縣五所學校2025屆九年級下學期中考三模生物試卷(含答案)
- 財務會計實務11財務報表教案
- 2025年android通知!2025中級Android開發面試解答最強技術實現
- 山東遺傳生物題目及答案
- 國家開放大學本科《理工英語4》一平臺機考第五大題寫作題總題庫
- 物理必修一第一章章末檢測卷(一)
- 三年級上冊第一單元習作課件
- 中醫藥膳學:中醫藥膳制作的基本技能課件
- QC的手袋之驗貨程序
- 如何審議預算及其報告新演示文稿
- 融資并購項目財務顧問協議賣方大股東為個人模版
- 文化差異與跨文化交際課件(完整版)
- ISO2768-1中文版公差表
- 精裝項目施工策劃
- 路基交驗具體要求(共5頁)
評論
0/150
提交評論