單片機原理及接口技術(shù)習題解析全_第1頁
單片機原理及接口技術(shù)習題解析全_第2頁
單片機原理及接口技術(shù)習題解析全_第3頁
單片機原理及接口技術(shù)習題解析全_第4頁
單片機原理及接口技術(shù)習題解析全_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

單片機原理及接口技術(shù)課后習題答案(第四版)李朝青

第一章

I.什么是微處理器(CPU)、微機和單片機?

答微處理器自身不是計算機,但它是小型計算機或微機的控制和處理部分。

微機則是具有完整運算及控制功能H勺計算機,除了微處理器外還包括存儲器、

接口適配器以及輸入輸出設(shè)備等。

單片機是將微處理器、一定容量的RAM、ROM以及I/O口、定期器等電路集成

在一塊芯片上,構(gòu)成的單片微型計算機。

2.單片機具有哪些特點

(1)片內(nèi)存儲容量越來越大。

(2抗干擾性好,可靠性高。

(3)芯片引線齊全,輕易擴展。

(4)運行速度高,控制功能強。

(5)單片機內(nèi)部日勺數(shù)據(jù)信息保留時間很長,有日勺芯片可以到達123年以上。

3.微型計算機怎樣執(zhí)行一種程序?

答:通過CPU指令,提到內(nèi)存當中,再逐一執(zhí)行。

4.微型計算機由那兒部分構(gòu)成?

微處理潛,存儲潛,接口適配器(即I/O接口),I/O設(shè)備

第二章

1.89C51單片機內(nèi)包括哪些重要邏輯功能部件?

答:80C51系列單片機在片內(nèi)集成了如下重要邏輯功能部件:

(DCPU(中央處理器):8位

⑵片內(nèi)RAM:128B

(3)特殊功能寄存器:21個

(4)程序存儲器:4KB

(5)并行井0口:8位,4個

(6)串行接口:全雙工,1個

(7)定期器/計數(shù)器:16位,2個

(8)片內(nèi)時鐘電路:1個

2.89C51的EA端有何月途?

答:/EA端接高電平時,CPU只訪問片內(nèi)flash并執(zhí)行內(nèi)部程序,存儲器。/EA

端接低電平時,CPU只訪問外部ROM,并執(zhí)行片外程序存儲器中的指令。/EA端

保持高電平時,CPU執(zhí)行內(nèi)部存儲器中的指令。

3.89C51的存儲器分哪幾種空間?怎樣區(qū)別不一樣空間的尋址?

答: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.簡述布爾處理存儲器的空間分派,片內(nèi)RAM中包括哪些可位尋址單元。

答:片內(nèi)RAM區(qū)從OOffFFH(256B)

其中20『2FH(字節(jié)地址)是位尋址區(qū)

對應的位地址是OOH~7FH

6.怎樣簡捷地判斷89c51正在工作?

答:用示波器觀測8051MJXTAL2端與否有脈沖信號輸出(判斷震蕩電路工作與

否正常?)

ALE(地址鎖存容許)(AddressLatchEnable)輸出是fosc/、J6分頻

用示波器觀測ALE與否有脈沖輸出(判斷8051芯片的好壞?)

觀測PSEN(判斷8051可以到EPROM或ROM中讀取指令碼?)

由于/PSEN接外部EPROM(ROM)的/OE端子

0E=0utputEnable(輸出容許)

7.89c51怎樣確定和變化目前工作寄存器組?

答:PSW(程序狀態(tài)字)(ProgramStatusWord)中的RS1和RSO

可以給出4中組合

用來從4組工作寄存器組中進行選擇

PSW屬于SFR(SpecialFunctionRegister)(特殊功能寄存器)

8.89C51P0口用作通用I/O口輸入時,若通過TTL“0C”門輸入數(shù)據(jù),應注意

什么?為何?

答:應當要接一種上拉電阻

9.讀端口鎖存器和“讀引腳”有何不一樣?各使用哪種指令?

答:讀鎖存器(ANLPO.A)就是相稱于從存儲器中拿數(shù)據(jù),而讀引腳是從外部拿

數(shù)據(jù)(如MOVA,P1這條指令就是讀引腳的,意思就是把端口pl輸入數(shù)據(jù)送給A)

傳送類MOV,判位轉(zhuǎn)移JB、JNB、這些都屬于讀引腳,平時試驗時常常用這

些指令于外部通信,判斷外部鍵盤等;字節(jié)互換XCH、XCHD算術(shù)及邏輯運算ORL、

CPL、ANL、ADD、A加C、SUBB、INC、DEC控制轉(zhuǎn)移CJNE、DJNZ都屬于讀鎖存器。

10.89C51P0?P3口構(gòu)造有何不一樣?用作通用I/O口輸入數(shù)據(jù)時,應注意什

么?

答:P0口內(nèi)部沒有上拉電阻,可以用做16位地址的低8位;

P3有第二功能:

P2口可以用做16位地址的高8位;

需要上拉電阻。0C門電路無法輸出高下電平,只有靠上拉電阻才能實現(xiàn)

11.89c51單片機『、JEA信號有何功能?在使用8031時,EA信號引腳應怎樣處

理?

答:(D80C51單片機/JEA信號的功能

EA為片外程序存儲器訪問容許信號,低電平有效;在編程時,其上施加21V

的編程電壓

EA引腳接高電平時,程序從片內(nèi)程序存儲器開始執(zhí)行,即訪問片內(nèi)存儲

器;EA引腳接低電平時,迫使系統(tǒng)所有執(zhí)行片外程序存儲器程序。

(2)在使用80C31時,EA信號引腳H勺處理措施

由于80c31沒有片內(nèi)的程序存儲器,因此在使用它時必然要有外部的程序存

儲器,EA信號引腳應接低電平。

12.89C51單片機有哪些信號需要芯片引腳以第2功能口勺方式提供?

答:第一功能第二功能

串行口:

P3.0RXD(串行輸入口)

P3.1TXD(串行輸出口)

中斷:

P3.2INTO外部中斷0

P3.3INT1外部中斷1

定期器/計數(shù)器(TO、T1):

P3.4TO(定期器/計數(shù)器0的外部輸入)

P3.5T1(定期器/計數(shù)器1的外部輸入)

數(shù)據(jù)存儲器選通:

P3.6WR(外部存儲器寫選通,低電平有效,輸出)

P3.7RD(外部存儲器讀選通,低電平有效,輸出)

定期器/計數(shù)器(T2):

P1.0T2(定期器T2口勺計數(shù)端)

Pl.1T2EX(定期器T2的外部輸入端)

13.內(nèi)部RAM低128字節(jié)單元劃分為哪3個重要部分?各部分重要功能是什么?

答:片內(nèi)RAM低128單元的劃分及重要功能:

(1)工作寄存器組喘OH~1FH)

這是一種用寄存器直接尋址日勺區(qū)域,內(nèi)部數(shù)據(jù)RAM區(qū)的0、31(OOflFH),共

32個單元。它是4個通用工作寄存器組,每個組包括8個8位寄存器,編號為

R(fR7。

(2)位尋址區(qū)(20H~2FH)

從內(nèi)部數(shù)據(jù)RAM區(qū)口勺32~47(20H~2FH)『、J16八字節(jié)單元,共包括128位,是

可位尋址的RAM區(qū)。這16個字節(jié)單元,既可進行字節(jié)尋址,又可實現(xiàn)位尋址。

(3)字節(jié)尋址區(qū)(30H~7FH)

從內(nèi)部數(shù)據(jù)RAM區(qū)的48l27(30H~7FH),共80個字節(jié)單元,可以采用間接

字節(jié)尋址的措施訪問。

14.使單片機復位有幾種措施?復位后機器口勺初始狀態(tài)怎樣?

答:(1)單片機復位措施

單片機復位措施有:上電自動復位、按鍵手動復位和兩種方式

(2)復位后的初始狀態(tài)

復位后機器的初始狀態(tài),即各寄存器的狀態(tài):PC之外,復位操作還對其他某

些特殊功能寄存器有影響,它們的復位狀態(tài)如題表2-1所例

15.開機復位后,CPU使用日勺是哪組工作寄存器?它們?nèi)丈椎刂肥鞘裁?CPU怎樣確

定和變化目前工作寄存器組?

答:一般開機復位后都是選擇第一組通用工作寄存器作為工作寄存器的,一共有

4組,分別為0.1.2.3持續(xù)位于00h到1FH地址,

然后在機器中有個程序狀態(tài)字PSW,它的第四和第三位RSI,RSO是用來選擇工

作寄存器組的,也許不一樣機器地址稍有不一樣。他們倆的值和寄存器組時關(guān)系:

RS1/RS00/00/11/01/1

使用的工作寄存器0123

地址00-0708-0F10-1718TF

寫程序口勺時候就是通過定義程序狀態(tài)字來選擇使用不一樣的寄存器組。也可以直

接對RS1和RSO賦值。

(最終一問同題7)

16.程序狀態(tài)寄存器PSW的作用是什么?常用標志有哪些位?作用是什么?

答:PSW是一種SFR(特殊功能寄存器)

位于片內(nèi)RAM的高128B

詳細地址DOH(OOFCFFH)(片內(nèi)RAM的編址)(8bits編址措施)

PSW二ProgramStatusWord(程序狀態(tài)字)

PSW的常用標志位有哪些?

CY二Carry(進位標志位)

AC=AuxiliaryCarry(輔助進位標志位)(半進位標志位)

F0顧客標志位

RSI,RSO,用來選擇目前工作寄存器組(R0~R7)(4選1)

0V=0verflow(溢出標志位)

P二Parity(奇偶校驗位)

17.位地址7cH與字節(jié)地址7CH怎樣區(qū)別?位地址7cH詳細在片內(nèi)RAM中的I什么

位置?

答:用不一樣的尋址方式來加以辨別,即訪問128個位地址用位尋址方式,訪問

低128字節(jié)單元用字節(jié)尋址和間接尋址。

詳細地址為2F的第五位,即為7C。

18.89C51單片機口勺時鐘周期與振蕩周期之間有什么關(guān)系?什么叫機器周期和指

令周期?

答:時鐘信號口勺周期稱為機器狀態(tài)周期,是振蕩周期口勺兩倍。一種機器周期是指

CPU訪問存儲器一次所需的時間。指令周期是執(zhí)行一條指令所需的時間。

19.一種機器周期的時序怎樣劃分?

答:一種機器周期二12個震蕩周期二6個時鐘周期(狀態(tài)周期)

S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,

S6P2其中s=state(狀態(tài)),p=phase(相位)

20.什么叫堆棧?堆棧指針SP的作用是什么?89c51單片機堆棧的容量不能超過

多少字節(jié)?

答:堆棧都是一種數(shù)據(jù)項按序排列的數(shù)據(jù)構(gòu)造,只能在一端(稱為棧頂(top))對

數(shù)據(jù)項進行插入和刪除。要點:堆:次序隨意棧:后進先出(Last-In/First-Out)

在調(diào)用子程序時需要保留調(diào)用函數(shù)的CPU寄存器PC指針,PC指針是被CALL

指令自動壓入SP所指向的片內(nèi)存儲器,CPU寄存器要由顧客用PUSH指令自行保

留,因此SP的作用就是一種指針,當進行中斷調(diào)用,子函數(shù)調(diào)用時將現(xiàn)場數(shù)據(jù)壓

入SP所指向內(nèi)存儲器,SP自動增長1或2,當中斷結(jié)束RETI,調(diào)用返回RET:POP

時將SP數(shù)據(jù)彈出,SP自動減1或,2

8051最大為128字節(jié)的片內(nèi)存儲器,

21.89C51有幾種低功耗方式?怎樣實現(xiàn)?

答:空閑方式和掉電方式

空閑方式和掉電方式是通過對SFR中日勺PCOM(地址87H)對應位置1而啟動

的。

當CPU執(zhí)行完置IDL=1(PCON.1)日勺指令后,系統(tǒng)進入空閑工作方式。這時,內(nèi)

部時鐘不向CPU提供,而只供應中斷、串行口、定期器部分。CPUH勺內(nèi)部狀態(tài)維

持,即包括堆棧指針SP、程序計數(shù)器PC、程序狀態(tài)字PSW、累加器ACC所有的

內(nèi)容保持不變,端口狀態(tài)也保持不變。ALE和PSEN保持邏輯高電平。

當CPU執(zhí)行一條置PC0N.1位(PD)為1的指令后,系統(tǒng)進入掉電工作方式。在

這種工作方式下,內(nèi)部振蕩器停止工作。由于沒有振蕩時鐘,因此,所有的功能

部件都停止工作。但內(nèi)部RAM區(qū)和特殊功能寄存器日勺內(nèi)容被保留,而端口的輸出

狀態(tài)值都保留在對應日勺SFR中,ALE和PSEN都為低電平。

22.PC與DPTR各有哪些特點?有何異同?

答:(1)程序計數(shù)器PC作為不可尋址寄存器日勺特點

程序計數(shù)器PC是中央控制器申最基本的J寄存器,是一種獨立日勺計數(shù)器,寄

存著下一條將程序存儲器中取出H勺指令的J地址。

程序計數(shù)器PC變化的軌跡決定程序的流程。程序計數(shù)器的寬度決定了程序

存儲器可以

尋址的范圍。

程序計數(shù)器PC的基本工作方式有:

①程序計數(shù)器PC自動加lo這是最基本的工作方式,也是這個專用寄存器

被稱為計數(shù)

器口勺原因。

②執(zhí)行條件或無條件轉(zhuǎn)移指令時,程序計數(shù)器將被置入新的數(shù)值,程序的流

向發(fā)生變化。

變化的方式有下列幾種:帶符號的相對跳轉(zhuǎn)SJMP、短跳轉(zhuǎn)AJMP、長跳轉(zhuǎn)LJMP及

JMP@A+DPTR等。

③在執(zhí)行調(diào)用指令或響應中斷時:

?PC的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護;

?將子程序的入口地址或者中斷矢量地址送入PC,程序流向發(fā)生變化,執(zhí)

行子程序或中斷服務(wù)程序;

?子程序或中斷服務(wù)程序執(zhí)行完畢,碰到返回指令RET或RETT時,將棧頂

的內(nèi)容送到PC寄存器中,程序流程又返回到本來的地方,繼續(xù)執(zhí)行。

(2)地址指針DPTR口勺特點

地址指針DPTR的冷點是,它作為片外數(shù)據(jù)存儲器尋址用日勺地址寄存器(間接

尋址)。

(3)地址指針DPTR與程序計數(shù)器PC的異同

①相似之處:

?兩者都是與地址有關(guān)的、16位的寄存器。其中,PC與程序存儲器的I地址

有關(guān),而

DPTR與數(shù)據(jù)存儲器的地址有關(guān)。

?作為地址寄存器使用時.,PC與DPTR都是通過P0和P2口(作為16位地址

總線)輸

出啊。不過,PC的輸出與ALE及PSEN有關(guān);DPTR的輸出,則與ALE、RD

及WR相聯(lián)絡(luò)。

②不一樣之處:

?PC只能作為16位寄存器看待,由于有自動加1的功能,故又稱為計數(shù)器:

DPTR可以作為16位寄存器看待,也可以作為兩個8位寄存器看待。

?PC是不可以訪問口勺,有自己獨特的變化方式,它的變化軌跡決定了程序

執(zhí)行的流程;

DPTR是可以訪問的,如MOVDPTR,SXXXXH,INCDPTPo

23.89C51端口鎖存器口勺“讀一修改一寫”操作與“讀引腳”操作有何區(qū)別?

答:指令系統(tǒng)中有些指令讀鎖存器口勺值,有些指令則讀引腳上的值。讀鎖存器指

令是從鎖存器中讀取一種值并進行處理,把處理后的值(原值或已修改后的值)

重新寫入鎖存器中。此類指令稱為讀-修改-寫指令。

對于讀-修改-寫指令。直接讀鎖存港而不是讀端口引腳,是由于從引腳上讀

出日勺數(shù)據(jù)不一定能真正反應鎖存器的狀態(tài)。

第三章

1、指令:CPU根據(jù)人的意圖來執(zhí)行某種操作的命令

指令系統(tǒng):一臺計算機所能執(zhí)行的所有指令集合

機器語言:用二進制編碼表達,計算機能直接識別和執(zhí)行的語言

匯編語言:用助記符、符號和數(shù)字來表達指令的程序語言

高級語言:獨立于機器H勺,在編程時不需要電機器構(gòu)造及其指令系統(tǒng)有深入

理解H勺通用性語言

2、見第1題

3、操作碼[目的操作數(shù)][,源操作數(shù)]

4、

尋址方式尋址空間

立即數(shù)尋址程序存儲器ROM

直接尋址片內(nèi)RAM低128B、特殊功能寄存器

寄存器尋址工作寄存器R0-R7、A、B、C、DPTR

寄存器間接尋址片內(nèi)RAM低128B、片外RAM

變址尋址程序存儲器(@A+PC,@A+DPTR)

相對尋址程序存儲器256B范圍(PC+偏移量)

位尋址片內(nèi)RAM日勺20H-2FH字節(jié)地址、部分SFR

5、要訪問特殊功能寄存器和片外數(shù)據(jù)存儲器,應采用哪些尋址方式?

答SFR:直接尋址,位尋址,寄存瑞尋址;片外RAM:寄存滯間接尋址

6、MOVA,40H;直接尋址(40H)-A

MOVRO,A;寄存器尋址(A)fRO

MOVPl,#0F0H;立即數(shù)尋址OFOfPl

MOV@RO,3OH;直接尋址(30H)—(RO)

MOVDPTR,#3848H;立即數(shù)尋址3848H-DPTR

MOV40H,38H;直接尋址(38H)f40H

MOVR0,30H;直接尋址(30H)-RO

MOVPO,RO;寄存器尋址(RO)fPO

MOV18H,#30H;立即數(shù)尋址30H-18H

MOVA,@R0;寄存器間接尋址((RO))-A

MOVP2,Pl;直接尋址(Pl)-P2

最終成果:(RO)=38H,(A)=40H,(PO)=38H,(Pl)=(P2)=OFOH,(DPTR)

=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H

注意:一左邊是內(nèi)容,右邊是單元

7、對89c51/S51片內(nèi)RAM的高128字節(jié)的地址空間尋址要注意什么?

答用直接尋址,位尋址,寄存器尋址

8、指出下列指令日勺本質(zhì)區(qū)別?

MOVA,DATA;直接尋址2字節(jié)1周期

MOVA,#DATA;立即數(shù)尋址2字節(jié)1周期

MOVDATA1.DATA2;直接尋址3字節(jié)2周期

MOV74H,#78H;立即數(shù)尋址3字節(jié)2周期

假如想查某一指令的機器碼,字節(jié)數(shù)或周期數(shù)可查閱書本背面的附錄A

9、

MOVA,@R0;((R0))=80H->A

MOV@R0,40H;(40H)=08H->(R0)

MOV40H,A;(A尸80f40H

MOVR0,#35H;35HfRO

最終成果:(RO)=35H(A)=80H,(32H)=08H,(40H)=80H

10、怎樣訪問SFR?

用直接尋址,位尋址,寄存器尋址

11、怎樣訪問片外RAM?

只能采用寄存器間接尋址(用MOVX指令)

12、怎樣訪問片內(nèi)RAM?

低128字節(jié):直接尋址,位尋址,寄存器間接尋址,寄存器尋址(R0~R7)

高128字節(jié):直接尋址,位尋址,寄存器尋址

13、怎樣訪問片內(nèi)外ROM?

采用變址尋址(用MOVC指令)

14、闡明十進制調(diào)整的原因和措施

答:壓縮BCD碼在進行加法運算時應逢十進一,而計算機只將其當作十六

進制數(shù)處理,此時得到H勺成果不對的。用DAA指令調(diào)整(加06H,60H,66H)

15、闡明89c51/S51的布爾處理機功能

答:用來進行位操作

16、ANLA,#17H;83HA17H=03H->A

ORL17H,A;34HV03H=37H->17H

XRLA,@R0;03H?37H=34H

CPLA;34H求反等于CBH

因此(A)=CBH

17、(1)SETBACC.O或SETBEOH;E0H是累加器口勺地址

(2)CLRACC.7

CLRACC.6

CLRACC.5

CLRACC.4

(3)CLRACC.6

CLRACC.5

CLRACC.4

CLRACC.3

18、MOV27H,R7

MOV26H,R6

MOV25H,R5

MOV24H,R4

MOV23H,R3

MOV22H,R2

MOV21H,

MOV20H,RO

19、MOV2FH,20

MOV2EH,21

MOV2DH,22

20、CLRC

MOVA,#5DH;被減數(shù)的低8位一A

MOVR2,#B4H;減數(shù)低8位一R2

SUBBA,R2:被減數(shù)減去減數(shù),差fA

MOV30H,A;低8位成果-30H

MOVA,#6FH;被減數(shù)口勺高8位一A

MOVR2,#I3H;減數(shù)高8位一R2

SUBBA,R2;被減數(shù)減去減數(shù),差一A

MOV31H,A;高8位成果一30H

注意:假如在你的程序中用到了進位位,在程序開始的時候要記得清0進位位

21、(1)A210

CJNEA,#0AH,L1;(A)與10比較,不等轉(zhuǎn)與

LJMPLABEL;相等轉(zhuǎn)LABEL

LI:JNCLABEL;(A)不小于10,轉(zhuǎn)LABEL

或者:

CLRC

SUBBA,#()AH

JNCLABEL

(2)A>10

CJNEA,#OAH,LI;(A)與10比較,不等轉(zhuǎn)LI

REI;相等結(jié)束

LI:JNCLABEL;(A)不小于10,轉(zhuǎn)LABEL

RET;(A)不不小于]0,結(jié)束

或者:

CLRC

SUBBA,#OAH

JNCLI

RET

LI:JNZLABEL

RET

(3)AW10

CJNEA,#OAH,LI;(A)與10比較,不等轉(zhuǎn)L1

L2:LJMPLABEL;相等轉(zhuǎn)LABEL

LI:JCL2;(A)不不小于1(),轉(zhuǎn)L2

RET

或者:

CLRC

SUBBA,#()AH

JCLABEL

JZLABEL

RET

22、(SP)=23H,(PC)二3412H

參看書上80頁

23、(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H

參看書上79頁

24、不能。ACALL是短轉(zhuǎn)指令,可調(diào)用的地址范圍是2KB。

在看這個題的時候同步看一下AJMP指令。同步考慮調(diào)用指令ACALL和LCALL

指令和RET指令的關(guān)系。

25、MOVR2,#31H;數(shù)據(jù)塊長度一R2

MOVRO,#20H;數(shù)據(jù)塊首地址一RO

LOOP:MOVA,@R0;待查找的數(shù)據(jù)一A

CLRC;清進位位

SUBBA,#0AAH;待查找口勺數(shù)據(jù)是OAAH嗎

JZLi;是,轉(zhuǎn)LI

INCRO;不是,地址增1,指向下一種待查數(shù)據(jù)

DJNZR2,LOOP;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找

MOV51H,#00H;等于0,未找到,00H-51H

RET

LI:MOV51H,#01H;找到,01H-51H

RET

26、MOVR2,#31H;數(shù)據(jù)塊長度fR2

MOVRO,#20H數(shù)據(jù)塊首地址一R0

LOOP:MOVA,@R0:待查找的數(shù)據(jù)一A

JNZL1;不為0,轉(zhuǎn)L1

INC51H;為0,00H個數(shù)增1

LI:INCRO:地址增1,指向下一種待杳數(shù)據(jù)

DJNZR2,LOOP;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找

RET

27、MOVDPTR,#SOURCE;源首地址一DPTR

MOVR0,#DIST;目口勺首地址fRO

LOOP:MOVXA,@DPTR;傳送一種字符

MOV@R0,A

INCDPTR;指向下一種字符

INCRO

CJNEA,#24H,LOOP;傳送日勺是"$”字符嗎?不是,傳送下一

種字符

RET

28、MOVA,R3;取該數(shù)高8位一A

ANLA,#8()H;取出該數(shù)符號判斷

JZL1;是正數(shù),轉(zhuǎn)L1

MOVA,R4;是負數(shù),將該數(shù)低8位一A

CPLA;低8位取反

ADDA,#01H;加1

MOVR4,A;低8位取反加1后一R4

MOVA,R3;將該數(shù)高8位fA

CPLA;高8位取反

ADDCA,#00H:加上低8位加1時也許產(chǎn)生的講位

MOVR3,A;高8位取反加1后fR3

LI:RET

29、CLRC;清進位位C

MOVA,3IH;取該數(shù)低8位fA

RLCA;帶進位位左移1位

MOV3IH,A;成果存回31H

MOVA,30H;取該數(shù)高8位fA

RLCA;帶進位位左移1位

MOV30H,A;成果存回3()H

30、MOVR2,#()4H;字節(jié)長度一R2

MOVRO,#30H;一種加數(shù)首地址一RO

MOVRI,#40H;另一種加數(shù)首地址一RI

CLRC;清進位位

LOOP:MOVA,@R0;取一種加數(shù)

ADDCA,@R1;兩個加數(shù)帶進位位相加

DAA;十進制調(diào)整

MOV@R0,A;寄存成果

INCRO;指向下一種字節(jié)

INCRI

DJNZR2,LOOP;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找

RET

31、MOVR2,#08H;數(shù)據(jù)塊長度一R2

MOVRO,#30H;數(shù)據(jù)塊目口勺地址一RO

MOVDPTR,#2023H;數(shù)據(jù)塊源地址一DPTR

LOOP:MOVXA,@DPTR;傳送一種數(shù)據(jù)

MOV@R0,A

INCDPTR;指向下一種數(shù)據(jù)

INCRO

DJNZR2,LOOP;數(shù)據(jù)塊長度減1,沒傳送完,繼續(xù)傳送

RET

32、(1)MOVRO,OFH;2字節(jié),2周期4字節(jié)4周期(差)

MOVB,R0;2字節(jié),2周期

(2)MOVRO,#OFH;2字節(jié),1周期4字節(jié)3周期(中)

MOVB,@R();2字節(jié),2周期

(3)MOVB,#OFH;3字節(jié),2周期3字節(jié)2周期(好)

33、(1)功能是將片內(nèi)RAM中50H~51H單元清0。

(2)7A0A(大家可以看一下書上,對于立即數(shù)尋址的話,背面一種字節(jié)寄存

的是立即數(shù))7850(第一種字節(jié)的后三位是寄存器,前一種條指令是010也就

是指的R2,在這里是R0,因此應當是78,后一種字節(jié)寄存H勺是立即數(shù))DAFC

(這里波及到偏移量的計算,可以參照書上56頁)

34、INC@R0:(7EH)=00H

INCRO:(RO)=7FH

INC@R0:(7FH)=39H

INCDPTR;(DPTR)=10FFH

INCDPTR;(DPTR)=1100H

INCDPTR;(DPTR)=1101H

35、解:(1000H)=53H(1001H)=54H(I002H)=41H

(1003H)=52H(1004H)=54H(I005H)=12H

(1006H)=34H(1007H)=30H(1008H)=00H

(1009H)=70H

36、MOVRO,#40H;40H-R0

MOVA,@R0;98H-A

INCRO;41H-R0

ADDA,@R0;98H+(41H)=47H-A

INCRO

MOV@R0,A;成果存入42H單元

CLRA;清A

ADDCA,#0;進位位存入A

INCRO

MOV@R0,A;進位位存入43H

功能:將40H,41H單元中口勺內(nèi)容相加成果放在42H單元,進位放在43H單元,

(RO)=43H,(A)=1,(40H)=98H,(41H)=AFH,(42H)=47H,(43H)=01H

37、MOVA,61H:F2H^A

MOVB,#02H;02H-B

MULAB;F2HXO2H=E4H-A

ADDA,62H;積的低8位加上CCH-A

MOV63H,A;成果送62H

CLRA;清A

ADDCA,B;積的高8位加進位位一A

MOV64H,A;成果送64H

功能:將61H單元的內(nèi)容乘2,低8位再加上62H單元的內(nèi)容放入63H,將成果的

高8位放在64H單元。(A)=02H,(B)=01H,(61H)=F2H,(62H)=CCH,(63H)

=BOH,(64H)=02H

39、MOVA,XXH

ORLA,#80H

MOVXXH,A

40、(2)MOVA,XXH

MOVRO,A

XRLA,RO

第五章

1、什么是中斷和中斷系統(tǒng)?其重要功能是什么?

答:當CPU正在處理某件事情的時候,外部發(fā)生H勺某一件事件祈求CPU迅速去

處理,于是,CPU臨時中斷日前日勺工作,轉(zhuǎn)去處理所發(fā)生口勺事件,中斷服務(wù)處

理完該事件后來,再回到本來被終止的地方,繼續(xù)本來的工作。這種過程稱為中

斷,實現(xiàn)這種功能的部件稱為中斷系統(tǒng)。

功能:(1)使計算機具有實時處理能力,能對外界異步發(fā)生的事件作出及時的

處理

(2)完全消除了CPU在查詢方式中日勺等待現(xiàn)象,大大提高了CPU的工

作效率

(3)實現(xiàn)實時控制

2、試編寫一段對中斷系統(tǒng)初始化日勺程序,使之容許INTO,INTI,TO,串行口

中斷,且使TO中斷為高優(yōu)先級中斷。

解:MOVIE,#097H

MOVIR#02H

3、在單片機中,中斷能實現(xiàn)哪些功能?

答:有三種功能:分時操作,實時處理,故障處理

4、89c51共有哪些中斷源?對其中端祈求怎樣進行控制?

答:(1)89c51有如下中斷源

①:外部中斷0祈求,低電平有效

②:外部中斷1祈求,低電平有效

③TO:定期器、計數(shù)器0溢出中斷祈求

@T1:定期器、計數(shù)器1溢出中斷祈求

⑤TX/RX:串行接口中斷祈求

(2)通過對特殊功能寄存器TCON、SCON、IE、IP的各位講行置位或復位等

操作,可實現(xiàn)多種中斷控制功能

5、什么是中斷優(yōu)先級?中斷優(yōu)先處理口勺原則是什么?

答:中斷優(yōu)先級是CPU對應中斷的先后次序。原則:

(1)先響應優(yōu)先級高的中斷祈求,再響應優(yōu)先級低口勺

(2)假如一種中斷祈求已經(jīng)被響應,同級口勺其他中斷祈求將被嚴禁

(3)假如同級內(nèi)多種祈求同步出現(xiàn),則CPU通過內(nèi)部硬件查詢電路,按

查詢次序確定應當響應哪個中斷祈求

查詢次序:外部中斷0—定期器0中斷一外部中斷1一定期器1中斷一串行接口中斷

6、闡明外部中斷祈求日勺查詢和響應過程。

答:當CPU執(zhí)行主程序第K條指令,外設(shè)向CPU發(fā)出中斷祈求,CPU接到中

斷祈求信號并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保留斷點地址,然后轉(zhuǎn)

去響應中斷。CPU在每個S5P2期間次序采樣每個中斷源,CPU在下一種機器周

期S6期間按優(yōu)先級次序查詢中斷標志,假如查詢到某個中斷標志為1,將在接下

來口勺機器周期S1期間按優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將對應向

中斷矢量地址裝入PC,以便進入對應的中斷服務(wù)程序。中斷服務(wù)完畢后,CPU

返回到主程序第K+1條指令繼續(xù)執(zhí)行。

7、89C51在什么條件下可響應中斷?

答:

(1)有中斷源發(fā)出中斷祈求

(2)中斷中容許位EA=1.BPCPU開中斷

(3)申請中斷口勺中斷源的中斷容許位為1,即中斷沒有被屏蔽

(4)無同級或更高級中斷正在服務(wù)

(5)目前指令周期已經(jīng)結(jié)束

(6)若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另

一條指令已執(zhí)行完畢

8、簡述89c51單片機的中斷響應過程。

答:CPU在每個機器周期S5P2期間次序采樣每個中斷源,CPU在下一種機器周

期S6期間按優(yōu)先級次序查詢中斷標志,如查詢到某個中斷標志為1,將在接下來

的機器周期S1期間按優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將對應的中

斷矢量地址裝入PC,以便進入對應日勺中斷服務(wù)程序。一旦響應中斷,89c51首

先置位對應日勺中斷“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調(diào)用指令,把

目前的JPC值壓入堆棧,以保護斷點,再將對應的中斷服務(wù)的入口地址送入PC,

于是CPU接著從中斷服務(wù)程序的入口處開始執(zhí)行。對于有些中斷源,CPU在響

應中斷后會自動清除中斷標志。

9、在89c51內(nèi)存中,應怎樣安排程序區(qū)?

答:主程序一般從0030H開始,主程序后一般是子程序及中斷服務(wù)程序。在這個

大家還要清除各個中斷的中斷矢量地址。

10、試述中斷的作用及中斷的全過程。

答:作用:對外部異步發(fā)生的事件作出及時的處理

過程:中斷祈求,中斷響應,中斷處理,中斷返回

11、當正在執(zhí)行某一種中斷源的中斷服務(wù)程序時,假如有新的中斷祈求出現(xiàn),試

問在什么狀況下可響應新的中斷祈求?在什么狀況下不能響應新口勺中斷祈求?

答:(1)符合如下6個條件可響應新的中斷祈求:

a)有中斷源發(fā)出中斷祈求

b)中斷容許位EA=1,即CPU開中斷

c)申請中斷口勺中斷源口勺中斷容許位為1,即中斷沒有被屏蔽

