人民郵電出版社單片機(jī)原理及接口技術(shù)課后參考_第1頁(yè)
人民郵電出版社單片機(jī)原理及接口技術(shù)課后參考_第2頁(yè)
人民郵電出版社單片機(jī)原理及接口技術(shù)課后參考_第3頁(yè)
人民郵電出版社單片機(jī)原理及接口技術(shù)課后參考_第4頁(yè)
人民郵電出版社單片機(jī)原理及接口技術(shù)課后參考_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第1章 單片機(jī)概述1除了單片機(jī)這一名稱(chēng)之外,單片機(jī)還可稱(chēng)為 和 。答:微控制器,嵌入式控制器。2單片機(jī)與普通微型計(jì)算機(jī)的不同之處在于其將 、 、和 3部分集成于一塊芯片上。答:cpu、存儲(chǔ)器、i/o口。38051與8751的區(qū)別是 。a內(nèi)部數(shù)據(jù)存儲(chǔ)單元數(shù)目不同 b內(nèi)部數(shù)據(jù)存儲(chǔ)器的類(lèi)型不同c內(nèi)部程序存儲(chǔ)器的類(lèi)型不同 d內(nèi)部寄存器的數(shù)目不同答:c。4在家用電器中使用單片機(jī)應(yīng)屬于微計(jì)算機(jī)的 。a輔助設(shè)計(jì)應(yīng)用;b測(cè)量、控制應(yīng)用;c數(shù)值計(jì)算應(yīng)用;d數(shù)據(jù)處理應(yīng)用答:b。5微處理器、微計(jì)算機(jī)、微處理機(jī)、cpu、單片機(jī)它們之間有何區(qū)別?答:微處理器、微處理機(jī)和cpu都是中央處理器的不同稱(chēng)謂;而微計(jì)算機(jī)、單片機(jī)

2、都是一個(gè)完整的計(jì)算機(jī)系統(tǒng),單片機(jī)特指集成在一個(gè)芯片上的用于測(cè)控目的的單片微計(jì)算機(jī)。6mcs-51系列單片機(jī)的基本型芯片分別為哪幾種?它們的差別是什么?答:mcs-51系列單片機(jī)的基本型芯片分別是8031、8051和8751。它們的差別是在片內(nèi)程序存儲(chǔ)器上。8031無(wú)片內(nèi)程序存儲(chǔ)器,8051片內(nèi)有4kb的程序存儲(chǔ)器rom,而8751片內(nèi)集成有4kb的程序存儲(chǔ)器eprom。7為什么不應(yīng)當(dāng)把51系列單片機(jī)稱(chēng)為mcs-51系列單片機(jī)?答:因?yàn)閙cs-51系列單片機(jī)中的“mcs”是intel公司生產(chǎn)的單片機(jī)的系列符號(hào),而51系列單片機(jī)是指世界各個(gè)廠家生產(chǎn)的所有與8051的內(nèi)核結(jié)構(gòu)、指令系統(tǒng)兼容的單片機(jī)。

3、8at89c51單片機(jī)相當(dāng)于mcs-51系列單片機(jī)中的哪一種型號(hào)的產(chǎn)品?答:相當(dāng)于mcs-51系列中的87c51,只不過(guò)是at89c51芯片內(nèi)的4kb flash存儲(chǔ)器取代了87c51片內(nèi)的4kb的eprom。第2章 at89c51單片機(jī)片內(nèi)硬件結(jié)構(gòu)1在at89c51單片機(jī)中,如果采用6mhz晶振,一個(gè)機(jī)器周期為 。答:2µs2at89c51單片機(jī)的機(jī)器周期等于 個(gè)時(shí)鐘振蕩周期。答:12。3內(nèi)部ram中,位地址為40h、88h的位,該位所在字節(jié)的字節(jié)地址分別為 和 。答:28h;88h。4片內(nèi)字節(jié)地址為2ah單元的最低位的位地址是 ;片內(nèi)字節(jié)地址為88h單元的最低位的位地址是 。答:

