51單片機基本概念_第1頁
51單片機基本概念_第2頁
51單片機基本概念_第3頁
51單片機基本概念_第4頁
51單片機基本概念_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、一、中央處理器(CPU),隨機存儲器(RAM),只讀存儲器(ROM),定時器計數(shù)器以及IO接口,串并通信等接口電路的功能集成與一塊電路芯片的微型計算機。Ø 單片機硬件系統(tǒng)仍然依照體系結構:包括 CPU(進行運算、控制)、RAM(數(shù)據(jù)存儲器)、ROM(程序存儲器)、輸入設備和輸出設備、內(nèi)部總線等。Ø 由于一塊尺寸有限的電路芯片實現(xiàn)多種功能,所以制作上要求單片機的高性能,結構簡單,工作可靠穩(wěn)定。Ø 單片機軟件系統(tǒng)包括監(jiān)控程序,中斷、控制、初始化等用戶程序。Ø 一般編程語言有匯編語言和C語言,都是通過編譯以后得到機器語言(二進制代碼)。Ø 典型單片機

2、有MCS-51、MSP430、EM78、PIC、Philip、Motorola、AVR等。Ø MCS-51為主流,52系列是增強版;Ø MSP430為低功耗產(chǎn)品,功能較強;Ø EM78為低功耗產(chǎn)品,價格較低;Ø PIC為低電壓、低功耗、大電流LCD驅動、低價格產(chǎn)品;Ø Motorola是世界上最大的單片機生產(chǎn)廠家之一,品種全、選擇余地大、新產(chǎn)品多。其特點是噪聲低,抗干擾能力強,比較適合于工控領域及惡劣的環(huán)境。Ø AVR為高速、低功耗產(chǎn)品,支持ISP、IAP,I/O口驅動能力較強。二、開發(fā)步驟:Ø 1.設計單片機系統(tǒng)的電路(最

3、小系統(tǒng)和外圍電路)Ø 2.利用軟件開發(fā)工具(例如:PIC系列的Maplab IDE,MCS-51系列的Keil c51)編輯程序,通過編譯得到.hex的機器語言。Ø 3.利用單片機仿真系統(tǒng)(例如:Protus)對單片機最小系統(tǒng)以及設計的外圍電路,進行模擬的硬軟件聯(lián)合調試。Ø 4.借助單片機開發(fā)工具軟件燒寫設備將仿真中調試好的.hex程序拷到單片機的程序存儲器里面。(在線下載)Ø 5.根據(jù)設計搭建單片機系統(tǒng)。MCS-51單片機的組成: CPU(進行運算、控制)、RAM(數(shù)據(jù)存儲器)、ROM(程序存儲器)、I/O口(串口、并口)、內(nèi)部總線 和中斷系統(tǒng)等。組成

4、框圖如下:1. 中央處理器(CPU)組成:運算器、控制器。8051的CPU包含以下功能部件: (1)8位CPU。 (2)布爾代數(shù)處理器,具有位尋址能力。 (3)128B內(nèi)部RAM數(shù)據(jù)存儲器,21個專用寄存器。 (4)4KB內(nèi)部掩膜ROM程序存儲器。 (5)2個16位可編程定時器/計數(shù)器。 (6)32個(4×8位)雙向可獨立尋址的I/O口。 (7)1個全雙工UART(異步串行通信口)。 (8)5個中斷源、兩級中斷優(yōu)先級的中斷控制器。 (9)時鐘電路,外接晶振和電容可產(chǎn)生1.2MHz12 MHz的時鐘頻率。 (10)外部程序/數(shù)據(jù)存儲器尋址空間均為64KB。 (11)111條指令,大部分

5、為單字節(jié)指令。 (12)單一+5V電源供電,雙列直插40引腳DIP封裝。 (1)運算器組成:8位算術邏輯運算單元ALU(Arithmetic Logic Unit)、8位累加器A(Accumulator)、8位寄存器B、程序狀態(tài)字寄存器PSW(Program Status Word)、8位暫存寄存器TMP1和TMP2等。功能:完成算術運算和邏輯運算。(2)控制器組成:程序計數(shù)器PC(Program Counter)、指令寄存器IR(Instruction Register)、指令譯碼器ID(Instruction Decoder)、堆棧指針SP、數(shù)據(jù)指針DPTR、定時控制邏輯和振蕩器OSC等電