d)無同級或更高級中斷正在被服務(wù)

e)目前的指令周期已結(jié)束

0若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接

著的另一條指令已被執(zhí)行完

12、89c51單片機外部中斷源有兒種觸發(fā)中斷祈求日勺措施?怎樣實現(xiàn)中斷祈求?

答:有兩種方式:電平觸發(fā)和邊緣觸發(fā)

電平觸發(fā)方式:CPU在每個機器周期的S5P2期間采樣外部中斷引腳的瑜入

電平。若為低電平,使正1(正0)置“1”,申請中斷;若為高電平,則lEl(IEO)

清零。

邊緣觸發(fā)方式:CPU在每個機器周期S5P2期間采樣外部中斷祈求引腳的輸

入電平。假如在相繼的兩個機器周期采樣過程中,一種機器周期采樣到外部中斷

祈求為高電平,接著下一種機器周期采樣到外部中斷祈求為低電平,則使

IE1QEO)置“1”申請中斷;否則,lEl(IEO)置0。

13、89c51單片機有五個中斷源,但只能設(shè)置兩個中斷優(yōu)先級,因此,在中斷優(yōu)

先級安排上受到一定的限制J。試問如下幾種中斷優(yōu)先次序的安排(級別由高到低)

與否也許:若也許,則應怎樣設(shè)置中斷源的中斷級別:否則,請簡述不也許的理

