


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章緒論第一節單片機單片機即單片機微型計算機,是將計算機主機(CPU、內存和I/O接口 )集成在一小塊硅片上的微型機。第二節單片機的歷史與現狀第一階段(19761978 年):低性能單片機的探索階段。以 Intel公司的MCS-48為代 表,采用了單片結構,即在一塊芯片內含有 8位CPU、定時/計數器、并行I/O 口、RAM 和ROM等。主要用于工業領域。第二階段(19781982 年):高性能單片機階段,這一類單片機帶有串行I/O 口,8位數據線、16位地址線可以尋址的范圍達到64K字節、控制總線、較豐富的指令系統等。這類單片機的應用范圍較廣,并在不斷的改進和發展。第三階段(1982199
2、0年):16位單片機階段。16位單片機除CPU為16位外,片內 RAM和ROM容量進一步增大,實時處理能力更強,體現了微控制器的特征。例如In tel公司的MCS-96主振頻率為12M,片內RAM為232字節,ROM為8K字節,中斷處理 能力為8級,片內帶有10位A/D轉換器和高速輸入/輸出部件等。第四階段(1990年):微控制器的全面發展階段,各公司的產品在盡量兼容的同時,向高速、強運算能力、尋址范圍大以及小型廉價方面發展。第三節單片機的應用領域單片機在儀器儀表中的應用 單片機在機電一體化中的應用三、單片機在智能接口和多機系統中的應用四、單片機在生活中的應用第二章硬件結構第一節MCS-51單
3、片機及其演變特點(1)一個8位微處理器 CPU。(2)數據存儲器 RAM和特殊功能寄存器 SFR。(3)內部程序存儲器 ROM。(4)兩個定時/計數器,用以對外部事件進行計數,也可用作定時器。(5)四個8位可編程的I/O (輸入/輸出)并行端口,每個端口既可做輸入,也可做輸出。(6)一個串行端口,用于數據的串行通信。(7)中斷控制系統。(8)內部時鐘電路。第二節80C51單片機的基本結構P0P1P2P3TXD RXDINTO TNT11)中央處理器(CPU)中央處理器是單片機的核心,完成運算和控制功能。MCS-51的CPU能處理8位二進制數或代碼。2)內部數據存儲器(內部 RAM )8051芯
4、片中共有256個RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫的數據。因此通常所說的內部數據存儲器就是指前128單元,簡稱內部 RAM。3)內部程序存儲器(內部 ROM)8051共有4 KB掩膜ROM,用于存放程序、原始數據或表格,因此,稱之為程序存儲器, 簡稱內部ROM。4)定時/計數器8051共有兩個16位的定時/計數器,以實現定時或計數功能,并以其定時或計數結果對 計算機進行控制。5)并行I/O 口MCS-51共有4個8位的I/O 口( P0、P1、P2、P3),以實現數據的并行輸入 /輸出。在實 訓中我們已經使用了 P1 口,通
5、過P1 口連接8個發光二極管。第三節80C51單片機的引腳功能MCS-51是標準的40引腳雙列直插式集成電路芯片,引腳排列請參見圖P0.0P0.7: P0 口 8位雙向口線。P1.0P1.7 : P1 口 8位雙向口線。P2.0P2.7 : P2 口 8位雙向口線。P3.0P3.7 : P3 口 8位雙向口線。ALE :地址鎖存控制信號。在系統擴展時,ALE用于控制把P0 口輸出的低8位地址鎖存起來,以實現低位地 址和數據的隔離。 此外,由于ALE是以晶振1/6的固定頻 率輸出的正脈沖,因此,可作為外部時鐘或外部定時脈沖使 用。PSEN :外部程序存儲器讀選通信號。在讀外部 ROM 時,PSE
6、N有效(低電平),以實現外部ROM單元的讀操 作。EA:訪問程序存儲控制信號。當信號為低電平時,對 ROM的讀操作限定在外部程序存儲器;當信號為高電平 時,對ROM的讀操作是從內部程序存儲器開始,并可延 至外部程序存儲器。RST:復位信號。當輸入的復位信號延續兩個機器周 期以上的高電平時即為有效,用以完成單片機的復位初始化操作。4567891011121314151617181920P1.0VCP1.1P0.P1.2P0.P1.3P0.P1.4P0.P1.5P0.P1.61P0.P1.71P0.RST/VPDP0.RXD P3.0EA/VTXD P&.1ALE/PFINTO P3.2P
7、SEINT1 P3.3P2.TO P3.40P2.T1 P3.5P2.WR P3.6P2.RD P3.7P2.XTAL2P2.XTAL1P2.VSSP2.0 392 373 367352p31oG。膻7283 24223XTAL1和XTAL2 :外接晶體引線端。當使用芯片內部時鐘時,此二引線端用于外接石英晶體和微調電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。VSS:地線。VCC : +5 V 電源。以上是MCS-51單片機芯片40條引腳的定義及簡單功能說明,讀者可以對照實訓電 路找到相應引腳,在電路中查看每個引腳的連接使用。P3 口線的第二功能。P3的8條口線都定義有第二功能第四節存儲器結
8、構MCS-51單片機的芯片內部有 RAM和ROM兩類存儲器,即所謂的內部 RAM和內部 ROMMCS-51內部程序存儲器MCS-51的程序存儲器用于存放編好的程序和表格常數。8051片內有4 KB的ROM,8751片內有4 KB的EPROM ,8031片內無程序存儲器。MCS-51的片外最多能擴展 64 KB程序存儲器,片內外的ROM是統一編址的。如端保持高電平,8051的程序計數器PC在 0000H0FFFH地址范圍內 (即前4 KB地址)是執行片內 ROM 中的程序,當 PC在 1000HFFFFH地址范圍時,自動執行片外程序存儲器中的程序;當保持低電平時,只 能尋址外部程序存儲器,片外存
9、儲器可以從0000H開始編址。MCS-51的程序存儲器中有些單元具有特殊功能,使用時應予以注意。其中一組特殊單元是 0000H0002H。系統復位后,(PC)=0000H,單片機從 0000H 單元開始取指令執行程序。如果程序不從0000H單元開始,應在這三個單元中存放一條無條件轉移指令,以便直接轉去執行指定的程序。還有一組特殊單元是 0003H002AH,共40個單元。這 40個單元被均勻地分為 5段,作為5個中斷源的中斷地址區。其中:0003H-000AH外部中斷0中斷地址區000BH 7012H定時/計數器0中斷地址區0013H-001AH外部中斷1中斷地址區001BH 7022H定時/
10、計數器1中斷地址區0023H-002AH串行中斷地址區中斷響應后,按中斷種類,自動轉到各中斷區的首地址去執行程序,因此在中斷地址區 中理應存放中斷服務程序。但通常情況下,8個單元難以存下一個完整的中斷服務程序,因此通常也是從中斷地址區首地址開始存放一條無條件轉移指令,以便中斷響應后,通 過中斷地址區,再轉到中斷服務程序的實際入口地址。MCS-51內部數據存儲器 內部數據存儲器低128單元8051的內部RAM共有256個單元,通常把這 256個單元按其功能劃分為兩部分: 低128單元(單元地址 00H7FH)和高128單元(單元地址 80HFFH )。如圖所示為 低128單元的配置圖。寄存器區8
11、051共有4組寄存器,每組8個寄存單元(各為 8),各組都以R0R7作寄存單元 編號。寄存器常用于存放操作數中間結果等。由于它們的功能及使用不作預先規定,因 此稱之為通用寄存器,有時也叫工作寄存器。4組通用寄存器占據內部 RAM的00H1FH 單元地址。在任一時刻,CPU只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱之 為當前寄存器組。到底是哪一組,由程序狀態字寄存器PSW中RS1、RS0位的狀態組合來決定。通用寄存器為CPU提供了就近存儲數據的便利,有利于提高單片機的運算速度。此 外,使用通用寄存器還能提高程序編制的靈活性,因此,在單片機的應用編程中應充分00H特殊功能寄H FF80
12、H7FH30H2FH20H1FH通用RAM區位尋址區* 工作寄存器區內部數據存儲器(a)0H0H0H8H0H8H0H8H0HFEDBBAA9988H80H特殊功能寄存器中位尋址FFFFH0000H外部RAM(I/O 口地址)外部數據存儲器(b)FFFFH外部ROM1000H0FFFH0000H程序存儲器(c)利用這些寄存器,以簡化程序設計,提高程序運行速度。位尋址區內部RAM的20H2FH單元,既可作為一般 RAM單元使用,進行字節操作,也可 以對單元中每一位進行位操作,因此把該區稱之為位尋址區。位尋址區共有16個RAM單元,計128位,地址為00H7FH。MCS-51具有布爾處理機功能,這個
13、位尋址區可以 構成布爾處理機的存儲空間。這種位尋址能力是MCS-51的一個重要特點。用戶RAM區在內部RAM低128單元中,通用寄存器占去 32個單元,位尋址區占去 16個單元, 剩下80個單元,這就是供用戶使用的一般 RAM區,其單元地址為 30H7FH。對用戶 RAM區的使用沒有任何規定或限制,但在一般應用中常把堆棧開辟在此區中。內部數據存儲器咼128單兀內部RAM的高128單元是供給專用寄存器使用的, 其單元地址為80HFFH。因這 些寄存器的功能已作專門規定, 故稱之為專用寄存器 (Special Function Register),也可稱 為特殊功能寄存器。第五節特殊功能存儲器SF
14、R8051共有21個專用寄存器,現把其中部分寄存器簡單介紹如下:程序計數器(PC Program Counter)。在實訓中,我們已經知道 PC是一個16位的計數 器,它的作用是控制程序的執行順序。 其內容為將要執行指令的地址, 尋址范圍達64 KB。PC有自動加1功能,從而實現程序的順序執行。PC沒有地址,是不可尋址的,因此用戶無法對它進行讀寫,但可以通過轉移、調用、返回等指令改變其內容,以實現程序的 轉移。因地址不在 SFR (專用寄存器)之內,一般不計作專用寄存器。累加器(ACC Accumulator)。累加器為8位寄存器,是最常用的專用寄存器,功能較多,地位重要。它既可用于存放操作數
15、,也可用來存放運算的中間結果。MCS-51單片機中大部分單操作數指令的操作數就取自累加器,許多雙操作數指令中的一個操作數也取自累 加器。B寄存器。B寄存器是一個8位寄存器,主要用于乘除運算。乘法運算時,B存乘數。乘法操作后,乘積的高 8位存于B中,除法運算時,B存除數。除法操作后,余數存于 B 中。此外,B寄存器也可作為一般數據寄存器使用。程序狀態字(PSW Program Status Word )。程序狀態字是一個 8位寄存器,用于存放程 序運行中的各種狀態信息。其中有些位的狀態是根據程序執行結果,由硬件自動設置的, 而有些位的狀態則使用軟件方法設定。PSW的位狀態可以用專門指令進行測試,
16、也可以用指令讀出。一些條件轉移指令將根據PSW有些位的狀態,進行程序轉移。PSW的各位定義如下:PSW位地XrLD7HD6HD5HD4HD3HD2HD1HD0H址字節地址CYACF0RS1RS0OVF1P除PSW.1位保留未用外,其余各位的定義及使用如下:CY ( PSW.7)進位標志位。CY是PSW中最常用的標志位。其功能有二:一是存放 算術運算的進位標志,在進行加或減運算時,如果操作結果的最高位有進位或借位時,CY由硬件置“1,”否則清“ 0;二是在位操作中,作累加位使用。位傳送、位與位或等位 操作,操作位之一固定是進位標志位。AC ( PSW.6)輔助進位標志位。在進行加減運算中,當低4
17、位向高4位進位或借位時,AC由硬件置“ 1”否則AC位被清“0。在BCD碼調整中也要用到 AC位狀態。F0 ( PSW.5)用戶標志位。這是一個供用戶定義的標志位,需要利用軟件方法置位或 復位,用以控制程序的轉向。RS1和RS0 (PSW.4, PSW.3)寄存器組選擇位。 它們被用于選擇 CPU當前使用的通 用寄存器組。通用寄存器共有4組,其對應關系如下:00: 0 組 01: 1 組 10: 2 組 11: 3 組這兩個選擇位的狀態是由軟件設置的,被選中的寄存器組即為當前通用寄存器組。但當 單片機上電或復位后,RS1 RS0=00。OV (PSW.2)溢出標志位。在帶符號數加減運算中,OV
18、=1表示加減運算超出了累加器A所能表示的符號數有效范圍(-128+127),即產生了溢出,因此運算結果是錯 誤的,否則,OV=0表示運算正確,即無溢出產生。P ( PSW.0)奇偶標志位。表明累加器A中內容的奇偶性。如果 A中有奇數個“1,”則P置“1”否則置“0。凡是改變累加器 A中內容的指令均會影響 P標志位。此標志位 對串行通信中的數據傳輸有重要的意義。在串行通信中常采用奇偶校驗的辦法來校驗數 據傳輸的可靠性。數據指針(DPTR )。數據指針為16位寄存器。編程時,DPTR既可以按16位寄存器使 用,也可以按兩個 8位寄存器分開使用,即:DPH DPTR高位字節,DPL DPTR低位 字
19、節。DPTR通常在訪問外部數據存儲器時作地址指針使用。由于外部數據存儲器的尋址范圍為64 KB,故把DPTR設計為16位。堆棧指針(SP Stack Pointer)。堆棧是一個特殊的存儲區,用來暫存數據和地址,它是 按 先進后出"的原則存取數據的。 堆棧共有兩種操作:進棧和出棧。由于MCS-51單片機 的堆棧設在內部 RAM中,因此SP是一個8位寄存器。系統復位后, SP的內容為07H , 從而復位后堆棧實際上是從 08H單元開始的。但08H1FH單元分別屬于工作寄存器 1 3區,如程序要用到這些區,最好把 SP值改為 仆H或更大的值。對專用寄存器的字節尋址問題作如下幾點說明:(1
20、) 21個可字節尋址的專用寄存器是不連續地分散在內部RAM高128單元之中,盡管還余有許多空閑地址,但用戶并不能使用。(2) 程序計數器PC不占據RAM單元,它在物理上是獨立的,因此是不可尋址的寄存器。(3) 對專用寄存器只能使用直接尋址方式,書寫時既可使用寄存器符號,也可使 用寄存器。第六節輸入輸出端口單片機芯片內還有一項主要內容就是并行I/O 口。MCS-51共有4個8位的并行I/O口,分別記作 PO、P1、P2、P3。每個口都包含一個鎖存器、一個輸出驅動器和輸入緩沖 器。實際上,它們已被歸入專用寄存器之列,并且具有字節尋址和位尋址功能。在訪問片外擴展存儲器時,低8位地址和數據由 P0 口
21、分時傳送,高 8位地址由P2口傳送。在無片外擴展存儲器的系統中,這4個口的每一位均可作為雙向的I/O端口使用。第七節時鐘電路在MCS-51芯片內部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調電容, 從而構成一個穩定的自激振蕩器,這就是單片機的時鐘電路。XTAL iMCS-5iXTAL 2外部時鐘源MCS-5iXTAL 2XTAL iVss1振蕩周期:為單片機提供時鐘信號的振蕩源的周期。2 時鐘周期:是振蕩源信號經二分頻后形成的時鐘脈沖信號。3機器周期:通常將完成一個基本操作所需的時間稱為機器周期。
22、4指令周期:是指 CPU執行一條指令所需要的時間。一個指令周期通常含有14個機器周期。指令周期機器周期機器周期SiS2S3S4S5XTAL 2-(OSC)S6Pi I P2 Pi I P2 Pi |P2 Pi I P2 Pi 丨 P2 Pi |P2I 'S2S3S4S5S6SiPi |P2|Pi|P2PilP2PiiP2PiP2IP1P2振湯周期時鐘周期單片機復位是使CPU和系 統中的其他功能部件都處在 一個確定的初始狀態,并從這 個狀態開始工作,例如復位后VCCVCCVCC卜VCC22屮MCS- 5ir22出MCS-51F RESET -RESETR1i kQ9200 QRESETV
23、SSR2VSS第八節復位電路PC=OOOOH使單片機從第一個單元取指令。實訓中已經看出,無論是在單片機剛開始接 上電源時,還是斷電后或者發生故障后都要復位,所以我們必須弄清楚MCS-51型單片機復位的條件、復位電路和復位后狀態。第三章定時器/計數器第一節概述實質是計數器,脈沖每一次下降沿,計數寄存器數值將加1。計數的脈沖如果來源于單片機內部的晶振,由于其周期極為準確,這時稱為定時器。計數的脈沖如果來源于單片機外部的引腳,由于其周期一般不準確,這時稱為計數器。第二節結構和工作原理定時/計數器方式寄存器 TMOD(1) M1和M0 :方式選擇位。(2) c/T :功能選擇位。時,設置為定時器工作方
24、式;時,設置為計數器工作方式。 GATE:門控位。當 GATE=O時,軟件控制位 TR0或TR1置1即可啟動定時器;當 GATE=1時,軟件控制位 TR0或TR1須置1,同時還須(P3.2)或(P3.3)為高電平方可 啟動定時器,即允許外中斷、啟動定時器。定時器/計數器控制寄存器 TCON(1) TCON.7 TF1 :定時器1溢出標志位。當定時器 1計滿數產生溢出時,由硬件自動置 TF仁1。在中斷允許時,向 CPU發出定時器1的中斷請求,進入中斷服務程序后,由硬 件自動清0。在中斷屏蔽時,TF1可作查詢測試用,此時只能由軟件清 0。(2) TCON.6 TR1 :定時器1運行控制位。由軟件置
25、1或清0來啟動或關閉定時器 1。當GATE=1,且為高電平時,-TR1置1啟動定時器1 ;當GATE=0時,TR1置1即可啟動定時器1。 TCON.5TF0:定時器0溢出標志位。其功能及操作情況同TF1。(4) TCON.4TR0:定時器0運行控制位。其功能及操作情況同TR1。 TCON.3IE1 :外部中斷1 ()請求標志位。(6)TCON.2IT1 :外部中斷1觸發方式選擇位。(7)TCON.1IE0 :外部中斷0 ()請求標志位。(8) TCON.O ITO :外部中斷0觸發方式選擇位。第三節定時/計數器的工作方式1方式0定時器 1方式0構成一個13位定時/計數器。圖是定時器 0在方式0
26、時的邏輯電路結構, 的結構和操作與定時器 0完全相同。中斷2. 方式1定時器工作于方式1時。由圖可知,方式1構成一個16位定時/計數器,其結構與操作幾乎完全與方式 一差別是二者計數位數不同。3. 方式2定時/計數器工作于方式 2時,。由圖可知,方式 2中,16位加法計數器的 TH0和TL0具有不同功能,其中, 位計數器,TH0是重置初值的8位緩沖器。4. 方式3定時/計數器工作于方式 3時,其邏輯結構圖如圖所示。0相同,惟TL0 是 8TR1中斷中斷第四節編程和使用1計數器初值的計算把計數器計滿為零所需要的計數值設定為 C,計數初值設定為 TC ,由此可得到公式: TC=M-C式中,M為計數器
27、模值,該值和計數器工作方式有關。在方式 0時M為213; 在方式1時M為216;在方式 2和方式3時M為28。2.定時器初值的計算 在定時器模式下,計數器由單片機主脈沖經12分頻后計數。因此,定時器定時時間T的公式:T= ( M-TC ) T計數,上式也可寫成:TC=M-T/ T計數。式中,M為模值,和定時器的工作方式有關;T計數是單片機振蕩周期 TCLK的12倍;TC為定時器的定時初值。第六章中斷系統第一節概述中斷是通過硬件來改變CPU的運行方向的。計算機在執行程序的過程中,當出現CPU以外的某種情況時,由服務對象向CPU發出中斷請求信號,要求CPU暫時中斷當前程序的執行而轉去執行相應的處理
28、程序,待處理程序執行完畢后,再繼續執行原來被 中斷的程序。這種程序在執行過程中由于外界的原因而被中間打斷的情況稱為中斷”與中斷有關的寄存器有 4個,分別為中斷源寄存器 TCON和SCON、中斷允許控制 寄存器IE和中斷優先級控制寄存器IP;中斷源有5個,分別為外部中斷 0請求、外部中斷1請求、定時器0溢出中斷請求TF0、定時器1溢出中斷請求TF1和串行中斷請求 RI或TI。5個中斷源的排列順序由中斷優先級控制寄存器IP和順序查詢邏輯電路共同決定,5個中斷源分別對應 5個固定的中斷入口地址。第二節 中斷源與中斷申請標志中斷源(1) 外部中斷0請求,由P3.2腳輸入。通過IT0腳(TCON.0 )
29、來決定是低電平有效還是下跳變有效。一旦輸入信號有效,就向CPU申請中斷,并建立IE0標志。(2) 外部中斷1請求,由P3.3腳輸入。通過IT1腳TCON.2 )來決定是低電平有效還是下跳變有效。一旦輸入信號有效,就向CPU申請中斷,并建立IE1標志。第四節編程和使用計數器初值的計算把計數器計滿為零所需要的計數值設定為 C,計數初值設定為 TC,由此可得到公式: TC=M-C式中,M為計數器模值,該值和計數器工作方式有關。在方式 0時M為213; 在方式1時M為216;在方式 2和方式3時M為2&2.定時器初值的計算在定時器模式下,計數器由單片機主脈沖經12分頻后計數。因此,定時器定時時
30、間T的公式:T= ( M-TC ) T計數,上式也可寫成:TC=M-T/ T計數。式中,M為模值,和定時器的工作方式有關;T計數是單片機振蕩周期 TCLK的12倍;TC為定時器的定時初值。第六章中斷系統第一節概述中斷是通過硬件來改變CPU的運行方向的。計算機在執行程序的過程中,當出現CPU以外的某種情況時,由服務對象向CPU發出中斷請求信號,要求 CPU暫時中斷當前程序的執行而轉去執行相應的處理程序,待處理程序執行完畢后,再繼續執行原來被 中斷的程序。這種程序在執行過程中由于外界的原因而被中間打斷的情況稱為甲斷”。與中斷有關的寄存器有 4個,分別為中斷源寄存器TCON和SCON、中斷允許控制寄
31、存器IE和中斷優先級控制寄存器 IP;中斷源有5個,分別為外部中斷 0請求、外部 中斷1請求、定時器0溢出中斷請求TF0、定時器1溢出中斷請求TF1和串行中斷請求 RI或Tlo 5個中斷源的排列順序由中斷優先級控制寄存器IP和順序查詢邏輯電路共同決定,5個中斷源分別對應 5個固定的中斷入口地址。第二節 中斷源與中斷申請標志中斷源(1) 外部中斷0請求,由P3.2腳輸入。通過IT0腳(TCON.O)來決定是低電平有效還是 下跳變有效。一旦輸入信號有效,就向 CPU申請中斷,并建立IE0標志。(2) 外部中斷1請求,由P3.3腳輸入。通過IT1腳TCON.2 )來決定是低電平有效還是下 跳變有效。
32、一旦輸入信號有效,就向 CPU申請中斷,并建立IE1標志。 IE.2EX1:外部中斷1 ()中斷允許位。EX1 = 1,允許外部中斷1中斷;EX1 :=0,禁止外部中斷1中斷。(5) IE.1ET0 :定時器0中斷允許位。ET0 =:1,允許定時器0中斷;ET0 = 0 ,禁止定時器0中斷。(6) IE.0EX0:外部中斷0 ()中斷允許位。EX0 = 1,允許外部中斷0中斷;EX0 =0,禁止外部中斷0中斷。8051單片機系統復位后,IE中各中斷允許位均被清 0,即禁止所有中斷。IP寄存器中斷優先級標志8051單片機有兩個中斷優先級,每個中斷源都可以通過編程確定為高優先級中斷或低(1) IP
33、.4 PS:串行口中斷優先控制位。PS = 1,設定串行口為高優先級中斷;PS = 0,設定串行口為低優先級中斷。(2) IP.3 PT1:定時器T1中斷優先控制位。PT1 = 1,設定定時器T1中斷為高優先級中 斷;PT1 = 0,設定定時器T1中斷為低優先級中斷。(3) IP.2 PX1 :夕卜部中斷1中斷優先控制位。PX1 = 1,設定外部中斷1為高優先級中斷; PX1 = 0,設定外部中斷1為低優先級中斷。(4) IP.1 PT0:定時器T0中斷優先控制位。PT0 = 1,設定定時器T0中斷為高優先級中 斷;PT0 = 0,設定定時器T0中斷為低優先級中斷。(5) IP.0 PX0:夕
34、卜部中斷0中斷優先控制位。PX0 = 1 ,設定外部中斷0為高優先級中斷; PX0 = 0,設定外部中斷 0為低優先級中斷。當系統復位后,IP低5位全部清0,所有中斷源均設定為低優先級中斷。如果幾個同一優先級的中斷源同時向CPU申請中斷,CPU通過內部硬件查詢邏輯,按自然優先級順序確定先響應哪個中斷請求。自然優先級由硬件形成,排列如下: 中斷源同級自然優先級外部中斷0最咼級定時器T0中斷外部中斷1定時器T1中斷串行口中斷最低級第四節中斷響應中斷處理過程可分為中斷響應、中斷處理和中斷返回三個階段。中斷響應中斷響應是CPU對中斷源中斷請求的響應,包括保護斷點和將程序轉向中斷服務程 序的入口地址(通
35、常稱矢量地址)。中斷響應過程中斷響應過程包括保護斷點和將程序轉向中斷服務程序的入口地址。首先,中斷系統通過硬件自動生成長調用指令(LACLL),該指令將自動把斷點地址壓入堆棧保護(不保護累加器 A、狀態寄存器 PSW和其它寄存器的內容),然后,將對應的中斷入口地址 裝入程序計數器 PC (由硬件自動執行),使程序轉向該中斷入口地址,執行中斷服務程 序。MCS-51系列單片機各中斷源的入口地址由硬件事先設定,分配如下:中斷源入口地址外部中斷00003H定時器T0中斷000BH外部中斷10013H定時器T1中斷001BH串行口中斷0023H使用時,通常在這些中斷入口地址處存放一條絕對跳轉指令,使程
36、序跳轉到用戶安 排的中斷服務程序的起始地址上去。中斷返回中斷返回是指中斷服務完后,計算機返回原來斷開的位置(即斷點),繼續執行原來的程序。中斷返回由中斷返回指令RETI來實現。該指令的功能是把斷點地址從堆棧中彈出,送回到程序計數器 PC,此外,還通知中斷系統已完成中斷處理,并同時清除優先級 狀態觸發器。特別要注意不能用“ RET指令代替“ RETI”指令。中斷請求的撤除CPU響應中斷請求后即進入中斷服務程序,在中斷返回前,應撤除該中斷請求,否則, 會重復引起中斷而導致錯誤。MCS-51各中斷源中斷請求撤消的方法各不相同,分別為:1)定時器中斷請求的撤除對于定時器0或1溢出中斷,CPU在響應中斷
37、后即由硬件自動清除其中斷標志位TF0或TF1,無需采取其它措施。2)串行口中斷請求的撤除對于串行口中斷,CPU在響應中斷后,硬件不能自動清除中斷請求標志位TI、RI,必須在中斷服務程序中用軟件將其清除。3)外部中斷請求的撤除外部中斷可分為邊沿觸發型和電平觸發型。對于邊沿觸發的外部中斷 0或1, CPU在響應中斷后由硬件自動清除其中斷標志位 IE0或IE1,無需采取其它措施。第四章 MCS_51與鍵盤、顯示器的接口設計第一節LED接口原理常用的LED顯示器有LED狀態顯示器(俗稱發光二極管)、LED七段顯示器(俗稱 數碼管)和LED十六段顯示器。發光二極管可顯示兩種狀態,用于系統狀態顯示;數碼
38、管用于數字顯示;LED十六段顯示器用于字符顯示。1.數碼管簡介1)數碼管結構數碼管由8個發光二極管(以下簡稱字段)構成,通過不同的組合可用來顯示數字09、字符A F、H、L、P、R、U、Y、符號丁及小數點:”。數碼管的外形結構如下圖 所示。數碼管又分為共陰極和共陽極兩種結構。g fGNDa b10 9 8 76f ea12 3 45dp.e dGNDcdp(b)(c)(a)2)數碼管工作原理共陽極數碼管的8個發光二極管的陽極(二極管正端)連接在一起。通常,公共陽 極接高電平(一般接電源),其它管腳接段驅動電路輸出端。當某段驅動電路的輸出端為 低電平時,則該端所連接的字段導通并點亮。根據發光字段
39、的不同組合可顯示出各種數 字或字符。此時,要求段驅動電路能吸收額定的段導通電流,還需根據外接電源及額定 段導通電流來確定相應的限流電阻。共陰極數碼管的8個發光二極管的陰極(二極管負端)連接在一起。通常,公共陰 極接低電平(一般接地),其它管腳接段驅動電路輸出端。當某段驅動電路的輸出端為高 電平時,則該端所連接的字段導通并點亮,根據發光字段的不同組合可顯示出各種數字 或字符。此時,要求段驅動電路能提供額定的段導通電流,還需根據外接電源及額定段 導通電流來確定相應的限流電阻。3)數碼管字形編碼要使數碼管顯示出相應的數字或字符,必須使段數據口輸出相應的字形編碼。對照 圖7.10 (a),字型碼各位定
40、義為:數據線 DO與a字段對應,D1與b字段對應,依 此類推。如使用共陽極數碼管,數據為 0表示對應字段亮,數據為 1表示對應字段暗; 如使用共陰極數碼管,數據為0表示對應字段暗,數據為1表示對應字段亮。如要顯示“0, 共陽極數碼管的字型編碼應為:11000000B (即C0H);共陰極數碼管的字型編碼應為:00111111B (即 3FH )。依此類推。2 .靜態顯示接口靜態顯示是指數碼管顯示某一字符時,相應的發光二極管恒定導通或恒定截止。這 種顯示方式的各位數碼管相互獨立,公共端恒定接地(共陰極)或接正電源(共陽極)。每個數碼管的8個字段分別與一個 8位I/O 口地址相連,I/O 口只要有
41、段碼輸出,相應字 符即顯示出來,并保持不變,直到I/O 口輸出新的段碼。 采用靜態顯示方式, 較小的電流 即可獲得較高的亮度,且占用CPU時間少,編程簡單,顯示便于監測和控制,但其占用的口線多,硬件電路復雜,成本高,只適合于顯示位數較少的場合。3 .動態顯示接口動態顯示是一位一位地輪流點亮各位數碼管,這種逐位點亮顯示器的方式稱為位掃 描。通常,各位數碼管的段選線相應并聯在一起,由一個8位的I/O 口控制;各位的位選線(公共陰極或陽極) 由另外的I/O 口線控制。動態方式顯示時,各數碼管分時輪流選通, 要使其穩定顯示,必須采用掃描方式,即在某一時刻只選通一位數碼管,并送出相應的 段碼,在另一時刻
42、選通另一位數碼管,并送出相應的段碼。依此規律循環,即可使各位 數碼管顯示將要顯示的字符。雖然這些字符是在不同的時刻分別顯示,但由于人眼存在 視覺暫留效應,只要每位顯示間隔足夠短就可以給人以同時顯示的感覺。采用動態顯示方式比較節省 I/O 口,硬件電路也較靜態顯示方式簡單,但其亮度不如靜態顯示方式,而且在顯示位數較多時,CPU要依次掃描,占用 CPU較多的時間。第二節鍵盤接口原理1.鍵的分類按鍵按照結構原理可分為兩類,一類是觸點式開關按鍵,如機械式開關、導電橡膠 式開關等;另一類是無觸點式開關按鍵,如電氣式按鍵,磁感應按鍵等。前者造價低, 后者壽命長。目前,微機系統中最常見的是觸點式開關按鍵。2
43、 輸入原理在單片機應用系統中,除了復位按鍵有專門的復位電路及專一的復位功能外,其它 按鍵都是以開關狀態來設置控制功能或輸入數據的。當所設置的功能鍵或數字鍵按下時,計算機應用系統應完成該按鍵所設定的功能,鍵信息輸入是與軟件結構密切相關的過程。對于一組鍵或一個鍵盤,總有一個接口電路與 CPU相連。CPU可以采用查詢或中斷方式了解有無將鍵輸入,并檢查是哪一個鍵按下,將該鍵號送入累加器ACC,然后通過跳轉指令轉入執行該鍵的功能程序,執行完后再返回主程序3 .按鍵結構與特點微機鍵盤通常使用機械觸點式按鍵開關,其主要功能是把機械上的通斷轉換成為電 氣上的邏輯關系。也就是說,它能提供標準的TTL邏輯電平,以
44、便與通用數字系統的邏輯電平相容。機械式按鍵再按下或釋放時,由于機械彈性 作用的影響,通常伴隨有一定時間的觸點機械抖 動,然后其觸點才穩定下來。其抖動過程如下圖 所示,抖動時間的長短與開關的機械特性有關, 一般為 510 ms。在觸點抖動期間檢測按鍵的通與斷狀態,可 能導致判斷出錯,即按鍵一次按下或釋放被錯誤 地認為是多次操作,這種情況是不允許出現的。為了克服按鍵觸點機械抖動所致的檢測誤判,必須采取去抖動措施。這一點可從硬件、軟件兩方面予以考慮。在鍵數較少時,可采用硬 件去抖,而當鍵數較多時,采用軟件去抖。4.按鍵編碼一組按鍵或鍵盤都要通過 I/O 口線查詢按鍵的開關狀態。根據鍵盤結構的不同, 采用不同的編碼。無論有無編碼,以及采用什么編碼,最后都要轉換成為與累加器中數值相 對應的鍵值,以實現按鍵功能程序的跳轉。5制鍵盤程序一個完善的鍵盤控制程序應具備以下功能:(1) 檢測有無按鍵按下,并采取硬件或軟件措施,消除鍵盤按鍵機械觸點抖動的影響。(2) 有可靠的邏輯處理辦法。每次只處理一個按鍵,其間對任何按鍵的操作對系統不 產生影響,且無論一次按鍵時間有多長,系統僅執行一次按鍵功能程序。(3) 準確輸出按鍵值(或鍵號),以滿足跳轉指令要求。獨立式按鍵單片機控制系統中,往往只需要幾個功能鍵,此時,可采用獨立式按鍵結構。1 獨
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網絡管理員考試必知要點試題及答案
- 用戶反饋的計算機二級VB試題與答案
- 軟考網絡管理員評估試題及答案合集
- 2025年軟件設計師考試快速掌握技巧試題及答案
- 2025年不同文化對公司戰略的挑戰及試題及答案
- 未來公司的治理結構與風險控制探索試題及答案
- 行政法學考試常見知識點:試題及答案
- 計算機教程與編程實踐試題及答案
- 2025租房合同協議書
- 網絡架構所需技能分析試題及答案
- 附件1:腫瘤防治中心評審實施細則2024年修訂版
- 委托書萬能模板快來保存2024年
- 光伏電站物料清單模板
- 2024年四年級英語下冊 Module 4 Things we enjoy Unit 12 The ugly duckling第2課時教案 牛津滬教版(三起)
- 中職教育二年級上學期《三工位隔離開關》教學課件
- 2024-2030年中國母乳低聚糖(HMO)行業發展形勢與未來前景展望報告
- 江蘇省江陰市江陰初級中學2023-2024學年中考三模英語試題含答案
- 新能源汽車技術專業《汽車構造》-課程標準
- 江蘇省南京市鼓樓區2023-2024學年八年級下學期期末考試物理試題
- (高清版)JTG 3363-2019 公路橋涵地基與基礎設計規范
- 安全生產重在提升執行力
評論
0/150
提交評論