4、50h;88h。5若a中的內(nèi)容為63h,那么,p標(biāo)志位的值為 。答:p標(biāo)志位的值為0。6at89c51單片機(jī)復(fù)位后,r4所對(duì)應(yīng)的存儲(chǔ)單元的地址為 ,因上電時(shí)psw =  。這時(shí)當(dāng)前的工作寄存器區(qū)是 組工作寄存器區(qū)。答:04h;00h;0。7內(nèi)部ram中,可作為工作寄存器區(qū)的單元地址為 h h。答:00h;1fh。8通過(guò)堆棧操作實(shí)現(xiàn)子程序調(diào)用,首先要把 的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用返回時(shí),再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到 。答:pc;pc。9at89c51單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器pc的位數(shù)所決定的,因?yàn)閍t89c51單片機(jī)的pc是16位的,因此其尋址的范

5、圍為 kb。答:64kb。10判斷下列 項(xiàng)說(shuō)法是正確的。aat89c51單片機(jī)的cpu是由ram和eprom組成的b區(qū)分片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的最可靠的方法是看其位于地址范圍的低端還是高端c在at89c51單片機(jī)中,為使準(zhǔn)雙向的i/o口工作在輸入方式,必須保證它被事先預(yù)置為1dpc可以看成是程序存儲(chǔ)器的地址指針答: a. 錯(cuò); b. 錯(cuò);c. 對(duì);d. 對(duì)。11判斷以下有關(guān)pc和dptr的結(jié)論 是正確的。adptr是可以訪問(wèn)的,而pc不能訪問(wèn)b它們都是16位寄存器c在單片機(jī)運(yùn)行時(shí),它們都具有自動(dòng)加“1”的功能ddptr可以分為2個(gè)8位的寄存器使用,但pc不能答:a. 對(duì); b. 對(duì);c

6、. 錯(cuò);d. 對(duì)。12判斷下列說(shuō)法 項(xiàng)是正確的。a程序計(jì)數(shù)器pc不能為用戶編程時(shí)直接訪問(wèn),因?yàn)樗鼪](méi)有地址b內(nèi)部ram的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用cat89c51單片機(jī)共有21個(gè)特殊功能寄存器,它們的位都是可用軟件設(shè)置的,因此,是可以進(jìn)行位尋址的。答:a. 對(duì); b. 錯(cuò);c. 錯(cuò)。13pc的值是 。a當(dāng)前正在執(zhí)行指令的前一條指令的地址b當(dāng)前正在執(zhí)行指令的地址c當(dāng)前正在執(zhí)行指令的下一條指令的地址d控制器中指令寄存器的地址答:a. 錯(cuò);b. 錯(cuò);c. 對(duì);d. 錯(cuò)。14判斷下列說(shuō)法 項(xiàng)是正確的。apc是一個(gè)不可尋址的特殊功能寄存器b單片機(jī)的主頻越高,其運(yùn)算速度越快c在at89

7、c51單片機(jī)中,一個(gè)機(jī)器周期等于1msd特殊功能寄存器內(nèi)存放的是棧頂首地址單元的內(nèi)容答:a. 對(duì);b. 對(duì);c. 錯(cuò);d.錯(cuò)。15at89c51單片機(jī)的片內(nèi)都集成了哪些功能部件?各個(gè)功能部件的最主要的功能是什么?(1)1個(gè)微處理器(cpu);(2)128個(gè)數(shù)據(jù)存儲(chǔ)器(ram)單元;(3)4kb flash程序存儲(chǔ)器;(4)4個(gè)8位可編程并行i/o口(p0口、p1口、p2口、p3口);(5)1個(gè)全雙工串行口;(6)2個(gè)16位定時(shí)器/計(jì)數(shù)器;(7)一個(gè)中斷系統(tǒng),5個(gè)中斷源,2個(gè)優(yōu)先級(jí);(8)21個(gè)特殊功能寄存器(sfr)。16說(shuō)明at89c51單片機(jī)的引腳的作用,該引腳接高電平和低電平時(shí)各有何種功