由。

(1)定期器0,定期器1,外中斷0,外中斷1,串行口中斷。

可以,MOVIP,#OAH

(2)串行口中斷,外中斷0,定期器0,外中斷1,定期器1。

可以,MOVIR#10H

(3)外中斷0,定期器1,外中斷1,定期器0,串行口中斷。

不可以,只能設(shè)置一級高級優(yōu)先級,假如將INTO,T1設(shè)置為高級,而T0級別

高于INT1.

(4)外中斷0,外中斷1,串行口中斷,定期器(),定期器1。

可以,MOVIP,#15H

(5)串行口中斷,定期器0,外中斷0,外中斷1,定期器1。

不可以

(6)外中斷0,外中斷1,定期器0,串行口中斷,定期器1。

不可以

(7)外中斷0,定期器1,定期器0,外中斷1,串行口中斷。

可以,MOVIP,#09H

14、89c51各中斷源的中斷標志是怎樣產(chǎn)生『、J?又是怎樣清0『、J?CPU響應中斷

時,中斷入口地址各是多少?

答:各中斷標志的產(chǎn)生和清“0”如下:

(1)外部中斷類

外部中斷是由外部原因引起口勺,可以通過兩個固定引腳,即外部中斷。和外

部中斷1輸入信號。

外部中斷0祈求信號,由P3.2腳輸入。通過IT0來決定中斷祈求信號是低電