6、路。功能:CPU根據(jù)PC中的地址將欲執(zhí)行指令的指令碼從存儲器中取出,存放在IR中,ID對IR中的指令碼進行譯碼,定時控制邏輯在OSC配合下對ID譯碼后的信號進行分時,以產(chǎn)生執(zhí)行本條指令所需的全部信號。 MCS-51的存儲器可分為程序存儲器和數(shù)據(jù)存儲器,又有片內(nèi)和片外之分。(1)程序存儲器 一般將只讀存儲器(ROM)用做程序存儲器??蓪ぶ房臻g為64KB,用于存放用戶程序、數(shù)據(jù)和表格等信息。(2)數(shù)據(jù)存儲器 一般將隨機存儲器(RAM)用做數(shù)據(jù)存儲器??蓪ぶ房臻g為64KB。MCS-51數(shù)據(jù)存儲器可分為片內(nèi)和片外兩部分。片外RAM: 最大范圍:0000HFFFFH,64KB;用指令MOVX訪問。片內(nèi)R

7、AM: 最大范圍:00HFFH,256B;用指令MOV訪問。又分為兩部分:低128B(007FH)為真正的RAM區(qū),高128B(80FFH)為特殊功能寄存器(SFR)區(qū)。如右圖所示。內(nèi)部RAM的20H2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進行尋址。位地址為00H7FH。 CPU能直接尋址這些位(稱MCS-51具有布爾處理功能)特殊功能寄存器(SFR) MCS-51有21個特殊功能寄存器(也稱為專用寄存器),包括算術運算寄存器、指針寄存器、I/O口鎖存器、定時器/計數(shù)器、串行口、中斷、狀態(tài)、控制寄存器等,它們被離散地分布在內(nèi)部RAM的80HFFH地址單元中(不包括PC)

8、 ,共占據(jù)了128個存儲單元,構成了SFR存儲塊。其字節(jié)地址可被8整除的SFR可位尋址。SFR反映了MCS-51單片機的運行狀態(tài)。(1)程序計數(shù)器PC(Program Counter) 程序計數(shù)器PC在物理上是獨立的,它不屬于SFR存儲器塊。 PC是一個16位的計數(shù)器,專門用于存放CPU將要執(zhí)行的指令 地址(即下一條指令的地址),尋址范圍為64KB,PC有自動 加1功能,不可尋址,用戶無法對它進行讀寫,但是可以通過 轉移、調用、返回等指令改變其內(nèi)容,以控制程序執(zhí)行的順序(2)累加器A (Accumulator) 累加器A是8位寄存器,又記做ACC,是一個最常用的專用寄存器。在算術/邏輯運算中用

9、于存放操作數(shù)或結果。(3)寄存器B 寄存器B 是8位寄存器,是專門為乘除法指令設計的,也作通用寄存器用。(4)工作寄存器 內(nèi)部RAM的工作寄存器區(qū)00H1FH共32個字節(jié)被均勻地分成四個組(區(qū)),每個組(區(qū))有8個寄存器,分別用R0R7表示,稱為工作寄存器或通用寄存器,其中,R0、R1還經(jīng)常用于間接尋址的地址指針。在程序中通過程序狀態(tài)字寄存器(PSW)第3、4位設置工作寄存器區(qū)。(5)程序狀態(tài)字PSW (Program Status Word) 程序狀態(tài)字PSW是8位寄存器,用于存放程序運行的狀態(tài)信息,PSW中各位狀態(tài)通常是在指令執(zhí)行的過程中自動形成的,但也可以由用戶根據(jù)需要采用傳送指令加以改