8、能?答:當(dāng)腳為高電平時(shí),單片機(jī)讀片內(nèi)程序存儲(chǔ)器(4kb flash),但在pc值超過(guò)0fffh(即超出4kb地址范圍)時(shí),將自動(dòng)轉(zhuǎn)向讀外部程序存儲(chǔ)器內(nèi)的程序。當(dāng)腳為低電平時(shí),對(duì)程序存儲(chǔ)器的讀操作只限定在外部程序存儲(chǔ)器,地址為0000hffffh,片內(nèi)的4kb flash程序存儲(chǔ)器不起作用。1764kb程序存儲(chǔ)器空間有5個(gè)單元地址對(duì)應(yīng)at89c51單片機(jī)5個(gè)中斷源的中斷入口地址,請(qǐng)寫(xiě)出這些單元的入口地址及對(duì)應(yīng)的中斷源。答:64kb程序存儲(chǔ)器空間中有5個(gè)特殊單元分別對(duì)應(yīng)于5個(gè)中斷源的中斷服務(wù)程序的入口地址,見(jiàn)下表。表 5個(gè)中斷源的中斷入口地址入口地址中斷源0003h外部中斷0 ()000bh定時(shí)器

9、0 (t0)0013h外部中斷1 ()001bh定時(shí)器1 (t1)0023h串行口18當(dāng)at89c51單片機(jī)運(yùn)行出錯(cuò)或程序陷入死循環(huán)時(shí),如何擺脫困境?答:按下復(fù)位按鈕。第3章 at89c51單片機(jī)的指令系統(tǒng)1在基址加變址尋址方式中,以 作為變址寄存器,以 或 作為基址寄存器。答:a,pc,dptr。2指令格式是由 和 組成,也可僅由 組成。答:操作碼,操作數(shù),操作碼。3假定累加器a中的內(nèi)容為30h,執(zhí)行指令1000h:movc a,a+pc后,把程序存儲(chǔ)器 單元的內(nèi)容送入累加器a中。答:1031h。4在at89c51單片機(jī)中,pc和dptr都用于提供地址,但pc是為訪問(wèn) 存儲(chǔ)器提供地址,而dp

10、tr是為訪問(wèn) 存儲(chǔ)器提供地址。答:程序,數(shù)據(jù)。5在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的 。答:地址。6已知程序執(zhí)行前有(a) = 02h,(sp) = 52h,(51h) = ffh,(52h) = ffh。下述程序執(zhí)行后,(a) = ,(sp) = ,(51h) = ,(52h) = ,(pc) = 。pop dphpop dplmov dptr,#4000hrl amov b,amovc a,a+dptrpush ac

11、cmov a,binc amovc a,a+dptrpush accretorg 4000hdb 10h,80h,30h,50h,30h,50h答:(a)=50h,(sp)=50h,(51h)=30h,(52h)=50h,(pc)=5030h。7假定(a) = 83h,(r0) = 17h,(17h) = 34h,執(zhí)行以下指令后,(a) = 。anl a,#17horl 17h,axrl a,r0cpl a答:(a)=0cbh。8假設(shè)(a) = 55h,(r3) = 0aah,在執(zhí)行指

12、令“anl a,r5”后,(a) =  ,(r3) =  。答:(a)=00h,(r3)=0aah。9如果(dptr) = 507bh,(sp) = 32h,(30h) = 50h,(31h) = 5fh,(32h) = 3ch,則執(zhí)行下列指令后,(dph) =  ,(dpl) =  ,(sp) =  。pop dphpop dplpop sp答:(dph)=3ch,(dpl)=5fh,(sp)=

13、50h。10假定,(sp) = 60h,(a) = 30h,(b) = 70h,執(zhí)行下列指令后,sp的內(nèi)容為 ,61h單元的內(nèi)容為 ,62h單元的內(nèi)容為 。push accpush b答:(sp)=62h,(61h)=30h,(62h)=70h。11判斷下列說(shuō)法 項(xiàng)是正確的。a立即尋址方式是被操作的數(shù)據(jù)本身就在指令中,而不是它的地址在指令中b指令周期是執(zhí)行一條指令的時(shí)間c指令中直接給出的操作數(shù)稱(chēng)為直接尋址答:a對(duì);b對(duì); c錯(cuò)。12判斷以下指令的正誤。(1)mov 28h,r2 (2)dec dptr (3)inc dptr (4)c

