版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)- 考試- 知識(shí)點(diǎn)- 總結(jié)- 太原理工大學(xué)- 葬儀落整理一、填空題:1、當(dāng)使用 8051 單片機(jī)時(shí),需要擴(kuò)展外部程序存儲(chǔ)器,此時(shí)2、8051 上電復(fù)位后,從地址0000H 開(kāi)始執(zhí)行程序,外部中斷EA 應(yīng)接低電平 。 1 的中斷入口地址為0013H.3、8051 最多有 64KB 的程序存儲(chǔ)器和 64KB 的數(shù)據(jù)存儲(chǔ)器。4、P0 口通常用作 分時(shí)復(fù)用為地址總線(xiàn)(低 8 位)及數(shù)據(jù)總線(xiàn)或外接上拉電阻用作普通 I/O 口。5、P2 口的功能為 用作地址總線(xiàn) 和作為普通 I/O 口使用 。6、若由程序設(shè)定 RS1、RS0=01,則工作寄存器R0 的直接地址為 08H。7、若由程序設(shè)定 RS1、R
2、S0=00,則工作寄存器R0 的直接地址為 00H。8、若累加器 A 中的數(shù)據(jù)為 01110010B,則 PSW 中的 P=0(偶數(shù)個(gè) 1 為 0,奇數(shù)為 1)9、8051 單片機(jī)共有 5 個(gè)中斷源,分別是INT0 外部中斷 0、 INT1 外部中斷 1、T0 定時(shí)器 /計(jì)數(shù)器中斷 0 中斷、 T1 定時(shí)器計(jì)數(shù)器1 中斷、串行口中斷 。10、ADC0809 是 8 通路 8 位逐次逼近式模 /數(shù)轉(zhuǎn)換器。11、計(jì)算機(jī)中按功能把總線(xiàn)分為數(shù)據(jù)總線(xiàn) 、地址總線(xiàn) 和控制總線(xiàn) 。12、MOV A , #0F5H 中, #0F5H 的尋址方式稱(chēng)之為 立即尋址。 MOV 類(lèi)指令稱(chēng)之為一般傳輸 指令。13、80
3、51 的一個(gè)機(jī)器周期等于 12 個(gè)晶體震蕩周期;通常 8051 單片機(jī)的 ALE 引腳以 1/6 倍的晶振頻率輸出脈沖。14、8051 單片機(jī)復(fù)位后,堆棧指針 SP指向第 07H 號(hào)內(nèi)部 RAM ; 8051 的堆棧是向上生長(zhǎng)的。15、十進(jìn)制調(diào)整指令DA A ,專(zhuān)用于 BCD 碼的加減運(yùn)算。16、單片機(jī)的中斷觸發(fā)方式有 低電平觸發(fā)和下降沿觸發(fā) 兩種。大多數(shù)情況下,單片機(jī)控制系統(tǒng)采用 下降沿觸發(fā) 方式觸發(fā)中斷。17、若執(zhí)行加法運(yùn)算后累加器(A )中的數(shù)據(jù)為 01110010B,則 PSW 中的 P=018、8051 單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器編址方式采用的是哈佛結(jié)構(gòu),即數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器
4、 分開(kāi)的編址方式。二、單項(xiàng)選擇題1、8051 單片機(jī)執(zhí)行 MOVX 寫(xiě)指令時(shí),相關(guān)的信號(hào)狀態(tài)是PSEN 無(wú)效為高電平, WR 有效為低電平2、若 PSW.4=1,PSW.3=1,現(xiàn)在需要保存R1 的內(nèi)容,可執(zhí)行PUSH 19H指令3、下列指令不是變址尋址方式的是MOVX A , DPTR4、在 8051 片外擴(kuò)展一片 EEPROM 28C64 需要 13 根地址線(xiàn)(片選除外),8 根數(shù)據(jù)線(xiàn)。5、8051 定時(shí)器 /計(jì)數(shù)器工作方式2 是自動(dòng)重裝6、單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器8 位計(jì)數(shù)器PC 的位數(shù)決定的,MCS-51的 PC 為 15 位,因此其尋址范圍是64KB 。( 216B=
5、64KB )7、若單片機(jī)的振蕩頻率為 12MHz ,設(shè)定時(shí)器工作在方式 1 需要定時(shí) 1ms,則定時(shí)器初值應(yīng)為 216-1000.(計(jì)算過(guò)程:機(jī)器周期 =12/12MHz=1 s 次數(shù) =1ms/1 s=1000次 方式一為 16 位=216)8、訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的指令是MOVX ,訪問(wèn)程序存儲(chǔ)器的指令是MOVC 。9、匯編語(yǔ)言中,最多包含4 個(gè)區(qū)段,其中 操作碼區(qū)段是必不可少的。10、MCS-51 單片機(jī)的位尋址區(qū)域?yàn)?0H-2FH 。11、MCS-51 單片機(jī)復(fù)位后, PC 值被初始化為 0000H。12、MCS-51 單片機(jī)在同一優(yōu)先級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí), CPU 首先響應(yīng) 外部中
6、斷 0.三、讀程序1、執(zhí)行下列程序段中第一條指令后(1)(P1.7)= 0(P1.3)= 0執(zhí)行第二條指令后,( 2)( P1.5) =1(P1.4) =0ANL P1 , #42HORL P1, #0ECH2、下列程序段執(zhí)行后,( R0)=47H,( 48H)= 0FFH ,( 47H)=3FH MOV R0,#48HMOV 48H,#0MOV 47H,#40HDEC R0DEC R0DEC R03、已知( SP)=29H,( DPTR)=1234H,在執(zhí)行下列指令后,( SP) = 2BH ,內(nèi)部 RAM (2AH )=34H,( 2BH) =12HPUSH DPLPUSH DPH四、簡(jiǎn)答
7、題1、簡(jiǎn)述 MCS-51 單片機(jī)中,振蕩周期、機(jī)器周期和指令周期的關(guān)系。答:( 1)振蕩周期:振蕩周期為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期或外部輸入時(shí)鐘的周期。(2)時(shí)鐘周期:又稱(chēng)狀態(tài)周期或狀態(tài)時(shí)間 S,是振蕩周期的兩倍,分為 P1、 P2 節(jié)拍,通常 P1完成算術(shù)邏輯操作,在 P2 節(jié)拍完成內(nèi)部寄存器間的數(shù)據(jù)傳送操作。(3)機(jī)器周期:一個(gè)機(jī)器周期由 6 個(gè)狀態(tài)(時(shí)鐘周期)(或 12 個(gè)振蕩周期)組成。(4)指令周期:執(zhí)行一條指令的全部時(shí)間,是機(jī)器周期的倍數(shù), MCS-51 單片機(jī)中指令周期通常由 1、 2、 4 個(gè)機(jī)器周期組成。2、DAC0832 作為數(shù)模轉(zhuǎn)換器,其連接方式有幾種?答: 3 種
8、。單緩沖方式、雙緩沖方式和直通方式。(1)直通方式常用于不帶微機(jī)的控制系統(tǒng)。(2)單緩沖方式是值 DAC0832 內(nèi)部的兩個(gè)數(shù)據(jù)緩沖器有一個(gè)處于直通方式,另一個(gè)處于受 8051 控制的鎖存方式。(3)對(duì)于多路 D-A 轉(zhuǎn)換,要求同步進(jìn)行 D-A 轉(zhuǎn)換輸出時(shí),必須采用雙緩沖同步方式。3、8051 單片機(jī)作定時(shí)和計(jì)數(shù)時(shí),其計(jì)數(shù)脈沖分別由誰(shuí)提供? 8051 單片機(jī)定時(shí)計(jì)數(shù)器共有幾種工作模式?分別是什么?答:當(dāng)用作定時(shí)器時(shí),是在內(nèi)部對(duì) CPU 的時(shí)鐘脈沖計(jì)數(shù)。當(dāng)用作計(jì)數(shù)器時(shí),是對(duì)相應(yīng)輸入引腳輸入的脈沖信號(hào)計(jì)數(shù)。工作模式:(1)工作模式 0:使用低字節(jié)的5 位和高字節(jié)的 8 位組成 13 位的計(jì)數(shù)器,低
9、 5 位計(jì)數(shù)溢出后向高位進(jìn)位計(jì)數(shù),高 8 位計(jì)數(shù)器計(jì)滿(mǎn)后置位溢出標(biāo)志位。(2)工作模式 1:使用低字節(jié)和高字節(jié)的 16 位組成 16 位計(jì)數(shù)器。與 0 模式的區(qū)別僅在計(jì)數(shù)器長(zhǎng)度,定時(shí)長(zhǎng)度和計(jì)數(shù)容量不同。(3)工作模式 2:使用低字節(jié)的 8 位做計(jì)數(shù)器、高字節(jié)的 8 位作為預(yù)置常數(shù)的寄存器。(4)工作模式 3:只適用于定時(shí)器 /計(jì)數(shù)器 T0,T0 分別為兩個(gè)獨(dú)立的 8 位計(jì)數(shù)器 TH0 和 TL0.4、MCS-51 單片機(jī)系統(tǒng)共有幾種尋址方式?分別是什么?答:有 7 種尋址方式:( 1)寄存器尋址( 2)直接尋址( 3)立即尋址( 4)寄存器間接尋址( 5)相對(duì)尋址 (6)位尋址(7)基址加變址
10、寄存器間接尋址5、試說(shuō)明特殊功能寄存器TCON 中 TF1 、 TR1 、 IE1 、 IT1 位的含義是什么?這些位什么情況下被置位或清除?答: TF1 T1 計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器T1 計(jì)數(shù)計(jì)滿(mǎn)溢出時(shí),該位由硬件置1,轉(zhuǎn)到中斷服務(wù)程序時(shí),再由硬件自動(dòng)清0.TR1 T1 計(jì)數(shù)運(yùn)行控制位,由軟件置 1 或清 0.為 1 時(shí)允許計(jì)數(shù)器 T1 計(jì)數(shù),為 0 時(shí)禁止計(jì)數(shù)器 T1 計(jì)數(shù)。TF0 T0 計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器 T0 計(jì)數(shù)計(jì)滿(mǎn)溢出時(shí),由硬件置 1,申請(qǐng)中斷。進(jìn)入中斷服務(wù)程序后由硬件自動(dòng)清 0.TR0 T0 計(jì)數(shù)運(yùn)行控制位,由軟件置 1 或清 0,為 1 時(shí)允許計(jì)數(shù)器 T0 計(jì)數(shù),為 0
11、 時(shí)禁止計(jì)數(shù)器 T0 計(jì)數(shù)。IE0 外部中斷 0(INT0 )請(qǐng)求標(biāo)志位,當(dāng) CPU 采樣到 INT0 引腳出現(xiàn)中斷請(qǐng)求后,此位由硬件置 1.在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)程序時(shí),再由硬件自動(dòng)清 0.IE1 外中斷 1(INT0 )請(qǐng)求標(biāo)志位,功能同上。IT0 外中斷 0 請(qǐng)求信號(hào)方式控制位,當(dāng) IT0=1,后沿負(fù)跳變有效; IT0=0,低電平有效。此位可由軟件置 1 或清 0.IT1 外中斷 1 請(qǐng)求信號(hào)方式控制位, IT1=1 ,后沿負(fù)跳變有效; IT1=0 ,低電平有效。五、應(yīng)用題1、將存于外部 RAM 8000H 開(kāi)始的 50H 個(gè)數(shù)據(jù)傳送到內(nèi)部 0010H 開(kāi)始的區(qū)域,請(qǐng)編程實(shí)現(xiàn)。OR
12、G0100HMOV DPR,#8000HMOV R0,#10HMOV R2,#50HMOVX A,DPTRMOV R0,AINCDPTRINCR0END知識(shí)點(diǎn):1、各 P 口功能 :P0 口: 8 位雙向三態(tài) I/O 口,或分時(shí)復(fù)用為地址總線(xiàn)(低 8 位)及數(shù)據(jù)總線(xiàn),或作為普通 I/O 口使用。P1 口: 8 位準(zhǔn)雙向 I/O 口,常用作普通I/O 口使用,個(gè)別引腳有第二功能P2 口: 8 位準(zhǔn)雙向 I/O 口,或用作地址總線(xiàn)(高8 位),或作為普通I/O 口使用P3 口: 8 位準(zhǔn)雙向 I/O 口,或作為普通I/O 口使用;或作為第二功能口使用。P3.0 串行輸入端口( RXD ) P3.1
13、串行輸出端口( TXD )P3.2 外部中斷 0( INT0)P3.3 外部中斷 1(INT1 ) P3.4 T0P3.5 T1P3.6 外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通(WR) P3.7 外部數(shù)據(jù)存儲(chǔ)器讀選通( RD )2、引腳 EA 當(dāng) EA=1 時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,EA=0 時(shí),訪問(wèn)外部程序存儲(chǔ)器引腳 PSEN 外部程序存儲(chǔ)器的讀選通信號(hào),讀取時(shí)有效低電平引腳 PROG/ALE當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE (允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE 端扔以不變的頻率周期性地出現(xiàn)正脈沖信號(hào),次頻率為振蕩器頻率的1/6,可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí),每當(dāng)訪問(wèn)外部數(shù)據(jù)
14、存儲(chǔ)器的時(shí)候,將跳過(guò)一個(gè)ALE 脈沖。3、PSW 中各個(gè)位的功能 :PSW.7 ( CY)進(jìn)位標(biāo)志位PSW.6 ( AC)輔助進(jìn)位標(biāo)志位PSW.5 ( F0)標(biāo)志位PSW.4 PSW.3 ( RS1RS0)四組工作寄存器區(qū)選擇控制位1 和位 000 工作 0 區(qū)( 00H) 01 1 區(qū)( 08H) 10 2 區(qū)( 10H) 11 3 區(qū)( 18H)PSW.2 ( OV )溢出標(biāo)志位PSW.1 保留位,未用4、8051 單片機(jī)的時(shí)序定時(shí)單位:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期5、復(fù)位: RST 引腳處至少保持 24 個(gè)振蕩周期的高電平就可復(fù)位寄存器內(nèi)容寄存器內(nèi)容PC0000HTCON00HACC0
15、0HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0 P30FFHTH200HIP ( 8051)XXX00000BTL200HIP ( 8052)XX000000BRLDH00HIE ( 8051)0XX00000BRLDL00HIE ( 8052)0X000000BSCON00HTMOD00HSBUF不定PCON ( HMOS )0XXXXXXXBPCON0XXX0000B( CHMOS)6、尋址方式( 1)寄存器尋址 方式是對(duì)選中寄存器中的數(shù)據(jù)進(jìn)行處理,適用于數(shù)據(jù)放置在寄存器之中的情況。MOV R1 ,B ; 將寄存器
16、B 中的數(shù)值送入到寄存器 R1 中INC R2; 將寄存器 R2 中的數(shù)值加 1MOV A ,R7 ;將寄存器 R7 中的數(shù)值送入累加 器 A 寄存器尋址范圍 :寄存器區(qū)中 8 個(gè)工作寄存器 R0R7 中的一個(gè)(由指令操作碼的低三位數(shù)值確定)、特殊寄存器 A, B, DPTR, Cy(進(jìn)位位,也是位處理機(jī)的累加器)也可作為寄存器尋址的對(duì)象。( 2)直接尋址 方式是對(duì)直接指定地址的存儲(chǔ)器單元中的數(shù)據(jù)進(jìn)行處理,適用于數(shù)據(jù)放置在可以直接尋址的存儲(chǔ)單元之中的情況。MOV 40H ,B;將寄存器 B 中的數(shù)值送入到內(nèi)部RAM 的 40H 單元中INC 30H;將內(nèi)部 RAM 的 30H 單元中的數(shù)值加1
17、MOV TL0 , R7;將寄存器 R7 中的數(shù)值送入到特殊功能寄存器TL0 中直接尋址范圍 : 片內(nèi) RAM, 包括 SFR,且 SFR 只能直接尋址( 3)立即尋址 是對(duì)指令操作碼后的數(shù)據(jù)進(jìn)行處理,適用于在程序中直接處理的數(shù)據(jù)的情況。MOV 38H , 05H ;將數(shù)值 05H 送入到內(nèi)部 RAM 的 38H 單元中 ADD A , 30H ;將 A 寄存器中的數(shù)值加上 30HMOV TH0 , 0F2H ;將定時(shí)器 0 高 8 位設(shè)置為數(shù)值 0F2H ( 4)位尋址MOV C ,40H;把位 40H 的值送進(jìn)位位 C位尋址的尋址范圍包括:內(nèi)部 RAM 中的位尋址區(qū) 單元地址為 20H-2
18、FH ,共 16 個(gè)單元, 128 個(gè)位,位地址是 00H-7FH 。特殊功能寄存器中的可尋址位可供位尋址的特殊功能寄存器共有11 個(gè),實(shí)際有尋址位 83 個(gè)。注意 :位尋址只能直接尋址。( 5)寄存器間接尋址 是將要處理數(shù)據(jù)的地址放在寄存器中,即用寄存器中的數(shù)據(jù)作為存儲(chǔ)單元的地址數(shù)值。MOV R1 ,#05H ; 將數(shù)值 05H 送入到以 R1 內(nèi)數(shù)值為地址的內(nèi)部 RAM 單元中ADD A , R1; 將累加器 A 中的數(shù)值加上以 R1 內(nèi)數(shù)值為地址的內(nèi)部 RAM 單元中的數(shù)據(jù)結(jié)果存放于AMOVX A ,DPTR;將以DPTR內(nèi)數(shù)值為地址的外部數(shù)據(jù)存儲(chǔ)器的內(nèi)容送給累加器 A注意 : 寄存器間
19、接尋址范圍包括內(nèi)部RAM 和外部 RAM ,且外部 RAM 只能寄存器間接尋址,訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的指令助記符與訪問(wèn)內(nèi)部RAM 的助記符不同。( 6) 相對(duì)尋址方式目的地址 =轉(zhuǎn)移指令所在的地址 +轉(zhuǎn)移指令字節(jié)數(shù) +relJC relJNC relJBbit, relJNBbit, relJBC bit, relSJMP rel( 7) 基址加變址寄存器間接尋址專(zhuān)用 16 位寄存器( DPTR 或 PC)存放基地址,寄存器A 做變址寄存器,僅兩條指令:MOVC A ,APCMOVC A , ADPTR只能讀取程序存儲(chǔ)器。7、指令( 1)一般傳輸指令 MOV A, Rn( 2)累加器傳輸指令XC
20、H A , Rn (n 為 0-7 之一,將工作寄存器Rn 的內(nèi)容和 A 的內(nèi)容交換)SWAP A;A 的高 4 位和低 4 位互換XCHD A , Ri ;Ri 為 R0 或 R1,將 Ri 所指單元的低 4 位與 A 的低 4 位互換,高 4 位不變。( 3)查表指令MOVC A,A+DPTR ;將 DPTR 中的 16 位地址和 A 中內(nèi)容相加得新地址,把此地址內(nèi)容送 AMOVC A ,A+PC ;將 PC 值和 A 的內(nèi)容相加所得值作為新地址,將此地址單元內(nèi)容送 A( 4)堆棧指令PUSH direct ;先將 SP加 1,再將 direct 所指單元內(nèi)容推入 SP+1所指的堆棧單元
21、POP direct;先將 SP單元的內(nèi)容彈出到 direct 單元,再將 SP 減 1( 5)算術(shù)運(yùn)算指令A(yù)DD A, Rn ;將 A 的內(nèi)容和 Rn 的內(nèi)容相加,結(jié)果在 A 中 ADDC A, Rn ; (A) (A)+(Rn)+CY,Rn 為 R0R7 之一 (帶進(jìn)位)SUBB A, Rn ;A 中內(nèi)容減去進(jìn)位位 CY , 再減去 Rn 中內(nèi)容, 結(jié)果在 A 中(帶借位)MUL 乘法DIV 除法ANL ( 邏輯與,例如, ANL P1, A)ORL ( 邏輯或,例如, ORL P2, A)XRL ( 邏輯異或,例如, XRL P3, A)JBC (若目標(biāo)位置位則跳轉(zhuǎn)并將目標(biāo)位清零,例如,
22、JBC P1.1, LABEL)CPL (求補(bǔ) , 例如 , CPL P3.0)INC ( 增量指令 , 例如 , INC P2)DEC (減量指令 , 例如 , DEC P2)DJNZ (目標(biāo)寄存器減 1 后不為零則跳轉(zhuǎn) , 例如 , DJNZ P3, LABEL)MOV PX.Y, C ( 將進(jìn)位位送入端口位 )DA A 十進(jìn)制調(diào)整指令,對(duì) A 中的 BCD 碼加法結(jié)果進(jìn)調(diào)整 CLR PX.Y ( 清除端口位 )SETB PX.Y ( 置位端口位 )SETB bit;某位置 1CLR A; A 清 0,不影響標(biāo)志位CPL A; A 中內(nèi)容逐位取反RR A ;A 中內(nèi)容循環(huán)右移一位, ; 最
23、低位 D0 移到 D7RL A;A 中內(nèi)容循環(huán)左移一位, ; 即 D7 移到 D0, D0 移到 D1 等RRC A; CY 進(jìn)入 A 的最高位, A 的最低位進(jìn)入CY ,D2 進(jìn)入 D1 等RLC A; A 的最高位進(jìn)入CY,原 CY 進(jìn)入 A 的最低位 D0,D0 進(jìn)入 D1 等8、中斷分 類(lèi)中斷源名稱(chēng)中斷申請(qǐng)標(biāo)志觸發(fā)方式中斷入口地址INT0(P3.2)引腳上的低電外部中斷外部中斷 0IE0(TCON.1)平 / 下降沿引起的中斷0003H定時(shí)器/ 計(jì)數(shù)T0 定時(shí)器 / 計(jì)數(shù)器溢出后內(nèi)部中斷IF0(TCON.5)引起的中斷000BH器 T0中斷INT1(P3.3)引腳上的低電外部中斷外部中
24、斷 1IE1(TCON.3)平 / 下降沿引起的中斷0013H定時(shí)器 / 計(jì)數(shù)T1 定時(shí)器 / 計(jì)數(shù)器溢出后內(nèi)部中斷IF1(TCON.7)引起的中斷001BH器 T1中斷RI (SCON.0)串行口接收完成或發(fā)送完內(nèi)部中斷串口中斷一幀數(shù)據(jù)后引起的中斷0023HTI ( SCON.1)中斷的功能( 1)可實(shí)現(xiàn)高速 CPU 與慢速外設(shè)之間的配合( 2)可實(shí)現(xiàn)實(shí)時(shí)處理( 3)實(shí)現(xiàn)故障的緊急處理( 4)便于人機(jī)聯(lián)系中斷的處理過(guò)程主要包括: 中斷請(qǐng)求、中斷響應(yīng)、中斷服務(wù)、中斷返回 4 個(gè)過(guò)程。EA 中斷允許的總控制位。 當(dāng) EA=0 時(shí),中斷總禁止,相當(dāng)于關(guān)中斷,即禁止所有中斷;當(dāng) EA=1 時(shí),中斷總
25、允許,相當(dāng)于開(kāi)中斷。此時(shí),每個(gè)中斷源是否開(kāi)放由各中斷控制位決定。所以只有當(dāng) EA=1 時(shí),各中斷控制位才有意義。ES串行口中斷允許控制位 ,當(dāng) ES=0,禁止該中斷; ES=1,允許串行中斷。 ET1 定時(shí)器 1 中斷允許控制位 ,當(dāng) ET1=0,禁止該中斷; ET1=1,允許定時(shí)器 1中斷EX1 外部中斷 1 允許控制位 ,當(dāng) EX1=0,禁止外部 中斷 1;當(dāng) EX1=1,允許外部中斷 1。ET0 定時(shí)器 0 中斷允許控制位 ,當(dāng) ET0=0,禁止該中斷; ET0=1,允許定時(shí)器 0中斷。EX0 外部中斷 0 允許控制位 ,當(dāng) EX0=0,禁止外部中斷 0;當(dāng) EX0=1,允許外部中斷 0
26、。定時(shí)器控制寄存器 (TCON )該寄存器的字節(jié)地址為 88H,位地址為 88H-8FH,也可以用 TCON.0-TCON.7 表示INT0 、T0 、INT1 、 T1 、串口、 T2( 最高)(最低 )在開(kāi)放中斷的條件下,用下述四個(gè)原則使用中斷優(yōu)先級(jí)結(jié)構(gòu):(1)非中斷服務(wù)子程序可以被任何一個(gè)中斷申請(qǐng)所 中斷,而與優(yōu)先級(jí)結(jié)構(gòu)無(wú)關(guān)。(2)如果若干中斷同時(shí)提出申請(qǐng),則 CPU 將選擇優(yōu)先級(jí)、優(yōu)先權(quán)最高者予以響應(yīng)。(3)低優(yōu)先級(jí)可以被高優(yōu)先級(jí)的中斷申請(qǐng)所中斷。換句話(huà)說(shuō),同級(jí)不能形成嵌套、高優(yōu)先級(jí)不能被低優(yōu)先級(jí)嵌套,當(dāng)禁止嵌套時(shí),必須執(zhí)行完當(dāng)前中斷服務(wù)子程序之后才考慮是否響應(yīng)另一個(gè)中斷申請(qǐng)。(4)同
27、一個(gè)優(yōu)先級(jí)里,優(yōu)先權(quán)的順序是由硬件決定而不能改變的。但是用戶(hù)可以通過(guò)改變優(yōu)先級(jí)的方法改變中斷響應(yīng)的順序。例如,8051 單片機(jī)中串行口的優(yōu)先權(quán)最低,但是可以在中斷優(yōu)先級(jí)寄存器IP 中寫(xiě)入 10H,則只有串行口是最高優(yōu)先級(jí)。若同時(shí)有若干中斷提出申請(qǐng),則一定會(huì)優(yōu)先響應(yīng)串行口的申請(qǐng)。串行口控制寄存器 (SCON)SCON 寄存器的字節(jié)地址為 98H,位地址為 98H9FH,其中的低兩位 RI 和 TI 鎖存串行口的接收中斷和發(fā)送中斷的請(qǐng)求標(biāo)志位中斷響應(yīng)的條件 :中斷源有中斷請(qǐng)求;此中斷源的中斷允許位為 1;CPU 開(kāi)中斷(即 EA=1)。9、定時(shí)器概念:在 8051 單片機(jī)中,定時(shí)器 /計(jì)數(shù)器就是一
28、個(gè)固定長(zhǎng)度的二進(jìn)制計(jì)數(shù)器,當(dāng)對(duì)輸入脈沖信號(hào)的數(shù)量進(jìn)行計(jì)數(shù)時(shí),我們稱(chēng)其為計(jì)數(shù)器,當(dāng)對(duì)單片機(jī)的系統(tǒng)時(shí)鐘或其它標(biāo)準(zhǔn)時(shí)鐘進(jìn)行計(jì)數(shù)時(shí),由于這類(lèi)時(shí)鐘信號(hào)本身就表示時(shí)間,計(jì)數(shù)值對(duì)應(yīng)著時(shí)間值,所以從這個(gè)角度上將其稱(chēng)為定時(shí)器。組成:在 8051 單片機(jī)中,內(nèi)部定時(shí)器都是可編程控制的定時(shí)器 /計(jì)數(shù)器,至少由兩部分組成:脈沖計(jì)數(shù)電路和控制字寄存器及譯碼控制電路。10、串行接口的四種工作方式( 1)模式 0(MODE0): 同步移位寄存器方式。 8 位數(shù)據(jù) (先為 LSB) 從引腳 RXD 接收 /移出,引腳 TXD 輸出移位時(shí)鐘,波特率固定為晶振頻率的 1/12。模式 0 通常用來(lái)擴(kuò)展輸入輸出口。( 2)模式 1(
29、MODE1) :10 位數(shù)據(jù)被發(fā)送 (從引腳 TXD) 或接收 (從引腳 RXD) : 1個(gè)啟動(dòng)位, 8 個(gè)數(shù)據(jù)位, 1 個(gè)停止位。在接收時(shí),停止位被送入特殊功能寄存器的 SCON 的 RB8 位。波特率是可變的。( 3)模式 2(MODE2) :11 位數(shù)據(jù)被發(fā)送 (從引腳 TXD) 或接收 (從引腳 RXD) : 1個(gè)啟動(dòng)位, 8 個(gè)數(shù)據(jù)位,可編程的第 9 個(gè)數(shù)據(jù)位, 1 個(gè)停止位。發(fā)送時(shí),第 9 位(SCON 的 TB8 位)可被賦予 0 或 1。例如,可將奇偶校驗(yàn)位送至 TB8 位。在接收時(shí),停止位被送入特殊功能寄存器 SCON 的 RB8 位。模式 2 的波特率可為 1/32 或 1
30、/64 晶振頻率。( 4)模式 3(MODE3) :11 位數(shù)據(jù)被發(fā)送 (從引腳 TXD) 或接收 (從引腳 RXD) : 1個(gè)啟動(dòng)位, 8 個(gè)數(shù)據(jù)位,可編程的第 9 個(gè)數(shù)據(jù)位, 1 個(gè)停止位。發(fā)送時(shí),第 9 位 (SCON 的 TB8 位)可被賦予 0 或 1。實(shí)際上,除了波特率之外,模式 2 和模式 3 是相同的。模式 3 的波特率是可變的。模式 1或 3波特率2SMODf osc)3212 256(TH1 8255A 的工作方式0,A 口作為輸入, B、C 口作為輸出取端口 A:0FF7CH B:0FF7DH C:0FF7EH 控制寄存器地址: 0FF7FH根據(jù)題意寫(xiě)入控制字為 1001
31、0000=90H.MOV A,#90H (根據(jù)題意計(jì)算而變化)MOV DPTR,#0FF7FH控制寄存器地址 DPTRMOVX DPTR,A方式控制字控制寄存器MOV DPTR,#0FF7CHA 口地址 DPTRMOVX A,DPTR從 A 口讀數(shù)據(jù)MOV DPTR,#0FF7DHB 口地址 DPTRMOV A,#DATA1要輸入的數(shù)據(jù) DATA1 AMOVX DPTR,A將 DATA1 送 B 口輸出MOV DPTR,#0FF7EHC 口地址 DPTRMOV A,#DATA2DATA2 AMOVX DPTR,A將 DATA2 送 C 口輸出ALEGP0.7鎖存P0.0器8051WRDAC08
32、32 啟動(dòng)轉(zhuǎn)換程序 ORG 0000H MOV R1,#data1MOV A,R1 MOVX DPTR,A MOV DPTR,#0BFFFH MOV R1,#data2MOVX DPTR,A MOV DPTR,#7FFFH MOVX DPTR,A譯 FDH 碼 FEH器 FFH+5V+5VILE1 # DAC0832CSRfbXFERIOUT1V xDI7OA 1IOUT 2DI0WR1WR 22 # DAC0832CSRXFERfbILEDI7IOUT1V yOA 2IOUT2DI0WR1WR 1例:用定時(shí)器 0,方式 2 計(jì)數(shù),要求每計(jì)滿(mǎn)100 次,將 P1.0 端取反。分析 :TMOD=
33、00000110B計(jì)數(shù)初值 :TH0=TL0=28-100=156=9CH程序如下:ORG1000HSTART:MOVTMOD,#06HMOVTL0,#9CHMOVTH0,#9CHSETBTR0LOOP:JBC TF0,DONE; 判計(jì)滿(mǎn) 100 次否?若計(jì)滿(mǎn)則清零TF0 且轉(zhuǎn)DONESJMPLOOPDONE:CPLP1.0SJMPLOOP例 7.3 已知單片機(jī)晶振頻率為 12MHz ,要求使用 T0 定時(shí) 0.5ms,使單片機(jī) P1.0 引腳上連續(xù)輸出周期為 1ms 的方波。分析 :首先算出機(jī)器周期 =12/(12MHz)=1us,所以 0.5ms需要 T0 計(jì)數(shù) M 次M=0.5ms/1u
34、s=500256<500<8192,所以選擇方式0初值 N=213-500=7692=1E0CH位TH0因?yàn)檫x用方式 0,低的初值。8 位TL0 只使用低5 位,其 余的均計(jì)入高8TL0=0CH ,TH0=0F0HORG0000HRESET:AJMPSTARTORG 000BHAJMPT0INTORG 0100HSTART: MOVSP,#60HMOV TH0,#0F0HMOV TL0,#0CHSETBTR0SETBET0SETBEAMAIN:AJMPMAINT0 中斷服務(wù)程序T0INT: CPL P1.0MOV TL0,#0CHMOV TH0,#0F0HRETI3、假設(shè)單片機(jī)晶振
35、 fosc=6MHz,請(qǐng)利用 T0 和 P1.0 輸出矩形波,矩形波的高電平寬 50us,低電平寬 300us。(P.145 第 13)晶振 fosc=6MHz機(jī)器周期為 2us定時(shí)器 T0 使之工作于模式3定時(shí) 50us 的初值為: 256-25=231(E7H)定時(shí) 300US的初值為: 256-150=106(6AH)方法 1:MOV TMOD , #00000011B;T0工作于模式 3MOV TCON ,#0;清 TR0 , TF0MOV TL0 , #0E7H;高電平初值。 256-25SETB P1.0;P1.0口輸出高電平SETB TR0;啟動(dòng)定時(shí)器 T0LOOP1: JNB
36、TF0 , LOOP1;檢測(cè) T0 是否溢出CLR TF0;清除溢出標(biāo)志CLR TR0;關(guān)閉定時(shí)器MOV TL0 , #6AH;寫(xiě)低電平初值 256-150SETB TR0;啟動(dòng)定時(shí)器 T0CLR P1.0;使 P1.0 輸出低電平LOOP2: JNB TF0 , LOOP2;檢測(cè) T0 是否溢出CLR TF0;清除溢出標(biāo)志CLR TR0;關(guān)閉定時(shí)器MOV TL0 , #0E7H;寫(xiě)高電平初值 256-25SETB TR0;啟動(dòng)定時(shí)器 T0SETB P1.0;使 P1.0 輸出高電平SJMP LOOP1;重復(fù)6、設(shè) fosc=12MHz,編寫(xiě)程序,其功能為:對(duì)T0 進(jìn)行初始化,使之工作于模式2
37、,產(chǎn)生 200us 的定時(shí),并用查詢(xún) T0 溢出標(biāo)志 TF0 的方法,控制P1.0 引腳輸出周期為 2ms的方波。 (P.146 第 18 題 )MOV TMOD , #02H; T0工作于模式 2,定時(shí)方式MOV TCON , #0;清除 TF0、 TR0。MOV TH0 , #56; (256-200)=56MOV TL0 , #56;MOV R7 , #5; 200us與 1ms是 5 倍的關(guān)系SETB TR0;啟動(dòng)定時(shí)器 T0SETB P1.0;將 P1.0 置高電平LOOP: JNB TF0 , LOOP;檢測(cè) T0 的溢出標(biāo)志CLR TF0;清除 T0 的溢出標(biāo)志DJNZ R7 ,
38、 LOOP;是否到 5次MOV R7 , #5;重新寫(xiě)入計(jì)數(shù)次數(shù)CPL P1.0;取反 P1.0 口SJMP LOOP;循環(huán)往復(fù)9、當(dāng)系統(tǒng)選用 6MHz晶體振蕩器時(shí),由 T0 工作在方式為,利用中斷響應(yīng),產(chǎn)生周期為 2ms(脈沖寬度為 1ms)的方波序列,并由 P1.0 輸出。( 1)寫(xiě)出 T0 定時(shí)器的方式控制字, T0 定時(shí)器初值計(jì)算。( 2)試編寫(xiě)程序完成此功能。思路:方波的周期為 2ms,每隔 1ms對(duì) P1.0 取反,可完成題目要求。系統(tǒng)晶體振蕩器的頻率為 6MHz,機(jī)器周期為 2us,定時(shí)器 T0 在方式 2 時(shí),最大定時(shí) 256us×2=512us,達(dá)不到 1ms的要求
39、,故將定時(shí)器 T0 的初始值選為: 256-250=6( 定時(shí) 0.5ms) ,兩次后取反 P1.0 口。( 1) T0 的初始值為:X=256-250=6T0 的控制字為:MOV TMOD , #20HMOV TCON , #0( 2)參考程序如下:ORG 0000HSJMP MainORG 000BHAJMP T0ORG 0030HMain: MOV TMOD , #20H;定時(shí)器 T1 工作于方式 2CLR TR0;關(guān)閉定時(shí)器 T1CLR TF0;清除定時(shí)器T1 溢出標(biāo)志MOV IE , #02H;允許定時(shí)器T1 中斷MOV IP , #0;不設(shè)置悠閑級(jí)別MOV TH0 , #6;定時(shí)器
40、 T1 初值MOV TL0 , #6;( 256-250=6)MOV R7 , #2;定時(shí) 0.5ms 與 1ms的 2 倍的關(guān)系SETB TR0;啟動(dòng)定時(shí)器 T1SETB EA;開(kāi)中斷SJMP $T0: DJNZ R7 , NEXT;兩次是否到?未到則中斷返回,到則繼續(xù)CPL P1.0;取反 P1.0 口MOV R7 , #2NEXT: RETI;重置 2 倍的關(guān)系;中斷返回12、要求從 P1.1 引腳輸出 1000Hz方波,晶振頻率為12MHz。試設(shè)計(jì)程序。思路:( 1)只要使 P1.1 每隔 500s 取反一次即可得到 1ms方波;。( 2)將 T1 設(shè)為定時(shí)方式 0:GATE=0,C/
41、T( )=0 , M1M0=00; T0 不用可為任意,只要不使其進(jìn)入方式 3,一般取 0 即可。故 TMOD=00H。下面計(jì)算 500s定時(shí) T1 的初值:機(jī)器周期: T=1 s, 設(shè)初值為 X 則:=1111 0000 0 0110 B= F00CH因?yàn)樵谧?13 位計(jì)數(shù)器用時(shí), TL1 高 3 位未用,應(yīng)寫(xiě)0, X 的低 5 位裝入TL1 的低 5 位,所以 TL1=#0CH; X 的高 8 位應(yīng)裝入 TH1,所以 TH1=#F0H。參考源程序如下:MOV TCON , #0MOV TMOD , #0MOV TH1 , #0F0HMOV TL1 , #0CHSETB TR1LOOP: J
42、NB TF1 , LOOPCLR TF1CPL P1.1CLR TR1MOV TH1 , #0F0HMOV TL1 , #0CHSETB TR1SJMP LOOP;清 TF1、TR1;定時(shí)器 T1 工作于方式 0;定時(shí) 500us 的初值;8192-500=7692=F00CH;啟動(dòng)定時(shí)器 T1;等待定時(shí) 500us 的溢出;清除溢出標(biāo)志;取反 P1.1 口;關(guān)閉定時(shí)器 T1;重寫(xiě)定時(shí) 500us 的初值;重寫(xiě)定時(shí) 500us 的初值;啟動(dòng)定時(shí)器 T113、試用定時(shí) / 計(jì)數(shù)器 T1 對(duì)外部事件計(jì)數(shù)。要求每計(jì)數(shù) 100,就將 T1 改成定時(shí)方式,控制 P1.7 輸出一個(gè)脈寬為 10ms的正脈沖
43、,然后又轉(zhuǎn)為計(jì)數(shù)方式,如此反復(fù)循環(huán)。設(shè)晶振頻率為 12MHz。定時(shí)器 T1 確定工作于方式 1計(jì)數(shù) 100 的初始值為: 65536-100100=64+32+4=01100100 B65536-100=1111 1111 1001 1100 B = FF9CH 定時(shí) 10ms的初始值為:參考程序如下:LOOP3:CLR TR1CLR TF1MOV TMOD 50HMOV TH1 , #0FFHMOV TL1 , #9CHSETB TR1LOOP1: JNB TF1 , LOOP1MOV TMOD , #10HCLR TF1CLR TR1MOV TH1 , #0ECHMOV TL1 , #78
44、HSETB TR1LOOP2: JNB TF1 , LOOP2CPL P1.7SJMP LOOP3;關(guān)閉定時(shí)器 T1;清除定時(shí)器 T1 的溢出標(biāo)志;定時(shí)器 T1 工作于方式 1,計(jì)數(shù);計(jì)數(shù) 100 的初值;65536-100=FF9CH;啟動(dòng)定時(shí)器 T1;等待計(jì)數(shù) 100 溢出;定時(shí)器 T1 工作于方式 1,定時(shí);清除定時(shí)器溢出標(biāo)志;關(guān)閉定時(shí)器 T1;定時(shí) 10ms的初值;65536-5000=EC78H;啟動(dòng)定時(shí)器 T1;等待定時(shí) 10ms溢出;取反 P1.7 口;返回循環(huán)14、若單片機(jī)晶振為 12MHz,利用定時(shí)器 1 方式 1,產(chǎn)生 1ms的定時(shí),在 P1.0 腳產(chǎn)生周期為 2ms方波,
45、用查詢(xún)方式工作,查詢(xún)標(biāo)志為 TF1。已知 fosc =12MHz 1 個(gè)機(jī)器周期為 1us1ms=1000us初值 =65536-1000=5453664536轉(zhuǎn)換為二進(jìn)制: 1111 1100 0001 1000T0的低 8 位: 00011000(18H)T0的高 8 位: 11110000(FCH)則有 : (TL0) #18H ;(TH0)#0FCH參考源程序如下:MOV TCON , #10H;定時(shí)器 T1 工作于方式 1MOV TMOD , #0;清除 TR1、 TF1MOV TH1 , #0FCH;定時(shí) 1ms的初值MOV TL1 , #18H;65536-1000=FC18HSETB TR1;啟動(dòng)定時(shí)器 T1LOOP: JNB TF1 , LOOP;等待定時(shí) 1ms的溢出CLR TF1;清除溢出標(biāo)志CPL P1.0;取反 P1.0 口CLR TR1;關(guān)閉定時(shí)器 T1MOV TH1 , #0FCH;重寫(xiě)定時(shí) 1ms的處值MOV TL1 , #18HSETB TR1SJMP LOOP;重寫(xiě)定時(shí) 1ms的處值;啟動(dòng)定時(shí)器 T1;返回循環(huán)15、系統(tǒng)時(shí)鐘頻率為
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年愛(ài)情買(mǎi)賣(mài)離婚協(xié)議書(shū)模板
- 豐臺(tái)區(qū)企業(yè)合作協(xié)議書(shū)范本范本
- 第3方協(xié)議書(shū)范文模板下載
- 紋繡美睫店入股協(xié)議書(shū)范文
- 幼兒園體育活動(dòng)培訓(xùn)內(nèi)容
- 校園防欺凌教育方案
- 紡織設(shè)備與工藝情境6
- 老年人閱讀興趣培養(yǎng)方案
- 保險(xiǎn)公司銷(xiāo)售激勵(lì)方案
- 公司廠級(jí)員工安全培訓(xùn)試題有解析答案
- 第一單元 計(jì)算機(jī)中的編碼 課件 初中信息技術(shù)七年級(jí)上冊(cè)
- GB/T 26832-2011無(wú)損檢測(cè)儀器鋼絲繩電磁檢測(cè)儀技術(shù)條件
- GB/T 11375-1999金屬和其他無(wú)機(jī)覆蓋層熱噴涂操作安全
- 《文獻(xiàn)閱讀》課件
- 2023年湖北農(nóng)業(yè)發(fā)展集團(tuán)有限公司招聘筆試題庫(kù)及答案解析
- 《中值定理應(yīng)用》課件
- 十分鐘EE從入門(mén)到精通2.0
- 六年級(jí)英語(yǔ)上冊(cè)課件-Unit4 I have a pen pal 人教pep (共23張PPT)
- 糖尿病膳食計(jì)算課件
- 文化創(chuàng)意產(chǎn)品設(shè)計(jì)及案例PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論