平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并且使

IE0=lo硬件復位。

外部中斷1祈求信號,功能與使用方法類似外部中斷0

(2)定期中斷類

定期中斷是為滿足定期或計數(shù)溢出處理需要而設(shè)置的。當定期器/計數(shù)器中

的計數(shù)構(gòu)造發(fā)生計數(shù)溢出的,即表明定期時間到或計數(shù)值已滿,這時就以計

數(shù)溢出信號作為中斷祈求,去置位一種溢出標志位。這種中斷祈求是在單片

機芯片內(nèi)部發(fā)生的,無需在芯片上設(shè)置引入端,但在計數(shù)方式時,中斷源可

以由外部引入。

TFO:定期器TO溢出中斷祈求。當定期器TO產(chǎn)生溢出時,定期器TO祈求標

志TF()二1,祈求中斷處理。使用中斷時由硬件復位,在查詢方式下可由軟件

復位。

TF1:定期器T1溢出中斷祈求。功能與使用方法類似定期器TO

(3)串行口中斷類

串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的。串行中斷祈求也是在單片機

芯片內(nèi)部發(fā)生的,但當串行口作為接受端時,必須有一完整的串行幀數(shù)據(jù)從

RI端引入芯片,才也許引起中斷。

RI或TI:串行口中斷祈求。當接受或發(fā)送一串幀數(shù)據(jù)時,使內(nèi)部串行口中