14、lr r0(5)cpl r5 (6)mov r0,r1 (7)phsh dptr (8)mov f0,c(9)mov f0,acc.3 (10)movx a,r1 (11)mov c,30h (12)rlc r0答:(1)錯(cuò)(2)錯(cuò)(3)對(duì)(4)錯(cuò)(5)錯(cuò)(6)錯(cuò)(7)錯(cuò)(8)對(duì)(9)錯(cuò)(10)對(duì) (11)對(duì)(12)錯(cuò)。13訪問(wèn)sfr,可使用哪些尋址方式?答:只能使用直接尋址方式。14下列程序段的功能是什么?pushaccpush bpop accpop b答:a的內(nèi)容與b的內(nèi)容互換。15寫(xiě)出完成如下要求的指令,但是不能改變未涉及位的內(nèi)容。(1)把a(bǔ)cc.3,acc.4,acc.5和

15、acc.6清“0”。(2)把累加器a的中間4位清“0”。(3)使acc.2和acc.3置“1”。答:(1)anl a,#87h      (2)anl a,#0c3h    (3)orl a,#0ch16借助本書(shū)中的表3-2(指令表),對(duì)如下指令代碼(十六進(jìn)制)進(jìn)行手工反匯編。ff c0 e0 e5 f0 f0答:mov r7,apush amov a ,bmovx dptr,a第4章 at89c51單片機(jī)匯編語(yǔ)言程序設(shè)計(jì)1已知程序執(zhí)行前有a = 02h,sp =&

16、#160;42h,(41h) = ffh,(42h) = ffh。下述程序執(zhí)行后,a =  ;sp =  ;(41h) =  ;(42h) =  ;pc =  。pop dphpop dplmov dptr,#3000hrl amov b,amovc a,a+dptrpush accmov a,binc amovc a,a+dptrpush accretorg 3000hdb 10h,80h,30h,80h,50h,80h答: a=80h,sp=40h,(

17、51h)=50h,(52h)=80h ,pc=8050h。2說(shuō)明偽指令的作用。“偽”的含義是什么?常用偽指令的功能如何?答:偽指令不屬于指令系統(tǒng)中的匯編語(yǔ)言指令,它是程序員發(fā)給匯編程序的控制命令。只有在匯編前的源程序中才有偽指令。所以“偽”體現(xiàn)在匯編后,偽指令沒(méi)有相應(yīng)的機(jī)器代碼產(chǎn)生。3解釋手工匯編、機(jī)器匯編、交叉匯編、反匯編術(shù)語(yǔ)概念。答:(1)手工匯編:手工編程,首先把程序用助記符指令寫(xiě)出,然后通過(guò)查指令的機(jī)器代碼表,逐個(gè)把助記符指令“翻譯”成機(jī)器代碼,這種人工查表“翻譯”指令的方法稱(chēng)為手工匯編。(2)機(jī)器匯編:是借助于微型計(jì)算機(jī)上的軟件(匯編程序)來(lái)代替手工匯編,完成把助記符指令“翻譯”成機(jī)

18、器代碼的工作。(3)交叉匯編:使用微型計(jì)算機(jī)來(lái)完成匯編,而匯編后得到的機(jī)器代碼卻是在另一臺(tái)計(jì)算機(jī)(這里是單片機(jī))上運(yùn)行,稱(chēng)這種機(jī)器匯編為交叉匯編。(4)反匯編:將二進(jìn)制的機(jī)器代碼語(yǔ)言程序翻譯成匯編語(yǔ)言源程序的過(guò)程。4下列程序段經(jīng)匯編后,從1000h開(kāi)始的各有關(guān)存儲(chǔ)單元的內(nèi)容是什么?org 1000htab1 equ 1234htab2 equ 3000hdb "main"dw tab1,tab2,70h答:4d 41 49 4e 12 34 30 00 00 70 5設(shè)計(jì)子程序時(shí)應(yīng)注意哪些問(wèn)題?答:在編寫(xiě)子程序時(shí)應(yīng)注意以下問(wèn)題。(1)子程序的第一條指令前必須有標(biāo)號(hào)。(2)使

