




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、什么是單片機二、MCS-51單片機系統結構三、MCS-51存儲器與布爾處理器四、MCS-51指令系統五、MCS-51中斷系統六、MCS-51的定時器/計數器七、MCS-51的串行通信口八、MCS-51的匯編語言程序設計基礎九、MCS-51系統的功能擴展第1頁/共86頁第一頁,編輯于星期六:七點 二十一分。第2頁/共86頁第二頁,編輯于星期六:七點 二十一分。一、什么是單片機第3頁/共86頁第三頁,編輯于星期六:七點 二十一分。一、什么是單片機 它是將組成微型計算機所必須的部件(中央處理器CPU、程序存貯器(ROM)、數據存貯器(RAM)、輸入/輸出(I/O)接口、定時/計數器、串行口、系統
2、總線等)集成在一個超大規模集成電路芯片上。第4頁/共86頁第四頁,編輯于星期六:七點 二十一分。二、MCS-51單片機系統結構第5頁/共86頁第五頁,編輯于星期六:七點 二十一分。 MCS-51硬件配置基本配置: 8位CPU 振蕩器和時鐘電路 片內4K/8K字節ROM/EPROM、128/256字節RAM 可尋址外部程序存儲器和數據存儲器各64K字節 二十多個特殊功能寄存器(SFR) 32線并行 I/O接口 2/3個片內16位定時器/計數器 片內中斷處理系統(5/6個中斷源,2個優先級) 1個片內全雙工串行I/O口 位處理功能第6頁/共86頁第六頁,編輯于星期六:七點 二十一分。P0.0-P0
3、.7P0.0-P0.7P2.0-P2.7P2.0-P2.7P1.0-P1.7P1.0-P1.7P3.0-P3.7P3.0-P3.7PSENPSENALEALE/EA/EARSTRSTVccVssXTAL1XTAL1XTAL2XTAL2MCS-51單片機內部硬件結構PCONSCONTMODTCONTH0TL0TH1TL1T2CONTH2TL2RCAP2LRCAP2HSBUFIEIP第7頁/共86頁第七頁,編輯于星期六:七點 二十一分。第8頁/共86頁第八頁,編輯于星期六:七點 二十一分。 VCC 8051 RST/VPD VSS VCC 10uF 8.2K 200 第9頁/共86頁第九頁,編輯于
4、星期六:七點 二十一分。第10頁/共86頁第十頁,編輯于星期六:七點 二十一分。中央處理器(CPU) 8051的核心部件是一個8位CPU,它是8051的指揮中心、執行機構,讀入和分析每條指令,控制單片機的各個部件執行制定的操作。它是由8位算術/邏輯運算部件ALU、布爾處理器、定時/控制部件和若干寄存器等主要部件組成。第11頁/共86頁第十一頁,編輯于星期六:七點 二十一分。 算術/邏輯運算部件ALU ALU包括運算器、布爾處理器、累加器A、寄存器B、暫存器、程序狀態字PSW寄存器等。 其功能是實現數據的算術/邏輯運算、位變量處理和數據傳送等操作。(+、算術運算,與、或、非、異或 邏輯運算、循環
5、移位、位處理) 8051的指令代碼不超過3字節,當主頻12MHZ時,指令的執行時間為:1us(64條)、2us(45條)、乘除法指令為4us。第12頁/共86頁第十二頁,編輯于星期六:七點 二十一分。 專用寄存器 8051內部有工作寄存器、專用寄存器和特殊功能寄存器。累加器A(8位)寄存器B(8位)數據指針DPTR(16位)程序狀態字PSW(8位)堆棧及棧指針SP(8位)CyCyACACF0F0RS1RS1RS0RS0OVOV P P第13頁/共86頁第十三頁,編輯于星期六:七點 二十一分。向CPU提供兩相時鐘信號振蕩器輸出信號 單片機時鐘電路第14頁/共86頁第十四頁,編輯于星期六:七點 二
6、十一分。 一個機器周期=6個狀態=12個振蕩周期P1P2S1P2振蕩周期時鐘周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2MCS-51單片機各種周期的相互關系第15頁/共86頁第十五頁,編輯于星期六:七點 二十一分。 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 讀操作碼 讀下一個操作碼(丟棄)
7、 讀下一個操作碼 S1 讀操作碼 讀第二個字節 讀下一個操作碼 S1 讀操作碼 讀下一個操作碼(丟棄) 讀操作碼 讀下一個操作碼(丟棄) 無取指,無 ALE ALE 單字節單周期指令 例:INC A 雙字節單周期指令 例:ADD A,DATA 單字節雙周期指令 例:INC DPTR 雙字節雙周期指令 例:MOVX A,DPTR OSC S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 MCS-51取指/執行時序圖第16頁/共86頁
8、第十六頁,編輯于星期六:七點 二十一分。 MCS-51單片機有4個雙向并行的8位I/O口P0P3,可并行輸入或輸出8位數據,也可按位使用。MCS-51 并行I/O口結構 8051有4個8位并行 I/O 接口,各具特殊的電路結構,每位具有自己的鎖存器、輸出驅動和輸入緩沖器。這種結構在輸出時鎖存,即輸出新數據之前通道口上的數據保持不變。 不擴展外部功能時,P0、P1、P2均可做典型I/O口使用,P3作做典型I/O口和第二特殊功能口用;當外部功能擴展時, P0口做低8位地址和數據總線復用, P2口做高8位地址,P1口典型I/O端口第17頁/共86頁第十七頁,編輯于星期六:七點 二十一分。 P0口1地
9、址/數據復用總線口n 控制信號為1,輸出的地址數據通過與門驅動T1,同時通過反相器驅動T2。 D Q CL /Q & 地 址 /數 據 控 制 VCC 讀 寄 存 器 讀 引 腳 內 部 總 線 寫 鎖 存 器 P0.X引 腳 T2 T1 鎖存器 一般I/O口控制信號為0,與門輸出為0使T1截止,輸出為漏極開漏電路,需外接上拉電阻。第18頁/共86頁第十八頁,編輯于星期六:七點 二十一分。 除了讀引腳操作外,還可以讀鎖存器,實現讀鎖存器修改再寫入操作。 P0口訪問外部存儲器時是地址/數據復用總線口,真正雙向I/O口。做通用I/O口是準雙向,由輸出狀態變為輸入時,置鎖存器為1再輸入。輸出
10、級能驅動8個TTL負載。 一般P0做地址/數據復用總線口,就不能再做通用I/O口時用。復位后自動置成地址/數據復用總線口。 P0口第19頁/共86頁第十九頁,編輯于星期六:七點 二十一分。 P2口當系統外部功能擴展時,P2口輸出高8位地址,這時不能再做通用I/O口使。不擴展時可做通用I/O口。輸出級能驅動4個TTL負載。 D Q CL /Q 地 址 控 制 VCC 讀 寄 存 器 讀 引 腳 內 部 總 線 寫 鎖 存 器 P2.X引 腳 T1 當開關接通地址信號,地址信號通過反相器驅動T1,輸出到引腳。當開關接通Q,進行通用I/O口操作。屬于準雙向口,由輸出轉為輸入狀態時,必須先置位鎖存器使
11、T1截止。P2口內部有上拉電阻。鎖存器第20頁/共86頁第二十頁,編輯于星期六:七點 二十一分。 P1口P1是標準的8位準雙向并行通用I/O口。輸出級能驅動4個TTL負載。 D Q CL /Q VCC 讀 寄 存 器 讀 引 腳 內 部 總 線 寫 鎖 存 器 P2.X引 腳 T1 鎖存器P1.X引腳第21頁/共86頁第二十一頁,編輯于星期六:七點 二十一分。 P3口P3是雙功能口,即可做8位準雙向并行通用I/O口,又具有第二變異功能。輸出級能驅動4個TTL負載。 D Q CL /Q 變異功能輸出 VCC 讀寄存器 讀引腳 內部總線 寫鎖存器 P3.X引腳 T1 變異功能輸入 第22頁/共86
12、頁第二十二頁,編輯于星期六:七點 二十一分。P3口的第二功能表P3.2P3.3位線引腳第二功能P3.010RXD(串行輸入口)P3.111TXD(串行輸出口)12INT0(外部中斷0)13INT1(外部中斷1)P3.414T0(定時器0的計數輸入)P3.515T1(定時器1的計數輸入)16WR(外部數據存儲器寫脈沖)17RD(外部數據存儲器讀脈沖)P3.7 P3.6 第23頁/共86頁第二十三頁,編輯于星期六:七點 二十一分。并行I/O口的讀-修改-寫操作 讀-修改-寫操作每個并行I/O口均有讀引腳和讀鎖存器兩種讀方式。MCS-51有些指令是讀引腳內容,有些是讀鎖存器內容。讀鎖存器指令是從鎖存
13、器種讀出內容,進行處理,然后再寫入鎖存器,稱為讀修改寫操作。當指令的目的操作數為某個I/O口或其中的某一位時,該指令讀的是鎖存器內容。具有該功能的指令有: 邏輯與 ANL P1,A 邏輯或 ORL P1,A 邏輯異或 XOR P1,A 位取反 CPL P3.0 增量指令 INC P2 減量指令 DEC P2 循環判跳 DJNZ P3,LABEL 傳送指令 MOV P1.0,C 清0指令 CLR P1.0 置位指令 SETB P1.0 第24頁/共86頁第二十四頁,編輯于星期六:七點 二十一分。并行I/O口結構總線 總線當訪問外部存儲器時,P2口輸出高8位地址,P0輸出低8位地址,通過ALE信號
14、將P0口的低8位地址鎖存到外部地址鎖存器,為P0口接收數據作準備。/PSEN用于訪問外部程序存儲器;訪問外部數據存儲器時,執行MOVX指令,P3口自動產生/RD和/WR信號允許對外部數據存儲單元進行讀寫。第25頁/共86頁第二十五頁,編輯于星期六:七點 二十一分。 MCS-51 節電運行方式(低功耗運行方式) 待機( (休閑) )方式(IdleIdle) 掉電保護方式(Power DownPower Down)。在Vcc=5VVcc=5V,fosc=12MHzfosc=12MHz條件下,正常工作時電流約20mA20mA;待機( (休閑) )方式時電流約5mA5mA;掉電保護方式時電流僅7575
15、 A A。 第26頁/共86頁第二十六頁,編輯于星期六:七點 二十一分。兩種低功耗工作方式由電源控制寄存器PCONPCON確定。 其中: SMODSMOD:波特率倍增位(在串行通信中使用) GF1GF1、GF0GF0:通用標志位 PDPD:掉電方式控制位, PD=1PD=1,進入掉電工作方式; IDLIDL:待機( (休閑) )方式控制位, , IDL=1, IDL=1,進入待機工作方式。 SMODSMODGF1GF1GF0GF0PDPDIDLIDLPCONPCON第27頁/共86頁第二十七頁,編輯于星期六:七點 二十一分。 待機(休閑)方式 待機(休閑)狀態退出 產生中斷; 復位。 待機(休
16、閑)方式狀態片內時鐘僅向中斷源提供,其余被阻斷; PCPC、特殊功能寄存器和片內RAMRAM狀態保持不變; I/OI/O引腳端口值保持原邏輯值; ALEALE、保持邏輯高電平; CPUCPU不工作,但中斷功能繼續存在。 待機(休閑)狀態進入 只要使PCONPCON中IDLIDL位置1 1。第28頁/共86頁第二十八頁,編輯于星期六:七點 二十一分。 掉電保護方式 掉電保護狀態退出 掉電保護方式狀態片內振蕩器停振,所有功能部件停止工作;片內RAMRAM數據信息保存不變; ALEALE、PSENPSEN為低電平; VccVcc可降至2V2V,但不能真正掉電。 掉電保護狀態進入只要使PCONPCON
17、中PDPD位置1 1。 唯一方法是硬件復位,復位后片內RAMRAM數據不變,特殊功能寄存器內容按復位狀態初始化。第29頁/共86頁第二十九頁,編輯于星期六:七點 二十一分。三、MCS-51存儲器與布爾處理器第30頁/共86頁第三十頁,編輯于星期六:七點 二十一分。MCS-51:程序存儲器與數據存儲器分為兩個獨立存儲器邏輯空間,各有自己的尋址系統、控制信號和功能,分開編址,稱為哈佛結構。 MCS-51的存儲空間分為三類:片內、片外統一編址的64K字節程序存儲器空間64K字節的外部數據存儲器地址空間128/256字節的內部程序存儲器空間,其中包括特殊功能寄存器第31頁/共86頁第三十一頁,編輯于星
18、期六:七點 二十一分。特殊功能寄存器SFR通用RAM區00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外 部RAM(I/O口地址)0000HFFFFH內部數據存儲器(a)外部數據存儲器(b)FFFFH外部ROM內部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存儲器(c)工作寄存器區MCS-51單片機存儲器結構位尋址區128BRAM第32頁/共86頁第三十二頁,編輯于星期六:七點 二十一分。 MCS-51的程序存儲空間: MCS-51設置16位的程序計數器PC
19、,可尋址64K字節程序存儲器空間. 8051/8751片內4K字節的ROM/EPROM;8052片內8K字節的ROM/EPROM;8031/8032無內部程序存儲器; /EA引腳為高電平,CPU首先訪問內部程序存儲器,訪問超過4K(8K)字節的程序存儲器時, CPU自動轉向訪問外部程序存儲器,/PSEN輸出有效信號. /EA引腳為低電平, CPU只訪問外部程序存儲器.第33頁/共86頁第三十三頁,編輯于星期六:七點 二十一分。 程序存儲器的某些單元專用于某些特定的程序段: 0000H0002H 程序的起始 0003H0032H 中斷服務程序 中 斷 源 首 地 址外部中斷0(/INT0)000
20、3H定時器0溢出中斷000BH外部中斷1(/INT1)0013H定時器1溢出中斷001BH串行口中斷0023H定時器2溢出002BH每個中斷只保留8個單元,一般不夠存放中斷服務程序,常用轉移指令轉向實際的中斷服務程序段.第34頁/共86頁第三十四頁,編輯于星期六:七點 二十一分。MCS-51的數據存儲器MCS-51的數據存儲器也分為內部和外部,分別用MOV和MOVX 指令訪問.特殊功能寄存器SFR通用RAM區00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外 部RAM(I/O口地址)0000HFFFFH內部
21、數據存儲器(a)外部數據存儲器(b)工作寄存器區位尋址區128BRAM第35頁/共86頁第三十五頁,編輯于星期六:七點 二十一分。內部數據存儲器的空間分配內部數據存儲器的空間分配第36頁/共86頁第三十六頁,編輯于星期六:七點 二十一分。內部數據存儲器中的位地址第37頁/共86頁第三十七頁,編輯于星期六:七點 二十一分。 特殊功能寄存器地址及功能表特殊功能寄存器地址及功能表第38頁/共86頁第三十八頁,編輯于星期六:七點 二十一分。外部程序存儲器與訪問 對于8051/8751/8052/8752片內4K/8K字節的程序存儲器外,還可擴展60/56K程序存儲器;對于8031/8032無內部程序存
22、儲器,必須全部由外部配置,一般選用EPROM; 若低地址程序段在片內,/EA引腳為高電平,CPU從0000H訪問內部程序存儲器,程序執行超過4095/8191單元后, CPU自動轉向訪問外部程序存儲器,內部和外部訪問速度相同.若無外部程序存儲器, 4095/8191單元不能有數據.第39頁/共86頁第三十九頁,編輯于星期六:七點 二十一分。外部程序存儲器與訪問 CPU訪問外部程序存儲器時,PC的低8位地址由P0口輸出,高8位地址由P2輸出.從外部程序存儲器讀入的指令由P0口輸入. /ALE為地址鎖存信號,每個機器周期出現兩次,只有訪問外部數據存儲器時才減為一次.因此/ALE信號為主振頻率的1/
23、6,實際應用中可借用作定時信號. /PSEN是訪問外部程序存儲器的專用選通信號,低電平有效.每個機器周期有效兩次.第40頁/共86頁第四十頁,編輯于星期六:七點 二十一分。外部數據存儲器與訪問 MCS-51片內配置128/256字節的RAM,可根據需要擴展至64KRAM CPU訪問外部數據存儲器的地址由數據指針DPTR或工作寄存器Ri提供, Ri提供8位地址,由P0口輸出; DPTR提供16位地址,由P0口輸出DPL,DPH由P2輸出.讀寫操作的數據由P0口輸入/輸出. 訪問外部RAM的讀/寫選通信號由/RD、/WR提供。第41頁/共86頁第四十一頁,編輯于星期六:七點 二十一分。 訪問內部還
24、是外部RAM是通過不同的指令來區別。訪問內部RAM選用MOV類指令,訪問外部RAM選用MOVX指令。 MOVX A,Ri/ MOVX A,DPTR, MOVX Ri,A/ MOVX DPTR,A 由于訪問外部程序或數據存儲器各有不同的選通信號,提供訪問的地址單元不同,從而在結構上把程序存儲器和數據存儲器分開。第42頁/共86頁第四十二頁,編輯于星期六:七點 二十一分。外部擴展地址/數據總線 P0口既是低8位地址總線,又是8位數據總線,分時復用,P2口為高8位地址總線,從而形成了16位地址總線和8位數據總線.ALE、/PSEN以及P3口的一部分組成控制總線,形成總線結構。 P0口分時復用,具有雙
25、向功能,不需外接上拉電阻。 一旦外部擴展存儲器, P2口不能作一般I/O口使用。第43頁/共86頁第四十三頁,編輯于星期六:七點 二十一分。第44頁/共86頁第四十四頁,編輯于星期六:七點 二十一分。第45頁/共86頁第四十五頁,編輯于星期六:七點 二十一分。MCS-51單片機有7種基本尋址方式序號 尋址方式相應存儲器、寄存器空間1寄存器尋址R0R7,Acc,B,Cy,DPTR2直接尋址內部RAM低128字節和特殊功能寄存器3寄存器間接尋址內部RAM(R1,R0,SP)外部RAM(R1,R0,DPTR)4立即尋址程序存儲器 立即數5基址寄存器加變址寄存器間接尋址程序存儲器(A+DPTR,A+P
26、C)6相對尋址有效地址=PC當前值為基址+偏移量7位尋址內部RAM和特殊功能寄存器的可位尋址單元第46頁/共86頁第四十六頁,編輯于星期六:七點 二十一分。布爾(位)處理器為了更好地“面向測控系統”。MCS-51系列單片機內部設置有完整的功能極強的位處理器,被譽為具有雙CPU的單片機。位累加器,位尋址寄存器,位尋址I/O口,位尋址內部RAM,位尋址指令,程序存儲器等組成MCS-51的位處理器對每個位單元可以進行置位,清零,求反,傳送,判跳和邏輯運算.操作結果一般存于位累加器中.第47頁/共86頁第四十七頁,編輯于星期六:七點 二十一分。四、MCS-51指令系統第48頁/共86頁第四十八頁,編輯
27、于星期六:七點 二十一分。MCS-51 指令系統數據傳送類指令第49頁/共86頁第四十九頁,編輯于星期六:七點 二十一分。MCS-51 指令系統數據傳送類指令第50頁/共86頁第五十頁,編輯于星期六:七點 二十一分。MCS-51 指令系統算術運算指令第51頁/共86頁第五十一頁,編輯于星期六:七點 二十一分。MCS-51指令系統 邏輯運算指令第52頁/共86頁第五十二頁,編輯于星期六:七點 二十一分。MCS-51 指令系統控制轉移指令第53頁/共86頁第五十三頁,編輯于星期六:七點 二十一分。MCS-51 指令系統位操作指令第54頁/共86頁第五十四頁,編輯于星期六:七點 二十一分。五、MCS
28、-51中斷系統第55頁/共86頁第五十五頁,編輯于星期六:七點 二十一分。 MCS-51有5個(或6個)中斷源,2個中斷優先級,可實現兩級中斷嵌套。第56頁/共86頁第五十六頁,編輯于星期六:七點 二十一分。 定時器控制寄存器TCON 88HTF1TR1TF0TR0IE1IT1IE0IT0TIRI串行口控制寄存器SCON 98Hv完成一幀數據的接收(發送),RI(TI)置1。v因為RI(TI)共用一個中斷矢量,中斷服務程序中必須判斷是接收/發送中斷。v必須由軟件清0v若禁止中斷,可以軟件查詢方式處理。當INT0/INT1中斷請求有效,IE0/IE0置1。主機在S5P2采樣標志位。響應中斷后硬件
29、自動復位IE0/IE1IT0/IT1=0(1),決定INT0/INT1低電平(負跳變)有效,定時器T0/T1溢出中斷請求標志TF0/TF1,主機在S5P2采樣標志位,響應中斷后,硬件自動清0。若禁止中斷,可以軟件查詢方式處理。第57頁/共86頁第五十七頁,編輯于星期六:七點 二十一分。 中斷允許寄存器IE A8HEAESET1EX1ET0EX0外部中斷INT0/INT1中斷響應控制位,1允許,0禁止定時器T0/T1溢出中斷響應控制位。1允許,0禁止。串行通訊接收/發送中斷響應控制位。1允許,0禁止。允許/禁止所有中斷。1允許,0禁止。第58頁/共86頁第五十八頁,編輯于星期六:七點 二十一分。
30、 中斷優先級寄存器IP(B8H)PSPT1PX1PT0PX0外部中斷INT0/INT1中斷優先級設置位, 1高優先級,0低優先級。定時器T0/T1中斷優先級設置位。 1高優先級,0低優先級。串行通訊中斷優先級設置位。1高優先級,0低優先級。v當同時有兩個以上同優先級的中斷請求時,按優先順序查詢響應中斷。同級內的優先順序由高到低是:/INT0 T0 /INT1 T1 串行口中斷v優先級注意問題v任一中斷源可通過IP設置優先級別為高或低。v不同級別中斷請求,優先響應高級別中斷。v只有高級別中斷可以中止低級中斷服務子程序,實現中斷嵌套。同級別的中斷不能實現中斷嵌套。第59頁/共86頁第五十九頁,編輯
31、于星期六:七點 二十一分。 中斷服務程序的入口地址 中 斷 源首 地 址外部中斷0(/INT0)0003H定時器0溢出中斷000BH外部中斷1(/INT1)0013H定時器1溢出中斷001BH串行口中斷0023H定時器2溢出002BH第60頁/共86頁第六十頁,編輯于星期六:七點 二十一分。 中斷響應條件 有中斷請求信號(TCON寄存器有置位) 系統處于開中斷狀態(IE寄存器有置位:EA=1,對應控制位=1) 無同級或高優先級中斷服務程序在執行。 當前指令已執行到最后一個機器周期并已經結束。 當前執行的不是RETI指令或訪問IE、IP寄存器指令。 若是,則除執行完該指令外,還要執行完下一條指令
32、,以保證中斷服務子程序的正確返回以及IE、IP寄存器功能的設置。第61頁/共86頁第六十一頁,編輯于星期六:七點 二十一分。 中斷響應阻斷 當CPU未執行完一條指令。 當有同級或高級中斷服務。 執行RETI指令或訪問IE、IP的指令后,不能立即響應中斷。 中斷響應時間(見教材p103) 正常中斷響應時間至少為3-8個機器周期,如果有同級或高級中斷服務,將延長中斷響應時間。 中斷返回 中斷返回指令: RETI= RET指令 + 通知CPU中斷服務已結束。第62頁/共86頁第六十二頁,編輯于星期六:七點 二十一分。中斷系統的應用 中斷初始化 設置堆棧指針SPSP 定義中斷優先級( (IPIP寄存器
33、) ) 定義外中斷觸發方式( (TCONTCON寄存器) ) 開放中斷 (IEIE寄存器,包括EAEA、各用到的中斷) 安排好等待中斷或中斷發生前主程序應完成的操作內容。 中斷服務主程序 中斷服務子程序內容要求: 在中斷服務入口地址設置一條跳轉指令,轉移到中斷服務程序的實際入口處。 根據需要保護現場。 中斷源請求中斷服務要求的操作。 恢復現場。與保護現場相對應,注意先進后出、后進先出操作原則。 中斷返回,最后一條指令必須是RETIRETI。第63頁/共86頁第六十三頁,編輯于星期六:七點 二十一分。六、MCS-51的定時器/計數器第64頁/共86頁第六十四頁,編輯于星期六:七點 二十一分。l
34、80C51單片機內部有兩個定時/計數器T0和T1,其核心是計數器,基本功能是加1。l 對外部事件脈沖(下降沿)計數,是計數器;對片內機周脈沖計數,是定時器。l 計數器由二個8位計數器組成。l 定時時間和計數值可以編程設定,其方法是在計數器內設置一個初值,然后加1計滿后溢出。調整計數器初值,可調整從初值到計滿溢出的數值,即調整了定時時間和計數值。l 定時/計數器作為計數器時,外部事件脈沖必須從規定的引腳Tx(P3.4、P3.5)輸入。且外部脈沖的最高頻率不能超過時鐘頻率的1/24。第65頁/共86頁第六十五頁,編輯于星期六:七點 二十一分。K1K1K2K2可預置初值計數器可預置初值計數器中斷中斷
35、請求請求功能功能選擇選擇啟動啟動控制控制內部時鐘脈沖內部時鐘脈沖(定時)(定時)外部輸入脈沖外部輸入脈沖(計數)(計數)溢出信號溢出信號計數脈沖計數脈沖計數初值計數初值TCONTMOD第66頁/共86頁第六十六頁,編輯于星期六:七點 二十一分。 加法計數器是計滿溢出時才申請中斷, 所以在給計數器賦初值時, 不能直接輸入所需的計數值, 而應輸入的是計數器計數的最大值與這一計數值的差值, 設最大值為 M, 計數值為 N, 初值為 X, 則 X的計算方法如下: 計數狀態: X=MN 定時狀態: X=M定時時間/T 而 T=12晶振頻率 第67頁/共86頁第六十七頁,編輯于星期六:七點 二十一分。 T
36、MOD方式寄存器(89H)G GA AT TE E C C/ /( (/ /T T) ) M M1 1 M M0 0 G GA AT TE E C C/ /( (/ /T T) ) M M1 1 M M0 0 T1T0n=0,定時功能,計數內部機器周期脈沖;,定時功能,計數內部機器周期脈沖;n=1,計數功能,計數引腳,計數功能,計數引腳T0(T1)輸入的負脈沖輸入的負脈沖功能描述功能描述方式方式M1 M0M1 M08 8位自動重裝位自動重裝2 210101616位位1 101011313位位0 00 00 0為兩個為兩個8 8位位3 31111n2)方式選擇位M1、M0:4 4種工作方式種工作
37、方式:(:(13/16/813/16/8位)位)n=0,非門控方式,非門控方式(內部啟動內部啟動): TRx=1,啟動定時器工作;,啟動定時器工作; TRx=0,停止定時器工作。,停止定時器工作。n=1,門控方式,門控方式(外部啟動外部啟動):TRx=1且且引腳引腳INTx=1才啟動。才啟動。TMODTMOD字節地址89H,89H,不能位操作, ,設置TMODTMOD須用字節操作指令。第68頁/共86頁第六十八頁,編輯于星期六:七點 二十一分。 2.TCON 定時器控制/狀態寄存器 88HT TF F1 1 T TR R1 1 T TF F0 0 T TR R0 0 I IE E1 1 I I
38、T T1 1 I IE E0 0 I IT T0 0 n=0,停止定時器工作,停止定時器工作n=1,啟動定時器工作,啟動定時器工作n定時器溢出使定時器溢出使TFx=1,引起,引起中斷請求,中斷請求,CPU響應響應Tx中斷中斷后,自動清后,自動清0 TFx。IT0/IT1=0(1),決定INT0/INT1低電平(負跳變)有效,當INT0/INT1中斷請求有效,IE0/IE0置1。主機在S5P2采樣標志位。響應中斷后硬件自動復位IE0/IE1第69頁/共86頁第六十九頁,編輯于星期六:七點 二十一分。定時器工作方式 方式0 13位。 THx 8位和TLx低5位組成13位加1計數器。TLx低5位計數
39、滿時不向TLx第6位進位,而是向THx進位,13位計滿溢出,TFx置“1”。 計數外部脈沖個數:18192(213) 定時時間(T=1s):1s 8.19msTCONIE第70頁/共86頁第七十頁,編輯于星期六:七點 二十一分。定時器工作方式 方式1 16位。 THx8位和TLx8位組成16位加1計數器 計數外部脈沖個數:165536(216) 定時時間(T=1s):1s 65536T= 65.54msTCONIE第71頁/共86頁第七十一頁,編輯于星期六:七點 二十一分。定時器工作方式 方式2 自動恢復初值8位定時/計數器。TLx為8位加1計數器,THx為8位初值暫存器,設置初值時同時送TL
40、x 和THx 。 用于需要重復定時和計數的場合。一般用于串行通信波特率的產生。 最大計數值:256 (28) 最大定時時間(T=1s): 256sTCONIE去串行口第72頁/共86頁第七十二頁,編輯于星期六:七點 二十一分。 方式3 3僅適用于T0T0,T1T1無方式3 3。 T0T0方式3 3 在方式3 3情況下, ,T0T0被拆成二個獨立的8 8位計數器TH0TH0、TL0TL0。TL0TL0可以為定時/ /計數器;TH0TH0只能作為8 8位定時器。 TL0TL0使用T0T0原有的控制寄存器資源:TF0,TR0,GATE,C/T,INT0,:TF0,TR0,GATE,C/T,INT0,
41、組成一個8 8位的定時/ /計數器; TH0TH0借用T1T1的中斷溢出標志TF1,TF1,運行控制開關TR1,TR1,只能對片內機周脈沖計數, ,組成另一個8 8位定時器( (不能用作計數器) )。 T0T0方式3 3情況下的T1T1 T1 T1由于其TF1TF1、TR1TR1被T0T0的TH0TH0占用,計數器溢出時,只能將輸出信號送至串行口,即用作串行口波特率發生器。定時器工作方式 工作方式3第73頁/共86頁第七十三頁,編輯于星期六:七點 二十一分。定時器工作方式 工作方式3第74頁/共86頁第七十四頁,編輯于星期六:七點 二十一分。定時/計數器編程 初始化編程格式:MOV TMOD,
42、# 方式字 ;選擇方式MOV THx,#XH ;裝入Tx時間常數MOV TLx,#XL(SETB EA) ;開Tx中斷(SETB ETx) SETB TRx ;啟動Tx定時器 1. 按實際需要選擇定時/計數功能 2. 按時間或計數長度選擇方式 3. 計算時間常數第75頁/共86頁第七十五頁,編輯于星期六:七點 二十一分。定時/計數器編程 溢出處理編程格式: 查詢方式:先查詢定時器溢出標志,再進行溢出處理。 ;定時器初始化WAIT:JBC TFx,PT ;檢測溢出標志 SJMP WAITPT: MOVTHx,#XH ;重裝時間常數 MOVTLx,#XL ;溢出處理SJMPWAIT第76頁/共86頁第七十六頁,編輯于星期六:七點 二十一分。定時/計數器編程 2)中斷方式:初始化后執行其他任務,中斷服務程序處理溢出。 ORG0000H LJMPMAIN ORG000BH(001BH);Tx中斷入口 LJMPPTSMAIN: ;初始化后執行其他程序PTS: ;溢出中斷服務程序MOVTHx,#XH;重裝時間常數MOVTLx,#XLRETI第77頁/共86頁第七十七頁,編輯于星期六:七
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園數學大小比較試題及答案
- 醫學基礎化學試題及答案
- 教育教學改進與反思主題試題及答案
- 弱視測試題目及答案
- 安全工程師建筑施工安全考試備考資料試題及答案
- 幼兒園園長試題及答案
- 理論與實驗結合試題及答案
- 實戰模擬的商務英語試題及答案
- 家具設計團隊協作能力試題及答案
- 沃爾瑪企業面試題及答案
- 第7單元 第1課 《自動行駛保出行》 課件【湘科2024版】信息科技 六年級下冊
- 腦卒中多學科會診制度
- 企業資產管理(EAM)系統實施作業指導書
- 2023《住院患者身體約束的護理》團體標準解讀
- 鋁加工(深井鑄造)企業安全生產數字化改造指引試行
- 《使用有毒物品作業場所勞動保護條例》新版解讀:加強勞動保護預防職業危害
- 《動物防疫》課件
- 山西焦煤招聘2025筆試題庫
- 軍工科研招投標行為規范須知
- 幼兒園食堂主要負責人食品安全崗位職責
- 《散貨船結構簡介》課件
評論
0/150
提交評論