斷祈求標志RI或TI=1,并祈求中斷。響應后必須軟件復位。

CPU響應中斷時,中斷入口地址如下:

中斷源入口地址

外部中斷00003H

定期器TO中斷OOOBH

外部中斷10013H

定期器T1中斷OO1BH

串行口中斷0023H

15、中斷響應時間與否為確定不變的?為何?

答:中斷響應時間不是確定不變?nèi)丈住S捎贑PU不是在任何狀況下對中斷祈求都

予以響應的;此外,不一樣的狀況對中斷響應的時間也是不一樣的。下面以外部

中斷為例,闡明中斷響應的時間。

在每個機器周期的S5P2期間,端口勺電平被所存到TCON的IEO位,CPU在下一

種機器周期才會查詢這些值。這時滿足中斷響應條件,下一條要執(zhí)行的指令將是

一條硬件長調(diào)用指令"LCALL”,使程序轉(zhuǎn)入中斷矢量入口。調(diào)用自身要用2個

機器周期,這樣,從外部中斷祈求有效到開始執(zhí)行中斷服務(wù)程序的第一條指令,

至少需要3個機器周期,這是最短的響應時間。

假如碰到中斷受阻的狀況,這中斷響應時間會更長某些。例如,當一種同級或更

高級的中斷服務(wù)程序正在進行,則附加口勺等待時間取決于正在進行的中斷服務(wù)程