19、用子程序調(diào)用指令時(shí),有兩條調(diào)用指令可供使用。使用絕對(duì)調(diào)用指令(acall addr11)要注意,被調(diào)用的子程序的首地址與本絕對(duì)調(diào)用指令的下一條指令的高5位地址相同,即只能在同一2kb程序存儲(chǔ)區(qū)內(nèi)。使用長(zhǎng)調(diào)用指令(lcall addr16)時(shí),addr16為直接調(diào)用的子程序的目標(biāo)地址,也就是說(shuō),被調(diào)用的子程序可放置在64kb程序存儲(chǔ)器區(qū)的任意位置。(3)子程序結(jié)構(gòu)中必須用到堆棧,堆棧通常用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)保護(hù)。(4)子程序返回主程序時(shí),最后一條指令必須是ret指令。(5)子程序可以嵌套,即主程序可以調(diào)用子程序,子程序又可以調(diào)用另外的子程序。6試編寫(xiě)一個(gè)程序,將內(nèi)部ram中45h單元的高4位清“0

20、”,低4位置“1”。答:參考程序如下:mova,45hanla,#0fhorla,#0fhmov45h,a7試編寫(xiě)程序,查找在內(nèi)部ram的30h50h單元中是否有0aah這一數(shù)據(jù)。若有,則將51h單元置為“01h”;若未找到,則將51h單元置為“00h”。答:參考程序如下:start:movr0,#30hmovr2,#20hloop:mova,r0cjnea,#0aah,nextmov51h,#01hljmpexitnext:incr0djnzr2,loopmov51h,#00hexit:ret8試編寫(xiě)程序,查找在內(nèi)部ram的20h40h單元中出現(xiàn)“00h”這一數(shù)據(jù)的次數(shù),并將查找到的結(jié)果存入

21、41h單元。答:參考程序如下:start:mov41h,#0movr0,#20hmovr2,#20hloop:mova,r0jnznextinc41hnext:incr0djnzr2,loopret9在內(nèi)部ram的21h單元開(kāi)始存有一組單字節(jié)無(wú)符號(hào)數(shù),數(shù)據(jù)長(zhǎng)度為20h,編寫(xiě)程序,要求找出最大數(shù)存入max單元。答:略:10若sp = 60h,標(biāo)號(hào)label所在的地址為3456h。lcall指令的地址為2000h,執(zhí)行如下指令2000h lcall label后,堆棧指針sp和堆棧內(nèi)容發(fā)生了哪些變化?pc的值等于什么?如果將指令lcall直接換成acall是否可以?如果換成ac

22、all指令,可調(diào)用的地址范圍是什么?答: (1)sp=sp+1=61h (61h)=pc的低字節(jié)=03h   sp=sp+1=62h (62h)=pc的高字節(jié)=20h(2)pc=3456h(3)可以(4)2kb=2048 byte第5章 at89c51單片機(jī)的中斷系統(tǒng)1外部中斷1的中斷入口地址為 。定時(shí)器1的中斷入口地址為 。答:0013h;001bh。2若(ip) = 00010100b,則優(yōu)先級(jí)最高者為 ,最低者為 。答:外部中斷1;定時(shí)器t1。3at89c51單片機(jī)響應(yīng)中斷后,產(chǎn)生長(zhǎng)調(diào)用指令lcall,執(zhí)行該指令的過(guò)程包括:首先把 的內(nèi)容壓入堆棧,

23、以進(jìn)行斷點(diǎn)保護(hù),然后把長(zhǎng)調(diào)用指令的16位地址送 ,使程序執(zhí)行轉(zhuǎn)向 中的中斷地址區(qū)。答:pc、pc、程序存儲(chǔ)器。4判斷at89c51單片機(jī)對(duì)外中斷請(qǐng)求源響應(yīng)的最快響應(yīng)時(shí)間為3個(gè)機(jī)器周期 。答:對(duì)。5下列說(shuō)法正確的是 。a各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在at89c51單片機(jī)的ie寄存器中b各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在at89c51單片機(jī)的tmod寄存器中c各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在at89c51單片機(jī)的ip寄存器中d各中斷源發(fā)出的中斷請(qǐng)求信號(hào),都會(huì)標(biāo)記在at89c51單片機(jī)的tcon與scon寄存器中答:d。6中斷查詢確認(rèn)后,在下列各種at89c51單片機(jī)運(yùn)行情況下,能