10、變。其定義格式如下頁表所示。Cy:進借位標志; AC:輔助進借位標志; F0 :用戶標志; RS1、RS0:工作寄存器組(區(qū))選擇(如下表所示); OV:溢出標志位,有溢出時置1; P:奇偶標志位。A中有奇數(shù)個1時置1。(6)數(shù)據(jù)指針DPTR(Data Pointer) 數(shù)據(jù)指針DPTR是16位的專用寄存器,即可作為16位寄存器使用,也可作為兩個獨立的8位寄存器DPH (高8位) 、DPL (低8位)使用。 DPTR主要用作16位間址寄存器,訪問程序存儲器和片外數(shù)據(jù)寄存器。(7)堆棧指針SP(Stack Pointer) 堆棧是一種數(shù)據(jù)結構,是內(nèi)部RAM的一段區(qū)域。堆棧存取數(shù)據(jù)的原則是“后進先

11、出”。堆棧指針SP是一個8位寄存器,用于指示堆棧的棧頂,它決定了堆棧在內(nèi)部RAM中的物理位置。 MCS-51單片機的堆棧地址向大的方向變化(與微機堆棧地址向小的方向變化相反)。系統(tǒng)復位后,SP初值為07H,實際應用中通常根據(jù)需要在主程序開始處對堆棧指針SP進行初始化,一般設置SP為60H。 設立堆棧的目的是用于數(shù)據(jù)的暫存,中斷、子程序調用時斷點和現(xiàn)場的保護與恢復。(8)I/O口專用寄存器(P0, P1, P2, P3) 8051片內(nèi)有4個8位并行I/O接口P0, P1, P2和P3,在SFR中相應有4個I/O口寄存器P0, P1, P2和P3。(9)定時器/計數(shù)器(TL0, TH0, TL1和

12、TH1) MCS-51單片機中有兩個16位的定時器/計數(shù)器T0和T1,它們由4個8位寄存器(TL0, TH0, TL1和TH1)組成,2個16位定時器/計數(shù)器是完全獨立的??梢詥为殞@4個寄存器進行尋址,但不能把T0和T1當做16位寄存器來使用。(10)串行數(shù)據(jù)緩沖器(SBUF) 串行數(shù)據(jù)緩沖器SBUF用于存放需要發(fā)送和接收的數(shù)據(jù),它由兩個獨立的寄存器組成(發(fā)送緩沖器和接收緩沖器),要發(fā)送和接收的操作其實都是對串行數(shù)據(jù)緩沖器SBUF進行的。(11)其他控制寄存器 除上述外,還有IP, IE, TCON, SCON和PCON等幾個寄存器,主要用于中斷、定時和串行口的控制。4I/O接口 I/O接口

13、是MCS-51單片機對外部實現(xiàn)控制和信息交換的必經(jīng)之路,用于信息傳送過程中的速度匹配和增加它的負載能力。 8051內(nèi)部有4個8位并行接口P0, P1, P2, P3,有1個全雙工的可編程串行I/O接口。 5定時器/計數(shù)器 8051內(nèi)部有兩個16位可編程序的定時器/計數(shù)器,均為二進制加1計數(shù)器,分別命名為T0和T1。 T0和T1均有定時器和計數(shù)器兩種工作模式。在定時器模式下,T0和T1的計數(shù)脈沖可以由單片機時鐘脈沖經(jīng)12分頻后提供。在計數(shù)器模式下,T0和T1的計數(shù)脈沖可以從P3.4和P3.5引腳上輸入。對T0和T1的控制由定時器方式選擇寄存器TMOD和定時器控制寄存器TCON完成。 6中斷系統(tǒng)

14、中斷:指CPU暫停原程序執(zhí)行,轉而為外部設備服務(執(zhí)行中斷服務程序),并在服務完后返回到原程序執(zhí)行的過程。 中斷系統(tǒng):指能夠處理上述中斷過程所需要的硬件電路。 中斷源:指能產(chǎn)生中斷請求信號的源泉。 8051可處理5個中斷源(2個外部,3個內(nèi)部)發(fā)出的中斷請求,并可對其進行優(yōu)先權處理。外部中斷的請求信號可以從P3.2, P3.3(即 和 )引腳上輸入,有電平或邊沿兩種觸發(fā)方式;內(nèi)部中斷源有3個,2個定時器/計數(shù)器中斷源和1個串行口中斷源。 8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級控制器IP等電路組成。 MCS-51系列單片機中,各類單片機都是相互兼容的,只是引腳功能略有差異。805