序:假如正在執(zhí)行的一條指令還沒有進行到最終一種機器周期,附加的等待時間

為1?3個機器周期;假如正在執(zhí)行的是RETI指令或者訪問IE或IP的指令,則附

加的等待時間在5個機器周期內(nèi)。

若系統(tǒng)中只有一種中斷源,則響應時間為3?8個機器周期。

16、中斷響應過程中,為何一般要保護現(xiàn)場?怎樣保護?

答:由于一般主程序和中斷服務(wù)程序都也許會用到累加器,PSW寄存器及其他

某些寄存器。CPU在進入中斷服務(wù)程序后,用到上述寄存器時,就會破壞它本

來存在寄存器中的內(nèi)容;一旦中斷返回,將會導致主程序的混亂。因而在進入中

斷服務(wù)程序后,一般要先保護現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序此

前再恢復現(xiàn)場。

保護措施一般是把累加器、PSW寄存器及其他某些與主程序有關(guān)口勺寄存器壓入

堆棧。在保護現(xiàn)場和恢復現(xiàn)場時,為了不使現(xiàn)場受到破壞或者導致混亂,一般規(guī)

定此時CPU不響應新的中斷祈求。這就規(guī)定在編寫中斷服務(wù)程序時,注意在保

護現(xiàn)場之前要關(guān)中斷,在恢復現(xiàn)場之后開中斷。假如在中斷處理時容許有更高級

