版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WORD格式可編輯單片機(jī)原理及接口李朝青1.89C51單片機(jī)內(nèi)包含哪些主要邏輯功能部件?答:80C51系列單片機(jī)在片內(nèi)集成了以下主要邏 輯功能部件:1CPU 中央處理器:8位2片內(nèi) RAM:128B3特殊功能存放器:21個(gè)4程序存儲(chǔ)器:4KB5并行I/O 口 :8位,4個(gè)6串行接口 :全雙工,1個(gè)7定時(shí)器/計(jì)數(shù)器:16位,2個(gè)8片內(nèi)時(shí)鐘電路:1個(gè)2.89C51的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ǔ)器 中的指令.3. 89
2、C51的存儲(chǔ)器分哪幾個(gè)空間?如何區(qū)別不同 空間的尋址?答:ROIM片內(nèi)ROM和片外ROMS一編址使用MOVC 數(shù)據(jù)傳送指令16bits 地址64KB 片外 RAM MOVX 16bits 地址64KB 片內(nèi) RAM MOV 8bits 地址256B4. 簡(jiǎn)述89C51片內(nèi)RAM勺空間分配.答:片內(nèi)RAMt 256B低128B是真正的RAM區(qū)高128B是SFR特殊功能存放器區(qū)5. 簡(jiǎn)述布爾處理存儲(chǔ)器的空間分配,片內(nèi) RAM 中包含哪些可位尋址單元.答:片內(nèi) RAM區(qū)從 00HFFH256E其中20H2FH字節(jié)地址是位尋址區(qū)對(duì)應(yīng)的位地址是 00H7FH6. 如何簡(jiǎn)捷地判斷89C51正在工作?答:用
3、示波器觀察8051的XTAL2端是否有脈沖信號(hào)輸出判斷震蕩電路工作是否正常?ALE 地址鎖存允許Address LatchEnable輸出是fosc的6分頻用示波器觀察ALE是否有脈沖輸出判斷8051芯片的好壞?觀察PSEN判斷8051能夠到EPROME ROM由于/PSEN接外部EPROMROM的/OE端子中讀取指令碼?OE=Output En able輸出允許7. 89C51如何確定和改變當(dāng)前工作存放器組?答:PSV程序狀態(tài)字Program Status Word中的 RS1 和 RS0可以給出4中組合用來從4組工作存放器組中進(jìn)行選擇PSW 屬于 SF Special Function R
4、egister 特殊功能存放器8. 89C51 P0 口用作通用I / O 口輸入時(shí),假設(shè)通過TTL“OC門輸入數(shù)據(jù),應(yīng)注意什么?為什么?答:9. 讀端口鎖存器和“讀引腳有何不同?各使 用哪種指令?答:讀鎖存器ANL P0,A就是相當(dāng)于從存儲(chǔ)器中拿數(shù)據(jù),而讀引腳是從外部拿數(shù)據(jù)如MOA,P1 這條指令就是讀引腳的,意思就是把端口 p1輸入 數(shù)據(jù)送給A傳送類MOV判位轉(zhuǎn)移JB、JNB這些都屬 于讀引腳,平時(shí)實(shí)驗(yàn)時(shí)經(jīng)常用這些指令于外部通 信,判斷外部鍵盤等;字節(jié)交換 XCH XCHDT術(shù) 及邏輯運(yùn)算 ORL CPL ANL ADD ADDC SUBB INC、DECS制轉(zhuǎn)移CJNE DJNZ都屬于讀
5、鎖存器.10. 89C51 P0P3 口結(jié)構(gòu)有何不同?用作通用I / O口輸入數(shù)據(jù)時(shí),應(yīng)注意什么?答:P0 口內(nèi)部沒有上拉電阻,可以用做 16位地 址的低8位;P3有第二功能;P2 口可以用做16位地址的高8位;需要上拉電阻.OC門電路無法輸出上下電平,只有靠上拉電阻才能實(shí)現(xiàn)11.89C51單片機(jī)的EA信號(hào)有何功能?在使用 8031時(shí),EA信號(hào)引腳應(yīng)如何處理?答:180C51單片機(jī)的EA信號(hào)的功能EA為片外程序存儲(chǔ)器訪問允許信號(hào),低電平 有效;在編程時(shí),其上施加21V的編程電壓EA引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器 開始執(zhí)行,即訪問片內(nèi)存儲(chǔ)器;EA引腳接低電平 時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存
6、儲(chǔ)器程序.專業(yè)知識(shí)整理分享 在使用80C31時(shí),EA信號(hào)引腳的處理方法數(shù)據(jù)存儲(chǔ)器由于80C31沒有片內(nèi)的程序存儲(chǔ)器,所以在使用它時(shí)必定要有外部的程序存儲(chǔ)器,EA信號(hào)引 腳應(yīng)接低電平.12. 89C51單片機(jī)有哪些信號(hào)需要芯片引腳以第 2 功能的方式提供?答:第一功能第二功能串行口:P3.0RXD串行輸入口P3.1TXD串行輸出口中斷:P3.2INTO外部中斷0P3.3INT1外部中斷1定時(shí)器/計(jì)數(shù)器TO、T1:P3.4TO 定時(shí)器/計(jì)數(shù)器0的外部輸入P3.5T1 定時(shí)器/計(jì)數(shù)器1的外部輸入選通:P3.6WR外部存儲(chǔ)器寫選通,低電平有效,輸出P3.7RD 外部存儲(chǔ)器讀選通,低電平有效,輸出定時(shí)器
7、/計(jì)數(shù)器T2:P1.0T2 定時(shí)器T2的計(jì)數(shù)端P1.1T2EX 定時(shí)器T2的外部輸入端13. 內(nèi)部RAM氐128字節(jié)單元?jiǎng)澐譃槟?個(gè)主要局部?各局部主要功能是什么?答:片內(nèi)RAM氐128單元的劃分及主要功能:1工作存放器組00HIFH這是一個(gè)用存放器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù) RAM區(qū)的 03100HIFH,共 32 個(gè)單元.它是4個(gè)通用工作存放器組,每個(gè)組包含 8個(gè)8位存放器,編號(hào)為R0R72位尋址區(qū)20H2FH個(gè)字節(jié)單元,共包含128位,是可位尋從內(nèi)部數(shù)據(jù)RAM區(qū)的324720H2FH的 16址的RAM區(qū).這16個(gè)字節(jié)單元,既可進(jìn)行字節(jié)尋 址,又可實(shí)現(xiàn)位尋址.3字節(jié)尋址區(qū)30H7FH從內(nèi)部數(shù)
8、據(jù)RAM區(qū)的4812730H7FH,共80個(gè)字節(jié)單元,可以采用間接字節(jié)尋址的方法訪問.14. 使單片機(jī)復(fù)位有幾種方法?復(fù)位后機(jī)器的初始狀態(tài)如何?答:1單片機(jī)復(fù)位方法單片機(jī)復(fù)位方法有:上電自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖三種方式,如題圖 2-1所示.題圖2-12復(fù)位后的初始狀態(tài)復(fù)位后機(jī)器的初始狀態(tài),即各存放器的狀態(tài):PC之外,復(fù)位操作還對(duì)其他一些特殊功能寄存器有影響,它們的復(fù)位狀態(tài)如題表2-1所例15. 開機(jī)復(fù)位后,CPU使用的是哪組工作存放器? 它們的地址是什么?CPU如何確定和改變當(dāng)前工 作存放器組?答:一般開機(jī)復(fù)位后都是選擇第一組通用工作寄 存器作為工作存放器的,一共有 4組,分別為0.1
9、.2.3 連續(xù)位于00h到 仆H地址,然后在機(jī)器中有個(gè)程序狀態(tài)字 PSW它的第四和第三位RS1, RS0是用來選擇工作存放器組的,可 能不同機(jī)器地址稍有不同.他們倆的值和存放器 組的關(guān)系:RS1/RS00/0 0/1 1/0 1/1使用的工作存放器 0123地址00-07 08-0F 10-17 18-1F寫程序的時(shí)候就是通過定義程序狀態(tài)字來選擇使用不同的存放器組.也可以直接對(duì) RS1和RS0賦 值.最后一問同題716. 程序狀態(tài)存放器PSW的作用是什么?常用標(biāo)志有哪些位?作用是什么?答:PSV是一個(gè)SFR特殊功能存放器位于片內(nèi)RAM勺高128B具體地址 D0H00HFFH 片內(nèi)RAM的編址8
10、bits編址方法PSW=Program Status Word程序狀態(tài)字CY=Carry進(jìn)位標(biāo)志位PSW 的常用標(biāo)志位有哪些?AC=Auxiliary Carry 輔助進(jìn)位標(biāo)志位半進(jìn)位標(biāo)志位F0 用戶標(biāo)志位RS1 , RSO,用來選擇當(dāng)前工作存放器組R0R7 4 選 1OV=Overflow溢出標(biāo)志位P=Parity奇偶校驗(yàn)位17. 位地址7CH與字節(jié)地址7CH如何區(qū)別?位地址7CH具體在片內(nèi)RAM中的什么位置?答:用不同的尋址方式來加以區(qū)分,即訪問 128 個(gè)位地址用位尋址方式,訪問低 128字節(jié)單元用 字節(jié)尋址和間接尋址.具體地址為2F的第五位,即為7C.18. 89C51單片機(jī)的時(shí)鐘周期
11、與振蕩周期之間有 什么關(guān)系?什么叫機(jī)器周期和指令周期? 答:時(shí)鐘信號(hào)的周期稱為機(jī)器狀態(tài)周期,是振蕩 周期的兩倍.一個(gè)機(jī)器周期是指 CPU訪問存儲(chǔ)器 次所需的時(shí)間.指令周期是執(zhí)行一條指令所需的時(shí)間.19. 一個(gè)機(jī)器周期的時(shí)序如何劃分?答:一個(gè)機(jī)器周期=12個(gè)震蕩周期=6個(gè)時(shí)鐘周期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ù)
12、結(jié)構(gòu), 只能在一端稱為棧頂top對(duì)數(shù)據(jù)項(xiàng)進(jìn)行插入 和刪除.要點(diǎn):堆:順序隨意棧:后進(jìn)先出Last-1 n/First-Out在調(diào)用子程序時(shí)需要保存調(diào)用函數(shù)的CPU存放器PC指針,PC指針是被CALL指令自動(dòng)壓入 SP所指向的片內(nèi)存儲(chǔ)器,CPU存放器要由用戶用 push旨令自行保存,因此sp的作用就是一個(gè)指針, 當(dāng)進(jìn)行中斷調(diào)用,子函數(shù)調(diào)用時(shí)將現(xiàn)場(chǎng)數(shù)據(jù)壓入 SP所指向的存儲(chǔ)器,SP自動(dòng)增加1或2,當(dāng)中斷結(jié) 束RETI,調(diào)用返回RET,POP寸將SP數(shù)據(jù)彈出,SP 自動(dòng)減1或,2狀態(tài)周期關(guān)心堆棧大小與SP存放器8051最大為128字節(jié)的片內(nèi)存儲(chǔ)器,0X20以上理 論都可以做堆棧用96字節(jié),8052為
13、256字節(jié)224 字節(jié)可用,但這樣便沒有其它空間可用于數(shù)據(jù)存 儲(chǔ)現(xiàn)在的單片機(jī)的程序一般都能用C51來,不用21. 89C51有幾種低功耗方式?如何實(shí)現(xiàn)?答:空閑方式和掉電方式空閑方式和掉電方式是通過對(duì)SFR中的PCO地址87H相應(yīng)位置1而啟動(dòng)的.當(dāng)CPL執(zhí)行完置IDL=1PCON.1的指令后,系統(tǒng)進(jìn)入空閑工作方式.這時(shí),內(nèi)部時(shí)鐘不向 CPU提 供,而只供應(yīng)中斷、串行口、定時(shí)器局部.CPU的內(nèi)部狀態(tài)維持,即包括堆棧指針 SP程序計(jì)數(shù) 器PC程序狀態(tài)字PSW累加器ACC所有的內(nèi)容 保持不變,端口狀態(tài)也保持不變. ALE和PSEF保 持邏輯高電平.當(dāng)CPL執(zhí)行一條置PCON.1位:PD為1的指令后,
14、 系統(tǒng)進(jìn)入掉電工作方式.在這種工作方式下,內(nèi)程序計(jì)數(shù)器PC是中央限制器申最根本的寄 存器,是一個(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)的相對(duì)跳轉(zhuǎn)部振蕩器停止工作.由于沒有振蕩時(shí)鐘,因此,SJMP短跳轉(zhuǎn) AJMP長(zhǎng)跳轉(zhuǎn) LJMP及 JMP A+DPTR所有的功
15、能部件都停止工作.但內(nèi)部 RAM區(qū)和特等.子程序或中斷效勞程序執(zhí)行完畢,遇到返回指令RET或 RETI時(shí),將棧頂?shù)膬?nèi)容送到 PC寄殊功能存放器的內(nèi)容被保存,而端口的輸出狀態(tài) 值都保存在對(duì)應(yīng)的SFR中, ALE和PSEN都為低電 平.22. PC與DPTF各有哪些特點(diǎn)?有何異同?答:1程序計(jì)數(shù)器PC作為不可尋址存放器的特 占八、 在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí): PC的現(xiàn)行值,即下一條將要執(zhí)行的指令的 地址送入堆棧,加以保護(hù);將子程序的入口地址或者中斷矢量地址送 入PC,程序流向發(fā)生變化,執(zhí)行子程序或中斷服 務(wù)程序;存器中,程序流程又返回到原來的地方,繼續(xù)執(zhí) 行.2地址指針DPTF的特點(diǎn)地址指針DP
16、TF的特點(diǎn)是,它作為片外數(shù)據(jù)存 儲(chǔ)器尋址用的地址存放器間接尋址.3地址指針DPTF與程序計(jì)數(shù)器PC的異同 相同之處:兩者都是與地址有關(guān)的、16位的存放器.其中,PC與程序存儲(chǔ)器的地址有關(guān),而DPTR 與數(shù)據(jù)存儲(chǔ)器的地址有關(guān).作為地址存放器使用時(shí),PC與DPTR都是 通過P0和P2 口作為16位地址總線輸出的.但是,PC的輸出與ALE及PSENt 關(guān);DPTR的輸出,那么與ALE RD及 WF相聯(lián)系. 不同之處: PC只能作為16位存放器對(duì)待,由于有自 動(dòng)加1的功能,故又稱為計(jì)數(shù)器;DPTR 可以作為16位存放器對(duì)待,也可以 作為兩個(gè)8位存放器對(duì)待. PC是不可以訪問的,有自己獨(dú)特的變化方 式,
17、它的變化軌跡決定了程序執(zhí)行的流程;DPTR 是可以訪問的,女口MOV DPTR,#XXXXH INC DPTR23. 89C51端口鎖存器的“讀一修改一寫操作與“讀引腳操作有何區(qū)別?答:指令系統(tǒng)中有些指令讀鎖存器的值,有些指 令那么讀引腳上的值.讀鎖存器指令是從鎖存器中 讀取一個(gè)值并進(jìn)行處理,把處理后的值原值或 已修改后的值重新寫入鎖存器中.這類指令稱為 讀-修改-寫指令.對(duì)于讀-修改-寫指令.直接讀鎖存器而不是 讀端口引腳,是由于從引腳上讀出的數(shù)據(jù)不一定 能真正反映鎖存器的狀態(tài).單片機(jī)原理及接口技術(shù)課后習(xí)題答案第三章1、指令:CPU艮據(jù)人的意圖來執(zhí)行某種操作的命令指令系統(tǒng):一臺(tái)計(jì)算機(jī)所能執(zhí)行
18、的全部指令集合 機(jī)器語言:用二進(jìn)制編碼表示,計(jì)算機(jī)能直接識(shí) 別和執(zhí)行的語言匯編語言:用助記符、符號(hào)和數(shù)字來表示指令的程序語言高級(jí)語言:獨(dú)立于機(jī)器的,在編程時(shí)不需要對(duì)機(jī) 器結(jié)構(gòu)及其指令系統(tǒng)有深入了解的通用性語言2、見第1題3、操作碼目的操作數(shù),源操作數(shù)MOV A , R0;存放器間接尋址R04、尋址方式尋址空間MOV P2 , P1址(P1) P2立即數(shù)尋址程序存儲(chǔ)器ROM最后結(jié)果:(R0) =38H, (A) =40H, ( P0) =38H,直接尋址片內(nèi)RAM氐128B特殊功能存放器(P1) =(P2) =0F0H ( DPTR =3848H, (18H) =30H,存放器尋址=38H工作存
19、放器 R0-R7、A B C DPTR (30H) =38H, (38H) =40H, (4|)H) =40H, (48H)存放器間接尋片內(nèi)RAM氐128B片外RAM注意:左邊是內(nèi)容,右邊是單兀變址尋址程序存儲(chǔ)器A+PC,A+DPTR7、用直接尋址,位尋址,存放器尋址相對(duì)尋址程序存儲(chǔ)器256B范圍PC+偏移量8、位尋址片內(nèi)RAM的20H-2FH字節(jié)地址、局部SFR A,DATA ;直接尋址2字節(jié)1周期5、SFR :直接尋址,位尋址,存放器尋址;片MOVA,#DATA ;立即數(shù)尋址2字節(jié)1周期外RAM存放器間接尋址6、MOV A , 40H ;直接尋址(40H) AMOV R0 , A;存放器尋
20、址(A) R0MOV P1 , #0F0H ;立即數(shù)尋址 0F0 P1MOV R0,30H ;直接尋址(30H)( RC)MOV DPTR,#3848H ;立即數(shù)尋址 3848H DPTRMOV DATA1QATA2 ;直接尋址 3字節(jié)2 周期MOV 74H,#78H ;立即數(shù)尋址3字節(jié)2周期如果想查某一指令的機(jī)器碼,字節(jié)數(shù)或周期數(shù)可查閱書本后面的附錄AMOV40H,38H ;直接尋址 (38H)40HMOVR0,30H ;直接尋址 30HR0MOVP0,R0 ;存放器尋址R0 P0MOV 18H , #30H ;立即數(shù)尋址 30H 18H9、MOA,R0 ;(R0)=80H AMOR0,40
21、H;(40H)=08H (R0)MOV40H,A ;(A)=80 40HWORD格式可編輯MORO,#35H;35H R0CLR ACC.5最后結(jié)果:(RO =35H(A) =80H, (32H) =08H,CLR ACC.4(40H) =80H(3)CLR ACC.610、用直接尋址,位尋址,存放器尋址CLR ACC.511、只能米用存放器間接尋址用 MOV指令CLR ACC.412、低128字節(jié):直接尋址,位尋址,存放器間CLR ACC.3接尋址,存放器尋址R0R718、MOV 27H R7咼128字節(jié):直接尋址,位尋址,存放器尋址MOV 26H R613、采用變址尋址用 MOV指令MOV
22、 25H R514、壓縮BCD碼在進(jìn)行加法運(yùn)算時(shí)應(yīng)逢十進(jìn)一,MOV 24H R4而計(jì)算機(jī)只將其當(dāng)作十六進(jìn)制數(shù)處理,此時(shí)得到MOV 23H R3的結(jié)果不正確.用DA A指令調(diào)整加06H, 60H,MOV 22H R266H)MOV 21H R115、用來進(jìn)行位操作MOV 20H R016、ANL A,#17H; 83HA 17H=03H>A19、MOV 2FH 20ORL 17H,A; 34HV 03H=37H> 17HMOV 2EH,21XRL A,R0; 03H® 37H=34HMOV 2DH,22CPL A; 34H求反等于CBH20、CLR C所以A =CBHMOV
23、 A #5DH;被減數(shù)的低8位A17、(1) SETB ACC.0 或 SETB E0H ;E0H 是MOV R2 #B4H;減數(shù)低 8 位R2累加器的地址SUBB A, R2;被減數(shù)減去減數(shù), 差 A(2)CLR ACC.7MOV 30H A;低 8 位結(jié)果30HCLR ACC.6MOV A #6FH;被減數(shù)的高8位A專業(yè)知識(shí)整理分享WORD格式可編輯專業(yè)知識(shí)整理分享MOV R2 #13HSUBB A, R2MOV 31H A;減數(shù)高8位一 R2;被減數(shù)減去減數(shù),差A(yù);高8位結(jié)果-30H注意:如果在你的程序中用到了進(jìn)位位,在程序0進(jìn)位位開始的時(shí)候要記得清21、(1) A> 10CJNE
24、 A, #0AH L1 轉(zhuǎn)L1LJMP LABELL1: JNC LABELLABEL或者:CLR CSUBB A, #0AHJNC LABEL(2) A> 10CJNE A, #0AH L1 轉(zhuǎn)L1RETL1: JNC LABELLABELRET;(A)與10比擬,不等;相等轉(zhuǎn)LABEL;(A)大于10,轉(zhuǎn);(A)與10比擬,不等;相等結(jié)束;(A)大于10,轉(zhuǎn);(A)小于10,結(jié)或者:CLR CSUBB A, #0AHJNC L1RETL1: JNZ LABELRET(3) A< 10CJNE A, #0AH L1轉(zhuǎn)L1L2: LJMP LABELL1: JC L2RET或者:C
25、LR CSUBB A, #0AHJC LABELJZ LABELRET22、(SP) =23H, (PC參看書上80頁23、(SP) =27H, (26H);(A)與10比擬,不等;相等轉(zhuǎn)LABEL;(A)小于10,轉(zhuǎn)L2=3412H=48H, (27H) =23H, (PC=3456H參看書上79頁24、不能.ACALL是短轉(zhuǎn)指令,可調(diào)用的地址范圍是2KB在看這個(gè)題的時(shí)候同時(shí)看一下 AJMP旨令.同時(shí)考26、MOV R2,#31H;數(shù)據(jù)塊長(zhǎng)度一 R2MOV R0,#20H;數(shù)據(jù)塊首地址R0LOOP MOV AR0;待查找的數(shù)據(jù)AJNZ L1;不為0,轉(zhuǎn)L1INC 51H;為0, 00H個(gè)數(shù)慮
26、調(diào)用指令A(yù)CALL和LCALL指令和RET指令的關(guān)增1系.L1 : INC R0;地址增1,指向下一個(gè)待25、 MOV R2,#31H;數(shù)據(jù)塊長(zhǎng)度R2查數(shù)據(jù)MOV R0,#20H;數(shù)據(jù)塊首地址R0DJNZ R2,LOOP ;數(shù)據(jù)塊長(zhǎng)度減1 ,LOOP MOV AR0;待查找的數(shù)據(jù)A不等于0 ,繼續(xù)查找CLR C;清進(jìn)位位RETSUBB A,#0AAH;待查找的數(shù)據(jù)是27、MOV DPTR , #SOURCE;源首地址0AAH 嗎DPTRJZ L1;是,轉(zhuǎn)L1MOV R0,#DIST;目的首地INC R0;不是,地址增1,址R0指向下一個(gè)待查數(shù)據(jù)LOOP MOVX ADPTR;傳送一個(gè)字DJNZ
27、 R2,LOOP;數(shù)據(jù)塊長(zhǎng)度減1 ,符不等于0,繼續(xù)查找MOV R0,AMOV 51H,#00H;等于0 ,未找到,INC DPTR;指向下一00H 51H個(gè)字符RETINC R0L1 : MOV 51H #01H;找到,01卜51HCJNE A,#24H, LOOP;傳送的是RET“$字符嗎?不是,傳送下一個(gè)字符RETMOV 30H,A;結(jié)果存回30H28MOV A,R3;取該數(shù)高8位一 A30、 MOV R2 ,#04H;字節(jié)長(zhǎng)度R2ANL A,#80H;取出該數(shù)符號(hào)判斷MOV R0 ,#30H;一個(gè)加數(shù)首地址R0JZ L1;是正數(shù),轉(zhuǎn)L1MOV R1 ,#40H;另一個(gè)加數(shù)首地址MOV
28、A,R4;是負(fù)數(shù),將該數(shù)低8R1位ACLR C;清進(jìn)位位CPL A;低8位取反LOOP MOV A R0;取一個(gè)加數(shù)ADD A,#01H;加1ADDC A,R1;兩個(gè)加數(shù)帶進(jìn)位位MOV R4,A;低8位取反加1后相加R4DA A;十進(jìn)制調(diào)整MOV A,R3;將該數(shù)高8位AMOV R0,A;存放結(jié)果CPL A;高8位取反INC R0;指向下一個(gè)字節(jié)ADDC A,#00H;加上低8位加1時(shí)可INC R1能產(chǎn)生的進(jìn)位DJNZ R2,LOOP;數(shù)據(jù)塊長(zhǎng)度減1 ,MOV R3,A;高8位取反加1后不等于0,繼續(xù)查找R3RETL1:RET31、 MOV R2 ,#08H;數(shù)據(jù)塊長(zhǎng)度R229、CLR C;清
29、進(jìn)位位CMOV R0,#30H;數(shù)據(jù)塊目的地址MOV A,31H;取該數(shù)低8位AR0RLC A;帶進(jìn)位位左移1位MOV DPTR,#2000H ;數(shù)據(jù)塊源地址MOV 31H,A;結(jié)果存回31HDPTRMOV A,30H;取該數(shù)高8位ALOOP MOVX A DPTR;傳送一個(gè)數(shù)據(jù)RLC A;帶進(jìn)位位左移1位MOV R0,AWORD格式可編輯INC DPTR;指向下一個(gè)數(shù)據(jù)INC R0;DJNZ R2 , LOOP ;數(shù)據(jù)塊長(zhǎng)度減1, 沒傳送完,繼續(xù)傳送RET32、 1MOV R0 OFH ; 2 字節(jié),2 周期 4 字節(jié)4周期差MOV B, R0;2字節(jié),2周期(2) MOV R0 #0FH;
30、2字節(jié),1周期 4字節(jié)3周期中MOV B, R0;2字節(jié),2周期(3) MOV B #0FH;3字節(jié),2周期 3字節(jié)2周期好33、 1功能是將片內(nèi)RAM中 50H51H單元清0.27A0A 大家可以看一下書上,對(duì)于立即 數(shù)尋址的話,后面一個(gè)字節(jié)存放的是立即數(shù) 7850 第一個(gè)字節(jié)的后三位是存放器,前一個(gè)條 指令是010也就是指的R2,在這里是R0,所以應(yīng) 該是78,后一個(gè)字節(jié)存放的是立即數(shù)DAFC這里涉及到偏移量的計(jì)算,可以參考書上56頁INC R0;(7FH =39HINC DPTR;( DPTR =10FFHINC DPTR;( DPTR =1100HINC DPTR;( DPTR =11
31、01H35、解:(1000H)=53H(1001H)=54H(1002H) =41H(1003H)=52H(1004H)=54H(1005H) =12H(1006H)=34H(1007H)=30H(1008H) =00H(1009H =70H34、INC R0;(7EH =00HINC R0;(R0) =7FH專業(yè)知識(shí)整理分享功能:將40H, 41H單元中的內(nèi)容相加結(jié)果放在42H單元,進(jìn)位放在 43H單元,R0 =43H, A36、MOV R0, #40H; 40FRR0MOV A R0;98HRAINC R0;41FR R0ADD A , R0;98H+ (41H) =47FRAINC R0
32、MOV R0 A;結(jié)果存入42H單元CLR A;清AADDC A #0;進(jìn)位位存入AINC R0MOV R0 A;進(jìn)位位存入43H=1, (40H) =98H, (41H) =AFH (42H) =47H, (43H)=01H37、 MOV A , 61H;F2H AMOV B, #02H;02H BMUL AB;F2H>O2H=E4HAADD A, 62H;積的低8位加上CCHAMOV 63H, A;結(jié)果送62HCLR A;清AADDC A , B;積的高8位加進(jìn)位位AMOV 64H, A;結(jié)果送64H功能:將61H單元的內(nèi)容乘2,低8位再加上62H單元的內(nèi)容放入63H,將結(jié)果的高8位
33、放在64H單元.(A) =02H, (B) =01H, (61H) =F2H (62H)=CCH (63H) =B0H (64H) =02H39、MOV A XXHORL A , #80HMOV XXH A40、(2) MOV A , XXHMOV R0, AXRL A, R0第五章1、什么是中斷和中斷系統(tǒng)?其主要功能是什么? 答:當(dāng)CPU正在處理某件事情的時(shí)候,外部發(fā)生 的某一件事件請(qǐng)求 CPU迅速去處理,于是,CPU 暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件, 中斷效勞處理完該事件以后,再回到原來被終止 的地方,繼續(xù)原來的工作.這種過程稱為中斷, 實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng).功能:(1
34、) 使計(jì)算機(jī)具有實(shí)時(shí)處理水平,能對(duì)外界 異步發(fā)生的事件作出及時(shí)的處理(2) 完全消除了 CPU在查詢方式中的等待現(xiàn)象,大大提升了 CPU勺工作效率(3) 實(shí)現(xiàn)實(shí)時(shí)限制2、試編寫一段對(duì)中斷系統(tǒng)初始化的程序,使之允 許INT0, INT1, TQ 串行口中斷,且使 T0中斷 為高優(yōu)先級(jí)中斷.解:MOV IE,#097HMOV IP,#02H3、在單片機(jī)中,中斷能實(shí)現(xiàn)哪些功能?答:有三種功能:分時(shí)操作,實(shí)時(shí)處理,故障處 理4、89C51共有哪些中斷源?對(duì)其中端請(qǐng)求如何進(jìn)行限制?答:(1) 89C51有如下中斷源 :外部中斷0請(qǐng)求,低電平有效 :外部中斷1請(qǐng)求,低電平有效 T0:定時(shí)器、計(jì)數(shù)器0溢出中
35、斷請(qǐng)求 T1 :定時(shí)器、計(jì)數(shù)器1溢出中斷請(qǐng)求 TX/RX串行接口中斷請(qǐng)求(2)通過對(duì)特殊功能存放器 TCON SCON IE、IP的各位進(jìn)行置位或復(fù)位等操作,可實(shí)現(xiàn)各種中 斷限制功能5、什么是中斷優(yōu)先級(jí)?中斷優(yōu)先處理的原那么是什么?答:中斷優(yōu)先級(jí)是CPU相應(yīng)中斷的先后順序.原那么:(1) 先響應(yīng)優(yōu)先級(jí)高的中斷請(qǐng)求,再響應(yīng)優(yōu)先級(jí)低的(2) 如果一個(gè)中斷請(qǐng)求已經(jīng)被響應(yīng),同級(jí)的其它中斷請(qǐng)求將被禁止(3) 如果同級(jí)的多個(gè)請(qǐng)求同時(shí)出現(xiàn),那么 CPU通過內(nèi)部硬件查詢電路,按查詢順序確定應(yīng)該響應(yīng)哪個(gè)中斷請(qǐng)求查詢順序:外部中斷0定時(shí)器0中斷T外部中斷1定時(shí)器1中斷串行接口中斷6、說明外部中斷請(qǐng)求的查詢和響應(yīng)過
36、程.答:當(dāng)CPU執(zhí)行主程序第K條指令,外設(shè)向CPU 發(fā)出中斷請(qǐng)求,CPU接到中斷請(qǐng)求信號(hào)并在本條 指令執(zhí)行完后,中斷主程序的執(zhí)行并保存斷點(diǎn)地 址,然后轉(zhuǎn)去響應(yīng)中斷.CPU在每個(gè)S5P2期間順 序采樣每個(gè)中斷源,CPU在下一個(gè)機(jī)器周期S6期 間按優(yōu)先級(jí)順序查詢中斷標(biāo)志,如果查詢到某個(gè) 中斷標(biāo)志為1,將在接下來的機(jī)器周期S1期間按 優(yōu)先級(jí)進(jìn)行中斷處理,中斷系統(tǒng)通過硬件自動(dòng)將 相應(yīng)的中斷矢量地址裝入 PC,以便進(jìn)入相應(yīng)的中 斷效勞程序.中斷效勞完畢后,CPU返回到主程 序第K+1條指令繼續(xù)執(zhí)行.7、89C51在什么條件下可響應(yīng)中斷?答:(1) 有中斷源發(fā)出中斷請(qǐng)求(2) 中斷中允許位EA=1.即CP
37、U開中斷(3) 申請(qǐng)中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽(4) 無同級(jí)或更高級(jí)中斷正在效勞(5) 當(dāng)前指令周期已經(jīng)結(jié)束(6) 假設(shè)現(xiàn)行指令為RETI或訪問IE或IP指令 時(shí),該指令以及緊接著的另一條指令已執(zhí)行完畢8、簡(jiǎn)述89C51單片機(jī)的中斷響應(yīng)過程.答: CPU在每個(gè)機(jī)器周期S5P2期間順序采樣每個(gè) 中斷源,CPU在下一個(gè)機(jī)器周期S6期間按優(yōu)先級(jí) 順序查詢中斷標(biāo)志,如查詢到某個(gè)中斷標(biāo)志為1, 將在接下來的機(jī)器周期 S1期間按優(yōu)先級(jí)進(jìn)行中 斷處理,中斷系統(tǒng)通過硬件自動(dòng)將相應(yīng)的中斷矢 量地址裝入PC,以便進(jìn)入相應(yīng)的中斷效勞程序. 一旦響應(yīng)中斷,89C51首先置位相應(yīng)的中斷“優(yōu) 先級(jí)生效
38、觸發(fā)器,然后由硬件執(zhí)行一條長(zhǎng)調(diào)用 指令,把當(dāng)前的PC值壓入堆棧,以保護(hù)斷點(diǎn),再 響應(yīng)新的中斷請(qǐng)求?在什么情況下不能響應(yīng)新的 中斷請(qǐng)求?答:(1)符合以下6個(gè)條件可響應(yīng)新的中斷請(qǐng)求:a) 有中斷源發(fā)出中斷請(qǐng)求b) 中斷允許位EA=1,即CPL開中斷c) 申請(qǐng)中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽d)無同級(jí)或更高級(jí)中斷正在被效勞e)當(dāng)前的指令周期已結(jié)束專業(yè)知識(shí)整理分享將相應(yīng)的中斷效勞的入口地址送入 PC,于是CPUf)假設(shè)現(xiàn)行指令為RETI或訪問IE或IP指令時(shí),該接著從中斷效勞程序的入口處開始執(zhí)行.對(duì)于有 些中斷源,CPU在響應(yīng)中斷后會(huì)自動(dòng)去除中斷標(biāo) 志.9、在89C51內(nèi)存中,應(yīng)如何安
39、排程序區(qū)?答:主程序一般從0030H開始,主程序后一般是 子程序及中斷效勞程序.在這個(gè)大家還要去除各 個(gè)中斷的中斷矢量地址.10、試述中斷的作用及中斷的全過程.答:作用:對(duì)外部異步發(fā)生的事件作出及時(shí)的處 理過程:中斷請(qǐng)求,中斷響應(yīng),中斷處理,中 斷返回11、當(dāng)正在執(zhí)行某一個(gè)中斷源的中斷效勞程序時(shí), 如果有新的中斷請(qǐng)求出現(xiàn),試問在什么情況下可 指令以及緊接著的另一條指令已被執(zhí)行完12、89C51單片機(jī)外部中斷源有幾種觸發(fā)中斷請(qǐng) 求的方法?如何實(shí)現(xiàn)中斷請(qǐng)求?答:有兩種方式:電平觸發(fā)和邊沿觸發(fā)電平觸發(fā)方式:CPU在每個(gè)機(jī)器周期的S5P2期間 采樣外部中斷引腳的輸入電平.假設(shè)為低電平,使IE1(IE0
40、)置“1 ,申請(qǐng)中斷;假設(shè)為高電平,那么IE1(IE0)清零.邊沿觸發(fā)方式:CPU在每個(gè)機(jī)器周期S5P2期間采 樣外部中斷請(qǐng)求引腳的輸入電平.如果在相繼的 兩個(gè)機(jī)器周期采樣過程中,一個(gè)機(jī)器周期采樣到 外部中斷請(qǐng)求為高電平,接著下一個(gè)機(jī)器周期采 樣到外部中斷請(qǐng)求為低電平,那么使IE1(IE0)置“ 1申請(qǐng)中斷;否那么,IE1(IE0)置0.13、89C51單片機(jī)有五個(gè)中斷源,但只能設(shè)置兩 個(gè)中斷優(yōu)先級(jí),因此,在中斷優(yōu)先級(jí)安排上受到 一定的限制.試問以下幾種中斷優(yōu)先順序的安排(級(jí)別由咼到低)是否可能:假設(shè)可能,貝U應(yīng)如何 設(shè)置中斷源的中斷級(jí)別:否那么,請(qǐng)簡(jiǎn)述不可能的 理由. 定時(shí)器0,定時(shí)器1,外
41、中斷0,外中斷1, 串行口中斷.可以,MOV IP,#0AH(2) 串行口中斷,外中斷0,定時(shí)器0,外中斷1,定時(shí)器1. 可以,MOV IP,#10H 外中斷0,定時(shí)器1,外中斷1,定時(shí)器0, 串行口中斷.不可以,只能設(shè)置一級(jí)高級(jí)優(yōu)先級(jí),如果將INT0,T1設(shè)置為高級(jí),而T0級(jí)別高于INT1. 外中斷0,外中斷1,串行口中斷,定時(shí)器0,定時(shí)器1. 可以,MOV IP,#15H 串行口中斷,定時(shí)器0,外中斷0,外中 斷1,定時(shí)器1. 不可以外中斷0,外中斷1,定時(shí)器0,串行口 中斷,定時(shí)器1.不可以 夕卜中斷0,定時(shí)器1,定時(shí)器0,外中斷1,串行口中斷. 可以,MOV IP,#09H14、89C
42、51各中斷源的中斷標(biāo)志是如何產(chǎn)生的? 又是如何清0的? CPJ向應(yīng)中斷時(shí),中斷入口地 址各是多少?答:各中斷標(biāo)志的產(chǎn)生和清“ 0如下:(1) 外部中斷類外部中斷是由外部原因引起的,可以通過兩個(gè)固 定引腳,即外部中斷0和外部中斷1輸入信號(hào).外部中斷0請(qǐng)求信號(hào),由P3.2腳輸入.通過IT0 來決定中斷請(qǐng)求信號(hào)是低電平有效還是下跳變有 效.一旦輸入信號(hào)有效,那么向 CPU申請(qǐng)中斷,并 且使IE0=1.硬件復(fù)位.外部中斷1請(qǐng)求信號(hào),功能與用法類似外部中斷0(2) 定時(shí)中斷類定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)溢出處理需要而設(shè) 置的.當(dāng)定時(shí)器/計(jì)數(shù)器中的計(jì)數(shù)結(jié)構(gòu)發(fā)生計(jì)數(shù)溢 出的,即說明定時(shí)時(shí)間到或計(jì)數(shù)值已滿,這時(shí)
43、就 以計(jì)數(shù)溢出信號(hào)作為中斷請(qǐng)求,去置位一個(gè)溢出 標(biāo)志位.這種中斷請(qǐng)求是在單片機(jī)芯片內(nèi)部發(fā)生 的,無需在芯片上設(shè)置引入端,但在計(jì)數(shù)方式時(shí), 中斷源可以由外部引入.TF0:定時(shí)器T0溢出中斷請(qǐng)求.當(dāng)定時(shí)器T0產(chǎn)生 溢出時(shí),定時(shí)器T0請(qǐng)求標(biāo)志TF0=1,請(qǐng)求中斷處 理.使用中斷時(shí)由硬件復(fù)位,在查詢方式下可由軟件復(fù)位.TF1:定時(shí)器T1溢出中斷請(qǐng)求.功能與用法類似定時(shí)器T03串行口中斷類串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的.串行中斷請(qǐng)求也是在單片機(jī)芯片內(nèi)部發(fā)生的,但當(dāng)串行口作為接收端時(shí),必須有一完整的串行幀 數(shù)據(jù)從RI端引入芯片,才可能引發(fā)中斷.RI或TI :串行口中斷請(qǐng)求.當(dāng)接收或發(fā)送一串幀 數(shù)
44、據(jù)時(shí),使內(nèi)部串行口中斷請(qǐng)求標(biāo)志 RI或TI=1, 并請(qǐng)求中斷.響應(yīng)后必須軟件復(fù)位.CPU響應(yīng)中斷時(shí),中斷入口地址如下:中斷源入口地址外部中斷00003H定時(shí)器T0中斷000BH外部中斷10013H定時(shí)器T1中斷001BH串行口中斷 0023H15、中斷響應(yīng)時(shí)間是否為確定不變的?為什么? 答:中斷響應(yīng)時(shí)間不是確定不變的.由于 CPU不 是在任何情況下對(duì)中斷請(qǐng)求都予以響應(yīng)的; 此外, 不同的情況對(duì)中斷響應(yīng)的時(shí)間也是不同的.下面 以外部中斷為例,說明中斷響應(yīng)的時(shí)間.在每個(gè)機(jī)器周期的S5P2期間,端的電平被所存 到TCON勺IE0位,CPU在下一個(gè)機(jī)器周期才會(huì)查 詢這些值.這時(shí)滿足中斷響應(yīng)條件,下一條
45、要執(zhí) 行的指令將是一條硬件長(zhǎng)調(diào)用指令“ LCAL使 程序轉(zhuǎn)入中斷矢量入口.調(diào)用本身要用 2個(gè)機(jī)器 周期,這樣,從外部中斷請(qǐng)求有效到開始執(zhí)行中 斷效勞程序的第一條指令,至少需要 3個(gè)機(jī)器周 期,這是最短的響應(yīng)時(shí)間.如果遇到中斷受阻的情況,這中斷響應(yīng)時(shí)間會(huì)更 長(zhǎng)一些.例如,當(dāng)一個(gè)同級(jí)或更高級(jí)的中斷效勞 程序正在進(jìn)行,那么附加的等待時(shí)間取決于正在進(jìn) 行的中斷效勞程序:如果正在執(zhí)行的一條指令還 沒有進(jìn)行到最后一個(gè)機(jī)器周期,附加的等待時(shí)間 為13個(gè)機(jī)器周期;如果正在執(zhí)行的是RETI指令 或者訪問IE或IP的指令,那么附加的等待時(shí)間在 5個(gè)機(jī)器周期內(nèi).假設(shè)系統(tǒng)中只有一個(gè)中斷源,那么響應(yīng)時(shí)間為 38個(gè) 機(jī)器
46、周期.16、中斷響應(yīng)過程中,為什么通常要保護(hù)現(xiàn)場(chǎng)?如何保護(hù)?答:由于一般主程序和中斷效勞程序都可能會(huì)用 到累加器,PSW存放器及其他一些存放器.CPU在進(jìn)入中斷效勞程序后,用到上述存放器時(shí),就 會(huì)破壞它原來存在存放器中的內(nèi)容;一旦中斷返 回,將會(huì)造成主程序的混亂.因而在進(jìn)入中斷服 務(wù)程序后,一般要先保護(hù)現(xiàn)場(chǎng),然后再執(zhí)行中斷 處理程序,在返回主程序以前再恢復(fù)現(xiàn)場(chǎng).保護(hù)方法一般是把累加器、PSW存放器及其他一 些與主程序有關(guān)的存放器壓入堆棧.在保護(hù)現(xiàn)場(chǎng) 和恢復(fù)現(xiàn)場(chǎng)時(shí),為了不使現(xiàn)場(chǎng)受到破壞或者造成 混亂,一般規(guī)定此時(shí)CPU不響應(yīng)新的中斷請(qǐng)求. 這就要求在編寫中斷效勞程序時(shí),注意在保護(hù)現(xiàn) 場(chǎng)之前要關(guān)中
47、斷,在恢復(fù)現(xiàn)場(chǎng)之后開中斷.如果 在中斷處理時(shí)允許有更高級(jí)的中斷打斷它,那么在 保護(hù)現(xiàn)場(chǎng)之后再開中斷,恢復(fù)現(xiàn)場(chǎng)之前關(guān)中斷.17、清表達(dá)中斷響應(yīng)的CPU操作過程,為什么說 中斷操作是一個(gè)CPU勺微查詢過程?答:在中斷響應(yīng)中,CPU要完成以下自主操作過 程:a置位相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器,以標(biāo)明所響應(yīng) 中斷的優(yōu)先級(jí)別 b中斷源標(biāo)志清零TI、RI 除外c中斷斷點(diǎn)地址裝入堆棧保護(hù)不保護(hù) PSVVd中斷入口地址裝入 PC,以便使程序轉(zhuǎn)到中斷 在計(jì)算機(jī)內(nèi)部,中斷表現(xiàn)為 CPU的微查詢操作. 89C51單片機(jī)中,CPU在每個(gè)機(jī)器周期的S6狀態(tài), 查詢中斷源,并按優(yōu)先級(jí)治理規(guī)那么處理同時(shí)請(qǐng)求 的中斷源,且在下一個(gè)
48、機(jī)器周期的S1狀態(tài)中,響 應(yīng)最咼級(jí)中斷請(qǐng)求.但是以下情況除外:aCPU正在處理相同或更高優(yōu)先級(jí)中斷b多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器 周期c正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令 及訪問IE、IP等操作時(shí),要延后一條指令18、在中斷請(qǐng)求有效并開中斷狀況下,能否保證立即響應(yīng)中斷?有什么條件?答:在中斷請(qǐng)求有效并開中斷狀況下,并不能保證立即響應(yīng)中斷.這是由于,在計(jì)算機(jī)內(nèi)部,中 斷表現(xiàn)為CPU的微查詢操作.89C51單片機(jī)中, CPU在每個(gè)機(jī)器周期的S6狀態(tài)下,查詢中斷源, 并按優(yōu)先級(jí)治理規(guī)那么處理同時(shí)請(qǐng)求的中斷源,且 在下一個(gè)機(jī)器周期的S1狀態(tài)中,響應(yīng)最高級(jí)中斷 請(qǐng)求.在以下情況下,
49、還需要有另外的等待:入口地址處b多機(jī)器周期指令中,還未執(zhí)行到最后一個(gè)機(jī)器a CPU正在處理相同或更高優(yōu)先級(jí)中斷周期 c正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及 訪問IE、IP等操作時(shí),要延后一條指令第6章習(xí)題答案1、定時(shí)器模式2有什么特點(diǎn)?適用于什么場(chǎng)合? 答:1模式2把TLO或TL1配置成一個(gè)可以自 動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器.TLO計(jì)數(shù)溢出時(shí) 不僅使溢出中斷標(biāo)志位 TFO置1,而且還自動(dòng)把 THO中的內(nèi)容重新裝載到TLO中.TLO用作8位計(jì) 數(shù)器,THO用以保存初值.2用于定時(shí)工作方式時(shí)間TFO溢出周期為, 用于計(jì)數(shù)工作方式時(shí),最大計(jì)數(shù)長(zhǎng)度THO初值 =0為28=256個(gè)外部脈沖.
50、這種工作方式可省去用戶軟件重裝初值的語句, 并可產(chǎn)生相當(dāng)精確定時(shí)時(shí)間,特別適于作串行波 特率發(fā)生器.2、 單片機(jī)內(nèi)部定時(shí)方式產(chǎn)生頻率為 1OOKHZ等寬 矩形波,假定單片機(jī)的晶振頻率為 12MHZ請(qǐng)編 程實(shí)現(xiàn).答:TO 低 5 位:1BHTO 高 8 位: FFHMOV TMOD,#OOH ;設(shè)置定時(shí)器 TO工作于模式0MOVTL0,#1BH;設(shè)置5ms定時(shí)初值MOVTH0,#0FFHSETBTRO;啟動(dòng)TOLOOP:JBC TF0,L1;查詢到定時(shí)時(shí)間到?時(shí)間到轉(zhuǎn)L1SJMP LOOP ;時(shí)間未到轉(zhuǎn)LOOP繼續(xù)查詢L1: MOV TL0,#1BH;重新置入定時(shí)初值MOV TH0,#0FFHC
51、PL P1.0 ;輸出取反,形成等寬矩形波SJMP LOOP ;重復(fù)循環(huán)3、89C51定時(shí)器有哪幾種工作模式?有何區(qū)別? 答:有四種工作模式:模式0,模式1,模式2, 模式31 模式0:選擇定時(shí)器的高8位和低5位 組成一個(gè)13位定時(shí)器/計(jì)數(shù)器.TL低5位溢出時(shí) 向TH進(jìn)位,TH溢出時(shí)向中斷標(biāo)志位TF進(jìn)位,并 申請(qǐng)中斷.定時(shí)時(shí)間t=213-初值X振蕩周期為2;計(jì)數(shù)長(zhǎng)度位213=8192個(gè)外部脈沖2 模式1:與模式0的唯一差異是存放器 TH和TL以全部16位參與操作.定時(shí)時(shí)間t=216- 初值X振蕩周期X2;計(jì)數(shù)長(zhǎng)度位216=65536個(gè)外部脈沖(3) 模式2:把TLO和TL1配置成一個(gè)自動(dòng) 重裝載的8位定時(shí)器/計(jì)數(shù)器.TL用作8位計(jì)數(shù) 器,TH用以保存初值.TL計(jì)數(shù)溢出時(shí)不僅使TFO 置1,而且還自動(dòng)將TH中的內(nèi)容重新裝載到TL 中.定時(shí)時(shí)間t=(28-初值)X振蕩周期為2;計(jì)數(shù)長(zhǎng)度位28=256個(gè)外部脈沖(4) 模式3:對(duì)TO和T1不大相同假設(shè)設(shè)TO位模式3, TLO和THO被分為兩個(gè)相互獨(dú) 立的8位計(jì)數(shù)器.TLO為8位計(jì)數(shù)器,功能與模 式0和模式1相同,可定時(shí)可計(jì)數(shù).THO僅用作簡(jiǎn)單的內(nèi)部定
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年石家莊客運(yùn)服務(wù)考試題
- 2024年上??瓦\(yùn)考試題庫
- 傳染病疫情事件應(yīng)急預(yù)案模板!提前收藏備用
- 民房建筑包工包料的合同范本(3篇)
- 租房協(xié)議書范文(31篇)
- 有關(guān)感恩老師演講稿(33篇)
- 小學(xué)一下家長(zhǎng)會(huì)教學(xué)課件教學(xué)
- 多發(fā)肋骨骨折護(hù)理查房及病例討論
- 幼兒園傳染病教學(xué)課件
- 《麻雀》課件教學(xué)課件
- 2024年4月自考02323操作系統(tǒng)概論試題及答案含評(píng)分標(biāo)準(zhǔn)
- 土地復(fù)墾方案報(bào)告書
- 公司人力資源管理存在的問題及對(duì)策
- (2024年)特種設(shè)備安全法律法規(guī)培訓(xùn)課件
- 2024-2030年中國(guó)再生資源產(chǎn)業(yè)園區(qū)行業(yè)未來發(fā)展趨勢(shì)分析及投資規(guī)劃建議研究報(bào)告
- 2024年1月法律文書寫作試題與答案
- (高清版)TDT 1013-2013 土地整治項(xiàng)目驗(yàn)收規(guī)程
- 醫(yī)療器械投標(biāo)流程
- 試卷講評(píng)課-課件
- 深圳市企業(yè)數(shù)據(jù)合規(guī)指引
- 顱骨缺損患者護(hù)理查房
評(píng)論
0/150
提交評(píng)論