15、1單片機有40個引腳,分為端口線、電源線和控制線三類。 2端口線 P0P3口:4×8=32條。(1)P0口( P0.0P0.7 ) 8位雙向三態(tài)I/O口,可作為外部擴展時的數(shù)據(jù)總線/低8位地址總線的分時復用口。又可作為通用I/O口,每個引腳可驅動8個TTL負載。 對EPROM型芯片(如8751)進行編程和校驗時,P0口用于輸入/輸出數(shù)據(jù)。(2)P1口(P1.0P1.7) 8位準雙向I/O口,內(nèi)部具有上拉電阻,可作為通用I/O口。每個引腳可驅動4個TTL負載。 (3)P2口(P2.0P2.7) 8位準雙向I/O口,內(nèi)部具有上拉電阻,可作為外部擴展時的高8位地址總線。又可作為通用I/O口

16、,每個引腳可驅動4個TTL負載。 對EPROM型芯片(如8751)進行編程和校驗時,用來接收高8位地址。 (4)P3口( P3.0P3.7 ) 8位準雙向I/O口,內(nèi)部具有上拉電阻。它是雙功能復用口,作為通用I/O口時,功能與P1口相同,常用第二功能。每個引腳可驅動4個TTL負載。作為第二功能使用時,各位的作用如下頁表所示。3控制線 (1)RST/VPD RST/VPD引腳是復位信號/備用電源線引腳。當8051通電時,在RST引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。 (2)ALE/ 地址鎖存允許/編程引腳。當訪問外部程序存儲器時,ALE的輸出用于鎖存地址的低位字節(jié),以便P0口實現(xiàn)

17、地址/數(shù)據(jù)復用。當不訪問外部程序存儲器時,ALE端將輸出一個1/6時鐘頻率的正脈沖信號。 ALE/ 是復用引腳,其第二功能是對EPROM型芯片(如8751)進行編程和校驗時,此引腳傳送52ms寬的負脈沖選通信號,程序計數(shù)器PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲器則把指令碼放到P0口上,由CPU讀入并執(zhí)行。 (3) /VPP 允許訪問片外程序存儲器/編程電源引腳。對于片內(nèi)無程序存儲器的MCS-51單片機(如8031), 必須接地。片內(nèi)有程序存儲器的MCS-51單片機(如8051), 必須接高電平。 /VPP是復用引腳,其第二功能是片內(nèi)EPROM編程/校驗時的電源線,在編程時,V

18、PP腳需加上21V的編程電壓。 (4)XTAL1和XTAL2 XTAL1腳為片內(nèi)振蕩電路的輸入端,XTAL2腳為片內(nèi)振蕩電路的輸出端。8051的時鐘有兩種方式,一種是片內(nèi)時鐘振蕩方式,但需在XTAL1和XTAL2腳外接石英晶體(頻率為1.212MHz)和振蕩電容,振蕩電容的值一般取1030pF,典型值為30pF;另外一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入 (5) 片外ROM選通線。在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在 引腳產(chǎn)生一個負脈沖,用于對片外ROM的選通。其他情況下,該引腳均為高電平封鎖狀態(tài)。 1.3 MCS-51單片機的工作方式 MCS-

19、51系列單片機的工作方式可分為:復位方式、程序執(zhí)行方式、單片執(zhí)行方式、掉電保護方式、節(jié)電工作方式和EPROM編程/校驗方式。 1.3.1 復位方式 系統(tǒng)開始運行和重新啟動靠復位電路來實現(xiàn),這種工作方式為復位方式。 單片機在開機時都需要復位,以便CPU及其他功能部件都處于一種確定的初始狀態(tài),并從這個狀態(tài)開始工作。 MCS-51單片機在RST引腳產(chǎn)生兩個機器周期(即24個時鐘周期)以上的高電平即可實現(xiàn)復位。 復位電路有兩種:上電自動復位和上電/按鍵手動復位1.3.2 程序執(zhí)行方式 程序執(zhí)行方式是單片機基本工作方式,可分為連續(xù)執(zhí)行工作方式和單步執(zhí)行工作方式。1連續(xù)執(zhí)行工作方式 這是所有單片機都需要的