24、立即進(jìn)行響應(yīng)的是 。a當(dāng)前正在進(jìn)行高優(yōu)先級(jí)中斷處理b當(dāng)前正在執(zhí)行reti指令c當(dāng)前指令是div指令,且正處于取指令的機(jī)器周期d當(dāng)前指令是mov a,r3答:d。7在at89c51單片機(jī)的中斷請(qǐng)求源中,需要外加電路實(shí)現(xiàn)中斷撤銷(xiāo)的是 。a電平方式的外部中斷b脈沖方式的外部中斷c外部串行中斷d定時(shí)中斷答:a。8下列說(shuō)法正確的是 。a同一級(jí)別的中斷請(qǐng)求按時(shí)間的先后順序響應(yīng)b同一時(shí)間同一級(jí)別的多中斷請(qǐng)求將形成阻塞,系統(tǒng)無(wú)法響應(yīng)c低優(yōu)先級(jí)中斷請(qǐng)求不能中斷高優(yōu)先級(jí)中斷請(qǐng)求,但是高優(yōu)先級(jí)中斷請(qǐng)求能中斷低優(yōu)先級(jí)中斷請(qǐng)求d同級(jí)中斷不能嵌套答:a、c、d。9中斷服務(wù)子程序與普通子程序有哪些相同和不同之處?答:ret

25、i指令在返回時(shí),同時(shí)清除中斷系統(tǒng)中相應(yīng)的優(yōu)先級(jí)觸發(fā)器,以允許下次中斷,而ret指令則沒(méi)有這個(gè)操作。除了這一點(diǎn)兩條指令不同外,其他操作都相同。10at89c51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,cpu將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:略。11編寫(xiě)外部中斷1為跳沿觸發(fā)的中斷初始化程序段。答:setbit1setbex1setbea12中斷響應(yīng)的條件是什么?答:略。13某系統(tǒng)有3個(gè)外部中斷源1、2、3,當(dāng)某一中斷源發(fā)出的中斷請(qǐng)求使引腳變?yōu)榈碗娖綍r(shí)(見(jiàn)圖5-10),便要求cpu進(jìn)行處理,它們的優(yōu)先處理次序由高到低為3、2、1,中斷處理程序的入口地址分別為1000h、1100h、1200h

26、。試編寫(xiě)主程序及中斷服務(wù)子程序(轉(zhuǎn)至相應(yīng)的中斷處理程序的入口即可)。答:參見(jiàn)電路如圖5-10所示,參考程序如下:org0000hljmpmainorg0013hljmpint_ex1org0030hmain:clrit0;采用電平觸發(fā),低電平有效中斷setbex1;允許外部中斷1setbeawait: ljmpwait;用原地跳轉(zhuǎn)代替一段用戶程序;以下為外部中斷1服務(wù)子程序int_ex1:jnbp1.2,next1;p1.2=0,不是3號(hào)中斷,跳轉(zhuǎn)next1 ljmpint_ir3 ;是3號(hào)中斷,跳轉(zhuǎn)到對(duì)應(yīng)的中斷處理程序next1: jnbp1.1,next2;p1.1=0,不是2號(hào)中斷,跳轉(zhuǎn)

27、next2 ljmpint_ir2;跳轉(zhuǎn)到2號(hào)中斷處理程序next2: ljmpint_ir1;跳轉(zhuǎn)到1號(hào)中斷處理程序org1000hint_ir3:插入相應(yīng)中斷處理程序reti;中斷返回org1100hint_ir2:插入相應(yīng)中斷處理程序reti;中斷返回org1200hint_ir1:插入相應(yīng)中斷處理程序reti;中斷返回第6章 at89c51單片機(jī)的定時(shí)器/計(jì)數(shù)器1下列 項(xiàng)說(shuō)法是正確的。a特殊功能寄存器scon,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)b特殊功能寄存器tcon,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)c特殊功能寄存器ie,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)d特殊功能寄存器tmod,與定時(shí)器/計(jì)數(shù)器的控制無(wú)關(guān)

