版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、1不同型號的對比2硬件基本配置8位位CPU片內(nèi)片內(nèi)ROM/EPROM、RAM片內(nèi)并行片內(nèi)并行 I/O接口接口片內(nèi)片內(nèi)16位定時器位定時器/計數(shù)器計數(shù)器片內(nèi)中斷處理系統(tǒng)片內(nèi)中斷處理系統(tǒng)片內(nèi)全雙工串行片內(nèi)全雙工串行I/O口口31.2 中央處理器 CPU內(nèi)部結(jié)構(gòu)1. 算術(shù)邏輯單元算術(shù)邏輯單元ALU (8位位)+、算術(shù)運算,與、或、非、異算術(shù)運算,與、或、非、異或或 邏輯運算,循環(huán)移位,位處理。邏輯運算,循環(huán)移位,位處理。2. 寄存器陣列寄存器陣列4個工作寄存器區(qū)(個工作寄存器區(qū)(0區(qū)區(qū)3區(qū)區(qū)):每個區(qū)均):每個區(qū)均含含8個寄存器個寄存器R0R7 ( 8位,暫存運算數(shù)據(jù)位,暫存運算數(shù)據(jù)和中間結(jié)果;用和
2、中間結(jié)果;用PSW中的兩位中的兩位PSW.4和和PSW.3來切換選擇四個工作寄存器區(qū)中的來切換選擇四個工作寄存器區(qū)中的一個工作寄存器區(qū)進行讀、寫操作一個工作寄存器區(qū)進行讀、寫操作42. 寄存器陣列寄存器陣列累加器累加器A (8位位):需要:需要ALU處理的數(shù)據(jù)和計處理的數(shù)據(jù)和計算結(jié)果多數(shù)要經(jīng)過算結(jié)果多數(shù)要經(jīng)過A累加器累加器寄存器寄存器B(8位位):與:與A累加器配合執(zhí)行乘、除累加器配合執(zhí)行乘、除運算,亦可作通用寄存器運算,亦可作通用寄存器程序狀態(tài)字程序狀態(tài)字PSW(8位位):存放:存放ALU運算過程運算過程的標志狀態(tài)的標志狀態(tài)進位進位/輔助進位輔助進位/用戶定用戶定/選工作寄選工作寄/溢出標志
3、溢出標志/ /奇偶標志奇偶標志52. 寄存器陣列寄存器陣列數(shù)據(jù)指針數(shù)據(jù)指針DPTR(16位位) :存放片外存儲器:存放片外存儲器地址,作為片外存儲器的指針。可分成兩個地址,作為片外存儲器的指針。可分成兩個8位寄存器位寄存器DPH、DPL使用使用堆棧指針堆棧指針SP(8位位) :按:按“先進后出、后進先先進后出、后進先出出”的原則存取數(shù)據(jù)的存儲區(qū)的原則存取數(shù)據(jù)的存儲區(qū) MCS-51堆棧設在片內(nèi)堆棧設在片內(nèi)RAM區(qū)區(qū) 數(shù)據(jù)入棧數(shù)據(jù)入棧/出棧時,出棧時,(SP)自動先加自動先加1/后減后減 1,其,其內(nèi)容始終為棧頂?shù)刂穬?nèi)容始終為棧頂?shù)刂?復位時復位時:(SP) =07H,可通過對,可通過對SP初始化
4、具體初始化具體設置堆棧區(qū)設置堆棧區(qū)63.程序計數(shù)器程序計數(shù)器PC(16位位) :CPU總是按總是按PC的指示讀取程序的指示讀取程序PC可可自動加自動加1,CPU執(zhí)行程序一般是執(zhí)行程序一般是順序順序方方式式當發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復位等操當發(fā)生轉(zhuǎn)移、子程序調(diào)用、中斷和復位等操作,作,PC被強制改寫,程序執(zhí)行順序也發(fā)生被強制改寫,程序執(zhí)行順序也發(fā)生改變改變MCS-51復位時,復位時,(PC ) =0000H。CPU從從地址地址0開始執(zhí)行程序,即復位入口地址為開始執(zhí)行程序,即復位入口地址為0.71.3 MCS-51單片機的片外總線結(jié)構(gòu)單片機的片外總線結(jié)構(gòu)地址總線(Address Bus)總線寬
5、度為總線寬度為16位,可訪問位,可訪問64K外部存儲器外部存儲器A0A7 P0口口(經(jīng)鎖存器經(jīng)鎖存器); A8A15P2口口數(shù)據(jù)總線(Data Bus)總線寬度為8位(P0)控制總線(Control Bus)由P3口和4根獨立控制線組成83.1 MCS-51單片機存儲器圖(圖(a)是程序存儲器)是程序存儲器圖(圖(b)是內(nèi)部數(shù)據(jù)存儲器)是內(nèi)部數(shù)據(jù)存儲器圖(圖(c)是外部數(shù)據(jù)存儲器)是外部數(shù)據(jù)存儲器93.2 MCS-51存儲器配置程序存儲器(64KB) =1,若PC值在00FFFH之間,則CPU訪問片內(nèi)ROM,若PC值大于0FFFH,則CPU訪問片外ROM =0,則忽略片內(nèi)ROM, CPU只訪問
6、片外ROM 僅當CPU訪問外部ROM時才有效(每機器周期輸出兩次負脈沖)EAEAPSEN10特殊地址復位入口: 0000H中斷入口: 0003H 000BHT0 0013H 001BHT1 0023H串口中斷INT0INT111片內(nèi)數(shù)據(jù)存儲器(128B)工作寄存器區(qū):物理地址為00H1FH位尋址區(qū):物理地址為20H2FH,其128bit位地址統(tǒng)一編為00H7FH,還包括部分特殊功能寄存器堆棧/數(shù)據(jù)緩沖區(qū):物理地址:00H7FH,一般使用30H7FH(注意:復位時, (SP)=07H?。?23.3 存儲器結(jié)構(gòu)的特點ROM(8051) 引腳為1,則片內(nèi)4KB、片外60KB為0,則只有片外RAM總和
7、:片內(nèi)256B (00H-0FFH),片外:64KB (0000H-0FFFFH)片內(nèi)外RAM總和超過64KB,系統(tǒng)用兩種操作碼助記符區(qū)分片內(nèi)、片外RAM“MOV” 對片內(nèi)RAM尋址,“MOVX” 對片外RAM尋址EA133-2 3-2 指令尋址方式指令尋址方式一、立即尋址方式二、直接尋址方式三、寄存器尋址方式四、寄存器間接尋址方式五、變址間接尋址方式六、相對尋址方式七、位尋址方式14一、立即尋址方式一、立即尋址方式尋址方式尋址方式:指令如何給出參與運算的操作數(shù)。:指令如何給出參與運算的操作數(shù)。指令中給出實際操作數(shù)指令中給出實際操作數(shù)(立即數(shù)立即數(shù)),以指令字節(jié)的形式存放,以指令字節(jié)的形式存放
8、在在ROM中,一般用于為寄存器或存儲器賦初值中,一般用于為寄存器或存儲器賦初值(常數(shù))。(常數(shù))。例:例: 8位立即數(shù):位立即數(shù): MOV A,#40H ;A40H 16位立即數(shù):位立即數(shù): MOV DPTR,#2100H ;DPH21H ;DPL00H15二、二、直接尋址方式直接尋址方式 指令中的操作數(shù)是存儲器單元的地址(指令中的操作數(shù)是存儲器單元的地址(8 8位位),數(shù)),數(shù)據(jù)存放在存儲器單元中。據(jù)存放在存儲器單元中。 (1)直接尋址方式對數(shù)據(jù)操作時,直接尋址方式對數(shù)據(jù)操作時,地址地址是固定值,而地是固定值,而地址所指定的址所指定的單元的內(nèi)容單元的內(nèi)容為變量形式。為變量形式。 (2)SFR
9、SFR只能用直接尋址方式訪問,兩種表示方法:只能用直接尋址方式訪問,兩種表示方法:物理地址物理地址和和寄存器標號寄存器標號(推薦使用推薦使用)(P40 (P40 例例3-22)3-22)。如:。如: 累加器累加器A E0H ACCA E0H ACC B B寄存器寄存器 F0H BF0H B 程序狀態(tài)字程序狀態(tài)字 D0H PSWD0H PSW41H 78H40H 56H 例:例:設存儲器兩個單元的內(nèi)容如圖所設存儲器兩個單元的內(nèi)容如圖所示,則執(zhí)行指令示,則執(zhí)行指令 MOV AMOV A,40H 40H 后,后,(A A) = = ?56H16三、三、寄存器尋址方式寄存器尋址方式 指令中的操作數(shù)為寄
10、存器名指令中的操作數(shù)為寄存器名( (RnRn等等),),數(shù)據(jù)在數(shù)據(jù)在寄存器中。寄存器中。例例: :MOV AMOV A,R0R0;A A (R0R0)設指令執(zhí)行前(設指令執(zhí)行前(A A)=20H=20H,(,(R0R0)=40H=40H,則執(zhí)行指令后(則執(zhí)行指令后(A A)= = ? , ,(R0R0)= = ?40H40H17四、四、寄存器間接尋址方式寄存器間接尋址方式 指令中的操作數(shù)為寄存器中存放的地址數(shù)據(jù)。指令中的操作數(shù)為寄存器中存放的地址數(shù)據(jù)。 存放地址的寄存器稱為間址寄存器存放地址的寄存器稱為間址寄存器( (RiRi) )或地址指或地址指針針( (DPTRDPTR) )。例例: :M
11、OV AMOV A,R0R0;A A(R0)(R0) 設指令執(zhí)行前設指令執(zhí)行前(A)=20H(A)=20H,(R0)=40H(R0)=40H,地址為地址為40H40H的存儲單元內(nèi)容如圖所示的存儲單元內(nèi)容如圖所示。執(zhí)執(zhí)行指令后,行指令后,(A)= (A)= ? ,(R0)= ,(R0)= ? ,(40H)= ,(40H)= ? 41H 67H 40H 34H34H40H34HR018五、五、變址間接尋址方式變址間接尋址方式 數(shù)據(jù)在存儲器中,指令給出的寄存器中存有數(shù)據(jù)在存儲器中,指令給出的寄存器中存有數(shù)據(jù)的數(shù)據(jù)的基地址基地址(PCPC( (當前值當前值) )或或DPTRDPTR)和)和偏移量偏移量
12、(A A)。)。數(shù)據(jù)地址數(shù)據(jù)地址 = = 基地址基地址 + + 偏移量偏移量例:例: A A,A+DPTRA+DPTR;A A (A)+(DPTR)(A)+(DPTR) 設指令執(zhí)行前設指令執(zhí)行前(A)=09H,(DPTR)=2000H(A)=09H,(DPTR)=2000H,存儲器單,存儲器單元內(nèi)容如圖所示。則執(zhí)行指令后,元內(nèi)容如圖所示。則執(zhí)行指令后,(A)= (A)= ? (DPTR)= (DPTR)= ? 12H2000H2008H 89H2009H 12H19 六、例:例:20七七. .位尋址方式位尋址方式 指令給出位地址。數(shù)據(jù)存放于指令給出位地址。數(shù)據(jù)存放于RAMRAM可位尋址空間可位
13、尋址空間中的某一位。中的某一位。 例:例: MOV CMOV C,40H40H ;CyCy (40H(40H( (位地址位地址) ) ) 設指令執(zhí)行前設指令執(zhí)行前(Cy)=1(Cy)=1,RAMRAM地址為地址為28H28H的存儲單的存儲單元如圖,則執(zhí)行指令后,元如圖,則執(zhí)行指令后,(Cy)= (Cy)= ?28H 0110001029H 11010111位尋址區(qū)021說明:1. 一條指令中不能同時出現(xiàn)兩個工作寄存器非法指令: MOV R1,R2MOV R2,R02. 間址寄存器只能使用 R0、R1非法指令:MOV A,R23. SFR區(qū)只能直接尋址,不能用寄存器間接尋址非法指令: MOV R
14、0,#80HMOV A,R022例:順序執(zhí)行下列指令序列,求每一步執(zhí)行結(jié)果。MOV AMOV A,#30H#30HMOV 4FHMOV 4FH,A AMOV R0MOV R0,#20H#20HMOV R0MOV R0,4FH4FHMOV 21HMOV 21H,20H20H;(A)= 30H (A)= 30H ;(4FH)= 30H (4FH)= 30H ;(R0)= 20H (R0)= 20H ;(20H)= 30H (20H)= 30H ;(21H)= 30H(21H)= 30H233-53-5 算術(shù)運算指令算術(shù)運算指令 與數(shù)據(jù)傳送指令不同,多數(shù)算術(shù)運算指令會影響與數(shù)據(jù)傳送指令不同,多數(shù)算術(shù)
15、運算指令會影響標志位的狀態(tài),即標志位的狀態(tài),即CPUCPU執(zhí)行算術(shù)運算指令后會根據(jù)數(shù)據(jù)執(zhí)行算術(shù)運算指令后會根據(jù)數(shù)據(jù)操作情況操作情況自動設置自動設置標志位的狀態(tài)。標志位的狀態(tài)。MCS-51 的程序狀態(tài)字寄存器的程序狀態(tài)字寄存器PSW為狀態(tài)標志寄為狀態(tài)標志寄存器存器CyACF0RS1RS0OVP241 1標志位標志位(CPU(CPU自動設置狀態(tài)自動設置狀態(tài)) )1 1)CyCy:進位標志位:進位標志位保存運算后最高位的進位保存運算后最高位的進位/ /借位狀態(tài),有進位借位狀態(tài),有進位/ /借位時,借位時,(Cy)=1(Cy)=1,否則,否則(Cy)=0(Cy)=0。2 2)ACAC:輔助進位標志位:
16、輔助進位標志位保存低半字節(jié)的進位保存低半字節(jié)的進位/ /借位狀態(tài),借位狀態(tài),D D3 3產(chǎn)生進位產(chǎn)生進位/ /借位時,借位時,(AC)=1(AC)=1,否則,否則(AC)=0(AC)=0。用于十進制調(diào)整。用于十進制調(diào)整。3 3)OVOV:溢出標志位:溢出標志位加加/ /減法時減法時, ,OV=CPOV=CP( (最高位的進最高位的進/ /借位狀態(tài)借位狀態(tài)) ) CSCS( (次高位的進次高位的進/ /借位狀態(tài)借位狀態(tài)););補碼運算產(chǎn)生溢出補碼運算產(chǎn)生溢出, ,則則(OV)=1(OV)=1,否則,否則(OV)=0(OV)=0。4 4)P P:奇偶標志位:奇偶標志位反映累加器反映累加器A A中中
17、“1”1”的個數(shù)的奇偶性。當?shù)膫€數(shù)的奇偶性。當1 1的個數(shù)為奇數(shù),的個數(shù)為奇數(shù),(P)=1(P)=1,否則,否則(P)=0(P)=0。252 2用戶選擇位用戶選擇位( (編程設置狀態(tài)編程設置狀態(tài)) )1 1)F0F0:用戶自定義。:用戶自定義。2 2)RS1RS1、RS0RS0: 工作寄存器區(qū)選擇位。工作寄存器區(qū)選擇位。復位時,復位時,(PSW)=00H(PSW)=00H。例:復位后,設置使用工作寄存器例:復位后,設置使用工作寄存器3 3區(qū),其余標志位不變。區(qū),其余標志位不變。解:解: MOV PSWMOV PSW, # # 18H18HRS1 RS0工作寄存區(qū)0 00區(qū)0 11區(qū)1 02區(qū)1
18、 13區(qū)CyACF0RS1RS0OVP26 例例: : ( (A)=3BHA)=3BH,(PSW)=0(PSW)=0,執(zhí)行指令,執(zhí)行指令 ADD AADD A,#3BH #3BH 后,后,問:問:(A)= ,(Cy)= ,(OV)= ,(AC)= ,(P)= ,(A)= ,(Cy)= ,(OV)= ,(AC)= ,(P)= ,(PSW)= (PSW)= ? 0011 10110011 1011 + + 0011 10110011 1011 0111 01100111 011001000001= 41HCyACF0RS1RS0OVP76H 0 0 1 127 1001 10101001 1010
19、 1110 00111110 0011 + + 0 0 1 1 0111 11010111 1101 2 2. .帶進位加法帶進位加法:(:(指令執(zhí)行前指令執(zhí)行前CyCy的內(nèi)容的內(nèi)容) ) ADDC A ADDC A,RnRn ADDC A ADDC A,directdirect ADDC A ADDC A,RiRi ADDC A ADDC A,#data#data 影響標志位影響標志位 CyCy、OVOV、ACAC、P P。7DH 1 1 0 07DH 1 1 0 0 例:例:(A)=9AH(A)=9AH,(R2)=E3H(R2)=E3H,(PSW)=0(PSW)=0,執(zhí)行指令,執(zhí)行指令AD
20、DC AADDC A,R2R2 問問: (: (A)= ,(Cy)= ,(OV)= ,(AC)= ,(P)= ,A)= ,(Cy)= ,(OV)= ,(AC)= ,(P)= , (PSW)= (PSW)= ?10000100 = 84HCyACF0RS1RS0OVP28指令系統(tǒng)小結(jié)MOV:源操作數(shù)和目的操作數(shù)都在片內(nèi)RAM與A中; MOVX:實現(xiàn)外部RAM與累加器A之間的數(shù)據(jù)傳送; MOVC:兩條專用查表指令,實現(xiàn)外部ROM與累加器A之間的數(shù)據(jù)傳送。29Ri 中i的范圍是0或1。 Rn 中n的范圍是07。 每條指令中只能有每條指令中只能有1個個Rn或或Ri。 如:如: MOV R1,R0 MO
21、V A, R2 以累加器以累加器A為目的操作數(shù)寄存器的傳送為目的操作數(shù)寄存器的傳送指令會影響指令會影響PSW中的奇偶標志位,其余中的奇偶標志位,其余傳送指令執(zhí)行時均不會影響任何標志位。傳送指令執(zhí)行時均不會影響任何標志位。304-2 定時器/計數(shù)器1、MCS-51內(nèi)部具有兩個定時/計數(shù)器,可用于定時控制,分頻器和事故處理來用。2、內(nèi)部是一個二進制加1計數(shù)器,當計數(shù)器計滿回零時能自動產(chǎn)生溢出中斷請求,表示定時時間已到或計數(shù)已中止。31一.定時器控制、狀態(tài)寄存器 1.TMOD定時器方式寄存器(89H)1)功能選擇位)功能選擇位C/T:=0,定時功能,計數(shù)內(nèi)部機器周期脈沖;,定時功能,計數(shù)內(nèi)部機器周期
22、脈沖;=1,計數(shù)功能,計數(shù)引腳,計數(shù)功能,計數(shù)引腳T0(T1)輸入的脈沖下降沿。輸入的脈沖下降沿。 2 2)方式選擇位方式選擇位M1M1、M0M0:4 4種工作方式:種工作方式:13/16/813/16/8位位 3)門控方式選擇位)門控方式選擇位GATE : =0,非門控方式,非門控方式(內(nèi)部啟動內(nèi)部啟動):TRx=1,啟動定時器工作;,啟動定時器工作;TRx=0,停止定時器工作。,停止定時器工作。=1,門控方式,門控方式(外部啟動外部啟動):TRx=1且引腳且引腳INTx=1才啟動。才啟動。GATEC/TM1M0GATEC/TM1M0T1T032TMODGATEC/TM1M0GATEC/TM
23、1M0確定定時器工作方式指令:確定定時器工作方式指令:MOV TMOD,#方式字方式字例:例:設設T0用方式用方式2非門控定時,非門控定時,T1用方式用方式1門控計數(shù)。門控計數(shù)。 MOV TMOD,#1101 0010B 或或 MOV TMOD,#0D2H332.TCON定時器控制/狀態(tài)寄存器(88H)TF1TR1TF0TR01)啟動控制位)啟動控制位TR0、TR1=0,停止定時器工作;,停止定時器工作; =1,啟動定時器工作。,啟動定時器工作。例:啟動例:啟動T0:SETBTR02)溢出中斷標志位)溢出中斷標志位TF0、TF1定時器溢出使定時器溢出使TFx=1。 中斷方式:中斷方式: TFx
24、=1引起中斷請求,引起中斷請求,CPU響應響應Tx中斷后,自動對中斷后,自動對TFx清清0 。 軟件查詢方式:軟件查詢方式:可用軟件檢測可用軟件檢測TFx,必須軟件清,必須軟件清0。 WAIT:JBC TF0,NEXT ;檢測;檢測T0是否溢出是否溢出SJMPWAIT ;未溢出,繼續(xù)檢測;未溢出,繼續(xù)檢測 NEXT: ;溢出,;溢出,TF0清清0,處理溢出,處理溢出343可預置初值的16位加1定時計數(shù)器 屬于SFR中的一種,T0由TH0、TL0組成, T1由TH1、TL1組成。通過預設初值來定時。 預置T0初值指令: MOV TH0,#X MOVTL0,#XL35二、定時器工作方式 13位定時
25、位定時/計數(shù)器。計數(shù)外部脈沖個數(shù):計數(shù)器。計數(shù)外部脈沖個數(shù):18192(213)。 定時時間定時時間(12MHz,即:,即:T=1 s):1 s 8.192ms。TRxINTxGATEC/T=0C/T=1usfatosc12)2(13由方式選擇位由方式選擇位M1M1、M0M0設定設定36THxTHx 高高8 8位和位和TLxTLx 低低5 5位組成位組成1313位加位加1 1計數(shù)器計數(shù)器例:計算得初值為例:計算得初值為76927692,1313位定時器位定時器T0T0應裝初應裝初值多少?值多少?76927692化為化為1616進制數(shù)進制數(shù)1E0CH,1E0CH,則則TH0TH00FOH,TL0
26、=0CH0FOH,TL0=0CHT1T9T8T7T6T5T4T3T2T13T12T11T10TH0/TH1TL0/TL137第四章 單片機的其他片內(nèi)功能部件16位定時/計數(shù)器。 THx8位和TLx8位組成16位加1計數(shù)器計數(shù)外部脈沖個數(shù):計數(shù)外部脈沖個數(shù):165536(216)定時時間定時時間(T=1 s):1 s 65536T= 65.54msC/T=0C/T=1usfatosc12)2(16383. 方式2自動恢復初值自動恢復初值8位定時位定時/計數(shù)器。計數(shù)器。TLx為為8位加位加1計數(shù)器,計數(shù)器,THx為為8位初值暫存器。位初值暫存器。無需重裝初值,用于需要重復定時和計數(shù)的場合。無需重裝
27、初值,用于需要重復定時和計數(shù)的場合。最大計數(shù)值:最大計數(shù)值:256 (28)最大定時時間最大定時時間(T=1 s): 256 susfatosc12)2(839注意:方式2下,當定時器計滿回零時, 一方面向CPU發(fā)出溢出中斷請求, 另一方面從TH中重新獲得初值并啟動計數(shù)。方式0、1、3下, 定時器必須通過重裝初值來重新啟動計數(shù)。404.方式3(只適用T0)T0分成分成2個獨立的個獨立的8位定時器:位定時器:TL0定時定時/計數(shù)器和計數(shù)器和TH0定時器定時器TL0占用占用T0控制位:控制位:C/T,TR0,GATE;TH0占用占用T1控制位控制位。T1不能使用方式不能使用方式3工作工作,一般當一
28、般當T1作為波特率發(fā)生器時作為波特率發(fā)生器時,T0選方式選方式3。C/T=0C/T=1414-2-3 定時器/計數(shù)器的初始化1 1初始化步驟初始化步驟 1)給定時器方式寄存器)給定時器方式寄存器TMOD送一個方式控制字,以設定定送一個方式控制字,以設定定 時器時器/計數(shù)器的相應工作方式。計數(shù)器的相應工作方式。 2)確定需要定時的時間和需要計數(shù)的初值,給定時器)確定需要定時的時間和需要計數(shù)的初值,給定時器/計數(shù)器計數(shù)器 送定時器初值或計數(shù)器初值。送定時器初值或計數(shù)器初值。 3)給中斷允許寄存器)給中斷允許寄存器IE選送中斷控制字和中斷優(yōu)先級寄存器選送中斷控制字和中斷優(yōu)先級寄存器 IP選送中斷優(yōu)先
29、級字,以開放相應中斷和設定中斷優(yōu)先級。選送中斷優(yōu)先級字,以開放相應中斷和設定中斷優(yōu)先級。 4)給定時器控制寄存器)給定時器控制寄存器TCON送命令字,以啟動或禁止定時器送命令字,以啟動或禁止定時器 /計數(shù)器的運行。計數(shù)器的運行。42例4-7 若單片機時鐘頻率為12MHz,請計算定時2ms所需 的定時器初值。解:由于定時器工作在方式2和方式3下時的最大定時時間只有0.256ms, 因此要想獲得2ms的定時時間定時器必須工作在方式0或方式1。 若采用方式0,則根據(jù)公式可得定時器初值為:TC= M MT/ TT/ T計數(shù)計數(shù)= 213 2*103/1=6192=1830H 即:TH0應裝0C1H;T
30、L0應裝#10H(高三位為0) 若采用方式1,則根據(jù)公式可得定時器初值為:TC=2ms/1=63536=F830H 即:TH0應裝#0F8H;TL0應裝#30H。43例:設8031時鐘頻率為12MHz,要求定時器T0定時50ms,寫出初始化程序。TC=M-T/T計數(shù)216-50ms/1us=15536=3CB0HSTART: MOV TMOD #01H ; 方式1 MOV TH0,#3CH ;裝初值 MOV TL0,#0B0H SETB TR0 ; 啟動T0計數(shù)WAIT:JBC TF0,TT0 ;檢測T0是否溢出 SJMP WAIT ;未溢出,繼續(xù)檢測TTO: MOV TH0, #3CH ;重
31、裝初值 MOV TL0,#0B0H CPL P1.0 ;功能?HERE: SJMP HERE444-3 串行接口一一. .串行通訊的基本方式串行通訊的基本方式( (一一).).異步通訊異步通訊 以字符為傳送單位用起始位和停止位標識每個字符的開始和結(jié)束,以字符為傳送單位用起始位和停止位標識每個字符的開始和結(jié)束, 字符間隔不固定,只需字符傳送時同步。字符間隔不固定,只需字符傳送時同步。 異步通訊常用格式:一個字符幀異步通訊常用格式:一個字符幀( (二二).).同步通信同步通信 每一數(shù)據(jù)塊開頭時發(fā)送一個或兩個同步字符,使發(fā)送與接收雙方取每一數(shù)據(jù)塊開頭時發(fā)送一個或兩個同步字符,使發(fā)送與接收雙方取 得同
32、步。數(shù)據(jù)塊的各個字符間取消了起始位和停止位,所以通信速得同步。數(shù)據(jù)塊的各個字符間取消了起始位和停止位,所以通信速 度得以提高。度得以提高。 45二.串行接口功能1.發(fā)送器:并串數(shù)據(jù)格式轉(zhuǎn)換,添加標識位和校驗位,一幀發(fā)送結(jié)束, 設置結(jié)束標志,申請中斷。2.接收器:串并數(shù)據(jù)格式轉(zhuǎn)換,檢查錯誤,去掉標識位,保存有效數(shù)據(jù),設置接收結(jié)束標志,申請中斷。3.控制器:接收編程命令和控制參數(shù),設置工作方式:同步/異步、 字符格式、波特率、校驗方式、數(shù)據(jù)位與同步時鐘比例。 4.串行數(shù)據(jù)傳送方向 單工通訊:數(shù)據(jù)單向傳送。 半雙工通訊:數(shù)據(jù)可分時雙向傳送。 全雙工通訊:可同時進行發(fā)送和接收46第四章 單片機的其他片
33、內(nèi)功能部件2 2個外部中斷源信號:個外部中斷源信號:INT0INT0、INT1INT12 2個定時器個定時器T0T0、T1T1溢出中斷請求:溢出中斷請求:TF0TF0、TF1TF11 1個串行口數(shù)據(jù)發(fā)送、接收結(jié)束中斷請求:個串行口數(shù)據(jù)發(fā)送、接收結(jié)束中斷請求:TITI、RIRI47三、中斷控制寄存器寄寄存存器器名名稱稱D7D6D5D4D3D2D1D0TCON(88H)TF1TF0IE1IT1IE0IT0定定時時器器控控制制寄寄存存器器位位地地址址8 8F FH H8 8E EH H8 8D DH H8 8C CH H8 8B BH H8 8A AH H8 89 9H H8 88 8H HSCON
34、(98H)TIRI串串行行口口控控制制寄寄存存器器位位地地址址9 9F FH H9 9E EH H9 9D DH H9 9C CH H9 9B BH H9 9A AH H9 99 9H H9 98 8H HIE(A8H)EAESET1EX1ET0EX0中中斷斷允允許許寄寄存存器器位位地地址址A AF FH HA AC CH HA AB BH HA AA AH HA A9 9H HA A8 8H HIP(B8H)PSPT1PX1PT0PX0中中斷斷優(yōu)優(yōu)先先級級寄寄存存器器位位地地址址B BC CH HB BB BH HB BA AH HB B9 9H HB B8 8H H48四、中斷控制寄存器中
35、的各中斷標志1.中斷標志位: TF1、TF0、IE1、IE0、RI 、TI TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 SM0 SM1 SM2 RENTB8RB8TIRITCONSCON登記各中斷源請求信號:登記各中斷源請求信號:=1,有中斷請求;,有中斷請求;=0,無中斷請求。,無中斷請求。 CPU響應中斷后,各中斷標志自動清零。響應中斷后,各中斷標志自動清零。注意:注意:TI,RI標志必須軟件清零。標志必須軟件清零。2.2.外部中斷觸發(fā)方式選擇位:外部中斷觸發(fā)方式選擇位:IT0IT0、IT1 IT1 =1 =1,負邊沿觸發(fā)中斷請求;,負邊沿觸發(fā)中斷請求;=0=0,低電平
36、觸發(fā)中斷請求。,低電平觸發(fā)中斷請求。493.中斷允許控制位:EA、ES、ET1、EX1、ET0、EX0 IE =1,開中斷;=0,關中斷。 例:允許CPU響應T0的中斷請求 MOV IE,#82H 或者 SETB ET0 SETB EA4中斷優(yōu)先級控制位:PS、PT1、PX1、PT0、PX0 IP 2級優(yōu)先級:=1,為高優(yōu)先級;=0,為低優(yōu)先級。 同一優(yōu)先級別按內(nèi)部查詢順序排列優(yōu)先級: 高 INT0、T0、INT1、T1、SIO 低。EA/ET2ESET1EX1ET0EX0/PT2PSPT1PX1PT0PX0五、中斷控制寄存器中各控制位五、中斷控制寄存器中各控制位50注意:一種中斷一旦得到響應
37、,與它同級的中斷不能再中斷它。低優(yōu)先級中斷可以被高優(yōu)先級中斷所中斷,反之不能。514.4.2 中斷處理過程1.中斷響應(一)中斷響應條件(一)中斷響應條件 1.1.有中斷源發(fā)出中斷請求;有中斷源發(fā)出中斷請求; 2.2.中斷總允許位中斷總允許位EAEA1 1,即,即CPUCPU開中開中斷;斷; 3.3.相應的中斷允許位為相應的中斷允許位為1 1,即沒有,即沒有屏蔽。屏蔽。(二)(二) 響應過程響應過程 1.阻斷同級或低級中斷;阻斷同級或低級中斷; 2.PC指針內(nèi)容壓棧保護;指針內(nèi)容壓棧保護; 3.相應中斷入口地址裝入相應中斷入口地址裝入PC,程序程序轉(zhuǎn)移到該中斷入口地址單元。轉(zhuǎn)移到該中斷入口地址
38、單元。中斷源中斷源中斷入口地址中斷入口地址INT00003HT0000BHINT10013HT1001BHSIO0023H522.中斷處理注意: (1)各中斷源的入口矢量地址之間,相隔8個單元,通常是在中斷入口矢量地址單元處存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)至存儲器其他的任何空間去執(zhí)行中斷服務程序。 (2)若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷,應用軟件關閉CPU中斷,或屏蔽更高級中斷源的中斷,在中斷返回前再開放中斷。 (3)在保護現(xiàn)場和恢復現(xiàn)場時,為了不使現(xiàn)場信息受到破壞或造成混亂,一般在此情況下,應關CPU中斷,使CPU暫不響應新的中斷請求。3.中斷返回 中斷返回指令: RETI= RET指令
39、 + 通知CPU中斷服務已結(jié)束。53ORG0000HRESET: AJMPMAIN ;轉(zhuǎn)主程序 ORG 000BH ;轉(zhuǎn)中斷處理程序 AJMPIT0P ORG 0100HMAIN: MOV SP,#60H ACALL PT0M0HERE:SJMP HERE ;等待中斷PT0M0: MOVTL0,#0CH ;T0置初值 MOVTH0,#0F0H SETBTR0 SETBET0 ;允許T0中斷 SETB EA ;CPU開放中斷 RETIT0P: MOVTL0,#0CH ;T0重新置初值 MOVTH0,#0F0H CPLP1.0 ;P1.0取反 RETI END546-2 存儲器的擴展一、MCS-5
40、1用于擴展存儲器的外部總線信號:P0.00.7:8位數(shù)據(jù)和低8位地址信號,復用總線AD07。P2.02.7:高8位地址信號AB815ALE: 地址鎖存允許控制信號PSEN: 片外程序存儲器讀控制信號RD: 片外數(shù)據(jù)存儲器讀控制信號WR: 片外數(shù)據(jù)存儲器寫控制信號EA: 程序存儲器選擇55二、擴展程序存儲器電路:常用EPROM芯片:Intel 2716(2K8位)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。8031擴展擴展32KB EPROMIntel 27256 地址?地址?56三. 擴展數(shù)據(jù)存儲器電路:常用RAM芯片:Intel 6116(2KB)、6264(8KB)、62256(32KB)。8031擴展擴展8KB RAM Intel 626457四. 程序與數(shù)據(jù)存儲器擴展電路單片機連接 8KB EPROM 2764 和 8KB RAM 626
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 技術(shù)合同在企業(yè)競爭力提升中的作用
- 2024公司房產(chǎn)土地轉(zhuǎn)讓合同
- 2024新版大學場地租賃合同(商業(yè)活動)
- 房地產(chǎn)項目轉(zhuǎn)讓協(xié)議書
- 2024混凝土管采購合同
- 住房維修工程協(xié)議書
- 2024商家聯(lián)盟合作協(xié)議
- 技術(shù)合作與投資共享協(xié)議書
- 住宅小區(qū)廣告投放合同
- 企業(yè)高管聘請合同參考
- 小記者第一課我是一名小記者
- 2024年福建省托育服務職業(yè)技能競賽理論考試題庫(含答案)
- 2024下半年江蘇蘇州城市學院招聘管理崗位工作人員27人歷年(高頻重點提升專題訓練)共500題附帶答案詳解
- 二年級乘除法口算題大全500題(可直接打印)
- 建造節(jié)活動策劃書
- sk239g報警器說明書
- 半導體芯片項目創(chuàng)業(yè)計劃書(參考范文)
- 困難職工基本情況匯總統(tǒng)計表
- 檔案統(tǒng)計臺帳
- 七大浪費實戰(zhàn)案例(消除企業(yè)中的浪費)
- 停用常壓儲罐管理辦法
評論
0/150
提交評論