20、一種方式。單片機復位后,PC值為0000H,因此單片機復位后立即轉到0000H處執(zhí)行程序。單片機按照程序事先編排的任務,自動連續(xù)地執(zhí)行下去。2單步執(zhí)行工作方式 這是用戶調試程序的一種工作方式,在單片機開發(fā)系統(tǒng)上有一專用的單步按鍵(或軟件調試環(huán)境)。按一次,單片機就執(zhí)行一條指令(僅僅執(zhí)行一條),這樣就可以逐條檢查程序,發(fā)現(xiàn)問題進行修改。 單步執(zhí)行方式是利用單片機外部中斷功能實現(xiàn)的。1.3.3 節(jié)電方式 節(jié)電工作方式是一種低功耗的工作方式,可分為空閑(等待)方式和掉電(停機)方式。是針對CHMOS類芯片而設計的,HMOS型單片機不能工作在節(jié)電方式,但它有一種掉電保護功能。 1HMOS單片機的掉電保

21、護 當VCC突然掉電時,單片機通過中斷將必須保護的數(shù)據(jù)送入內(nèi)部RAM,備用電源VPD可以維持內(nèi)部RAM中的數(shù)據(jù)不丟失。 2CHMOS單片機的節(jié)電方式 CHMOS型單片機是一種低功耗器件,正常工作時電流為1122mA,空閑狀態(tài)時為1.75mA,掉電方式為550mA。因此,CHMOS型單片機特別適用于低功耗應用場合,它的空閑方式和掉電方式都是由電源控制寄存器PCON中相應的位來控制。 (1)電源控制寄存器PCONIDL:空閑方式控制位,該位為1時,單片機進入空閑待機工 作方式,此時耗電甚微。PD: 掉電方式控制位,為1時,單片機進入掉電工作方式。 當IDL、PD同時為1,則進入掉電工作方式,同時為

