




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 單片機(jī)課后習(xí)題答案單片機(jī)內(nèi)包含哪些主要邏輯功能部件答:80C51系列單片機(jī)在片內(nèi)集成了以下主要邏輯功能部件:(l)CPU(中央處理器):8位 (2)片內(nèi)RAM:128B(3)特殊功能寄存器:21個(gè) (4)程序存儲(chǔ)器:4KB (5)并行I/O口:8位,4個(gè)(6)串行接口:全雙工,1個(gè)(7)定時(shí)器/計(jì)數(shù)器:16位,2個(gè)(8)片內(nèi)時(shí)鐘電路:1個(gè)的EA端有何用途答:/EA端接高電平時(shí),CPU只訪問片內(nèi)flash Rom并執(zhí)行內(nèi)部程序,存儲(chǔ)器。/EA端接低電平時(shí),CPU只訪問外部ROM,并執(zhí)行片外程序存儲(chǔ)器中的指令。/EA端保持高電平時(shí),CPU執(zhí)行內(nèi)部存儲(chǔ)器中的指令。的存儲(chǔ)器分哪幾個(gè)空間如何區(qū)別不同空
2、間的尋址答:ROM(片內(nèi)ROM和片外ROM統(tǒng)一編址)(使用MOVC)(數(shù)據(jù)傳送指令)(16bits地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB) 片內(nèi)RAM(MOV)(8bits地址)(256B)4. 簡述89C51片內(nèi)RAM的空間分配。答:片內(nèi)RAM有256B,低128B是真正的RAM區(qū),高128B是SFR(特殊功能寄存器)區(qū) 。5.簡述布爾處理存儲(chǔ)器的空間分配,片內(nèi)RAM中包含哪些可位尋址單元。答:片內(nèi)RAM區(qū)從00HFFH(256B)其中20H2FH(字節(jié)地址)是位尋址區(qū) 對應(yīng)的位地址是00H7FH6. 如何簡捷地判斷89C51正在工作答:用示波器觀察8051的
3、XTAL2端是否有脈沖信號(hào)輸出(判斷震蕩電路工作是否正常) ALE(地址鎖存允許)(Address Latch Enable)輸出是fosc的6分頻 用示波器觀察ALE是否有脈沖輸出(判斷 8051芯片的好壞) 觀察PSEN(判斷8051能夠到EPROM 或ROM中讀取指令碼) 因?yàn)?PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(輸出允許)7. 89C51如何確定和改變當(dāng)前工作寄存器組答:PSW(程序狀態(tài)字)(Program Status Word)中的RS1和RS0 可以給出4中組合,用來從4組工作寄存器組中進(jìn)行選擇 PSW屬于SFR(Special Fu
4、nction Register)(特殊功能寄存器) 9.讀端口鎖存器和“讀引腳”有何不同各使用哪種指令答:讀鎖存器(ANLP0,A)就是相當(dāng)于從存儲(chǔ)器中拿數(shù)據(jù),而讀引腳是從外部拿數(shù)據(jù)(如MOV A,P1這條指令就是讀引腳的,意思就是把端口p1輸入數(shù)據(jù)送給A)傳送類MOV,判位轉(zhuǎn)移JB、JNB、這些都屬于讀引腳,平時(shí)實(shí)驗(yàn)時(shí)經(jīng)常用這些指令于外部通信,判斷外部鍵盤等;字節(jié)交換XCH、XCHD算術(shù)及邏輯運(yùn)算ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制轉(zhuǎn)移CJNE、DJNZ都屬于讀鎖存器。10. 89C51P0P3口結(jié)構(gòu)有何不同用作通用/口輸入數(shù)據(jù)時(shí),應(yīng)注意什么答:P0口內(nèi)部沒
5、有上拉電阻,可以用做16位地址的低8位;P3有第二功能;P2口可以用做16位地址的高8位;需要上拉電阻。OC門電路無法輸出高低電平,只有靠上拉電阻才能實(shí)現(xiàn)單片機(jī)的信號(hào)有何功能在使用8031時(shí),信號(hào)引腳應(yīng)如何處理答:(1)80C51單片機(jī)的EA信號(hào)的功能EA為片外程序存儲(chǔ)器訪問允許信號(hào),低電平有效;在編程時(shí),其上施加21V的編程電壓 EA引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器開始執(zhí)行,即訪問片內(nèi)存儲(chǔ)器;EA引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器程序。(2)在使用80C31時(shí),EA信號(hào)引腳的處理方法因?yàn)?0C31沒有片內(nèi)的程序存儲(chǔ)器,所以在使用它時(shí)必定要有外部的程序存儲(chǔ)器,EA 信號(hào)引腳應(yīng)接
6、低電平。單片機(jī)有哪些信號(hào)需要芯片引腳以第2功能的方式提供答: 第一功能 第二功能 串行口: RXD(串行輸入口) TXD(串行輸出口)中斷: INT0外部中斷0 INT1外部中斷1定時(shí)器/計(jì)數(shù)器(T0、T1): T0(定時(shí)器/計(jì)數(shù)器0的外部輸入) T1(定時(shí)器/計(jì)數(shù)器1的外部輸入) 數(shù)據(jù)存儲(chǔ)器選通: WR(外部存儲(chǔ)器寫選通,低電平有效,輸出) RD(外部存儲(chǔ)器讀選通,低電平有效,輸出) 定時(shí)器/計(jì)數(shù)器(T2): T2(定時(shí)器T2的計(jì)數(shù)端) T2EX(定時(shí)器T2的外部輸入端)13.內(nèi)部RAM低128字節(jié)單元?jiǎng)澐譃槟?個(gè)主要部分各部分主要功能是什么答:片內(nèi)RAM低128單元的劃分及主要功能: (l
7、)工作寄存器組(00HlFH)這是一個(gè)用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù)RAM區(qū)的031(00HlFH),共32個(gè)單元。它是4個(gè)通用工作寄存器組,每個(gè)組包含8個(gè)8位寄存器,編號(hào)為R0R7。 (2)位尋址區(qū)(20H2FH)從內(nèi)部數(shù)據(jù)RAM區(qū)的3247(20H2FH)的16個(gè)字節(jié)單元,共包含128位,是可位尋址的RAM區(qū)。這16個(gè)字節(jié)單元,既可進(jìn)行字節(jié)尋址,又可實(shí)現(xiàn)位尋址。(3)字節(jié)尋址區(qū)(30H7FH)從內(nèi)部數(shù)據(jù)RAM區(qū)的48127(30H7FH),共80個(gè)字節(jié)單元,可以采用間接字節(jié)尋址的方法訪問。 14.使單片機(jī)復(fù)位有幾種方法復(fù)位后機(jī)器的初始狀態(tài)如何答:(1)單片機(jī)復(fù)位方法單片機(jī)復(fù)位方法有:上電
8、自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖三種方式,如題圖2-1所示。(2)復(fù)位后的初始狀態(tài)復(fù)位后機(jī)器的初始狀態(tài),即各寄存器的狀態(tài):PC之外,復(fù)位操作還對其他一些特殊功能寄存器有影響,它們的復(fù)位狀態(tài)如題表2-1所例15.開機(jī)復(fù)位后,CPU使用的是哪組工作寄存器它們的地址是什么CPU如何確定和改變當(dāng)前工作寄存器組答:一般開機(jī)復(fù)位后都是選擇第一組通用工作寄存器作為工作寄存器的,一共有4組,分別為連續(xù)位于00h到1FH地址,然后在機(jī)器中有個(gè)程序狀態(tài)字PSW,它的第四和第三位RS1,RS0是用來選擇工作寄存器組的,可能不同機(jī)器地址稍有不同。他們倆的值和寄存器組的關(guān)系:RS1/RS0 0/0 0/1 1/0 1/
9、1使用的工作寄存器 0 1 2 3地址 00-07 08-0F 10-17 18-1F寫程序的時(shí)候就是通過定義程序狀態(tài)字來選擇使用不同的寄存器組。也可以直接對RS1和RS0賦值。16.程序狀態(tài)寄存器PSW的作用是什么常用標(biāo)志有哪些位作用是什么答:PSW是一個(gè)SFR(特殊功能寄存器) 位于片內(nèi)RAM的高128B具體地址D0H(00HFFH)(片內(nèi)RAM的編址)(8bits編址方法)PSW=Program Status Word(程序狀態(tài)字) PSW的常用標(biāo)志位有哪些 CY=Carry(進(jìn)位標(biāo)志位) AC=AuxiliaryCarry(輔助進(jìn)位標(biāo)志位)(半進(jìn)位標(biāo)志位) F0用戶標(biāo)志位RS1,RS0
10、,用來選擇當(dāng)前工作寄存器組(R0R7)(4選1)OV=Overflow(溢出標(biāo)志位) P=Parity(奇偶校驗(yàn)位) 17.位地址7CH與字節(jié)地址7CH如何區(qū)別位地址7CH具體在片內(nèi)RAM中的什么位置答:用不同的尋址方式來加以區(qū)分,即訪問128個(gè)位地址用位尋址方式,訪問低128字節(jié)單元用字節(jié)尋址和間接尋址。具體地址為2F的第五位,即為7C。單片機(jī)的時(shí)鐘周期與振蕩周期之間有什么關(guān)系什么叫機(jī)器周期和指令周期答:時(shí)鐘信號(hào)的周期稱為機(jī)器狀態(tài)周期,是振蕩周期的兩倍。一個(gè)機(jī)器周期是指CPU訪問存儲(chǔ)器一次所需的時(shí)間。指令周期是執(zhí)行一條指令所需的時(shí)間。19. 一個(gè)機(jī)器周期的時(shí)序如何劃分答:一個(gè)機(jī)器周期=12個(gè)
11、震蕩周期=6個(gè)時(shí)鐘周期(狀態(tài)周期)S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P2其中s=state(狀態(tài)),p=phase(相位) 20.什么叫堆棧堆棧指針SP的作用是什么89C51單片機(jī)堆棧的容量不能超過多少字節(jié)答:堆棧都是一種數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top)對數(shù)據(jù)項(xiàng)進(jìn)行插入和刪除。要點(diǎn):堆:順序隨意棧:后進(jìn)先出(Last-In/First-Out)在調(diào)用子程序時(shí)需要保存調(diào)用函數(shù)的CPU寄存器PC指針,PC指針是被CALL指令自動(dòng)壓入SP所指向的片內(nèi)存儲(chǔ)器,CPU寄存器要由用戶用PUSH指令自行保
12、存,因此SP的作用就是一個(gè)指針,當(dāng)進(jìn)行中斷調(diào)用,子函數(shù)調(diào)用時(shí)將現(xiàn)場數(shù)據(jù)壓入SP所指向的存儲(chǔ)器,SP自動(dòng)增加1或2,當(dāng)中斷結(jié)束RETI,調(diào)用返回RET,POP時(shí)將SP數(shù)據(jù)彈出,SP自動(dòng)減1或,28051最大為128字節(jié)的片內(nèi)存儲(chǔ)器,0X20以上理論都可以做堆棧用96字節(jié),8052為256字節(jié)224字節(jié)可用,但這樣便沒有其它空間可用于數(shù)據(jù)存儲(chǔ)現(xiàn)在的單片機(jī)的程序一般都能用C51來,不用關(guān)心堆棧大小與SP寄存器21. 89C51有幾種低功耗方式如何實(shí)現(xiàn)答:空閑方式和掉電方式空閑方式和掉電方式是通過對SFR中的PCON(地址87H)相應(yīng)位置1而啟動(dòng)的。當(dāng)CPU執(zhí)行完置IDL=1)的指令后,系統(tǒng)進(jìn)入空閑工
13、作方式。這時(shí),內(nèi)部時(shí)鐘不向CPU提供,而只供給中斷、串行口、定時(shí)器部分。CPU的內(nèi)部狀態(tài)維持,即包括堆棧指針SP、程序計(jì)數(shù)器PC、程序狀態(tài)字PSW、累加器ACC所有的內(nèi)容保持不變,端口狀態(tài)也保持不變。ALE和PSEN保持邏輯高電平。當(dāng)CPU執(zhí)行一條置位(PD)為1的指令后,系統(tǒng)進(jìn)入掉電工作方式。在這種工作方式下,內(nèi)部振蕩器停止工作。由于沒有振蕩時(shí)鐘,因此,所有的功能部件都停止工作。但內(nèi)部RAM區(qū)和特殊功能寄存器的內(nèi)容被保留,而端口的輸出狀態(tài)值都保存在對應(yīng)的SFR中,ALE和PSEN都為低電平。22. PC與DPTR各有哪些特點(diǎn)有何異同答:(1)程序計(jì)數(shù)器PC作為不可尋址寄存器的特點(diǎn)程序計(jì)數(shù)器P
14、C是中央控制器申最基本的寄存器,是一個(gè)獨(dú)立的計(jì)數(shù)器,存放著下一條將程序存儲(chǔ)器中取出的指令的地址。程序計(jì)數(shù)器PC變化的軌跡決定程序的流程。程序計(jì)數(shù)器的寬度決定了程序存儲(chǔ)器可以尋址的范圍。程序計(jì)數(shù)器PC的基本工作方式有:程序計(jì)數(shù)器PC自動(dòng)加1。這是最基本的工作方式,也是這個(gè)專用寄存器被稱為計(jì)數(shù)器的原因。執(zhí)行條件或無條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入新的數(shù)值,程序的流向發(fā)生變化。變化的方式有下列幾種:帶符號(hào)的相對跳轉(zhuǎn)SJMP、短跳轉(zhuǎn)AJMP、長跳轉(zhuǎn)LJMP及JMP A+DPTR等。在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí):PC的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護(hù);將子程序的入口地址或者中斷矢量
15、地址送入PC,程序流向發(fā)生變化,執(zhí)行子程序或中斷服務(wù)程序;子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令RET或RETI時(shí),將棧頂?shù)膬?nèi)容送到PC寄存器中,程序流程又返回到原來的地方,繼續(xù)執(zhí)行。 (2)地址指針DPTR的特點(diǎn)地址指針DPTR的特點(diǎn)是,它作為片外數(shù)據(jù)存儲(chǔ)器尋址用的地址寄存器(間接尋址)。(3) 地址指針DPTR與程序計(jì)數(shù)器PC的異同 相同之處:兩者都是與地址有關(guān)的、16位的寄存器。其中,PC與程序存儲(chǔ)器的地址有關(guān),而 DPTR與數(shù)據(jù)存儲(chǔ)器的地址有關(guān)。作為地址寄存器使用時(shí),PC與DPTR都是通過P0和P2口(作為16位地址總線)輸出的。但是,PC的輸出與ALE及PSEN有關(guān);DPTR的輸
16、出,則與ALE、RD及WR相聯(lián)系 不同之處:PC只能作為16位寄存器對待,由于有自動(dòng)加1的功能,故又稱為計(jì)數(shù)器;DPTR可以作為16位寄存器對待,也可以作為兩個(gè)8位寄存器對待。PC是不可以訪問的,有自己獨(dú)特的變化方式,它的變化軌跡決定了程序執(zhí)行的流程; DPTR是可以訪問的,如MOV DPTR,#XXXXH,INC DPTP。23. 89C51端口鎖存器的“讀修改寫”操作與“讀引腳”操作有何區(qū)別答:指令系統(tǒng)中有些指令讀鎖存器的值,有些指令則讀引腳上的值。讀鎖存器指令是從鎖存器中讀取一個(gè)值并進(jìn)行處理,把處理后的值(原值或已修改后的值)重新寫入鎖存器中。這類指令稱為讀-修改-寫指令。 對于讀-修改
17、-寫指令。直接讀鎖存器而不是讀端口引腳, 是因?yàn)閺囊_上讀出的數(shù)據(jù)不一定能真正反映鎖存器的狀態(tài)。單片機(jī)原理及接口技術(shù)課后習(xí)題答案第三章1、指令:CPU根據(jù)人的意圖來執(zhí)行某種操作的命令指令系統(tǒng):一臺(tái)計(jì)算機(jī)所能執(zhí)行的全部指令集合機(jī)器語言:用二進(jìn)制編碼表示,計(jì)算機(jī)能直接識(shí)別和執(zhí)行的語言匯編語言:用助記符、符號(hào)和數(shù)字來表示指令的程序語言高級語言:獨(dú)立于機(jī)器的,在編程時(shí)不需要對機(jī)器結(jié)構(gòu)及其指令系統(tǒng)有深入了解的通用性語言3、 操作碼 目的操作數(shù) ,源操作數(shù)5、SFR:直接尋址,位尋址,寄存器尋址;片外RAM:寄存器間接尋址6、 MOV A,40H ;直接尋址(40H)A MOV R0,A;寄存器尋址(A)
18、R0 MOV P1,#0F0H ;立即數(shù)尋址0F0P1 MOV R0,30H;直接尋址(30H) (R0) MOV DPTR,#3848H;立即數(shù)尋址 3848HDPTRMOV 40H,38H;直接尋址 (38H) 40H MOV R0,30H;直接尋址 (30H) R0 MOV P0,R0;寄存器尋址( R0 )P0 MOV 18H,#30H ;立即數(shù)尋址30H18HMOV A,R0 ;寄存器間接尋址 (R0) A MOV P2,P1 ;直接尋址 (P1)P2最后結(jié)果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30
19、H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:左邊是內(nèi)容,右邊是單元7、 用直接尋址,位尋址,寄存器尋址8、 MOV A,DATA;直接尋址2字節(jié)1周期MOV A,#DATA;立即數(shù)尋址2字節(jié)1周期MOV DATA1,DATA2;直接尋址3字節(jié)2周期MOV 74H,#78H;立即數(shù)尋址3字節(jié)2周期如果想查某一指令的機(jī)器碼,字節(jié)數(shù)或周期數(shù)可查閱書本后面的附錄A9MOVA,R0;(R0)=80HAMOVR0,40H;(40H)=08H(R0)MOV40H,A;(A)=8040HMOVR0,#35H;35HR0最后結(jié)果:(R0)=35H(A) =80H,(3
20、2H)=08H,(40H)=80H10、 用直接尋址,位尋址,寄存器尋址11、只能采用寄存器間接尋址(用MOVX指令)12、低128字節(jié):直接尋址,位尋址,寄存器間接尋址,寄存器尋址(R0R7)高128字節(jié):直接尋址,位尋址,寄存器尋址13、采用變址尋址(用MOVC指令)14、壓縮BCD碼在進(jìn)行加法運(yùn)算時(shí)應(yīng)逢十進(jìn)一,而計(jì)算機(jī)只將其當(dāng)作十六進(jìn)制數(shù)處理,此時(shí)得到的結(jié)果不正確。用DA A指令調(diào)整(加06H,60H,66H)15、用來進(jìn)行位操作16、ANL A,#17H ;83H17H=03HAORL 17H,A ;34H03H=37H17HXRL A,R0 ;03H37H=34HCPL A ;34H
21、求反等于CBH所以(A)=CBH17、(1)SETB 或SETB E0H;E0H是累加器的地址(2)CLR CLR CLR CLR (3)CLR CLR CLR CLR 18、MOV 27H,R7MOV 26H,R6MOV 25H,R5MOV 24H,R4MOV 23H,R3MOV 22H,R2MOV 21H,R1MOV 20H,R019、MOV 2FH,20MOV 2EH,21 MOV 2DH,2220、CLR CMOV A,#5DH ;被減數(shù)的低8位AMOV R2,#B4H ;減數(shù)低8位R2SUBB A,R2 ;被減數(shù)減去減數(shù),差A(yù)MOV 30H,A ;低8位結(jié)果30HMOV A,#6FH
22、 ;被減數(shù)的高8位AMOV R2,#13H ;減數(shù)高8位R2SUBB A,R2 ;被減數(shù)減去減數(shù),差A(yù)MOV 31H,A ;高8位結(jié)果30H注意:如果在你的程序中用到了進(jìn)位位,在程序開始的時(shí)候要記得清0進(jìn)位位21、(1)A10CJNE A,#0AH,L1;(A)與10比較,不等轉(zhuǎn)L1LJMP LABEL ;相等轉(zhuǎn)LABELL1:JNC LABEL;(A)大于10,轉(zhuǎn)LABEL或者:CLR CSUBB A,#0AHJNC LABEL(2)A10CJNE A,#0AH,L1;(A)與10比較,不等轉(zhuǎn)L1RET ;相等結(jié)束L1:JNC LABEL ;(A)大于10,轉(zhuǎn)LABEL RET;(A)小于1
23、0,結(jié)束或者:CLR CSUBB A,#0AHJNC L1RETL1RET;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找(3)A10 RETCJNE A,#0AH,L1 27、 MOV DPTR,#SOURCE ;(A)與10比較,不等轉(zhuǎn)L1;源首地址DPTRL2:LJMP LABEL ;相等轉(zhuǎn)LABEL MOV R0,#DIST L1:JC L2 ;(A)小于10,轉(zhuǎn)L2;目的首地址R0RET LOOP:MOVX A,DPTR 或者:;傳送一個(gè)字符CLR C MOV R0,ASUBB A,#0AH INC DPTRJC LABELJZ LABELRET22、(SP)=23H,(PC)=3412H23、
24、(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H參看書上79頁 24、不能。ACALL是短轉(zhuǎn)指令,可調(diào)用的地址范圍是2KB。在看這個(gè)題的時(shí)候同時(shí)看一下AJMP指令。同時(shí)考慮調(diào)用指令A(yù)CALL和LCALL指令和RET指令的關(guān)系。25、 MOV R2,#31H ;數(shù)據(jù)塊長度R2 MOV R0,#20H ;數(shù)據(jù)塊首地址R0LOOP:MOV A,R0 ;待查找的數(shù)據(jù)A CLR C ;清進(jìn)位位SUBB A,#0AAH ;待查找的數(shù)據(jù)是0AAH嗎 JZ L1 ;是,轉(zhuǎn)L1 INC R0 ;不是,地址增1,指向下一個(gè)待查數(shù)據(jù) DJNZ R2,LOOP ;數(shù)據(jù)塊長度減1,不等于0
25、,繼續(xù)查找 MOV 51H,#00H ;等于0,未找到,00H51HRET L1:MOV 51H,#01H ;找到,01H51H RET26、 MOV R2,#31H ;數(shù)據(jù)塊長度R2 MOV R0,#20H ;數(shù)據(jù)塊首地址R0LOOP:MOV A,R0 ;待查找的數(shù)據(jù)A JNZ L1 ;不為0,轉(zhuǎn)L1 INC 51H ;為0,00H個(gè)數(shù)增1 L1:INC R0 ;地址增1,指向下一個(gè)待查數(shù)據(jù) DJNZ R2,LOOP ;指向下一個(gè)字符 INC R0 CJNE A,#24H,LOOP;傳送的是“$”字符嗎不是,傳送下一個(gè)字符 RET28、 MOV A,R3 ;取該數(shù)高8位A ANL A,#80
26、H ;取出該數(shù)符號(hào)判斷 JZ L1 ;是正數(shù),轉(zhuǎn)L1 MOV A,R4 ;是負(fù)數(shù),將該數(shù)低8位A CPL A ;低8位取反 ADD A,#01H ;加1MOV R4,A ;低8位取反加1后R4 MOV A,R3 ;將該數(shù)高8位A CPL A ;高8位取反 ADDC A,#00H;加上低8位加1時(shí)可能產(chǎn)生的進(jìn)位 MOV R3,A ;高8位取反加1后R3 L1: RET29、 CLR C ;清進(jìn)位位C MOV A,31H ;取該數(shù)低8位A RLC A ;帶進(jìn)位位左移1位 MOV 31H,A ;結(jié)果存回31H MOV A,30H ;取該數(shù)高8位A RLC A ;帶進(jìn)位位左移1位MOV 30H,A ;
27、結(jié)果存回30H30、 MOV R2,#04H ;字節(jié)長度R2 MOV R0,#30H;一個(gè)加數(shù)首地址R0 MOV R1,#40H ;另一個(gè)加數(shù)首地址R1 CLR C ;清進(jìn)位位LOOP:MOV A,R0 ;取一個(gè)加數(shù) ADDC A,R1 ;兩個(gè)加數(shù)帶進(jìn)位位相加 DA A ;十進(jìn)制調(diào)整 MOV R0,A ;存放結(jié)果 INC R0;指向下一個(gè)字節(jié)MOV A,R0 ;98HA INC R1 ; INC R0 ;41HR0 DJNZ R2,LOOP ADD A,R0 ;98H+(41H)=47HAINC R0 ;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找RETMOV R0,A ;結(jié)果存入42H單元31、 MO
28、V R2,#08H ;數(shù)據(jù)塊長度R2CLR A ;清A MOV R0,#30H ADDC A,#0 ;進(jìn)位位存入AINC R0 ;數(shù)據(jù)塊目的地址R0MOV DPTR,#2000H MOV R0,A ;進(jìn)位位存入43H;數(shù)據(jù)塊源地址DPTRLOOP:MOVX A, DPTR ;傳送一個(gè)數(shù)據(jù)MOV R0,AINC DPTR;指向下一個(gè)數(shù)據(jù) INC R0 ; DJNZ R2,LOOP ;數(shù)據(jù)塊長度減1,沒傳送完,繼續(xù)傳送 RET32、(1)MOV R0,0FH ;2字節(jié),2周期 4字節(jié)4周期(差) MOV B,R0 ;2字節(jié),2周期 (2)MOV R0,#0FH ;2字節(jié),1周期 4字節(jié)3周期(中)
29、 MOV B,R0 ;2字節(jié),2周期 (3)MOV B,#0FH ;3字節(jié),2周期 3字節(jié)2周期(好)33、(1)功能是將片內(nèi)RAM中50H51H單元清0。(2)7A0A(大家可以看一下書上,對于立即數(shù)尋址的話,后面一個(gè)字節(jié)存放的是立即數(shù)) 7850 (第一個(gè)字節(jié)的后三位是寄存器,前一個(gè)條指令是010也就是指的R2,在這里是R0,所以應(yīng)該是78,后一個(gè)字節(jié)存放的是立即數(shù)) DAFC (這里涉及到偏移量的計(jì)算,可以34、 INC R0 ;(7EH)=00H INC R0 ;(R0)=7FH INC R0 ;(7FH)=39H INC DPTR ;(DPTR)=10FFH INC DPTR ;(D
30、PTR)=1100HINC DPTR ;(DPTR)=1101H35、解:(1000H)=53H (1001H)=54H (1002H)=41H (1003H)=52H (1004H)=54H (1005H)=12H (1006H)=34H (1007H)=30H(1008H)=00H(1009H)=70H36、MOV R0,#40H ;40HR0功能:將40H,41H單元中的內(nèi)容相加結(jié)果放在42H單元,進(jìn)位放在43H單元,(R0)=43H,(A)=1,(40H)=98H,(41H)=AFH,(42H)=47H,(43H)=01H37、 MOV A,61H ;F2HA MOV B,#02H ;
31、02HB MUL AB ;F2H×O2H=E4HA ADD A,62H;積的低8位加上CCHA MOV 63H,A ;結(jié)果送62H CLR A ;清A ADDC A,B;積的高8位加進(jìn)位位A MOV 64H,A ;結(jié)果送64H功能:將61H單元的內(nèi)容乘2,低8位再加上62H單元的內(nèi)容放入63H,將結(jié)果的高8位放在64H單元。(A)=02H,(B)=01H,(61H)=F2H,(62H)=CCH,(63H)=B0H,(64H)=02H39、MOV A,XXHORL A,#80HMOV XXH,A40、(2)MOV A,XXH MOV R0,AXRL A,R0第五章1、什么是中斷和中斷系
32、統(tǒng)其主要功能是什么答:當(dāng)CPU正在處理某件事情的時(shí)候,外部發(fā)生的某一件事件請求CPU迅速去處理,于是,CPU暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件,中斷服務(wù)處理完該事件以后,再回到原來被終止的地方,繼續(xù)原來的工作。這種過程稱為中斷,實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng)。功能:(1) 使計(jì)算機(jī)具有實(shí)時(shí)處理能力,能對外界異步發(fā)生的事件作出及時(shí)的處理(2) 完全消除了CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率7/18頁(3) 實(shí)現(xiàn)實(shí)時(shí)控制2、試編寫一段對中斷系統(tǒng)初始化的程序,使之允許INT0,INT1,TO,串行口中斷,且使T0中斷為高優(yōu)先級中斷。解:MOV IE,#097H MOV IP
33、,#02H3、在單片機(jī)中,中斷能實(shí)現(xiàn)哪些功能答:有三種功能:分時(shí)操作,實(shí)時(shí)處理,故障處理4、89C51共有哪些中斷源對其中端請求如何進(jìn)行控制答:(1)89C51有如下中斷源 :外部中斷0請求,低電平有效 :外部中斷1請求,低電平有效T0:定時(shí)器、計(jì)數(shù)器0溢出中斷請求T1:定時(shí)器、計(jì)數(shù)器1溢出中斷請求TX/RX:串行接口中斷請求(2)通過對特殊功能寄存器TCON、SCON、IE、IP的各位進(jìn)行置位或復(fù)位等操作,可實(shí)現(xiàn)各種中斷控制功能5、什么是中斷優(yōu)先級中斷優(yōu)先處理的原則是什么答:中斷優(yōu)先級是CPU相應(yīng)中斷的先后順序。原則:(1)先響應(yīng)優(yōu)先級高的中斷請求,再響應(yīng)優(yōu)先級低的(2)如果一個(gè)中斷請求已經(jīng)
34、被響應(yīng),同級的其它中斷請求將被禁止(3)如果同級的多個(gè)請求同時(shí)出現(xiàn),則CPU通過內(nèi)部硬件查詢電路,按查詢順序確定應(yīng)該響應(yīng)哪個(gè)中斷請求查詢順序:外部中斷0定時(shí)器0中斷外部中斷1定時(shí)器1中斷串行接口中斷6、說明外部中斷請求的查詢和響應(yīng)過程。答:當(dāng)CPU執(zhí)行主程序第K條指令,外設(shè)向CPU發(fā)出中斷請求,CPU接到中斷請求信號(hào)并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保存斷點(diǎn)地址,然后轉(zhuǎn)去響應(yīng)中斷。CPU在每個(gè)S5P2期間順序采樣每個(gè)中斷源,CPU在下一個(gè)機(jī)器周期S6期間按優(yōu)先級順序查詢中斷標(biāo)志,如果查詢到某個(gè)中斷標(biāo)志為1,將在接下來的機(jī)器周期S1期間按優(yōu)先級進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動(dòng)將相應(yīng)的中斷
35、矢量地址裝入PC,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。中斷服務(wù)完畢后,CPU返回到主程序第K+1條指令繼續(xù)執(zhí)行。7、89C51在什么條件下可響應(yīng)中斷 答:(1) 有中斷源發(fā)出中斷請求(2) 中斷中允許位EA=1.即CPU開中斷(3)申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽(4) 無同級或更高級中斷正在服務(wù)(5) 當(dāng)前指令周期已經(jīng)結(jié)束(6)若現(xiàn)行指令為RETI或訪問IE或IP指令時(shí),該指令以及緊接著的另一條指令已執(zhí)行完畢8、簡述89C51單片機(jī)的中斷響應(yīng)過程。答:CPU在每個(gè)機(jī)器周期S5P2期間順序采樣每個(gè)中斷源,CPU在下一個(gè)機(jī)器周期S6期間按優(yōu)先級順序查詢中斷標(biāo)志,如查詢到某個(gè)中斷標(biāo)志為1
36、,將在接下來的機(jī)器周期S1期間按優(yōu)先級進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動(dòng)將相應(yīng)的中斷矢量地址裝入PC,以便進(jìn)入相應(yīng)的中斷服務(wù)程序。一旦響應(yīng)中斷,89C51首先置位相應(yīng)的中斷“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調(diào)用指令,把當(dāng)前的PC值壓入堆棧,以保護(hù)斷點(diǎn),再將相應(yīng)的中斷服務(wù)的入口地址送入PC,于是CPU接著從中斷服務(wù)程序的入口處開始執(zhí)行。對于有些中斷源,CPU在響應(yīng)中斷后會(huì)自動(dòng)清除中斷標(biāo)志。9、在89C51內(nèi)存中,應(yīng)如何安排程序區(qū)答:主程序一般從0030H開始,主程序后一般是子程序及中斷服務(wù)程序。在這個(gè)大家還要清除各個(gè)中斷的中斷矢量地址。10、試述中斷的作用及中斷的全過程。答:作用:對外部
37、異步發(fā)生的事件作出及時(shí)的處理過程:中斷請求,中斷響應(yīng),中斷處理,中斷返回11、當(dāng)正在執(zhí)行某一個(gè)中斷源的中斷服務(wù)程序時(shí),如果有新的中斷請求出現(xiàn),試問在什么情況下可響應(yīng)新的中斷請求在什么情況下不能響應(yīng)新的中斷請求答:(1)符合以下6個(gè)條件可響應(yīng)新的中斷請求:a)有中斷源發(fā)出中斷請求b)中斷允許位EA=1,即CPU開中斷c)申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽 d)無同級或更高級中斷正在被服務(wù)e)當(dāng)前的指令周期已結(jié)束f)若現(xiàn)行指令為RETI或訪問IE或IP指令時(shí),該指令以及緊接著的另一條指令已被執(zhí)行完12、89C51單片機(jī)外部中斷源有幾種觸發(fā)中斷請求的方法如何實(shí)現(xiàn)中斷請求答:有兩種方式
38、:電平觸發(fā)和邊沿觸發(fā)電平觸發(fā)方式:CPU在每個(gè)機(jī)器周期的S5P2期間采樣外部中斷引腳的輸入電平。若為低電平,使IE1(IE0)置“1”,申請中斷;若為高電平,則IE1(IE0)清零。邊沿觸發(fā)方式:CPU在每個(gè)機(jī)器周期S5P2期間采樣外部中斷請求引腳的輸入電平。如果在相繼的兩個(gè)機(jī)器周期采樣過程中,一個(gè)機(jī)器周期采樣到外部中斷請求為高電平,接著下一個(gè)機(jī)器周期采樣到外部中斷請求為低電平,則使IE1(IE0)置“1”申請中斷;否則,IE1(IE0)置0。13、89C51單片機(jī)有五個(gè)中斷源,但只能設(shè)置兩個(gè)中斷優(yōu)先級,因此,在中斷優(yōu)先級安排上受到一定的限制。試問以下幾種中斷優(yōu)先順序的安排(級別由高到低)是否
39、可能:若可能,則應(yīng)如何設(shè)置中斷源的中斷級別:否則,請簡述不可能的理由。 定時(shí)器0,定時(shí)器1,外中斷0,外中斷1,串行口中斷??梢裕琈OV IP,#0AH 串行口中斷,外中斷0,定時(shí)器0,外中斷1,定時(shí)器1。 可以,MOV IP,#10H 外中斷0,定時(shí)器1,外中斷1,定時(shí)器0,串行口中斷。不可以,只能設(shè)置一級高級優(yōu)先級,如果將INT0,T1設(shè)置為高級,而T0級別 高于INT1. 外中斷0,外中斷1,串行口中斷,定時(shí)器0,定時(shí)器1 。 可以,MOV IP,#15H 串行口中斷,定時(shí)器0,外中斷0,外中斷1,定時(shí)器1。 不可以 外中斷0,外中斷1,定時(shí)器0,串行口中斷,定時(shí)器1 。 不可 外中斷0
40、,定時(shí)器1,定時(shí)器0,外中斷1,串行口中斷。 可以,MOV IP,#09H14、89C51各中斷源的中斷標(biāo)志是如何產(chǎn)生的又是如何清0的CPU響應(yīng)中斷時(shí),中斷入口地址各是多少答:各中斷標(biāo)志的產(chǎn)生和清“0”如下:(1) 外部中斷類外部中斷是由外部原因引起的,可以通過兩個(gè)固定引腳,即外部中斷0和外部中斷1輸入信號(hào)。外部中斷0請求信號(hào),由腳輸入。通過IT0來決定中斷請求信號(hào)是低電平有效還是下跳變有效。一旦輸入信號(hào)有效,則向CPU申請中斷,并且使IE0=1。硬件復(fù)位。外部中斷1請求信號(hào),功能與用法類似外部中斷(2) 定時(shí)中斷類定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)溢出處理需要而設(shè)置的。當(dāng)定時(shí)器/計(jì)數(shù)器中的計(jì)數(shù)結(jié)構(gòu)發(fā)
41、生計(jì)數(shù)溢出的,即表明定時(shí)時(shí)間到或計(jì)數(shù)值已滿,這時(shí)就以計(jì)數(shù)溢出信號(hào)作為中斷請求,去置位一個(gè)溢出標(biāo)志位。這種中斷請求是在單片機(jī)芯片內(nèi)部發(fā)生的,無需在芯片上設(shè)置引入端,但在計(jì)數(shù)方式時(shí),中斷源可以由外部引入。TF0:定時(shí)器T0溢出中斷請求。當(dāng)定時(shí)器T0產(chǎn)生溢出時(shí),定時(shí)器T0請求標(biāo)志TF0=1,請求中斷處理。使用中斷時(shí)由硬件復(fù)位,在查詢方式下可由軟件復(fù)位。TF1:定時(shí)器T1溢出中斷請求。功能與用法類似定時(shí)器T0(3) 串行口中斷類串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的。串行中斷請求也是在單片機(jī)芯片內(nèi)部發(fā)生的,但當(dāng)串行口作為接收端時(shí),必須有一完整的串行幀數(shù)據(jù)從RI端引入芯片,才可能引發(fā)中斷。RI或TI:
42、串行口中斷請求。當(dāng)接收或發(fā)送一串幀數(shù)據(jù)時(shí),使內(nèi)部串行口中斷請求標(biāo)志RI或TI=1,并請求中斷。響應(yīng)后必須軟件復(fù)位。 CPU響應(yīng)中斷時(shí),中斷入口地址如下: 中斷源 入口地址外部中斷0 0003H定時(shí)器T0中斷 000BH外部中斷1 0013H定時(shí)器T1中斷 001BH串行口中斷 0023H15、中斷響應(yīng)時(shí)間是否為確定不變的為什么答:中斷響應(yīng)時(shí)間不是確定不變的。由于CPU不是在任何情況下對中斷請求都予以響應(yīng)的;此外,不同的情況對中斷響應(yīng)的時(shí)間也是不同的。下面以外部中斷為例,說明中斷響應(yīng)的時(shí)間。在每個(gè)機(jī)器周期的S5P2期間,端的電平被所存到TCON的IE0位,CPU在下一個(gè)機(jī)器周期才會(huì)查詢這些值。這
43、時(shí)滿足中斷響應(yīng)條件,下一條要執(zhí)行的指令將是一條硬件長調(diào)用指令“LCALL”,使程序轉(zhuǎn)入中斷矢量入口。調(diào)用本身要用2個(gè)機(jī)器周期,這樣,從外部中斷請求有效到開始執(zhí)行中斷服務(wù)程序的第一條指令,至少需要3個(gè)機(jī)器周期,這是最短的響應(yīng)時(shí)間。如果遇到中斷受阻的情況,這中斷響應(yīng)時(shí)間會(huì)更長一些。例如,當(dāng)一個(gè)同級或更高級的中斷服務(wù)程序正在進(jìn)行,則附加的等待時(shí)間取決于正在進(jìn)行的中斷服務(wù)程序:如果正在執(zhí)行的一條指令還沒有進(jìn)行到最后一個(gè)機(jī)器周期,附加的等待時(shí)間為13個(gè)機(jī)器周期;如果正在執(zhí)行的是RETI指令或者訪問IE或IP的指令,則附加的等待時(shí)間在5個(gè)機(jī)器周期內(nèi)。若系統(tǒng)中只有一個(gè)中斷源,則響應(yīng)時(shí)間為38個(gè)機(jī)器周期。16
44、、中斷響應(yīng)過程中,為什么通常要保護(hù)現(xiàn)場如何保護(hù)答:因?yàn)橐话阒鞒绦蚝椭袛喾?wù)程序都可能會(huì)用到累加器,PSW寄存器及其他一些寄存器。CPU在進(jìn)入中斷服務(wù)程序后,用到上述寄存器時(shí),就會(huì)破壞它原來存在寄存器中的內(nèi)容;一旦中斷返回,將會(huì)造成主程序的混亂。因而在進(jìn)入中斷服務(wù)程序后,一般要先保護(hù)現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序以前再恢復(fù)現(xiàn)場。保護(hù)方法一般是把累加器、PSW寄存器及其他一些與主程序有關(guān)的寄存器壓入堆棧。在保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場時(shí),為了不使現(xiàn)場受到破壞或者造成混亂,一般規(guī)定此時(shí)CPU不響應(yīng)新的中斷請求。這就要求在編寫中斷服務(wù)程序時(shí),注意在保護(hù)現(xiàn)場之前要關(guān)中斷,在恢復(fù)現(xiàn)場之后開中斷。如果在中
45、斷處理時(shí)允許有更高級的中斷打斷它,則在保護(hù)現(xiàn)場之后再開中斷,恢復(fù)現(xiàn)場之前關(guān)中斷。17、清敘述中斷響應(yīng)的CPU操作過程,為什么說中斷操作是一個(gè)CPU的微查詢過程答:在中斷響應(yīng)中,CPU要完成以下自主操作過程:a)置位相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器,以標(biāo)明所響應(yīng)中斷的優(yōu)先級別b) 中斷源標(biāo)志清零(TI、RI除外)c) 中斷斷點(diǎn)地址裝入堆棧保護(hù)(不保護(hù)PSW)d) 中斷入口地址裝入PC,以便使程序轉(zhuǎn)到中斷入口地址處在計(jì)算機(jī)內(nèi)部,中斷表現(xiàn)為CPU的微查詢操作。89C51單片機(jī)中,CPU在每個(gè)機(jī)器周期的S6狀態(tài),查詢中斷源,并按優(yōu)先級管理規(guī)則處理同時(shí)請求的中斷源,且在下一個(gè)機(jī)器周期的S1狀態(tài)中,響應(yīng)最高級中斷請
46、求。但是以下情況除外:a) CPU正在處理相同或更高優(yōu)先級中斷b)多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器周期c) 正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及訪問IE、IP等操作時(shí),要延后一條指令18、在中斷請求有效并開中斷狀況下,能否保證立即響應(yīng)中斷有什么條件答:在中斷請求有效并開中斷狀況下,并不能保證立即響應(yīng)中斷。這是因?yàn)?,在?jì)算機(jī)內(nèi)部,中斷表現(xiàn)為CPU的微查詢操作。89C51單片機(jī)中,CPU在每個(gè)機(jī)器周期的S6狀態(tài)下,查詢中斷源,并按優(yōu)先級管理規(guī)則處理同時(shí)請求的中斷源,且在下一個(gè)機(jī)器周期的S1狀態(tài)中,響應(yīng)最高級中斷請求。在以下情況下,還需要有另外的等待:a) CPU正在處理相同或更高
47、優(yōu)先級中斷b) 多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器周期c)正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及訪問IE、IP等操作時(shí),要延后一條指令 第6章習(xí)題答案1、定時(shí)器模式2有什么特點(diǎn)適用于什么場合答:(1)模式2把TL0(或TL1)配置成一個(gè)可以自動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器。TL0計(jì)數(shù)溢出時(shí)不僅使溢出中斷標(biāo)志位TF0置1,而且還自動(dòng)把TH0中的內(nèi)容重新裝載到TL0中。TL0用作8位計(jì)數(shù)器,TH0用以保存初值。(2)用于定時(shí)工作方式時(shí)間(TF0溢出周期)為 ,用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)長度(TH0初值=0)為28=256個(gè)外部脈沖。這種工作方式可省去用戶軟件重裝初值的語句,并可產(chǎn)生相
48、當(dāng)精確定時(shí)時(shí)間,特別適于作串行波特率發(fā)生器。2、單片機(jī)內(nèi)部定時(shí)方式產(chǎn)生頻率為100KHZ等寬矩形波,假定單片機(jī)的晶振頻率為12MHZ,請編程實(shí)現(xiàn)。答:T0低5位:1BHT0高8位:FFHMOV TMOD,#00H ;設(shè)置定時(shí)器T0工作于模式0MOV TL0,#1BH ;設(shè)置5ms定時(shí)初值MOV TH0,#0FFHSETB TR0 ;啟動(dòng)T0LOOP:JBCTF0,L1;查詢到定時(shí)時(shí)間到時(shí)間到轉(zhuǎn)L1SJMP LOOP ;時(shí)間未到轉(zhuǎn)LOOP,繼續(xù)查詢L1:MOV TL0,#1BH;重新置入定時(shí)初值MOV TH0,#0FFHCPL ;輸出取反,形成等寬矩形波SJMP LOOP ;重復(fù)循環(huán)3、89C5
49、1定時(shí)器有哪幾種工作模式有何區(qū)別答:有四種工作模式:模式0,模式1,模式2,模式3(1)模式0:選擇定時(shí)器的高8位和低5位組成一個(gè)13位定時(shí)器/計(jì)數(shù)器。TL低5位溢出時(shí)向TH進(jìn)位,TH溢出時(shí)向中斷標(biāo)志位TF進(jìn)位,并申請中斷。定時(shí)時(shí)間t=(213-初值)×振蕩周期×12;計(jì)數(shù)長度位213=8192個(gè)外部脈沖(2)模式1:與模式0的唯一差別是寄存器TH和TL以全部16位參與操作。定時(shí)時(shí)間t=(216-初值)×振蕩周期×12;計(jì)數(shù)長度位216=65536個(gè)外部脈沖(3)模式2:把TL0和TL1配置成一個(gè)自動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器。TL用作8位計(jì)數(shù)器,TH用
50、以保存初值。TL計(jì)數(shù)溢出時(shí)不僅使TF0置1,而且還自動(dòng)將TH中的內(nèi)容重新裝載到TL中。定時(shí)時(shí)間t=(28-初值)×振蕩周期×12;計(jì)數(shù)長度位28=256個(gè)外部脈沖(4) 模式3:對T0和T1不大相同若設(shè)T0位模式3,TL0和TH0被分為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器。TL0為8位計(jì)數(shù)器,功能與模式0和模式1相同,可定時(shí)可計(jì)數(shù)。TH0僅用作簡單的內(nèi)部定時(shí)功能,它占用了定時(shí)器T1的控制位TR1和中斷標(biāo)志位TF1,啟動(dòng)和關(guān)閉僅受TR1控制。定時(shí)器T1無工作模式3,但T0在工作模式3時(shí)T1仍可設(shè)置為02。4、89C51內(nèi)部設(shè)有幾個(gè)定時(shí)器/計(jì)數(shù)器它們是由哪些特殊功能寄存器組成答:89C51
51、單片機(jī)內(nèi)有兩個(gè)16位定時(shí)器/計(jì)數(shù)器,即T0和T1。T0由兩個(gè)8位特殊功能寄存器TH0和TL0組成;T1由TH1和TL1組成。5、定時(shí)器用作定時(shí)器時(shí),其定時(shí)時(shí)間與哪些因素有關(guān)作計(jì)數(shù)器時(shí),對外界計(jì)數(shù)頻率有何限制答:定時(shí)時(shí)間與定時(shí)器的工作模式,初值及振蕩周期有關(guān)。作計(jì)數(shù)器時(shí)對外界計(jì)數(shù)頻率要求最高為機(jī)器振蕩頻率的1/24。6、簡述定時(shí)器4種工作模式的特點(diǎn),如何選擇設(shè)定答:(1)模式0:選擇定時(shí)器的高8位和低5位組成一個(gè)13位定時(shí)器/計(jì)數(shù)器。TL低5位溢出時(shí)向TH進(jìn)位,TH溢出時(shí)向中斷標(biāo)志位TF進(jìn)位,并申請中斷。定時(shí)時(shí)間t=(213-初值)×振蕩周期×12;計(jì)數(shù)長度位213=8192
52、個(gè)外部脈沖置TMOD中的M1M0為00(2)模式1:與模式0的唯一差別是寄存器TH和TL以全部16位參與操作。定時(shí)時(shí)間t=(216-初值)×振蕩周期×12;計(jì)數(shù)長度位216=65536個(gè)外部脈沖置TMOD中的M1M0為01(3)模式2:把TL0和TL1配置成一個(gè)自動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器。TL用作8位計(jì)數(shù)器,TH用以保存初值。TL計(jì)數(shù)溢出時(shí)不僅使TF0置1,而且還自動(dòng)將TH中的內(nèi)容重新裝載到TL中。定時(shí)時(shí)間t=(28-初值)×振蕩周期×12;計(jì)數(shù)長度位28=256個(gè)外部脈沖置TMOD中的M1M0為10(4) 模式3:對T0和T1不大相同若設(shè)T0位模式
53、3,TL0和TH0被分為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器。TL0為8位計(jì)數(shù)器,功能與模式0和模式1相同,可定時(shí)可計(jì)數(shù)。TH0僅用作簡單的內(nèi)部定時(shí)功能,它占用了定時(shí)器T1的控制位TR1和中斷標(biāo)志位TF1,啟動(dòng)和關(guān)閉僅受TR1控制。定時(shí)器T1無工作模式3,但T0在工作模式3時(shí)T1仍可設(shè)置為02。置TMOD中的M1M0為117、當(dāng)T0用作模式3時(shí),由于TR1已被T0占用,如何控制T1的開啟和關(guān)閉答:用T1控制位C/T切換定時(shí)器或計(jì)數(shù)器工作方式就可以使T1運(yùn)行。定時(shí)器T1無工作模式3,將T1設(shè)置為工作模式3,就會(huì)使T1立即停止計(jì)數(shù),關(guān)閉。8、以定時(shí)器/計(jì)數(shù)器1進(jìn)行外部時(shí)間計(jì)數(shù),每計(jì)數(shù)1000個(gè)脈沖后,定時(shí)器/
54、計(jì)數(shù)器1轉(zhuǎn)為定時(shí)工作方式,定時(shí)10ms后又轉(zhuǎn)為計(jì)數(shù)方式,如此循環(huán)不止。假定 為6WHZ,用模式1編程。解:T1為定時(shí)器時(shí)初值:T1為計(jì)數(shù)器時(shí)初值:所以:L1:MOV TMOD,#50H ;設(shè)置T1為計(jì)數(shù)方式且工作模式為1MOV TH1,#0FCH ;置入計(jì)數(shù)初值MOV TL1,#18HSETB TR1 ;啟動(dòng)T1計(jì)數(shù)器LOOP1:JBC TF1,L2 ;查詢計(jì)數(shù)溢出有溢出(計(jì)數(shù)滿1000個(gè))轉(zhuǎn)L2SJMP LOOP1 ;無溢出轉(zhuǎn)LOOP1,繼續(xù)查詢L2:CLR TR1 ;關(guān)閉T1MOV TMOD,#10H ;設(shè)置T1為定時(shí)方式且工作與模式111/18頁MOV TH1,#0ECH ;置入定時(shí)10
55、ms初值14、已知89C51單片機(jī)的fosc=12MHz, MOV TL1,#78H用T1定時(shí)。試編程由和引腳分別輸出周SETB TR1 ;啟動(dòng)T1定時(shí)期為 2ms和500s的方波。LOOP2:JBC TF1,L1 解:采用模式0作 定時(shí)初值:;查詢10ms時(shí)間到時(shí)間到,轉(zhuǎn)L1所以 MOV R2,#04H SJMP LOOP2 ;R2為“250s”計(jì)數(shù)器,置入初值4CLR ;輸出低電平;時(shí)間未到,轉(zhuǎn)LOOP2,繼續(xù)查詢9、一個(gè)定時(shí)器定時(shí)時(shí)間有限,如何實(shí)現(xiàn)兩個(gè)定CLR ;輸出低電平時(shí)器的串行定時(shí)以滿足較長定時(shí)時(shí)間的要求MOV TMOD,#00H答:當(dāng)一個(gè)定時(shí)器溢出時(shí),設(shè)置另一個(gè)定時(shí)器的L2:MO
56、V TH1,#0F8H 初值為0開始定時(shí)。10、使用一個(gè)定時(shí)器,如何通過軟硬件結(jié)合方法實(shí)現(xiàn)較長時(shí)間的定時(shí)答:設(shè)定好定時(shí)器的定時(shí)時(shí)間,采用中斷方式用軟件設(shè)置計(jì)數(shù)次數(shù),進(jìn)行溢出次數(shù)累計(jì),從而得到較長的時(shí)間。11、89C51定時(shí)器作定時(shí)和計(jì)數(shù)時(shí)其計(jì)數(shù)脈沖分別由誰提供答:作定時(shí)器時(shí)計(jì)數(shù)脈沖由89C51片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖提供,作計(jì)數(shù)時(shí)計(jì)數(shù)脈沖由外部信號(hào)通過引腳和提供。12、89C51定時(shí)器的門控信號(hào)GATE設(shè)置為1時(shí)定時(shí)器如何啟動(dòng)答:只有 (或)引腳為高電平且由軟件使TR0(或TR1)置1時(shí),才能啟動(dòng)定時(shí)器工作。13、已知89C51單片機(jī)的fosc=6MHz,請利用T0和輸出矩形波。矩形波
57、高電平寬50s,低電平寬300s。解:T0采用模式2作為50s定時(shí)時(shí)的初值:所以 作300s定時(shí)時(shí)的初值:MOV TMOD,#02H ;設(shè)置定時(shí)器T0工作于模式2L2:CLR ;輸出低電平MOV TH0,#6AH ;置入定時(shí)300s初值MOV TL0,#6AHSETB TR0 ;啟動(dòng)T0LOOP1:JBC TF0,L1;查詢300s時(shí)間到時(shí)間到,轉(zhuǎn)L1SJMP LOOP1 ;時(shí)間未到,轉(zhuǎn)LOOP1,繼續(xù)查詢L1:SETB ;輸出高電平CLR TR0 ;關(guān)閉T0MOV TH0,#0E7H ;置入定時(shí)300s初值MOV TL0,# 0E7HSETB TR0 ; 啟動(dòng)T0LOOP2:JBC TF0,L2 ;查詢50s時(shí)間到時(shí)間到,轉(zhuǎn)L2SJMP LOOP2 ;時(shí)間未到,轉(zhuǎn)LOOP2,繼續(xù)查詢;置入定時(shí)250s初值MOV TL1,#06HSETB TR1 ;啟動(dòng)T1LOOP:JBC TF1,L1 ;查詢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 線條燈橋梁施工方案
- 第10課 金與南宋對峙 教案2024-2025學(xué)年七年級歷史下冊新課標(biāo)
- 清水混凝土施工方案總結(jié)
- 2025年低空雷達(dá)行業(yè)政策分析:低空雷達(dá)行業(yè)標(biāo)準(zhǔn)提供有力支持
- 雨水管安裝施工方案
- 混凝土和基礎(chǔ)施工方案
- 大石橋消防施工方案
- 2025年大二財(cái)務(wù)會(huì)計(jì)試題及答案
- 豪邦物業(yè)考試試題及答案
- 常用量具使用方法課件
- 騰訊云人工智能工程師認(rèn)證考試題(附答案)
- 專題03 透鏡及其應(yīng)用(5大模塊知識(shí)清單+5個(gè)易混易錯(cuò)+6種方法技巧+典例真題解析)
- 班級管理案例與應(yīng)用知到智慧樹章節(jié)測試課后答案2024年秋哈爾濱師范大學(xué)
- ECMO技術(shù)操作規(guī)范試題
- 噴漆工崗位能力培訓(xùn)試題含答案
- 江南大學(xué)《互換性與技術(shù)測量》2021-2022學(xué)年第一學(xué)期期末試卷
- ECharts數(shù)據(jù)可視化課件 第5章 儀表盤、漏斗圖和折線樹圖
- 特殊作業(yè)安全管理監(jiān)護(hù)人專項(xiàng)培訓(xùn)課件
- 農(nóng)行競聘高級專員述職報(bào)告范本
- 2024屆全國新高考英語復(fù)習(xí)-讀后續(xù)寫微寫作
評論
0/150
提交評論