




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第1 1章章 單片機概述單片機概述 單片機是指一個集成在一塊芯片單片機是指一個集成在一塊芯片上的完整計算機系統,它以體積小、上的完整計算機系統,它以體積小、價格便宜、功能強大著稱,在軍事、價格便宜、功能強大著稱,在軍事、工業(yè)、農業(yè)、交通、日常生活都有廣工業(yè)、農業(yè)、交通、日常生活都有廣泛的應用。泛的應用。 單片機的基本功能是按照預定的單片機的基本功能是按照預定的程序完成各種指定操作程序完成各種指定操作 本章學習目標本章學習目標 了解單片機相關知識及應用了解單片機相關知識及應用 了解了解MCS51MCS51單片機基本結構單片機基本結構 掌握掌握I/OI/O口端口及應用特性口端口及應用特性 掌握單
2、片機內部結構、內部資源配置掌握單片機內部結構、內部資源配置 了解單片機工作時序等基礎知識了解單片機工作時序等基礎知識主要內容主要內容 1.1單片機概述單片機概述 1.2 MCS51單片機引腳及功能單片機引腳及功能 1.3 MCS-51單片機內部功能模塊單片機內部功能模塊 1.4 工作頻率工作頻率1.1.1單片機是什么單片機是什么 單片機英文縮寫單片機英文縮寫MCU,全拼為,全拼為Micro Controller Unit。又稱單片微型計算機。又稱單片微型計算機(Single Chip Microcomputer-SCM),是指將計算機的,是指將計算機的中央處理中央處理單元單元CPU、數據存儲器
3、數據存儲器RAM、指令存儲器指令存儲器ROM、定時計數器和輸入輸出、定時計數器和輸入輸出、I/O接口電路、中斷控制器、接口電路、中斷控制器、模模/數轉換器、數數轉換器、數/模轉換器、調制解調器模轉換器、調制解調器等部件集等部件集成在一片芯片上,形成芯片級的計算機,為不同的成在一片芯片上,形成芯片級的計算機,為不同的應用場合做不同組合控制。應用場合做不同組合控制。 1.1單片機概述單片機概述圖圖1.1 單片機內部模塊組成單片機內部模塊組成 MCS51是指具有美國是指具有美國INTEL公司內核的公司內核的一系列單片機的總稱,包括一系列的產品,如一系列單片機的總稱,包括一系列的產品,如8031,80
4、51,8751,8032,8052,8752等,等,其中其中8051是最早最典型的產品。該系列其它是最早最典型的產品。該系列其它單片機都是在單片機都是在8051的基礎上進行功能的增、的基礎上進行功能的增、減、改變而來的,所以人們習慣于用減、改變而來的,所以人們習慣于用8051來來稱呼稱呼MCS51系列單片機。系列單片機。8031是早年在我國是早年在我國最流行的單片機,目前已經淘汰。最流行的單片機,目前已經淘汰。1.1.2 單片機分類單片機分類 單片機按其存儲器類型可分為單片機按其存儲器類型可分為MASK(掩模掩模)ROMOTP(一次性可編程一次性可編程)ROMFLASH(電改寫電改寫)ROM等
5、類型。等類型。表表1.1 不同不同ROM的單片機的單片機 掩膜掩膜MCU 一次性編程一次性編程MCU 電擦寫電擦寫MCU 紫外線擦除紫外線擦除MCU 1.1.3 單片機的發(fā)展與應用單片機的發(fā)展與應用 從單片機處理數據角度看,歷經了從單片機處理數據角度看,歷經了4位、位、8位位,到現在的到現在的16位及位及32位位,甚至甚至64位,其中位,其中8位成位成為市場主流。為市場主流。 從單片機系統體系上看,經歷了單片微型計從單片機系統體系上看,經歷了單片微型計算機算機SCM(Single chip microcomputer)、)、微控制器微控制器MCU(micro controller unit)、
6、片上、片上系統系統SoC(system on chip)三大階段。三大階段。 表表1.2 單片機主要應用場合單片機主要應用場合單片機位數主要應用場合4位計算器、車用儀表、車用防盜裝置、呼叫器、無線電話、CD播放器、LCD驅動控制器、LCD游戲機、兒童玩具、磅秤、充電器、胎壓計、溫濕度計、遙控器及傻瓜相機等8位電表、馬達控制器、電動玩具機、變頻式冷氣機、呼叫器、傳真機、來電辨識器(CallerID)、電話錄音機、CRT顯示器、鍵盤及USB等16位行動電話、數字相機及攝錄放影機等32位Modem、GPS、PDA、HPC、STB、Hub、Bridge、Router、工作站、ISDN電話、激光打印機與
7、彩色傳真機等64位高階工作站、多媒體互動系統、高級電視游樂器(如SEGA的Dreamcast及Nintendo的GameBoy)及高級終端機等1.1.4 單片機的封裝單片機的封裝 常用的單片機封裝有常用的單片機封裝有DIP、QFP、SOP、PLCC,如表,如表1.3 。 其中:其中: DIP(Dual Inline Package)雙列直插)雙列直插 QFP Quad Flat Package 方塊平面封裝方塊平面封裝 SOP Small Out-Line Package 小外形封裝小外形封裝 PLCC Plastic Leaded Chip Carrier 帶引線帶引線的塑料芯片封裝的塑料芯
8、片封裝表表1.3 常用單片機封裝常用單片機封裝DIPQFPSOPPLCC1.2 MCS51單片機引腳及功能單片機引腳及功能 最常用最常用DIP40(雙列直插雙列直插)51單片機單片機 ,管腳共,管腳共40個個 ( a) (b) 圖1.2 MCS51單片機引腳及功能1.2.1 主電源及地引腳主電源及地引腳 VCC(40腳):電源,正常操作時接腳):電源,正常操作時接+5V電源。電源。 VSS(20腳):地線。腳):地線。 以上兩個引腳對于單片機來說都是輸入,作用是以上兩個引腳對于單片機來說都是輸入,作用是提供單片機工作的電能需求。提供單片機工作的電能需求。 1.2.2外接晶振引腳外接晶振引腳 X
9、TAL1(19腳):接外部晶振的一個引腳,是腳):接外部晶振的一個引腳,是內部反相放大器的輸入端。內部反相放大器的輸入端。 XTAL2(18腳):接外部晶振的一個引腳,是腳):接外部晶振的一個引腳,是內部反相放大器的輸出端。內部反相放大器的輸出端。1.2.3 并行輸入輸出引腳并行輸入輸出引腳 P0.0P0.7(3932腳):腳):8位漏極開路的三態(tài)(高電平、位漏極開路的三態(tài)(高電平、低電平、高阻)雙向輸入低電平、高阻)雙向輸入/輸出口,具有地址和數據傳輸功輸出口,具有地址和數據傳輸功能,可以驅動能,可以驅動8個個LSTTL管。管。 P1.0P1.7(18腳):腳):8位帶有內部上拉電阻的準雙向
10、輸位帶有內部上拉電阻的準雙向輸入入/輸出口,對于輸出口,對于52系列單片機有變異功能,可以驅動系列單片機有變異功能,可以驅動4個個LSTTL管。管。 P2.0P2.7(2128腳):腳):8位帶有內部上拉電阻的準雙位帶有內部上拉電阻的準雙向輸入向輸入/輸出口,具有地址傳輸功能,可以驅動輸出口,具有地址傳輸功能,可以驅動4個個LSTTL管。管。 P3.0P3.7(1017腳):腳):8位帶有內部上拉電阻的準雙位帶有內部上拉電阻的準雙向輸入向輸入/輸出口,具有第二功能,可以驅動輸出口,具有第二功能,可以驅動4個個LSTTL管。管。表表 1.4 P3口第二功能口第二功能1.2.4 控制類引腳控制類引
11、腳(1)RST(9腳)腳):復位信號輸入引腳,高電平有:復位信號輸入引腳,高電平有效。在該引腳上輸入大于效。在該引腳上輸入大于24個晶振振蕩周期高電平個晶振振蕩周期高電平時,單片機系統復位,當高變低電平時,系統開始時,單片機系統復位,當高變低電平時,系統開始執(zhí)行程序。執(zhí)行程序。(2)EA/VPP(31腳腳):訪問程序存貯器選擇信號輸:訪問程序存貯器選擇信號輸入線。當為低電平時,入線。當為低電平時,CPU只能訪問外部程序存儲只能訪問外部程序存儲器。當器。當 為高電平時,為高電平時,CPU先訪問內部程序存儲器先訪問內部程序存儲器(當(當51單片機的單片機的PC值小于等于值小于等于0FFFH時),然
12、后時),然后訪問外部程序存儲器(當訪問外部程序存儲器(當PC值大于值大于0FFFH時)。時)。VPP編程電源(編程電源(+25V),固化程序提供專門的編程固化程序提供專門的編程電源。電源。_EA_EA(3)PSEN(29腳)腳):外部程序存儲器的讀選通輸:外部程序存儲器的讀選通輸出信號,低電平有效。在讀外部程序存儲器時出信號,低電平有效。在讀外部程序存儲器時CPU會送出有效的低電平信號。當訪問外部程序存儲器會送出有效的低電平信號。當訪問外部程序存儲器讀取指令時,將以讀取指令時,將以1/6的振蕩頻率產生有效信號;當的振蕩頻率產生有效信號;當執(zhí)行片內程序及訪問外部數據存儲器時,不產生有執(zhí)行片內程序
13、及訪問外部數據存儲器時,不產生有效信號。效信號。(4)ALE/PROG(30腳腳):):ALE地址鎖存允許信地址鎖存允許信號輸出端,高電平有效。在訪問外部存儲器時,該號輸出端,高電平有效。在訪問外部存儲器時,該信號將信號將P0口送出的低口送出的低8位地址鎖存到外部地址鎖存位地址鎖存到外部地址鎖存器中。編程脈沖器中。編程脈沖, 固化程序需要提供專門的編程脈沖。固化程序需要提供專門的編程脈沖。當訪問外部存儲器時,將以當訪問外部存儲器時,將以1/12的振蕩頻率輸出脈的振蕩頻率輸出脈沖;當非訪問外部存儲器時,將以沖;當非訪問外部存儲器時,將以1/6的振蕩頻率輸的振蕩頻率輸出固定頻率脈沖。出固定頻率脈沖
14、。1.3 MCS-51單片機內部功能模塊單片機內部功能模塊 圖圖1.3 MCS51單片機內部功能模塊示意圖單片機內部功能模塊示意圖1.3.1 中央處理單元中央處理單元CPU 中央處理單元(英文中央處理單元(英文Central Processing Unit,CPU)是一臺計算機的運算核心和控制核心。中央)是一臺計算機的運算核心和控制核心。中央處理單元處理單元CPU(Central Processing Unit)就好像是就好像是城市控制中心,負責按照法規(guī),監(jiān)控整個城市的全城市控制中心,負責按照法規(guī),監(jiān)控整個城市的全部動作運行。在這個控制中心中只有一個部動作運行。在這個控制中心中只有一個“官官”
15、,名叫:名叫:main()。 中央處理器(中央處理器(CPU)是單片機的核心,由是單片機的核心,由運算器運算器ALU、布爾控制器、專用寄存器和總線、布爾控制器、專用寄存器和總線等組合在一等組合在一起,完成運算和控制功能,起,完成運算和控制功能,MCS51單片機的單片機的CPU能能處理處理8位二進制數或代碼,故稱為位二進制數或代碼,故稱為8位機。位機。1.3.2存儲器存儲器 在計算機系統中有兩大類型存儲器:在計算機系統中有兩大類型存儲器:RAM數數據存儲器和據存儲器和ROM程序存儲器。程序存儲器。 MCS51單片機內部存儲器采用的是哈佛結構單片機內部存儲器采用的是哈佛結構存儲器,即數據存儲器與程
16、序存儲器分離的存儲器,即數據存儲器與程序存儲器分離的結構,可以通過不同指令進行分別訪問結構,可以通過不同指令進行分別訪問。(1)RAM MCS51芯片中共有芯片中共有256個內部個內部RAM單元,其中單元,其中51系列的后系列的后128個單元(個單元(0 x80-0 xff)被專用寄存器)被專用寄存器占用,能作為存儲器供用戶使用的只有前占用,能作為存儲器供用戶使用的只有前128個單個單元(元(0 x0-0 x7f),用于存儲可讀寫的數據。),用于存儲可讀寫的數據。52系列系列的后的后128個單元在物理空間上被分為兩塊:一塊個單元在物理空間上被分為兩塊:一塊(128字節(jié)字節(jié))被專用寄存器占用,另
17、一塊被專用寄存器占用,另一塊(128字節(jié)字節(jié))提提供給用戶可以間接尋址供給用戶可以間接尋址 圖圖1.4 內部內部RAM結構結構 (2)ROM 51系列的系列的MCS51內共有內共有4KB ROM(52系列為系列為8KB),通常用于存放程序、原始數據、表格等。),通常用于存放程序、原始數據、表格等。大多數大多數51系列單片機內部都配置一定數量的程序存系列單片機內部都配置一定數量的程序存儲器儲器ROM,如,如8051芯片內有芯片內有4KB ROM存貯單元,存貯單元,52有有8KB ROM。對于。對于51系列芯片內部配置了系列芯片內部配置了4KB FlashROM,它們的地址范圍均為,它們的地址范圍
18、均為0 x00 xFFF。對。對于于52系列芯片內部配置了系列芯片內部配置了8KB FlashROM,它們的,它們的地址范圍均為地址范圍均為0 x00 x1FFF。 在程序存儲器中有各個中斷源的入口向量在程序存儲器中有各個中斷源的入口向量地址,分配如下:地址,分配如下:0 x03:外部中斷:外部中斷0中斷地址中斷地址0 x0B:定時器:定時器/計數器計數器0中斷地址中斷地址0 x13:外部中斷:外部中斷1中斷地址中斷地址0 x1B:定時器:定時器/計數器計數器1中斷地址中斷地址0 x23:串行中斷地址:串行中斷地址 1.3.3 輸入、輸出接口輸入、輸出接口 輸入輸出接口就像是汽車通道,允許數輸
19、入輸出接口就像是汽車通道,允許數據的進和出。據的進和出。MCS-51中共有中共有4個個8位位I/O(P0、P1、P2、P3),可以實現數據),可以實現數據的并行輸出輸入。的并行輸出輸入。 P0口是功能最強的口,可作為一般的口是功能最強的口,可作為一般的I/O口使用,口使用,也可作為也可作為數據線、地址線分時復用數據線、地址線分時復用使用。當使用。當P0口作口作為一般的為一般的I/O口輸出時,由于端口各端線輸出電路是口輸出時,由于端口各端線輸出電路是漏極開路電路,漏極開路電路,必須外接上拉電阻才能有高電平輸出必須外接上拉電阻才能有高電平輸出。當當P0口作為一般的口作為一般的I/O口輸入時,必須使
20、電路中的鎖口輸入時,必須使電路中的鎖存器寫入高電平存器寫入高電平“1”,使場效應管,使場效應管FET截止,以避免截止,以避免鎖存器為鎖存器為“0”狀態(tài)時對引腳輸入的干擾,使狀態(tài)時對引腳輸入的干擾,使P0.狀狀態(tài)始終為態(tài)始終為“0”;當作為數據線、地址線分時復用使;當作為數據線、地址線分時復用使用時,用時,P0端口是總線口,分時出現數據端口是總線口,分時出現數據D7D0、低、低8位地址位地址A7AO,以及三態(tài),用來接口存儲器、外部,以及三態(tài),用來接口存儲器、外部電路與外部設備,體現是一個真正完全雙向的并口。電路與外部設備,體現是一個真正完全雙向的并口。 圖圖1.5 P0.x口結構示意圖口結構示意
21、圖 P1口通常作為通用口通常作為通用I/O口使用。作為輸出口口使用。作為輸出口時,由于電路內部已經帶上拉電阻,因此無時,由于電路內部已經帶上拉電阻,因此無需外接上拉電阻;作為輸入口時,需外接上拉電阻;作為輸入口時,(從輸出轉從輸出轉輸入時輸入時)也需先向鎖存器寫入也需先向鎖存器寫入“1”,是一個準,是一個準雙向的雙向的I/O口。輸出的信息有鎖存,輸入有讀口。輸出的信息有鎖存,輸入有讀引腳和讀鎖存器之分。引腳和讀鎖存器之分。圖圖1.6 P1.x口結構示意圖口結構示意圖 P2端口在片內既有上拉電阻,又有切換開關端口在片內既有上拉電阻,又有切換開關MUX,所以,所以P2端口在功能上兼有端口在功能上兼
22、有P0端口和端口和P1端口端口的特點。的特點。P2口可以作為普通口可以作為普通I/O口使用,也可以作為口使用,也可以作為高高8位地址總線位地址總線使用,用來周期性地輸出從外存中取使用,用來周期性地輸出從外存中取指令的地址指令的地址(高高8位地址位地址),分時地輸出從內部總線來,分時地輸出從內部總線來的數據和從地址信號線上來的地址。因此的數據和從地址信號線上來的地址。因此P2端口是端口是動態(tài)的動態(tài)的I/O端口。輸出數據雖被鎖存,但不是穩(wěn)定地端口。輸出數據雖被鎖存,但不是穩(wěn)定地出現在端口線上。其實,這里輸出的數據往往也是出現在端口線上。其實,這里輸出的數據往往也是一種地址,只不過是外部一種地址,只
23、不過是外部RAM的高的高8位地址。位地址。 圖圖1.7 P2.x口結構示意圖口結構示意圖 P3端口和端口和Pl端口的結構相似,作為普通端口的結構相似,作為普通I/O口輸入時,口輸入時,P3口也需先向鎖存器寫入口也需先向鎖存器寫入“1”,輸出,輸出的信息有鎖存,輸入有讀引腳和讀鎖存器之分,的信息有鎖存,輸入有讀引腳和讀鎖存器之分,也是靜態(tài)準雙向也是靜態(tài)準雙向I/O端口。區(qū)別僅在于端口。區(qū)別僅在于P3端口的端口的各端口線有兩種功能選擇(第二功能見表各端口線有兩種功能選擇(第二功能見表1.4)。)。當處于第一功能時,第二輸出功能線為當處于第一功能時,第二輸出功能線為1,當處,當處于第二功能時,鎖存器
24、輸出于第二功能時,鎖存器輸出1,通過第二輸出功,通過第二輸出功能線輸出特定的信號,在輸入方面,即可以通過能線輸出特定的信號,在輸入方面,即可以通過緩沖器讀入引腳信號,還可以通過替代輸入功能緩沖器讀入引腳信號,還可以通過替代輸入功能讀入片內的特定第二功能信號。讀入片內的特定第二功能信號。圖圖1.8 P3.x口結構示意圖口結構示意圖1.3.4中斷系統中斷系統 (1)中斷中斷的定義的定義 當單片機執(zhí)行正常程序時,系統中出現當單片機執(zhí)行正常程序時,系統中出現某些急需處理的某些急需處理的異常情況和特殊請求異常情況和特殊請求(如定(如定時時/計數器溢出,被監(jiān)視電平突變等),這時計數器溢出,被監(jiān)視電平突變等
25、),這時CPU暫時中斷暫時中斷現行程序,轉去處理發(fā)生的事現行程序,轉去處理發(fā)生的事件,處理完成后,件,處理完成后,CPU自動返回自動返回到原來被中到原來被中斷的地方,執(zhí)行原來的程序,這一過程稱為斷的地方,執(zhí)行原來的程序,這一過程稱為中斷。中斷。 日常中斷的例子日常中斷的例子 你正在專心看書,突你正在專心看書,突然電話鈴響,于是你然電話鈴響,于是你記下記下正在看的書的頁數,去接正在看的書的頁數,去接電話,接完電話后再回來電話,接完電話后再回來接著接著看書。看書。時間時間 中斷處理過程 中斷處理過程分為三個階段:中斷處理過程分為三個階段:中斷響應、中斷中斷響應、中斷處理和中斷返回。處理和中斷返回。
26、v 中斷響應中斷響應v 中斷處理中斷處理(又稱中斷服務又稱中斷服務)v 中斷返回中斷返回 v(硬件或軟件中斷請求撤除) 中斷響應中斷返回 MCS-51MCS-51的中斷系統的中斷系統中斷源中斷源8051單片機有單片機有5個中斷請求源:個中斷請求源:單片機單片機INT0或 外部輸入中斷源外部輸入中斷源INT0(P3.2)INT1或 外部輸入中斷源外部輸入中斷源INT1(P3.3)T0 定時定時/記數器記數器T0的溢出的溢出T1 定時定時/記數器記數器T1的溢出的溢出串行口 片內串行口發(fā)送或接收中斷源片內串行口發(fā)送或接收中斷源特殊功能寄存器(SFR) IE 中斷允許中斷允許SFR IP 中斷優(yōu)先中
27、斷優(yōu)先SFR TCON 中斷控制中斷控制SFR TMOD 定時器方式定時器方式SFR SCON 串行口控制串行口控制SFR (SBUF 串行口緩沖串行口緩沖SFR )單片機單片機中斷響應條件中斷響應條件 中斷源有中斷請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。以上三條同時滿足時,以上三條同時滿足時,CPU才有可能響才有可能響應中斷應中斷。中斷請求的撤除中斷請求的撤除 CPU響應某中斷請求后,在中斷返回前,應該撤除該中斷響應某中斷請求后,在中斷返回前,應該撤除該中斷請求,否則會引起另一次中斷。請求,否則會引起另一次中斷。
28、定時器定時器0或或1溢出:溢出:CPU在響應中斷后,在響應中斷后,硬件硬件清除了有關的清除了有關的中斷請求標志中斷請求標志TFO或或TF1,即中斷請求是自動撤除的。,即中斷請求是自動撤除的。 外部中斷:外部中斷:CPU在響應中斷后,也是用在響應中斷后,也是用硬件硬件自動清除有關自動清除有關的中斷請求標志的中斷請求標志IE0或或IE1。 串行口中斷:串行口中斷:CPU響應中斷后,沒有用硬件清除響應中斷后,沒有用硬件清除T1、R1,故這些中斷不能自動撤除,而要靠故這些中斷不能自動撤除,而要靠軟件軟件來清除相應的標志。來清除相應的標志。MCS-51MCS-51的中斷系統的中斷系統中斷寄存器中斷寄存器
29、 IE EA ESET1EX1 ET0EX0IE寄存器寄存器中斷允許寄存器中斷允許寄存器EA 中斷允許總控位中斷允許總控位ES 串行通訊中斷允許串行通訊中斷允許ET1、ET0 定時定時/記數記數1、0溢出中斷允許溢出中斷允許EX1、EX0 外部中斷外部中斷1、0允許允許76543210SFR MCS-51MCS-51的中斷系統的中斷系統中斷允許中斷允許INT0INT1T0T1串口IE0TF0IE1TF1TIRI中斷源中斷源中斷標志位中斷標志位 EA總中斷允許位,總中斷允許位,EA=1開放所有中斷,開放所有中斷,EA=0,禁止所有中斷;,禁止所有中斷; 某一個中斷源還有相應的中斷允許位,某一個中
30、斷源還有相應的中斷允許位,1允許相應中斷源的中斷,允許相應中斷源的中斷,0禁禁止相應中斷源的中斷。止相應中斷源的中斷。中斷允許中斷允許IEESET0EX0EX1ET1EA 51單片機有兩個中斷優(yōu)先級單片機有兩個中斷優(yōu)先級高級和低級高級和低級 專用寄存器專用寄存器IP為中斷優(yōu)先級寄存器,用戶可用軟件設定為中斷優(yōu)先級寄存器,用戶可用軟件設定 相應位為相應位為1,對應的中斷源被設置為,對應的中斷源被設置為高優(yōu)先級高優(yōu)先級,相應位為,相應位為0,對應的中斷源被設置為低優(yōu)先級對應的中斷源被設置為低優(yōu)先級 系統復位時,均為低優(yōu)先級系統復位時,均為低優(yōu)先級 PSPT1PX1PT0PX0MCS-51MCS-5
31、1的中斷系統的中斷系統中斷寄存器中斷寄存器 IP 76543210IP寄存器寄存器中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器SFR MCS-51MCS-51的中斷系統的中斷系統中斷優(yōu)先級中斷優(yōu)先級INT0INT1T0T1串口中斷源中斷源 單片機中有兩個中斷優(yōu)先級,即單片機中有兩個中斷優(yōu)先級,即高高優(yōu)先級中斷和優(yōu)先級中斷和低低優(yōu)先級中斷,前者優(yōu)先級中斷,前者優(yōu)先權高于后者(在程序中設置,優(yōu)先權高于后者(在程序中設置,IPIP相應位相應位=1=1,為高優(yōu)先級,為高優(yōu)先級);); 同一優(yōu)先級別的中斷源按照自然優(yōu)先級順序確定優(yōu)先級別(硬件形成,同一優(yōu)先級別的中斷源按照自然優(yōu)先級順序確定優(yōu)先級別(硬件形成,無法改
32、變)。無法改變)。自然優(yōu)先級自然優(yōu)先級高低優(yōu)先控制優(yōu)先控制IPPSPT0PX0PX1PT1 同一優(yōu)先級同一優(yōu)先級(IP)中的中斷申請不止一個時,則有中的中斷申請不止一個時,則有中斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排中斷優(yōu)先權排隊問題。同一優(yōu)先級的中斷優(yōu)先權排隊,由中斷系統硬件確定的自然優(yōu)先級形成,其排隊,由中斷系統硬件確定的自然優(yōu)先級形成,其排列如所示:列如所示:圖圖1.10 中斷嵌套過程示意圖中斷嵌套過程示意圖1.3.5定時定時/計數器計數器 8051內共有內共有2個個16位的定時器位的定時器/計數器(計數器(52內有內有3個個16位的定時器位的定時器/計數器),以實現硬件定時或計數功
33、計數器),以實現硬件定時或計數功能。能。 (1)定時器)定時器/計數器(計數器(T/C) 兩個基本定時器兩個基本定時器/計數器是定時器計數器是定時器/計數器計數器T/C0和和T/C1,具有計數功能和定時功能。計數功能是指對,具有計數功能和定時功能。計數功能是指對輸入端(輸入端(T0對應于對應于P3.4)和()和(T1對應于對應于P3.5)對外)對外部脈沖信號的計數;定時功能是指對內部晶振驅動部脈沖信號的計數;定時功能是指對內部晶振驅動時鐘進行計數。顯然定時計數器從本質上說就是計時鐘進行計數。顯然定時計數器從本質上說就是計數器。數器。 (2)定時器)定時器/計數器的結構計數器的結構 16位定時器
34、位定時器T0由由TH0和和TL0組成;組成;16位定時位定時器器T1由由TH1和和TL1組成。其中組成。其中TH0(TH1)表)表示高示高8位,位,TL0(TL1)表示低)表示低8位。位。TMOD寄寄存器用來確定工作方式;存器用來確定工作方式;TCON是控制寄存是控制寄存器,用來控制器,用來控制T0和和T1啟動、計數、停止以及啟動、計數、停止以及設置溢出標志等。設置溢出標志等。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON T1溢出中斷標志溢出中斷標志(TCON.7): T1啟動計數啟動計數(TR1=1)后,計滿溢出由硬件置位后,計滿溢出由硬件置位TF1=1,向,向C
35、PU請求中斷,此標志一直保持到請求中斷,此標志一直保持到CPU響應中斷后,響應中斷后,才由硬件自動清才由硬件自動清0。也可用軟件查詢。也可用軟件查詢該標志,并由軟件清該標志,并由軟件清0。(同樣同樣T0 在在TR0=1,TF0的狀態(tài)處理的狀態(tài)處理)76543210TCONTCON寄存器寄存器T0T0和和T1T1控制寄存器控制寄存器 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0TCON外部中斷外部中斷INT1中斷標中斷標志位志位(TCON.3) : IE11,外部中斷,外部中斷INT1 向向CPU申請中斷申請中斷 外部中斷外部中斷INT1觸發(fā)方觸發(fā)方式控制位式控制位(TCON.
36、2): IT1=0,電平觸發(fā)方,電平觸發(fā)方式式 IT1=1, 下降沿觸發(fā)下降沿觸發(fā)方式方式76543210TCONTCON寄存器寄存器T0T0和和T1T1控制寄存器控制寄存器(同理同理 外部中斷外部中斷INT0) TMODD7D6D5D4D3D2D1D0GATA M1M0GATAM1M0T1方式字段方式字段T0方式字段方式字段GATE 門控位。門控位。 GATE = 0 啟動不受啟動不受 /INT0或或 /INT1的控制;的控制; GATE = 1 啟動受啟動受 /INT0 或或 /INT1 的控制。的控制。 C/T 外部計數器外部計數器 / 定時器方式選擇位定時器方式選擇位 C/T = 0
37、定時方式;定時方式; C /T = 1 計數方式計數方式。 M1M0 工作模式選擇位(編程可決定四種工作模式)工作模式選擇位(編程可決定四種工作模式)。 表表1.10 M1M0工作模式選擇工作模式選擇M1M0工作模式工作模式功能功能0 0模式模式013位定時位定時/計數器(計數器(TH 8位位+TL低低5位)位)0 1模式模式116位定時位定時/計數器計數器 (TH 8位位+TL 8位)位)1 0模式模式28 位定時位定時/計數器(自動重裝初值)(計數器(自動重裝初值)(TL計數,計數,TH放重裝值)放重裝值)1 1模式模式3T0 中中TH0和和TL0為兩個獨立為兩個獨立8位定時位定時/計數分
38、別置計數分別置TF1和和TF0 ;T1停止工作停止工作在計數工作方式下,計數器的計數值范圍是:在計數工作方式下,計數器的計數值范圍是: 18192(2的的13方)方) 256*32=8192當為定時工作方式時,定時時間的計算公式為:當為定時工作方式時,定時時間的計算公式為: ( 8192 -計數初值)計數初值)晶振周期晶振周期12或或 ( 8192 -計數初值)計數初值)機器周期機器周期其時間單位與晶振周期或機器周期相同。其時間單位與晶振周期或機器周期相同。如果單片機的晶振選為如果單片機的晶振選為6.000MHz,則最小定時時間為:,則最小定時時間為: 81928191210-6=210-6(
39、s)=2(us)最長定時時間為:最長定時時間為: (81920)210-6=1638410-6(s)=16,384(us)。方式方式0(溢出值-計數初值)X晶振周期X12=定時時間或溢出值-定時時間X晶振頻率/12=計數初值 思考:思考: 12M晶振最長、最短時間?晶振最長、最短時間? 16X=2 -N方式方式1 方式方式1的計數位數是的計數位數是16位,由位,由TL0作為低作為低8位、位、TH0作為高作為高8位,組成了位,組成了16位加位加1計數器計數器 。計數個數與計數初值的關系為:計數個數與計數初值的關系為: 計數值計數值 = 溢出值溢出值 - 初值初值在在工作方式工作方式1下,計數器的
40、計數值范圍是:下,計數器的計數值范圍是: 165536(2的的16方)方) 256*256=65536當為定時工作方式當為定時工作方式1時,定時延時時間的計算公式為:時,定時延時時間的計算公式為: (65536計數初值)計數初值) 晶振周期晶振周期12或或 (65536計數初值)計數初值) 機器周期機器周期其時間單位與晶振周期或機器周期相同。其時間單位與晶振周期或機器周期相同。如果單片機的晶振選為如果單片機的晶振選為6.000MHz,則最小定時時間為:,則最小定時時間為: 6553665535210-6=210-6(s)=2(us)最長定時時間為:最長定時時間為: (655360)210-6=
41、13107210-6(s)=131072(us)。(溢出值-計數初值)X晶振周期X12=定時時間或溢出值-定時時間X晶振頻率/12=計數初值方式方式2與方式與方式0、1的區(qū)別:的區(qū)別: 工作方式工作方式0和工作方式和工作方式1的最大特點就是計數溢出后,計的最大特點就是計數溢出后,計數器為全數器為全0,因而循環(huán)定時或循環(huán)計數應用時就存在反復設,因而循環(huán)定時或循環(huán)計數應用時就存在反復設置初值的問題,這給程序設計帶來許多不便,同時也會影置初值的問題,這給程序設計帶來許多不便,同時也會影響計時精度。響計時精度。 工作方式工作方式2就具有就具有自動重裝載自動重裝載功能,即自動加載計數初值,功能,即自動加
42、載計數初值,所以也有的文獻稱之為自動重加載工作方式。在這種工作所以也有的文獻稱之為自動重加載工作方式。在這種工作方式中,方式中,16位計數器分為兩部分,即以位計數器分為兩部分,即以TL0為計數器,以為計數器,以TH0作為預置寄存器,初始化時把計數初值分別加載至作為預置寄存器,初始化時把計數初值分別加載至TL0和和TH0中,當計數溢出時,不再象方式中,當計數溢出時,不再象方式0和方式和方式1那樣那樣需要需要“人工干預人工干預”,由軟件重新賦值,而是由預置寄存器,由軟件重新賦值,而是由預置寄存器TH以硬件方法自動給計數器以硬件方法自動給計數器TL0重新加載。重新加載。 方式方式2在串口通訊時,常用
43、作波特率發(fā)生器。在串口通訊時,常用作波特率發(fā)生器。 如果定時如果定時/計數器計數器0工作于工作于工作方式工作方式3,那么定時,那么定時/計計數器數器1的工作方式就因為自己的一些控制位已被定時的工作方式就因為自己的一些控制位已被定時/計數器計數器0借用,只能工作在方式借用,只能工作在方式0、方式、方式1或方式或方式2下下.怎樣編制計數程序?怎樣編制計數程序? 首先必須對定時計數器進行初始化,然后再開啟定時或首先必須對定時計數器進行初始化,然后再開啟定時或計數。簡單的總結一下,定時計數器的初始化包括以下內計數。簡單的總結一下,定時計數器的初始化包括以下內容。容。(1)確定工作方式)確定工作方式對對
44、TMOD賦值;賦值;如:如:TMOD=0 x01; /定時器定時器0方式方式1(2)預置定時計數器中計數的初值)預置定時計數器中計數的初值直接寫入直接寫入TH和和TL;如:如: TH0=0 xf8; TL0=0 x30; /裝入時間常數裝入時間常數(3)根據需要開放定時器)根據需要開放定時器/計數器的中斷計數器的中斷對對IE位賦值;位賦值;如:如: IE=0 x82; /開啟定時器開啟定時器0中斷中斷(4)啟動定時器)啟動定時器/計數器;計數器;如:如: TR0=1; /啟動定時器啟動定時器T0 ,或,或TCON=0X10思考:若同時啟動 定時器 T0、T1,如何設置TCON= 0X501.3
45、.6串行接口串行接口 通信:通信:單片機與外界進行信息交換統稱為通單片機與外界進行信息交換統稱為通信。信。 通信方式有兩種:通信方式有兩種: 并行通信:并行通信:數據的各位數據的各位(二進制二進制)同時發(fā)送或同時發(fā)送或接收。特點是傳送速度快、效率高,但成本接收。特點是傳送速度快、效率高,但成本高。適用于短距離傳送數據。計算機內部的高。適用于短距離傳送數據。計算機內部的數據傳送一般均采用并行方式。數據傳送一般均采用并行方式。 串行通信:串行通信:數據一位一位數據一位一位(二進制二進制)順序發(fā)送順序發(fā)送或接收。特點是傳送速度慢,但成本低。適或接收。特點是傳送速度慢,但成本低。適用于較長距離傳送數據
46、。計算機與外界的數用于較長距離傳送數據。計算機與外界的數據傳送一般均采用串行方式。據傳送一般均采用串行方式。通信原理通信原理通信過程中相關因素通信過程中相關因素 * *通信方式通信方式方向方向( (單工單工/ /半雙工半雙工/ /全雙工全雙工) )、連接連接( (一對一一對一/ /一對多一對多/ /多對多多對多) )、同步串、同步串行行/ /異步串行;異步串行; * *速度控制速度控制波特率、發(fā)送波特率、發(fā)送/ /接收時鐘;接收時鐘; 串行通信方式串行通信方式 通信方向通信方向TRTRTRRTTR單工方式單工方式 半雙工方式半雙工方式 全雙工方式全雙工方式 單工方式:單工方式:數據僅按一個固定
47、方向傳送;半雙工方式:半雙工方式:數據可實現雙向傳送,但不能同時進行;全雙工方式:全雙工方式:允許雙方同時進行數據雙向傳送;多工方式:多工方式:在同一線路上實現資源共享。MCS-51串行口 MCS-51內部有一個內部有一個可編程的全雙工串行通可編程的全雙工串行通信接口信接口,該串行口有,該串行口有4種工作方式,以供不種工作方式,以供不同場合使用。波特率可由軟件設置,由片同場合使用。波特率可由軟件設置,由片內的定時器內的定時器/計數器產生。接收、發(fā)送均可計數器產生。接收、發(fā)送均可工作在查詢方式或中斷方式工作在查詢方式或中斷方式。串行口的結構與控制 MCS-51單片機內部的串行口有兩個物理上單片機
48、內部的串行口有兩個物理上獨立的獨立的接收、發(fā)送緩沖器接收、發(fā)送緩沖器SBUF,可同時接,可同時接收和發(fā)送數據。發(fā)送緩沖器只能寫入不能收和發(fā)送數據。發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入。兩讀出,接收緩沖器只能讀出不能寫入。兩個緩沖器占用同一個地址(個緩沖器占用同一個地址(0X99)。)。 控制控制MCS-51單片機串行口的控制寄存器共單片機串行口的控制寄存器共有兩個,即特殊功能寄存器有兩個,即特殊功能寄存器SCON和和PCON。 串行口控制寄存器SCON SM0、SM1:控制串行口的工作方式。 SM2:允許方式2和方式3進行多機通信控制位。 REN:允許串行接收控制位。REN=
49、1,允許接收。 TB8:是工作在方式2和方式3時要發(fā)送的第9位數據,根據需要由軟件置位和復位。 RB8:是工作在方式2和方式3時接收到的第9位數據。 TI:發(fā)送中斷標志位。必須由軟件清零。 RI:接收中斷標志位。必須由軟件清零。特殊功能寄存器PCON SMOD:波特率倍增位。當SMOD=1時,波特率加倍;當SMOD=0時,波特率不加倍。 GF1、GF0:兩個通用標志位,用戶使用。 PD、IDL :電源控制 串行口的工作方式 串行接口的工作方式有四種,由SCON中的SM0、SM1定義,編碼及功能如下表。在這四種工作方式中,串行通信只使用方式1,方式2,方式3。方式0主要用于用串口擴展并行口。 當
50、SCON中的SM0、SM1=00時,串行口以工作方式0工作,串行口為同步移位寄存器輸入/輸出方式,其波特率固定不變?yōu)閒osc/12。數據由RXD(P3.0)端輸入或輸出,同步移位脈沖由TXD(P3.1)端輸出,發(fā)送、接收的是8位數據,低位在先。 當SM0、SM1=01時,串行口以工作方式1工作,此時串行口為8位數據異步通信接口。波特率可變,低位在先。 當SM0、SM1=10時,串行口以工作方式2工作,發(fā)送和接收的一幀信息由11位組成,即1位起始位、8位數據位(低位在先)、1位可編程位(第9位數據位)和1位停止位。TB8根據需要設為0或1, 作為多機通信中的地址數據標志位或數據的奇偶校驗位。波特
51、率固定不變( fosc/64或fosc/32),低位在先。 當SM0、SM1=11時,串行口以工作方式3工作。波特率可變的9位數據異步通信方式,其余與方式2相同。低位在先。圖圖1.12 方式方式0用于擴展用于擴展I/O口輸出口輸出 圖圖1.13 串口通信工作在方式串口通信工作在方式1下的數據格式下的數據格式 圖圖1.14 串口通信工作在方式串口通信工作在方式2、3下的數據格式下的數據格式波特率的計算注:若SMOD=0,則K=1;若SMOD=1,則K=2 常用的波特率及計算器初值 【例】【例】要求串行口以方式要求串行口以方式1工作,通信波特率為工作,通信波特率為2400b/s,設振蕩頻率,設振蕩
52、頻率fosc為為6MHz,請初始化,請初始化T1和串口。和串口。解:由題可得解:由題可得T1的初始值為的初始值為:則則T1的初始化為:的初始化為:TMOD=0 x20;TH1=0 xFA;TL1=0 xFA;串口工作于模式串口工作于模式1,若允許接收,則初始化為:,若允許接收,則初始化為:SCON=0 x50;串口通信設計步驟串口通信設計步驟 串口初始化串口初始化 主要針對主要針對SCON,TMOD,IE,TCON,TH1,TL1,PCON,IP特殊功能特殊功能寄存器的設置。寄存器的設置。確定定時器確定定時器1的工作方式的工作方式編程編程TMOD寄存器。寄存器。確定波特率確定波特率 -計算定時
53、器計算定時器1的初值,并裝載的初值,并裝載TH1、TL1;考慮;考慮PCON是否需加倍。是否需加倍。串行口在中斷方式工作時,設置串行口在中斷方式工作時,設置IE寄存器。寄存器。確定串行口的控制確定串行口的控制編程編程SCON。啟動定時器啟動定時器1編程編程TCON中的中的TR1位;位; 查詢查詢 RI 或或TI (或在中斷中判或在中斷中判) 發(fā)送數據發(fā)送數據-SBUF 或或 接收數據接收數據 -SBUF 清清 TI(或或RI)特殊功能寄存器PCON SMOD:波特率倍增位。當SMOD=1時,波特率加倍;當SMOD=0時,波特率不加倍。 GF1、GF0:兩個通用標志位,用戶使用。 PD、IDL :電源控制 注注1:掉電保護方式:掉電保護方式 用指令使用指令使PD=1,單片機一切工作停止,只有內部,單片機一切工作停止,只有內部RAM單元的內容被保存。需硬件啟動。單元的內容被保存。需硬件啟動。 注注2:待機方式:待機方式 用指令使用指令使PCON
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全協議責任書模板
- 數字媒體服務協議合同
- 農業(yè)林業(yè)技術員勞務協議
- 雇傭關系協議補充協議
- 出租車租賃與運營管理服務協議
- 微免試題及答案
- 王者榮耀輔助試題及答案
- 2025年新版營業(yè)執(zhí)照租賃策劃與執(zhí)行協議
- 2025年合作項目策劃與合作方協議范本
- 2025年新能源汽車電池維修協議
- 揚塵污染控制工作臺帳(揚塵防治全套資料)
- 2021年英語專業(yè)四級TEM4考試真題和答案
- 各科室臨床路徑(衛(wèi)生部)2022
- 學習宣傳貫徹反有組織犯罪法工作經驗材料
- 大學生德育論文范文3000字
- 美術作品使用授權書.docx
- 金屬軋制工藝學1軋制過程基本參數
- 低壓電纜頭制作安裝施工工藝標準
- 初中英語語法講解PPT課件(共210頁)
- 排骨架檢驗標準_圖文
- 工程變更申請表(ECR)
評論
0/150
提交評論