的中斷打斷它,則在保護現(xiàn)場之后再開中斷,恢復現(xiàn)場之前關(guān)中斷。

17、清論述中斷響應的CPU操作過程,為何說中斷操作是一種CPU時微查詢過

程?

答:在中斷響應中,CPU要完畢如下自主操作過程:

a)置位對應的優(yōu)先級狀態(tài)觸發(fā)器,以標明所響應中斷的優(yōu)先級別

b)中斷源標志清零CH、R1除外)

c)中斷斷點地址裝入堆棧保護(不保護PSW)

d)中斷入口地址裝入PC,以便使程序轉(zhuǎn)到中斷入口地址處

在計算機內(nèi)部,中斷體現(xiàn)為CPU的微查詢操作。89c51單片機中,CPU在每個

機器周期的S6狀杰,杳詢中斷源,并按優(yōu)先級管理規(guī)則處理同步祈求的中斷源,

且在下一種機器周期的S1狀態(tài)中,響應最高級中斷祈求。

不過如下狀況除外:

a)CPU正在處理相似或更高優(yōu)先級中斷

b)多機器周期指令中,尚未執(zhí)行到最終一種機器周期

c)正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及訪問IE、IP等操作時,

要延后一條指令

18、在中斷祈求有效并開中斷狀況下,能否保證立即響應中斷?有什么條件?

答:在中斷祈求有效并開中斷狀況下,并不能保證立即響應中斷。這是由于,在

計算機內(nèi)部,中斷體現(xiàn)為CPU日勺微查詢操作。89c51單片機中,CPU在每個機

器周期日勺S6狀態(tài)下,查詢中斷源,并按優(yōu)先級管理規(guī)則處理同步祈求的中斷源,

且在下一種機器周期的S1狀態(tài)中,響應最高級中斷祈求。

在如下狀況下,還需要有此外的等待:

a)CPU正在處理相似或更高優(yōu)先級中斷

b)多機器周期指令中,尚未執(zhí)行到最終一種機器周期

c)正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及訪問IE、IP等操作時,

要延后一條指令

第6章習題

1、定期器模式2有什么特點?合用于什么場所?

答:

(1)模式2把TLO(或TL1)配置成一種可以自動重裝載出勺8位定期器/計數(shù)

器。TLO計數(shù)溢出時不僅使溢出中斷標志位TFO置1,并且還自動把

THO中的內(nèi)容重新裝載到TLO中。TLO用作8位計數(shù)器,THO用以保留

初值。

(2)用干定期T,作方式時間(TFO溢出周期)為,用干計數(shù)T作方式時,

最大計數(shù)長度(THO初值=0)為2^256個外部脈沖。

這種工作方式可省去顧客軟件重裝初值H勺語句,并可產(chǎn)生相稱精確定期時間,尤

其適于作串行波特率發(fā)生器。

2、單片機內(nèi)部定期方式產(chǎn)生頻率為lOOKHz等寬矩形波,假定單片機的晶振頻率

為12MHz,請編程實現(xiàn)。

答:

T0低5位:1BH

TO高8位:FFH

MOVTMOD,#OOH;設(shè)置定期器TO工作于模式0

MOVTL(),#1BH:設(shè)置5ms定期初值

MOVTH0,#0FFH

SETBTRO;啟動TO

LOOP:JBCTF(),L1;查詢到定期時間到?時間到轉(zhuǎn)LI

SJMPLOOP:時間未到轉(zhuǎn)LOOP,繼續(xù)查詢

LI:MOVTLO,#1BH;重新置入定期初值

MOVTH0,#()FFH

CPLP1.0;輸出取反,形成等寬矩形波

SJMPLOOK;反第循環(huán)

3、89c51定期器有哪幾種工作模式?有何區(qū)別?

答:有四種工作模式:模式(),模式1,模式2,模式3

(1)模式0:選擇定期器日勺高8位和低5位陶成一種13位定期器/計數(shù)器。

TL低5位溢出時向TH講位,TH溢出時向中斷標志位TF講位,并申

請中斷。

定期時間匚(2”?初值)義振蕩周期X⑵計數(shù)長度位2年8192個外部脈沖

(2)模式1:與模式0的唯一差異是寄存器TH和TL以所有16位參與操作。

定期時間"Qi6一初值)X振蕩周期X12;計數(shù)長度位2怖二65536個外部

脈沖

(3)模式2:把TL0和TL1配置成一種自動重裝載的8位定期器/計數(shù)器。

TL用作8位計數(shù)器,TH用以保留初值。TL計數(shù)溢出時不僅使TF0

