《單片機(jī)原理及應(yīng)用》黃友銳主編課后習(xí)題答案.doc
《《單片機(jī)原理及應(yīng)用》黃友銳主編課后習(xí)題答案.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《《單片機(jī)原理及應(yīng)用》黃友銳主編課后習(xí)題答案.doc(32頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第1章1-1 什么是單片機(jī)?它與一般微型計(jì)算機(jī)在結(jié)構(gòu)上何區(qū)別?答:?jiǎn)纹⑿陀?jì)算機(jī)簡(jiǎn)稱為單片機(jī)(Single Chip Computer),又稱為微控制器(MCU即Micro-Controller Unit)。它是在一塊芯片上集成了中央處理器(CPU)、存儲(chǔ)器(RAM、ROM)、定時(shí)器/計(jì)數(shù)器、中斷控制、各種輸入/輸出(I/O)接口(如并行I/O口、串行I/O口和A/D轉(zhuǎn)換器)等為一體的器件。微型計(jì)算機(jī)的基本結(jié)構(gòu)由CPU(運(yùn)算器、控制器)、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大部分組成,各部分通過外部總線連接而成為一體。單片機(jī)的結(jié)構(gòu)是在一塊芯片上集成了中央處理器(CPU)、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、中斷控制、各種輸入/輸出接口(如并行I/O口、串行I/O口和A/D轉(zhuǎn)換器)等,它們通過單片機(jī)內(nèi)部部總線連接而成為一體。1-2 MCS-51系列單片機(jī)內(nèi)部資源配置如何?試舉例說明8051與51兼容的單片機(jī)的異同。答:MCS-51系列單片機(jī)內(nèi)部資源配置AT89S5312KB Flash ROM256B3163219/2SPI,WDT,2個(gè)數(shù)據(jù)指針W77E5832KB Flash ROM256B+1024B31636212/2擴(kuò)展了4位I/O口,雙數(shù)據(jù)指針,WDT。資源。第2章2-1 MCS-51系列單片機(jī)內(nèi)部有哪些主要的邏輯部件?答: 一個(gè)8位CPU;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路;4K字節(jié)ROM程序存儲(chǔ)器;128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;可尋址64K外部數(shù)據(jù)存儲(chǔ)器和64K外部程序存儲(chǔ)器空間的控制電路;32條可編程的I/O線(四個(gè)8位并行I/O端口);一個(gè)可編程全雙工串行口;具有五個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)2-2 MCS-51設(shè)有4個(gè)8位端口(32條I/O線),實(shí)際應(yīng)用中8位數(shù)據(jù)信息由哪一個(gè)端口傳送?16位地址線怎樣形成?P3口有何功能?答:實(shí)際應(yīng)用中8位數(shù)據(jù)信息由P0口傳送。16位地址線由P0口輸出低8位地址A7A0,P2口輸出高8位地址A15A8。P3口是一個(gè)多用途的端口,也是一個(gè)準(zhǔn)雙向口,作為第一功能使用時(shí),其功能同P1口;當(dāng)作第二功能使用時(shí),P3.0RXD串行輸入(數(shù)據(jù)接收)口,P3.1TXD串行輸出(數(shù)據(jù)發(fā)送)口,P3.2外部中斷0輸入線,P3.3外部中斷1輸入線,P3.4T0定時(shí)器0外部輸入,P3.5T1定時(shí)器1外部輸入,P3.6外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出,P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸入。2-3 MCS-51的存儲(chǔ)器結(jié)構(gòu)與一般的微型計(jì)算機(jī)有何不同?程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有何作用?答:MCS-51存儲(chǔ)器結(jié)構(gòu)與常見的微型計(jì)算機(jī)的配置方式不同,它把程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,各有自已的尋址系統(tǒng)、控制信號(hào)和功能。 程序存儲(chǔ)器用來存放程序和始終要保留的常數(shù),如經(jīng)匯編后所編程序的機(jī)器碼。數(shù)據(jù)存儲(chǔ)器通常用來存放程序運(yùn)行中所需要的常數(shù)或變量,例如模/數(shù)轉(zhuǎn)換時(shí)實(shí)時(shí)采集的數(shù)據(jù)等。2-4 MCS-51內(nèi)部RAM區(qū)功能結(jié)構(gòu)如何分配?4組工作寄存器使用時(shí)如何選用?位尋址區(qū)域的字節(jié)地址范圍是多少?答:MCS-51系列單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器:00H 7FH單元組成的低128字節(jié)地址空間的RAM區(qū),又分為為工作寄存器區(qū)(00H1FH)、位尋址區(qū)(20H2FH)和用戶RAM區(qū)(30H7FH)。 80H FFH(128 255)單元組成的高128字節(jié)地址空間的特殊功能寄存器(又稱SFR)區(qū)。對(duì)于8032、8052、8752的單片機(jī)還有80HFFH單元組成的高128字節(jié)地址空間的RAM區(qū)。 4組工作寄存區(qū)是由程序狀態(tài)字PSW(特殊功能寄存器,字節(jié)地址為0D0H)中的D4、D3位(RS1和RS0)來決定的。位尋址區(qū)域的字節(jié)地址范圍是20H2FH(對(duì)應(yīng)的位地址范圍是00H7FH)。2-5 特殊功能寄存器中哪些寄存器可以位尋址?它們的字節(jié)地址是什么?答:P0字節(jié)地址80H,TCON字節(jié)地址88H,P1字節(jié)地址90H,SCON字節(jié)地址98H,P2字節(jié)地址A0H,IE字節(jié)地址A8H,P3字節(jié)地址B0H,IP字節(jié)地址B8H,PSW字節(jié)地址D0H,ACC字節(jié)地址E0H,B字節(jié)地址F0H。2-6 簡(jiǎn)述程序狀態(tài)字PSW中各位的含義。答:CY(PSW7)進(jìn)位標(biāo)志,AC(PSW6)輔助進(jìn)位標(biāo)志,F(xiàn)0(PSW5)用戶標(biāo)志位,RS1、RS0(PSW4、PSW3)寄存器區(qū)選擇控制位,OV(PSW2)溢出標(biāo)志,P(PSW0)奇偶標(biāo)志,每個(gè)指令周期都由硬件來置位或清“0”,以表示累加器A 中1的位數(shù)的奇偶數(shù).2-7 一個(gè)時(shí)鐘頻率為6MHz的單片機(jī)應(yīng)用系統(tǒng),它的振蕩信號(hào)周期、時(shí)鐘周期、機(jī)器周期分別是多少?答:振蕩信號(hào)周期=16us、時(shí)鐘周期=13us、機(jī)器周期=2us。2-8 堆棧有何功能?堆棧指針的作用是什么?二者的關(guān)系?為什么在程序設(shè)計(jì)時(shí),要對(duì)SP重新賦值?答:堆棧的主要功能:保護(hù)斷點(diǎn)和程序現(xiàn)場(chǎng),保存用戶數(shù)據(jù)。堆棧指針的作用是:堆棧指針SP是一個(gè)8位特殊功能寄存器,指示出堆棧頂部在內(nèi)部RAM中的位置。兩者的關(guān)系:堆棧指針SP給定當(dāng)前的棧頂,SP的初始值越小,堆棧深度就越深。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H 單元開始。考慮到08H1FH單元分屬于工作寄存器區(qū)13,若程序設(shè)計(jì)中要用到這些區(qū),則最好把SP值改置為1FH或更大的值如60H,SP的初始值越小,堆棧深度就越深,堆棧指針的值可以由軟件改變,因此堆棧在內(nèi)部RAM中的位置比較靈活。第3章3-4:(1)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #21HADD A, #45HADD A, #78HSJMP $END(2)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #78HADD A, #45HCLR C;SUBB A, #21HSUBB A, #09HSJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #34HADD A, #0ABHMOV R0, AMOV A, 12ADDC A, #21HMOV R1, ASJMP $END(3)ORG 0000HAJMP STARTORG 0100HSTART:CLR C;MOV A, #0BCHSUBB A, #0CDHMOV R0, AMOV A, 1#2AHSUBB A, #0FHMOV R1, ASJMP $END3-5:請(qǐng)編程實(shí)現(xiàn):將片內(nèi)20H存儲(chǔ)單元的8位二進(jìn)制數(shù)轉(zhuǎn)換成BCD碼,并存放在片外以2000H起始的單元中,2000H單元存放轉(zhuǎn)換后的BCD碼的百位,2001H單元存放轉(zhuǎn)換后的BCD碼的十位/個(gè)位。ORG 0000HAJMP STARTORG 0050HSTART:MOV A,20H ;A被除數(shù)MOV B, #100 ; B除數(shù)100DIV AB ;AB,A商(百位數(shù)BCD碼),B余數(shù)MOVX 2000H,A ;(2000H)將百位數(shù)BCD碼MOV A,B ;A余數(shù)作被除數(shù)MOV B,#10 ;B除數(shù)10DIV AB;AB,A商(十位數(shù)BCD碼),B余數(shù)(個(gè)位BCD碼)SWAP A;十位BCD碼調(diào)整到A中高4位ADD A,B ;A中壓縮成2位BCD碼MOVX 2001H,A ; (2001H)十位、個(gè)位BCD碼SJMP $END3-6: 將片內(nèi)RAM 20H,21H,22H,23H(千/百/十/個(gè)位)中的十進(jìn)制的ascii碼轉(zhuǎn)換成bcd碼,并壓縮放于片內(nèi)30H,31H兩個(gè)單元,其中31H中放bcd碼的十位/個(gè)位,30H中放bcd碼的千位/百位。MOV A, #00H ;這一句不是必須MOV R0, #20HMOV R1, #21HXCHD A, R0 ;A(20H)SWAP A ;A高4位(20H)的BCD碼數(shù)字XCHD A, R1 ;A低4位(21H)的BCD碼數(shù)字MOV 30H,AMOV A, #00H ;這一句不是必須MOV R0, #22H MOV R1, #23HXCHD A, R0 ;A(22H)SWAP A ;A高4位(22H)的BCD碼數(shù)字XCHD A, R1 ;A低4位(21H)的BCD碼數(shù)字MOV 31H,A3-7:片內(nèi)RAM的30H32H單元中連續(xù)存放了6個(gè)壓縮BCD碼,編制程序?qū)⑺鼈冝D(zhuǎn)換為ASCII碼,存入片外3000H開始的連續(xù)存儲(chǔ)區(qū)中MOV R0,#30H MOV DPTR,3000HLOOP: MOV A,R0 SWAP A ANL A,#0FH ADD A,#30H ;30H= 0 MOVX DPTR,A INC DPTRMOV A,R0 ANL A,#0FH ADD A,#30H MOVX DPTR,A INC DPTRINC R0 CJNE R0,#33H, LOOP3-9: 從外部RAM 2000H 單元開始存放著100個(gè)無符號(hào)數(shù),編寫程序統(tǒng)計(jì)出:(1)最大數(shù);(2)最小數(shù);(6)大于50,小于50,等于50的個(gè)數(shù)。(1) MOV DPTR, #2000H MOV 30H, #0 ;先用0當(dāng)做最大數(shù) (求最小數(shù)時(shí),用255) MOV R2, #100LOOP: MOVX A, DPTR CJNE A, 20H, TTT ;(A)-(20H)TTT: JNC NEXT ;不夠減轉(zhuǎn)移 (求最小數(shù)時(shí),用JNC NEXT) MOV 30H, A ;夠減,這個(gè)數(shù)是大數(shù),給(20H)NEXT: INC DPTR DJNZ R2, LOOPSJMP $END(6)ORG 0600H MOV DPTR, #2000H MOV R2, #100 ;總數(shù) MOV R3, #0 ; 小于50的數(shù)的個(gè)數(shù) MOV R4, #0 ; 等于50的數(shù)的個(gè)數(shù) MOV R5, #0 ; 大于50的數(shù)的個(gè)數(shù)LOOP: MOVX A, DPTR CLR C SUBB A, #50 JZ EQU_50 JNC BIG INC R3 ;小于50的個(gè)數(shù) JMP NEXTEQU_50: INC R4 JMP NEXTBIG: INC R5NEXT: INC DPTR DJNZ R2, LOOP MOV 30H,R3 ; 小于50的數(shù)的個(gè)數(shù) MOV 31H,R4 ; 等于50的數(shù)的個(gè)數(shù) MOV 32H,R5 ; 大于50的數(shù)的個(gè)數(shù)SJMP $3-10 MCS-51片外RAM區(qū)1000H1007H單元中存有8個(gè)無符號(hào)數(shù),編程求其平均值,將結(jié)果存于1008H中。%先加,加的結(jié)果可能超出8位,所以存儲(chǔ)結(jié)果于(30H)和(40H)單元中。MOV DPTR, #1000HMOV R7, #08HMOV 30H, #00HMOV 40H, #00HSS1:MOVX A, DPTRADD A, 30HMOV 30H, ACLR AADDC A, 40HMOV 40H, AINC DPTR DJNZ R7, SS1MOV R7, #03H ;移位3次,等于除以8SS2:CLR C MOV A, 40H RRC AMOV 40H, AMOV A, 30HRRC AMOV 30H, A DJNZ R7, SS2MOVX DPTR, A3-11下面是以數(shù)學(xué)公式,X值存于片內(nèi)20H,Y值存于21H單元中。Y=X2(X0) 0(X=0) 2X(XB?開始 Y Y源程序:ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R2,#0FH MOV R0,#40H MOV A,R0 SUB: INC R0 MOV B,R0 CJNE A,B,NEXT NEXT: JC NEXT1 DJNZ R2,SUB JMP LAST NEXT1: MOV A,B DJNZ R2,SUB JMP LAST LAST: MOV 50H,A SJMP $ 4-13 將片內(nèi)若干個(gè)RAM單元的內(nèi)容復(fù)制到片外RAM單元,請(qǐng)用“主程序”調(diào)用“子程序”編程,要求子程序入口參數(shù)為:R0存放片內(nèi)RAM起始地址,DPTR存放片外RAM起始地址,R1存放字節(jié)數(shù)。請(qǐng)分別編寫主程序和子程序。答:流程圖 主程序 子程序 開始 R0單元送DPTR 初始化常數(shù) R040H DPTR0200H R110H指針加1調(diào)用復(fù)制子程序N R1-1=0?結(jié)束返回Y源程序: ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R1,#10H MOV R0,#40H MOV DPTR,#0000H LCALL COPY SJMP $ COPY: NEXT: MOV A,R0 MOVX DPTR,A INC R0 INC DPL DJNZ R1,NEXT RET 第5章5-1 簡(jiǎn)述中斷、中斷源、中斷源的優(yōu)先級(jí)及中斷嵌套的含義。答: 當(dāng)CPU正在處理某項(xiàng)事件的時(shí),如果外界或內(nèi)部發(fā)生了緊急情況,要求CPU暫停正在處理的工作轉(zhuǎn)而去處理這個(gè)緊急情況,待處理完以后再回到原來被中斷的地方,繼續(xù)執(zhí)行原來被中斷了的程序,這樣的過程稱為中斷。向CPU提出中斷請(qǐng)求的源稱為中斷源。當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而CPU在一個(gè)時(shí)刻只能響應(yīng)并處理中斷優(yōu)先高的請(qǐng)求。在實(shí)際應(yīng)用系統(tǒng)中,當(dāng)CPU正在處理某個(gè)中斷源,即正在執(zhí)行中斷服務(wù)程序時(shí),會(huì)出現(xiàn)優(yōu)先級(jí)更高的中斷源申請(qǐng)中斷。為了使更緊急的級(jí)別高的中斷源及時(shí)得到服務(wù),需要暫時(shí)中斷(掛起)當(dāng)前正在執(zhí)行的級(jí)別較低的中斷服務(wù)程序,去處理級(jí)別更高的中斷源,待處理完以后,再返回到被中斷了的中斷服務(wù)程序繼續(xù)執(zhí)行,但級(jí)別相同或級(jí)別低的中斷源不能中斷級(jí)別高的中斷服務(wù),這就是所謂的中斷嵌套。5-2 MCS-51單片機(jī)能提供幾個(gè)中斷源?幾個(gè)中斷優(yōu)先級(jí)?各個(gè)中斷的源的優(yōu)先級(jí)怎樣確定?在同一優(yōu)先級(jí)中各個(gè)中斷源的優(yōu)先級(jí)怎樣確定?答: MCS-51單片機(jī)能提供五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。中斷優(yōu)先級(jí)是由片內(nèi)的中斷優(yōu)先級(jí)寄存器IP(特殊功能寄存器)控制的。PS:串行口中斷優(yōu)先級(jí)控制位。PS=1,串行口定義為高優(yōu)先級(jí)中斷源;PS=0,串行口定義為低優(yōu)先級(jí)中斷源。 PT1:T1中斷優(yōu)先級(jí)控制位。PT1=1,定時(shí)器/計(jì)數(shù)器1定義為高優(yōu)先級(jí)中斷源;PT1=0,定時(shí)器/計(jì)數(shù)器1定義為低優(yōu)先級(jí)中斷源。 PX1:外部中斷1中斷優(yōu)先級(jí)控制位。PX1=1,外中斷1定義為高優(yōu)先級(jí)中斷源;PX1=0,外中斷1定義為低優(yōu)先級(jí)中斷源。 PT0:定時(shí)器/計(jì)數(shù)器0(T0)中斷優(yōu)先級(jí)控制位,功能同PT1。PX0:外部中斷0中斷優(yōu)先級(jí)控制位,功能同PX1。在同一優(yōu)先級(jí)中,循環(huán)輪流排隊(duì)。不分級(jí)別高低,所有中斷源優(yōu)先級(jí)都一律平等,CPU輪流響應(yīng)各個(gè)中斷源的中斷請(qǐng)求。5-3 簡(jiǎn)述MCS-51單片機(jī)中斷響應(yīng)過程。答:CPU在每個(gè)機(jī)器周期的S5P2時(shí)刻采樣中斷標(biāo)志,而在下一個(gè)機(jī)器周期對(duì)采樣到的中斷進(jìn)行查詢。如果在前一個(gè)機(jī)器周期的S5P2有中斷標(biāo)志,則在查詢周期內(nèi)便會(huì)查詢到并按優(yōu)先級(jí)高低進(jìn)行中斷處理,中斷系統(tǒng)將控制程序轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。5-4 MCS-51單片機(jī)外部中斷有哪兩種觸發(fā)方式?如何選擇?對(duì)外部中斷源的觸發(fā)脈沖或電平有何要求?答:MCS-51單片機(jī)外部中斷有:負(fù)邊沿觸發(fā)方式和電平觸發(fā)方式。外部中斷1()觸發(fā)方式控制位。如果IT1為1,則外中斷1為負(fù)邊沿觸發(fā)方式(CPU在每個(gè)機(jī)器周期的S5P2采樣腳的輸入電平,如果在一個(gè)周期中采樣到高電平,在下個(gè)周期中采樣到低電平,則硬件使IE1置1,向CPU請(qǐng)求中斷);如果IT1為0,則外中斷1為電平觸發(fā)方式。采用電平觸發(fā)時(shí),輸入到的外部中斷源必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使電平變高,否則將會(huì)再次產(chǎn)生中斷。5-5 在MCS-51單片機(jī)的應(yīng)用系統(tǒng)中,如果有多個(gè)外部中斷源,怎樣進(jìn)行處理?答:當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而CPU在一個(gè)時(shí)刻只能響應(yīng)并處理一個(gè)中斷請(qǐng)求,為此,要進(jìn)行排隊(duì)。排隊(duì)的方式有:(1)按優(yōu)先級(jí)排隊(duì)。(2)循環(huán)輪流排隊(duì)。MCS-51單片機(jī)優(yōu)先級(jí)比較簡(jiǎn)單,只有兩級(jí),可以通過優(yōu)先級(jí)控制寄存器設(shè)置不同的優(yōu)先級(jí)。當(dāng)優(yōu)先級(jí)相同時(shí),約定有5個(gè)中斷源優(yōu)先級(jí)順序由高到低分別為:外部中斷0、定時(shí)器/計(jì)數(shù)器0溢出、外部中斷1、定時(shí)器/計(jì)數(shù)器1溢出、串行口中斷。5-6 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?各有什么特點(diǎn)?答:1) 利用定時(shí)器作為外部中斷使用 特點(diǎn):把MCS-51的兩個(gè)定時(shí)器/計(jì)數(shù)器(T0和T1)選擇為計(jì)數(shù)器方式,每當(dāng)P3.4(T0)或P3.5(T1)引腳上發(fā)生負(fù)跳變時(shí),T0和T1的計(jì)數(shù)器加1??梢园裀3.4和P3.5引腳作為外部中斷請(qǐng)求輸入線,而定時(shí)器的溢出中斷作為外部中斷請(qǐng)求標(biāo)志。2)采用中斷和查詢相結(jié)合的方法擴(kuò)充外部中斷源特點(diǎn):這種方法是把系統(tǒng)中多個(gè)外部中斷源經(jīng)過與門連接到一個(gè)外部中斷輸入端(例如),并同時(shí)還接到一個(gè)I/O口,中斷請(qǐng)求由硬件電路產(chǎn)生,而中斷源的識(shí)別由程序查詢來處理,查詢順序決定了中斷源的優(yōu)先級(jí)。5-7 MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:響應(yīng)外部中斷的典型時(shí)間是至少需要3個(gè)完整的機(jī)器周期。1、外部中斷和的電平在每個(gè)機(jī)器周期的S5P2時(shí)被采樣并鎖存到IE0和IE1中,這個(gè)置入到IE0和IE1的狀態(tài)在下一個(gè)機(jī)器周期才被其內(nèi)部的查詢電路查詢,未產(chǎn)生了一個(gè)中斷請(qǐng)求。2、沒有滿足響應(yīng)的條件,CPU沒有響應(yīng)中斷。3、沒有由硬件生成一條長(zhǎng)調(diào)用指令轉(zhuǎn)到相應(yīng)的服務(wù)程序入口。第6章6-1 8051單片機(jī)內(nèi)設(shè)有幾個(gè)可編程的定時(shí)器/計(jì)數(shù)器?它們可以有4種工作方式,如何選擇和設(shè)定?各有什么特點(diǎn)?答:MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1 M1 M0:定時(shí)器/計(jì)數(shù)器四種工作方式選擇6-2 8051單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器T0、T1工作在模式3時(shí),有何不同?答:方式3對(duì)定時(shí)器T0和定時(shí)器T1是不相同的。若T1設(shè)置為方式3,則停止工作。方式3只適用于T0。當(dāng)T0設(shè)置為方式3時(shí),將使TL0和TH0成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器, TL0利用了T0本身的一些控制方式,它的操作與方式0和方式1類似。而TH0被規(guī)定為用作定時(shí)器功能,對(duì)機(jī)器周期計(jì)數(shù),并借用了T1的控制位TR1和TF1。在這種情況下TH0控制了T1的中斷。6-3 已知單片機(jī)時(shí)鐘振蕩頻率為6MHz,利用T0定時(shí)器,在P1.1引腳上輸出連續(xù)方波,波形如下:100sP1.150s計(jì)算定時(shí)常數(shù):100us 方式0 Tc=FE0E; 方式1 Tc=FFCE; 方式2 Tc=CE150us 方式0 Tc=FD15; 方式1 Tc=FFB5; 方式2 Tc=B5 方法一:采用方式一,定時(shí)器中斷。 開始主程序流程圖:初始化T0,設(shè)置工作方式開T0中斷,設(shè)置標(biāo)志位20H.0開定時(shí)器T0,P1.1=1 等待中斷中斷子程序流程圖:開始20H.0=1?T0賦初值150usT0賦初值100usP1.1=0P1.1=1取反20H.0取反20H.0中斷返回中斷返回YN源程序: LJMP TINT0 ORG 0100H START: MOV TMOD,#01H MOV TL0,#0CEH MOV TH0,#0FFH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $ TINT0: JNB 20H.0,NEXT MOV TL0,#0B5H MOV TH0,#0FFH CLR P1.1 CPL 20H.0 SJMP LAST NEXT: MOV TL0,#0CEH MOV TH0,#0FFH SETB P1.1 CPL 20H.0 LAST:RETI 方法二: 采用方式2 定時(shí)器中斷 加延時(shí)程序源程序: LJMP START ORG 000BH LJMP TINT0- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機(jī)原理及應(yīng)用 單片機(jī) 原理 應(yīng)用 黃友銳 主編 課后 習(xí)題 答案
鏈接地址:http://ioszen.com/p-12749887.html