22、0, 則工作在正常運行狀態(tài)。GF0, GF1:通用標志位,描述中斷是來自正常運行還是來自 空閑方式,用戶可通過指令設定它們的狀態(tài)。SMOD: 為串行口波特率倍率控制位,用于串行通信。 (2)空閑工作方式 將IDL位置為1(用指令MOV PCON, #01H),則進入空閑工作方式,其內(nèi)部控制電路如右圖所示。此時,CPU進入空閑待機狀態(tài),中斷系統(tǒng)、串行口、定時器/計數(shù)器,仍有時鐘信號,仍繼續(xù)工作。 退出空閑狀態(tài)有兩種方法:一是中斷退出,二是硬件復位退出。 (3)掉電工作方式 將PD置為1(用指令MOV PCON, #02H),可使單片機進入掉電工作方式。此時振蕩器停振,只有片內(nèi)的RAM和SFR中的

23、數(shù)據(jù)保持不變,而包括中斷系統(tǒng)在內(nèi)的全部電路都將處于停止工作狀態(tài)。退出掉電工作方式,只能采用硬件復位的方法。 欲使8051從掉電方式退出后繼續(xù)執(zhí)行掉電前的程序,則必須在掉電前預先把SFR中的內(nèi)容保存到片內(nèi)RAM中,并在掉電方式退出后恢復SFR掉電前的內(nèi)容。1.4 單片機的時序時序:CPU在執(zhí)行指令時所需控制信號的時間順序稱為時序。 時序是用定時單位來描述的,MCS-51的時序單位有四個,分別是時鐘周期(節(jié)拍)、狀態(tài)、機器周期和指令周期。 1.4.1 MCS-51的時序單位 1. 時鐘周期:又稱為振蕩周期、節(jié)拍(用P表示),定義為單片機提供時鐘信號的振蕩源(OSC)的周期。它是時序中的最小單位。2

24、. 狀態(tài)(用S表示):單片機振蕩脈沖經(jīng)過二分頻后即得到整個單片機工作系統(tǒng)的狀態(tài)。一個狀態(tài)有兩個節(jié)拍,前半周期對應的節(jié)拍定義為P1,后半周期對應的節(jié)拍定義為P2。3.機器周期:通常將完成一個基本操作所需的時間稱為機器周期。 MCS-51中規(guī)定一個機器周期包含12個時鐘周期,即有6個狀態(tài),分別表示為S1S6。 若晶振為6MHz,則機器周期為2s,若晶振為12MHz,則機器周期為1s。4. 指令周期:執(zhí)行一條指令所需要的時間稱為指令周期。它是時序中的最大單位。一個指令周期通常含有14個機器周期。指令所包含的機器周期數(shù)決定了指令的運算速度,機器周期數(shù)越少的指令,其執(zhí)行速度越快。 以機器周期為單位,指令

25、可分為單周期、雙周期和四周期指令。1.4.2 MCS-51指令的取指/執(zhí)行時序 指令的集合稱為程序,執(zhí)行程序的過程就是執(zhí)行指令的過程。單片機執(zhí)行任何一條指令時都可以分為取指階段和執(zhí)行階段。在取指階段,CPU從程序存儲器中取出指令操作碼,送指令寄存器,再經(jīng)指令譯碼器譯碼,產(chǎn)生一系列控制信號,完成本指令規(guī)定的操作。 單周期和雙周期指令的取指時序圖如下頁圖所示。 ALE信號是用于鎖存低8位地址的選通信號,每出現(xiàn)一次該信號,單片機即進行一次讀指令操作。當指令為多字節(jié)或多周期指令時,只有第一個ALE信號進行讀指令操作,其余的ALE信號為無效操作(或讀操作數(shù)操作)。1.4.3 訪問片外ROM/RAM指令的

26、時序外部程序存儲器讀時序 從外部程序存儲器讀取指令,必須有兩個信號進行控制:ALE信號和 信號(外部ROM讀選通脈沖)。 2外部數(shù)據(jù)存儲器讀時序 第一個機器周期是取指周期,是從ROM中讀取指令數(shù)據(jù),第二個機器周期才開始讀取外部數(shù)據(jù)存儲器RAM中的內(nèi)容。有三個信號進行控制:ALE信號、 信號(外部ROM讀選通脈沖)和 信號(外部RAM讀選通脈沖)。 3 單片機系統(tǒng)的工程設計 設計要求: 一、可靠性和穩(wěn)定性是衡量單片機系統(tǒng)工程設計指標。 提高系統(tǒng)可靠性的幾種基本方法包括: 包括正常設備和備份設備。 2.采用集散式控制系統(tǒng) 多個單片機系統(tǒng)作為前置處理機,分別完成系統(tǒng)的某部分控制功能,系統(tǒng)用一個單片機

27、系統(tǒng)對各個前置處理機進行監(jiān)視和控制。 3.進行軟硬件濾波 單片機系統(tǒng)的輸入信號中,一般都含有各種干擾,它們主要來自被測信號本身、傳感器或外界干擾,一般使用軟硬件濾波方法,幾種常用的數(shù)字濾波方法包括: (1)中值濾波是對某一參數(shù)連續(xù)采樣n次(n一般是奇數(shù)),然后把n次采樣值有序排列,再取中間值作為本次采樣值。3.進行軟硬件濾波 (2)算術平均值濾波是輸入的n個采樣數(shù)據(jù)的平均值作為輸入信號。 (3)防脈沖干擾平均值濾波時連續(xù)采集n次后找出其中的最值,其余的累加求和,按n-2個采樣值求平均,即得有效采樣值。4.提高元器件的可靠性 選用質量好的元器件與接插件,進行嚴格的測試,設計時選擇要對元器件負載等

28、技術參數(shù)留有余量。5.提高印制電路板的質量 設計是布線及接地要合理 6.對供電電源采用抗干擾措施 用帶屏蔽層的電源變壓器,增加電源低通濾波器 7.加強輸入輸出通道的抗干擾性 采用光電隔離電路進行數(shù)字量輸入輸出 采用雙絞線有效抗共模干擾二、系統(tǒng)自診斷功能 當系統(tǒng)正常運行的時候,定時對各工作模塊進行監(jiān)控,并對外界的情況作出快速應變處理。應能自己及時切換到后備裝置投入運行或及時發(fā)出信號,以便手動操作。三、操作維修方便 盡量降低對操作人員的專業(yè)知識要求,于,控制開關盡量少,操作順序簡便,數(shù)據(jù)輸入與輸出顯示采用十進制表示,能有效地定位故障,以便進行維修和系統(tǒng)的推廣。 四、性能/價格比 設計的時候盡量考慮

29、花錢少,能用軟件實現(xiàn)的應該采用軟件實現(xiàn)。一、總體設計 1.掌握工作原理 2.機器和元器件的選擇 3.軟硬件功能的劃分 硬-提高工作速度,減少工作量,花錢多 軟-花錢少,增加軟件復雜性,降低系統(tǒng)工作速度 二、硬件設計任務 1.掌握工作原理 三、軟件設計 1.系統(tǒng)定義 2.軟件結構 3.程序設計1. 中斷 中斷是指計算機在執(zhí)行某一程序的過程中, 由于計算機系統(tǒng)內(nèi)、 外的某種原因, 而必須中止原程序的執(zhí)行, 轉去執(zhí)行相應的處理程序, 待處理結束之后, 再回來繼續(xù)執(zhí)行被中止的原程序的過程。 采用了中斷技術后的計算機, 可以解決CPU與外設之間速度匹配的問題, 使計算機可以及時處理系統(tǒng)中許多隨機的參數(shù)和

30、信息, 同時, 它也提高了計算機處理故障與應變的能力。 2. 中斷源 中斷源是指在計算機系統(tǒng)中向CPU發(fā)出中斷請求的來源, 中斷可以人為設定, 也可以是為響應突發(fā)性隨機事件而設置。通常有I/O設備、實時控制系統(tǒng)中的隨機參數(shù)和信息故障源等。 中斷優(yōu)先級越高, 則響應優(yōu)先權就越高。當CPU正在執(zhí)行中斷服務程序時, 又有中斷優(yōu)先級更高的中斷申請產(chǎn)生, 這時CPU就會暫停當前的中斷服務轉而處理高級中斷申請, 待高級中斷處理程序完畢再返回原中斷程序斷點處繼續(xù)執(zhí)行, 這一過程稱為中斷嵌套。 (1) 在每條指令結束后, 系統(tǒng)都自動檢測中斷請求信號, 如果有中斷請求,且CPU處于開中斷狀態(tài)下, 則響應中斷。

31、(2) 保護現(xiàn)場, 在保護現(xiàn)場前, 一般要關中斷, 以防止現(xiàn)場被破壞。保護現(xiàn)場一般是用堆棧指令將原程序中用到的寄存器推入堆棧。 (3) 中斷服務, 即為相應的中斷源服務。 (4) 恢復現(xiàn)場, 用堆棧指令將保護在堆棧中的數(shù)據(jù)彈出來, 在恢復現(xiàn)場前要關中斷, 以防止現(xiàn)場被破壞。在恢復現(xiàn)場后應及時開中斷。 (5) 返回, 此時 CPU將推入到堆棧的斷點地址彈回到程序計數(shù)器, 從而使CPU繼續(xù)執(zhí)行剛才被中斷的程序。 1. 中斷允許控制 MCS - 51單片機有 5個(8052有 6個)中斷源, 為了使每個中斷源都能獨立地被允許或禁止, 以便用戶能靈活使用, 它在每個中斷信號的通道中設置了一個中斷屏蔽觸

32、發(fā)器。 只有該觸發(fā)器無效, 它所對應的中斷請求信號才能進入CPU, 即此類型中斷開放。 否則, 即使其對應的中斷標志位置1, CPU也不會響應中斷, 即此類型中斷被屏蔽了。同時CPU內(nèi)還設置了一個中斷允許觸發(fā)器, 它控制CPU能否響應中斷。 例如, 某軟件中對寄存器IE、 IP設置如下: MOV IE, 8FH MOV IP, 06H 則此時該系統(tǒng)中: · CPU中斷允許; · 允許外部中斷 0、 外部中斷 1、 定時器 /計數(shù)器 0、 定時器 /計數(shù)器1提出的中斷申請; · 允許中斷源的中斷優(yōu)先次序為: 定時器 /計數(shù)器 0>外部中斷 1>外部中斷

33、0>定時器/計數(shù)器 1。 1. 中斷響應的條件 (1) 同級或高優(yōu)先級的中斷已在進行中; (2) 當前的機器周期還不是正在執(zhí)行指令的最后一個機器周期(換言之, 正在執(zhí)行的指令完成前, 任何中斷請求都得不到響應); (3) 正在執(zhí)行的是一條 RETI或者訪問特殊功能寄存器 IE或 IP的指令(換言之, 在 RETI或讀寫 IE或 IP之后, 不會馬上響應中斷請求, 而至少執(zhí)行一條其它指令之后才會響應)。 2. 中斷響應過程 單片機一旦響應中斷請求, 就由硬件完成以下功能: (1) 根據(jù)響應的中斷源的中斷優(yōu)先級, 使相應的優(yōu)先級狀態(tài)觸發(fā)器置 1; (2) 執(zhí)行硬件中斷服務子程序調用, 并把當

34、前程序計數(shù)器PC的內(nèi)容壓入堆棧; (3) 清除相應的中斷請求標志位(串行口中斷請求標志 RI和 TI除外); (4) 把被響應的中斷源所對應的中斷服務程序的入口地址(中斷矢量)送入PC, 從而轉入相應的中斷服務程序。 例如, 現(xiàn)有外部中斷 1 提出申請, 且主程序中有R0、 R1、 DPTR、累加器A需保護, 則編制程序應為: ORG 0000H AJMP MAIN ORG 0013H LJMP INT1 ORG 0100H MAIN: ; 主程序 ORG 1000H INT1: PUSH ACC ; 中斷服務程序 PUSH DPH PUSH DPL PUSH 0 PUSH 1 POP 1 P

35、OP 0 POP DPL POP DPH POP ACC RETI5.3 中斷系統(tǒng)的應用 例 1 單步操作的中斷實現(xiàn)。 把一個外部中斷(設為INT0)設置為電平激活方式。其中斷服務程序的末尾寫上如下幾條指令: JNB P3.2, $ ; 在INT0變高前原地等待(死循環(huán)) JB P3.2, $; 在 INT0變低前原地等待(死循環(huán)) RETI ; 返回并執(zhí)行一條指令 現(xiàn)在,若INT0保持低電平, 且允許INT0中斷, 則CPU就進入外部中斷 0 服務程序, 由于有上述幾條指令, 它就會停在 JNB處, 原地等待。當INT0 端出現(xiàn)一個正脈沖(由低到高, 再到低)時, 程序就會往下執(zhí)行, 執(zhí)行R

36、ETI后, 將返回主程序, 往下執(zhí)行一條指令, 然后又立即響應中斷,以等待INT0端出現(xiàn)的下一個正脈沖。 這樣在INT0端每出現(xiàn)一個正脈沖, 主程序就執(zhí)行一條指令, 實現(xiàn)了單步執(zhí)行的目的, 要注意的是, 這個正脈沖的高電平持續(xù)時間不小于 3個周期, 以確保 CPU能采集到高電平值。9.1 干擾的來源和分類 一、 外部干擾 (1) 自然界的現(xiàn)象,如:閃電、雷擊等對通信設備,導航儀 ,無線傳輸模塊的影響。 (2) 各種電氣設備所產(chǎn)生的電磁場、電火花、電弧焊接、高頻加熱、晶閘管整流等干擾通過供電電源對系統(tǒng)產(chǎn)生影響。 (3) 地磁場的影響及來之電源本身的高頻干擾。 一、 內(nèi)部干擾v 計算機控制系統(tǒng)內(nèi)部的各種元器件的各種干擾包括固定干擾和過渡干擾。另外按干擾的特性來分,干擾又分為直流干擾,交流干擾和隨機干擾,其中交流干擾最易出現(xiàn)。9.1 干擾的來源和分類 1、 固定干擾 (1)電阻中B隨機性電子熱運動引起的熱噪聲; (2

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論