28、答:a對(duì);b;錯(cuò)c錯(cuò);d錯(cuò)。2如果采用的晶振的頻率為3mhz,定時(shí)器/計(jì)數(shù)器工作在方式0、1、2下,其最大定時(shí)時(shí)間各為多少?答:因?yàn)闄C(jī)器周期  所以定時(shí)器/計(jì)數(shù)器工作方式0下,其最大定時(shí)時(shí)間為  同樣可以求得,方式1下的最大定時(shí)時(shí)間為262.144ms;方式2下的最大定時(shí)時(shí)間為1024ms。3定時(shí)器/計(jì)數(shù)器用作定時(shí)器模式時(shí),其計(jì)數(shù)脈沖由誰(shuí)提供?定時(shí)時(shí)間與哪些因素有關(guān)?答:定時(shí)器/計(jì)數(shù)器用作定時(shí)器時(shí),其計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時(shí)鐘信號(hào)12分頻后提供。定時(shí)時(shí)間與時(shí)鐘頻率和定時(shí)初值有關(guān)。4定時(shí)器/計(jì)數(shù)器用作計(jì)數(shù)器模式時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?答:由于確

29、認(rèn)1次負(fù)跳變要花2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。5采用定時(shí)器/計(jì)數(shù)器t0對(duì)外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)100個(gè)脈沖后,t0轉(zhuǎn)為定時(shí)工作方式。定時(shí)1ms后,又轉(zhuǎn)為計(jì)數(shù)工作方式,如此循環(huán)不止。假定at89c51單片機(jī)的晶體振蕩器的頻率為6mhz,請(qǐng)使用方式1實(shí)現(xiàn),要求編寫(xiě)程序。答:定時(shí)器/計(jì)數(shù)器t0在計(jì)數(shù)和定時(shí)工作完成后,均采用中斷方式工作。除了第一次計(jì)數(shù)工作方式設(shè)置在主程序完成外,后面的定時(shí)或計(jì)數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識(shí)別下一輪定時(shí)器/計(jì)數(shù)器t0的工作方式。參考程序如下:org0000hljmpmainorg000bhljm

30、pit0pmain:movtmod,#06h;定時(shí)器/計(jì)數(shù)器t0為計(jì)數(shù)方式2movtl0,#156;計(jì)數(shù)100個(gè)脈沖的初值賦值movth0,#156setbgate;打開(kāi)計(jì)數(shù)門(mén)setbtr0;啟動(dòng)t0,開(kāi)始計(jì)數(shù)setbet0;允許t0中斷setbea;cpu開(kāi)中斷clrf0;設(shè)置下一輪定時(shí)方式的標(biāo)志位wait:ajmpwaitit0p:clrea;cpu關(guān)中斷jbf0,count;f0=1,轉(zhuǎn)計(jì)數(shù)方式設(shè)置movtmod,#00h;定時(shí)器/計(jì)數(shù)器t0為定時(shí)方式0movth0,#0feh;定時(shí)1ms初值賦值movtl0,#0chsetbeareticount:movtmod,#06hmovtl0,

31、#156setbeareti6定時(shí)器/計(jì)數(shù)器的工作方式2有什么特點(diǎn)?適用于哪些應(yīng)用場(chǎng)合?答:定時(shí)器/計(jì)數(shù)器的工作方式2具有自動(dòng)恢復(fù)初值的特點(diǎn),適用于精確定時(shí),如波特率的產(chǎn)生。7編寫(xiě)程序,要求使用t0,采用方式2定時(shí),在p1.0輸出周期為400µs,占空比為101的矩形脈沖。答:根據(jù)題意,從p1.0輸出的矩形脈沖的高低電平的時(shí)間為101,則高低電平的時(shí)間分別為363.63µs和36.37µs。如果系統(tǒng)采用6mhz晶振,tcy=2µs,因此高低電平輸出取整,則約為364µs和36µs。參考程序如下:org0000hljmpmainorg000bhljmpit0pmain:movtmod,#02h;定時(shí)器/計(jì)數(shù)器t0為定時(shí)方式2movtl0,#4ah;定時(shí)364ms初值賦值setbtr0;啟動(dòng)t0,開(kāi)始計(jì)數(shù)setbet0;允許t0中斷s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論