置1,并且還自動將TH中的內(nèi)容重新裝載到TL中。

定期時間t=(28-初值)義振蕩周期X12;計數(shù)長度位2迎256個外部脈沖

(4)模式3:對TO和T1不大相似

若設(shè)TO位模式3,TLO和TH0被分為兩個互相獨立的J8位計數(shù)器。TLO為8位

計數(shù)器,功能與模式0和模式1相似,可定期可計數(shù)。

TH0僅用作簡樸H勺內(nèi)部定期功能,它占用了定期器T1H勺控制位TR1和中斷

標志位TF1,啟動和關(guān)閉僅受TR1控制。

定期器T1無工作模式3,但TO在工作模式3時T1仍可設(shè)置為0?2。

4、89c51內(nèi)部設(shè)有幾種定期器/計數(shù)器?它們是由哪些特殊功能寄存器構(gòu)成?

答:89c51單片機內(nèi)有兩個16位定期器/計數(shù)器,即TO和TL

TO由兩個8位特殊功能寄存器TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。

5、定期器用作定期器時,其定期時間與哪些原因有關(guān)?作計數(shù)器時,對外界計

數(shù)頻率有何限制?

答:定期時間與定期器的工作模式,初俏及振蕩周期有關(guān)。

作計數(shù)器時對外界計數(shù)頻率規(guī)定最高為機器振蕩頻率的1/24。

6、簡述定期器4種工作模式口勺特點,怎樣選擇設(shè)定?

答:

(1)模式0:選擇定期器的高8位和低5位構(gòu)成一種13位定期器/計數(shù)器。TL低

5位溢出時向TH進位,TH溢出時向中斷標志位TF進位,并申請中斷。

定期時間t=(2正初值)X振蕩周期X12;計數(shù)長度位2皤二8192個外部脈沖

置TMOD中口勺M1M0為00

(2)模式1:與模式0的唯一差異是寄存器TH和TL以所有16位參與操作。定

期時間t=(2?初值)X振蕩周期X12;計數(shù)長度位2^65536個外部脈沖

置TMOD中日勺MlM0為01

(3)模式2:把TL0和TL1配置成一種自動重裝載的8位定期器/計數(shù)器。TL

用作8位計數(shù)器,TH用以保留初值。TL計數(shù)溢出時不僅使TF0置1,并且還自

動將TH中的內(nèi)容重新裝載到TL中。

定期時間t=Q8-初值)X振蕩周期X12;計數(shù)長度位2'256個外部脈沖

置TMOD中『、JM1MO為10

(4)模式3:對T0和T1不大相似

若設(shè)T0位模式3,TL0和TH0被分為兩個互相獨立的8位計數(shù)器。TL0為8位計數(shù)

器,功能與模式0和模式1相似,可定期可計數(shù)。

TH0僅用作簡樸口勺內(nèi)部定期功能,它占用了定期器T1的控制位TR1和中斷標志

位TF1,啟動和關(guān)閉僅受TR1控制。

定期器T1元工作模式3,但TO在工作模式3時.T1仍可設(shè)置為0~2。

置TMOD中『'JM1M0為11

7、當TO用作模式3時,由于TR1已被TO占用,怎樣控制T1口勺啟動和關(guān)閉?

答:用T1控制位C"切換定期器或計數(shù)器工作方式就可以使T1運行。定期器

T1無工作模式3,將T1設(shè)置為工作模式3,就會使T1立即停止計數(shù),關(guān)閉。

8、以定期器/計數(shù)器1進行外部時間計數(shù),每計數(shù)1000個脈沖后,定期器/計數(shù)器1

轉(zhuǎn)為定期工作方式,定期10ms后又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止。假定為6WHZ,

用模式1編程。

解:T1為定期器時初值:

T1為計數(shù)器時初值:

因此:

L1:MOVTMOD,#50H;設(shè)置T1為計數(shù)方式且工作模式為1

MOVTHI,#0FCH;置入計數(shù)初值

MOVTL1,#18H

SETBTRI;啟動T1計數(shù)器

LOOPkJBCTF1,L2渣詢計數(shù)溢出?有溢出(計數(shù)滿1000個)轉(zhuǎn)L2

SJMPLOOP1;無溢出轉(zhuǎn)LOOP1濰續(xù)查詢

L2:CLRTR1;關(guān)閉T1

MOVTMOD,#10H;設(shè)置T1為定期方式且工作與模式1

MOVTH1,#OECH;置入定期10ms初值

MOVTL1,#78H

SETBTRI;啟動T1定期

LOOP2:JBCTF1,L1;查詢10ms時間到?時間到,轉(zhuǎn)L1

SJMPLOOP2;時間未到,轉(zhuǎn)LOOP2,繼續(xù)查詢

9、一種定期器定期時間有限,怎樣實現(xiàn)兩個定期器時串行定期以滿足較長定期

時間的規(guī)定?

答:當一種定期器溢出時,設(shè)置另一種定期溶的初值為0開始定期。

1()、使用一種定期器,怎樣通過軟硬件結(jié)合措施實現(xiàn)較長時間的定期?

答:設(shè)定好定期器的定期時間,采用中斷方式用軟件設(shè)置計多次數(shù),進行溢出次

數(shù)合計,從而得到較長日勺時間。

11、89c51定期錯作定期和計數(shù)時共計數(shù)脈沖分別由誰提供?

答:作定期器時計數(shù)朧沖由89c51片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖提供,作計

數(shù)時計數(shù)脈沖由外部信號通過引腳P3.4和P3.5提供。

12、89c51定期器H勺門控信號GATE設(shè)置為1時定期器怎樣啟動?

答:只有(或)引腳為高電平且由軟件使TRO(或TR1)置1時,才能啟動定期器

工作。

13、已知89c51單片機改Jfosc=6MHz,請運用TO和P1.0輸出矩形波。矩形波高電

平寬3Ous,低電平寬30。心。

解:TO采用模式2作為50us定期時的初值:

因此

作300us定期時日勺初值:

因此

MOVTMOD,#02H;設(shè)置定期器TD工作于模式2

L2:CLRPl.O;P1.()輸出低電平

MOVTH(),#6AH;置入定期3()0」s初值

MOVTL(),#6AH

SETBTRO;啟動T0

LOOPkJBCTF(),L1;查詢3()()時間到?時間到,轉(zhuǎn)L1

SJMPLOOP1;時間未到,轉(zhuǎn)LOOPL繼續(xù)查詢

L1:SETBPl.O

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論