單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第1頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第2頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第3頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第4頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 緒 論1第一臺計算機(jī)的問世有何意義?答:第一臺電子數(shù)字計算機(jī)eniac問世,標(biāo)志著計算機(jī)時代的到來。與現(xiàn)代的計算機(jī)相比,eniac有許多不足,但它的問世開創(chuàng)了計算機(jī)科學(xué)技術(shù)的新紀(jì)元,對人類的生產(chǎn)和生活方式產(chǎn)生了巨大的影響。2計算機(jī)由哪幾部分組成?答:由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備組成,運(yùn)算器與控制器合稱為cpu。3微型計算機(jī)由哪幾部分構(gòu)成?答:微型計算機(jī)由微處理器、存儲器和i/o接口電路構(gòu)成。各部分通過地址總線(ab)、數(shù)據(jù)總線(db)和控制總線(cb)相連。4微處理器與微型計算機(jī)有何區(qū)別?答:微處理器集成了運(yùn)算器和控制器(即cpu);而微型計算機(jī)包含微處理器、存儲器和i/o接

2、口電路等。5什么叫單片機(jī)?其主要特點(diǎn)有哪些? 答:在一片集成電路芯片上集成微處理器、存儲器、i/o接口電路,從而構(gòu)成了單芯片微型計算機(jī),即單片機(jī)。單片機(jī)主要特點(diǎn)有:控制性能和可靠性高;體積小、價格低、易于產(chǎn)品化;具有良好的性能價格比。6微型計算機(jī)有哪些應(yīng)用形式?各適于什么場合?答:微型計算機(jī)有三種應(yīng)用形式:多板機(jī)(系統(tǒng)機(jī))、單板機(jī)和單片機(jī)。多板機(jī),通常作為辦公或家庭的事務(wù)處理及科學(xué)計算,屬于通用計算機(jī)。單板機(jī),i/o設(shè)備簡單,軟件資源少,使用不方便。早期主要用于微型計算機(jī)原理的教學(xué)及簡單的測控系統(tǒng),現(xiàn)在已很少使用。單片機(jī),單片機(jī)體積小、價格低、可靠性高,其非凡的嵌入式應(yīng)用形態(tài)對于滿足嵌入式應(yīng)用

3、需求具有獨(dú)特的優(yōu)勢。目前,單片機(jī)應(yīng)用技術(shù)已經(jīng)成為電子應(yīng)用系統(tǒng)設(shè)計的最為常用技術(shù)手段。7當(dāng)前單片機(jī)的主要產(chǎn)品有哪些?各有何特點(diǎn)?答:多年來的應(yīng)用實(shí)踐已經(jīng)證明,80c51的系統(tǒng)結(jié)構(gòu)合理、技術(shù)成熟。因此,許多單片機(jī)芯片生產(chǎn)廠商傾力于提高80c51單片機(jī)產(chǎn)品的綜合功能,從而形成了80c51的主流產(chǎn)品地位,近年來推出的與80c51兼容的主要產(chǎn)品有:l atmel公司融入flash存儲器技術(shù)推出的at89系列單片機(jī);l philips公司推出的80c51、80c552系列高性能單片機(jī);l 華邦公司推出的w78c51、w77c51系列高速低價單片機(jī);l adi公司推出的adc8xx系列高精度adc單片機(jī);l

4、 lg公司推出的gms90/97系列低壓高速單片機(jī);l maxim公司推出的ds89c420高速(50mips)單片機(jī);l cygnal公司推出的c8051f系列高速soc單片機(jī)等。8簡述單片機(jī)的開發(fā)過程。答:系統(tǒng)需求分析,硬件方案設(shè)計,軟件編程,仿真調(diào)試,實(shí)際運(yùn)行。9單片機(jī)應(yīng)用系統(tǒng)開發(fā)方法有哪些新方法?答:在系統(tǒng)編程(isp)技術(shù),在應(yīng)用編程(iap)技術(shù)。章2 80c51的結(jié)構(gòu)和原理180c51單片機(jī)在功能上、工藝上、程序存儲器的配置上有哪些種類?答:功能上分為基本型和增強(qiáng)型;工藝上分為hmos工藝和chmos工藝;在片內(nèi)程序存儲器的配置上有掩膜rom、eprom和flash、無片內(nèi)程序存

5、儲器形式。2 80c51單片機(jī)的存儲器的組織采用何種結(jié)構(gòu)?存儲器地址空間如何劃分?各地址空間的地址范圍和容量如何?在使用上有何特點(diǎn)?答:采用哈佛結(jié)構(gòu),在物理上設(shè)計成程序存儲器和數(shù)據(jù)存儲器兩個獨(dú)立的空間;80c51基本型單片機(jī)片內(nèi)程序存儲器為4kb,地址范圍是0000h-0fffh,用于存放程序或常數(shù);片內(nèi)數(shù)據(jù)存儲器為128字節(jié)ram,地址范圍是00h-7fh,用于存放運(yùn)算的中間結(jié)果、暫存數(shù)據(jù)和數(shù)據(jù)緩沖;另外在80h-ffh還配有21個sfr。380c51單片機(jī)的p0p3口在結(jié)構(gòu)上有何不同?在使用上有何特點(diǎn)? 答:作為通用i/o口時,p0、p1、p2和p3都是準(zhǔn)雙向口。p0可以作為地址/數(shù)據(jù)總線

6、,此時是一個真正的雙向口;p2口可以作為地址線的高8位;p3口是雙功能口,每條口線還具有不同的第二功能。另外,p0口的驅(qū)動能力為8個ttl負(fù)載,而其它口僅可驅(qū)動4個ttl負(fù)載。4如果80c51單片機(jī)晶振頻率分別為6 mhz、11.0592 mhz、12mhz時,機(jī)器周期分別為多少?答:機(jī)器周期分別為2s,1.085s,1s。580c51單片機(jī)復(fù)位后的狀態(tài)如何?復(fù)位方法有幾種?答:復(fù)位后,pc內(nèi)容為0000h,p0口p3口內(nèi)容為ffh,sp內(nèi)容為07h,sbuf內(nèi)容不定,ip、ie和pcon的有效位為0,其余的特殊功能寄存器的狀態(tài)均為00h。復(fù)位方法一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位

7、。680c51單片機(jī)的片內(nèi)、片外存儲器如何選擇?答:80c51的引腳為訪問片內(nèi)、片外程序存儲器的選擇端。訪問片內(nèi)、片外數(shù)據(jù)存儲器需要采用不同的指令加以區(qū)分。780c51單片機(jī)的psw寄存器各位標(biāo)志的意義如何?答:cy:進(jìn)位、借位標(biāo)志。有進(jìn)位、借位時 cy=1,否則cy=0;ac:輔助進(jìn)位、借位標(biāo)志(高半字節(jié)與低半字節(jié)間的進(jìn)位或借位);f0:用戶標(biāo)志位,由用戶自己定義;rs1、rs0:當(dāng)前工作寄存器組選擇位;ov:溢出標(biāo)志位。有溢出時ov=1,否則ov=0;p:奇偶標(biāo)志位。存于acc中的運(yùn)算結(jié)果有奇數(shù)個1時p=1,否則p=0。8 80c51單片機(jī)的當(dāng)前工作寄存器組如何選擇?答:當(dāng)前工作寄存器組的

8、選擇由特殊功能寄存器中的程序狀態(tài)字寄存器psw的rs1、rs0 來決定。980c51單片機(jī)的控制總線信號有哪些?各信號的作用如何?答:rst/vpd:復(fù)位信號輸入引腳/備用電源輸入引腳;ale/:地址鎖存允許信號輸出引腳/編程脈沖輸入引腳;/vpp:內(nèi)外存儲器選擇引腳/片內(nèi)eprom(或flashrom)編程電壓輸入引腳;:外部程序存儲器選通信號輸出引腳。1080c51單片機(jī)的程序存儲器低端的幾個特殊單元的用途如何?答:0000h:單片機(jī)復(fù)位入口地址;0003h:外部中斷0的中斷服務(wù)程序入口地址;000bh:定時/計數(shù)器0溢出中斷服務(wù)程序入口地址;0013h:外部中斷1的中斷服務(wù)程序入口地址;

9、001bh:定時/計數(shù)器1溢出中斷服務(wù)程序入口地址;0023h:串行口的中斷服務(wù)程序入口地址。章3 80c51的指令系統(tǒng)180c51系列單片機(jī)的指令系統(tǒng)有何特點(diǎn)?答:執(zhí)行時間短。1個機(jī)器周期指令有64條,2個機(jī)器周期指令有45條,而4個機(jī)器周期指令僅有2條(即乘法和除法指令);指令編碼字節(jié)少。單字節(jié)的指令有49條,雙字節(jié)的指令有45條,三字節(jié)的指令僅有17條;位操作指令豐富。這是80c51單片機(jī)面向控制特點(diǎn)的重要保證。280c51單片機(jī)有哪幾種尋址方式?各尋址方式所對應(yīng)的寄存器或存儲器空間如何?答:80c51單片機(jī)的尋址方式有七種。即:寄存器尋址、直接尋址、寄存器間接尋址、立即尋址、基址寄存器

10、加變址寄存器變址尋址、相對尋址和位尋址。這些尋址方式所對應(yīng)的寄存器和存儲空間如下表所示。序號尋址方式寄存器或存儲空間1寄存器尋址寄存器r0r7,a、ab、dptr和c(布爾累加器)2直接尋址片內(nèi)ram低128字節(jié)、sfr3寄存器間接尋址片內(nèi)ram(r0,r1,sp)片外ram(r0,r1,dptr)4立即尋址rom5變址尋址rom(adptr,apc)6相對尋址rom(pc當(dāng)前值的127128字節(jié))7位尋址可尋址位(內(nèi)部ram20h2fh單元的位和部分sfr的位)3訪問特殊功能寄存器sfr可以采用哪些尋址方式?答:直接尋址和位尋址方式。4訪問內(nèi)部ram單元可以采用哪些尋址方式?答:直接尋址、寄

11、存器間接尋址和位尋址方式。5訪問外部ram單元可以采用哪些尋址方式?答:寄存器間接尋址。6訪問外部程序存儲器可以采用哪些尋址方式?答:立即尋址、變址尋址和相對尋址方式。7為什么說布爾處理功能是80c51單片機(jī)的重要特點(diǎn)?答:單片機(jī)指令系統(tǒng)中的布爾指令集、存儲器中的位地址空間與cpu中的位操作構(gòu)成了片內(nèi)的布爾功能系統(tǒng),它可對位(bit)變量進(jìn)行布爾處理,如置位、清零、求補(bǔ)、測試轉(zhuǎn)移及邏輯“與”、“或”等操作。在實(shí)現(xiàn)位操作時,借用了程序狀態(tài)標(biāo)志器(psw)中的進(jìn)位標(biāo)志cy作為位操作的“累加器”。 8對于80c52單片機(jī)內(nèi)部ram還存在高128字節(jié),應(yīng)采用何種方式訪問?答:寄存器間接尋址方式。9試根

12、據(jù)指令編碼表寫出下列指令的機(jī)器碼。 (1)mov a,#88h-74h, 88h (2)mov r3,50h-abh,50h (3)mov p1,#55h-75h,90h,55h (4)add a,r1-27h (5)setb 12h-d2h,12h10完成某種操作可以采用幾條指令構(gòu)成的指令序列實(shí)現(xiàn),試寫出完成以下每種操作的指令序列。 (1)將r0的內(nèi)容傳送到r1; (2)內(nèi)部ram單元60h的內(nèi)容傳送到寄存器r2; (3)外部ram單元1000h的內(nèi)容傳送到內(nèi)部ram單元60h; (4)外部ram單元1000h的內(nèi)容傳送到寄存器r2; (5)外部ram單元1000h的內(nèi)容傳送到外部ram單元

13、2000h。答:(1)mov a,r0 mov r1,a(2)mov r2,60h(3)mov dptr,#1000h movx a,dptr mov 60h,a(4)mov dptr,#1000h movx a,dptr mov r2,a (5)mov dptr,#1000h movx a,dptrmov dptr,#2000h movx dptr, a11若(r1)=30h,(a)=40h,(30h)=60h,(40h)=08h。試分析執(zhí)行下列程序段后上述各單元內(nèi)容的變化。 mov a,r1 mov r1,40h mov 40h,a mov r1,#7fh答:(r1)=7fh(a)=60h

14、(30h)=08h(40h)=60h12若(a)=e8h,(r0)=40h,(r1)=20h,(r4)=3ah,(40h)=2ch,(20h)=0fh,試寫出下列各指令獨(dú)立執(zhí)行后有關(guān)寄存器和存儲單元的內(nèi)容?若該指令影響標(biāo)志位,試指出cy、ac、和ov的值。 (1)mov a,r0 (2)anl 40h,#0fh (3)add a,r4 (4)swap a (5)dec r1 (6)xchd a,r1答:(1)(a)=2ch(2)(40h)=0ch(3)(a)=22h,(cy)=1,(ac)=1,(ov)=0(4)(a)=8eh(5)(20h)=0eh,p=1(6)(a)=efh,(20)=08

15、h13若(50h)=40h,試寫出執(zhí)行以下程序段后累加器a、寄存器r0及內(nèi)部ram的40h、41h、42h單元中的內(nèi)容各為多少? mov a,50h mov r0,a mov a,#00h mov r0,a mov a,#3bh mov 41h,a mov 42h,41h答:(a)=3bh,(r0)=40h,(40h)=00h,(41h)=3bh,(42h)=3bh。14試用位操作指令實(shí)現(xiàn)下列邏輯操作。要求不得改變未涉及的位的內(nèi)容。 (1)使acc.0置位; (2)清除累加器高4位; (3)清除acc.3,acc.4,acc.5,acc.6。答:(1)setb acc.0 (2)anl a,#

16、0fh (3)anl a,#87h15試編寫程序,將內(nèi)部ram的20h、21h、22h三個連續(xù)單元的內(nèi)容依次存入2fh、2eh和2dh單元。答:mov 2fh,20h mov 2eh,21hmov 2dh,22h16試編寫程序,完成兩個16位數(shù)的減法:7f4dh2b4eh,結(jié)果存入內(nèi)部ram的30h和31h單元,30h單元存差的高8位,31h單元存差的低8位。答:clr cymov 30h,#7fhmov 31h,#4dhmov r0, #31hmov a,r0subb a ,#4emov r0,a ;保存低字節(jié)相減結(jié)果dec r0mov a, r0subb a,#2bhmov r0,a ;保

17、存高字節(jié)相減結(jié)果17試編寫程序,將r1中的低4位數(shù)與r2中的高4位數(shù)合并成一個8位數(shù),并將其存放在r1中。答:mov a,r2anl a,#0f0horl r1,a18試編寫程序,將內(nèi)部ram的20h、21h單元的兩個無符號數(shù)相乘,結(jié)果存放在r2、r3中,r2中存放高8位,r3中存放低8位。答:mov a,20hmov b,21hmul abmov r3,amov r2,b19若(cy)=1,(p1)=10100011b,(p3)=01101100b。試指出執(zhí)行下列程序段后,cy、p1口及p3口內(nèi)容的變化情況。 mov p1.3,c mov p1.4,c mov c,p1.6 mov p3.6

18、,c mov c,p1.0 mov p3.4,c答:(cy)=1, (p1)=10111011b, (p3)=00111100b章4 80c51的匯編語言程序設(shè)計180c51單片機(jī)匯編語言有何特點(diǎn)?答:匯編語言結(jié)構(gòu)緊湊、靈活,匯編成的目標(biāo)程序效率高,具有占存儲空間少、運(yùn)行速度快、實(shí)時性強(qiáng)等優(yōu)點(diǎn)。它是面向機(jī)器的語言,對于單片機(jī)硬件的操作直接、方便,有利于初學(xué)者對單片機(jī)結(jié)構(gòu)的認(rèn)知。但它與高級語言相比移植性不好、編程復(fù)雜、對編程人員的基礎(chǔ)要求高。2利用80c51單片機(jī)匯編語言進(jìn)行程序設(shè)計的步驟如何?答:一、任務(wù)分析首先,要對單片機(jī)應(yīng)用系統(tǒng)的設(shè)計目標(biāo)進(jìn)行深入分析,明確系統(tǒng)設(shè)計任務(wù):功能要求和技術(shù)指標(biāo)。

19、然后對系統(tǒng)的運(yùn)行環(huán)境進(jìn)行調(diào)研。這是應(yīng)用系統(tǒng)程序設(shè)計的基礎(chǔ)和條件。二、算法設(shè)計經(jīng)過任務(wù)分析和環(huán)境調(diào)研后,已經(jīng)明確的功能要求和技術(shù)指標(biāo)可以用數(shù)學(xué)方法(或模型)來描述,進(jìn)而把一個實(shí)際的系統(tǒng)要求轉(zhuǎn)化成由計算機(jī)進(jìn)行處理的算法。并對各種算法進(jìn)行分析比較,并進(jìn)行合理的優(yōu)化。三、流程描述程序的總體構(gòu)建。先要確定程序結(jié)構(gòu)和數(shù)據(jù)形式,資源分配和參數(shù)計算等。然后根據(jù)程序運(yùn)行的過程,規(guī)劃程序執(zhí)行的邏輯順序,用圖形符號將程序流程繪制在平面圖上。應(yīng)用程序的功能通??梢苑譃槿舾刹糠郑昧鞒虉D將具有一定功能的各部分有機(jī)地聯(lián)系起來。流程圖可以分為總流程圖和局部流程圖??偭鞒虉D側(cè)重反映程序的邏輯結(jié)構(gòu)和各程序模塊之間的相互關(guān)系;局

20、部流程圖反映程序模塊的具體實(shí)施細(xì)節(jié)。3常用的程序結(jié)構(gòu)有哪幾種?特點(diǎn)如何?答:順序程序:無分支、無循環(huán)結(jié)構(gòu)的程序,其執(zhí)行流程是依指令在存儲器中的存放順序進(jìn)行的;分支程序:可以改變程序的執(zhí)行順序;循環(huán)程序:按某種控制規(guī)律重復(fù)執(zhí)行的程序,控制一部分指令重復(fù)執(zhí)行若干次,以便用簡短的程序完成大量的處理任務(wù)。4子程序調(diào)用時,參數(shù)的傳遞方法有哪幾種?答:利用累加器或寄存器;利用存儲器;利用堆棧。5什么是偽指令?常用的偽指令功能如何?答:偽指令是匯編程序能夠識別并對匯編過程進(jìn)行某種控制的匯編命令。常用的偽指令包括:org,功能是向匯編程序說明下面緊接的程序段或數(shù)據(jù)段存放的起始地址;end,功能是結(jié)束匯編;db

21、,功能是從標(biāo)號指定的地址單元開始,在程序存儲器中定義字節(jié)數(shù)據(jù);dw,功能是從標(biāo)號指定的地址單元開始,在程序存儲器中定義字?jǐn)?shù)據(jù)空間;equ,功能是將表達(dá)式的值或特定的某個匯編符號定義為一個指定的符號名;bit,功能是將位地址賦給指定的符號名。6設(shè)被加數(shù)存放在內(nèi)部ram的20h、21h單元,加數(shù)存放在22h、23h單元,若要求和存放在24h、25h中,試編寫出16位無符號數(shù)相加的程序(采用大端模式存儲)。答:程序如下:org 0000hmov r0,21hmov r1,23hmov a,r0add a,r1mov 25h,adec r0dec r1mov a,r0addc a,r1mov 24h,

22、asjmp $end7編寫程序,把外部ram中1000h101fh的內(nèi)容傳送到內(nèi)部ram的30h4fh中。答:org 0000h mov dptr,#1000h mov r0,#30h mov r7,#32loop:movx a,dptr mov r0,a inc r0 inc dptr djnz r7,loop ret8編寫程序,實(shí)現(xiàn)雙字節(jié)無符號數(shù)加法運(yùn)算,要求 (r0r1)+(r6r7)(60h61h)。答:org 0000hmov a,r1 add a,r7mov 61h,amov a,r0 addc a,r6 mov 60h,a sjmp $ end9若80c51的晶振頻率為6mhz,

23、試計算延時子程序的延時時間。delay:mov r7,#0f6h lp:mov r6,#0fah djnz r6,$ djnz r7,lp ret答:延時時間: 2µs*1+((1+2*250+2)*246)+2+2=0.247486秒(含調(diào)用指令2個機(jī)器周期)10在內(nèi)部ram 的30h37h單元存有一組單字節(jié)無符號數(shù)。要求找出最大數(shù)存入big單元。試編寫程序?qū)崿F(xiàn)。答: org 0000h big data 2fh one data 2ah two data 2bh start:mov r7,#7 ;比較次數(shù) mov r0,#30h loop:mov a,r0 mov one,a i

24、nc r0 mov two,r0 clr c subb a,r0 jc next ;one小,two大繼續(xù)比下一對數(shù) mov r0,one ;one大放后面(交換) dec r0 mov r0,two ;two小放前面 inc r0 ; next:djnz r7,loop mov big,37h sjmp $ end11編寫程序,把累加器a中的二進(jìn)制數(shù)變換成3位bcd碼,并將百、十、個位數(shù)分別存放在內(nèi)部ram的50h、51h、52h中。答:單字節(jié)二進(jìn)制數(shù)轉(zhuǎn)換為壓縮的bcd碼僅需要2個字節(jié);在將壓縮的bcd碼拆分存于3個單元。 org 0 mov 52h,#0 mov 51h,#0 mov 50

25、h,#0 mov a,#0fdh lcall dcdth sjmp $ dcdth:mov r7,#8 mov r0,a ;暫存于r0 loop:clr c mov a,r0 rlc a mov r0,a mov r1,#51h; mov a,r1 ; addc a,r1 ; da a ; mov r1,a ; dec r1 mov a,r1 addc a,r1 da a mov r1,a djnz r7,loop inc r1 ;50h已是結(jié)果,r1指向51h,51h單元需拆分 mov a,#00h xchd a,r1 mov 52h,a mov a,r1 swap a mov r1,a r

26、et end12編寫子程序,將r1中的2個十六進(jìn)制數(shù)轉(zhuǎn)換為ascii碼后存放在r3和r4中。答: org 0 mov r1,#5bh mov a,r1 anl a,#0f0h swap a acall ascii mov r3,a mov a,r1 anl a, #0fh acall ascii mov r4, a sjmp $ascii:push acc clr c subb a, #0ah pop acc jc loop add a, #07hloop: add a, #30h ret end13編寫程序,求內(nèi)部ram中50h59h十個單元內(nèi)容的平均值,并存放在5ah單元。答: org 0

27、000h mov r7,#10 mov r0,#50h mov b,#10 clr c clr a loop:addc a,r0 inc r0 djnz r7,loop div ab mov 5ah,a sjmp $ end14如圖4.10所示,編制程序?qū)崿F(xiàn):上電后顯示“p”,有鍵按下時顯示相應(yīng)的鍵號“0”“7”。答:實(shí)現(xiàn)程序如下:temp equ 30h org 0000h jmp start org 0100hstart:mov sp,#5fh mov p0,#8ch ;正序顯示"p" mov p3,#0ffh ;輸入方式 clr cynokey:mov a,p3 cp

28、l a jz nokey ;無鍵按下 mov temp,p3 ;有鍵按下 call d10ms mov a,p3 cjne a,temp,nokey ;去抖動 mov r2,#0 ;鍵號計數(shù)器復(fù)位 mov a,temp lp:rrc a jnc done inc r2 sjmp lp done:mov a,r2 mov dptr,#code_p0 movc a,a+dptr mov p0,ajmp nokeyd10ms:mov r5,#10 ;10msd1ms:mov r4,#249 dl:nop nop djnz r4,dl djnz r5,d1ms ret code_p0: db 0c0h

29、,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8eh end 章5 80c51的中斷系統(tǒng)及定時/計數(shù)器1.80c51有幾個中斷源?各中斷標(biāo)志是如何產(chǎn)生的?又是如何復(fù)位的?cpu響應(yīng)各中斷時,其中斷入口地址是多少?答:5個中斷源,分別為外中斷和、t0和t1溢出中斷、串口中斷。電平方式觸發(fā)的外中斷標(biāo)志與引腳信號一致;邊沿方式觸發(fā)的外中斷響應(yīng)中斷后由硬件自動復(fù)位。t0和t1,cpu響應(yīng)中斷時,由硬件自動復(fù)位。ri和ti,由硬件置位。必須由軟件復(fù)位。另外,所有能產(chǎn)生中斷的標(biāo)志位均可由軟件置位或復(fù)位。各中斷入口地址:0

30、003h,t0000bh,0013h,t1001bh,ri和ti0023h。2.某系統(tǒng)有三個外部中斷源1、2、3,當(dāng)某一中斷源變低電平時便要求cpu處理,它們的優(yōu)先處理次序由高到低為3、2、1,處理程序的入口地址分別為2000h、2100h、2200h。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的入口即可)。答:將3個中斷信號經(jīng)電阻線或,接。org 0000hljmp mainorg 00013hljmp zdfz org 0040hmain:setb ea setb ex1 sjmp $ 0rg 0200hzdfz:push psw push acc jb p1.0,dv0 jb p1.1,dv1

31、 jb p1.2,dv2inret:pop acc pop pswretiorg 2000h dv0:-jmp inretorg 2100hdv1:-jmp inretorg 2200h dv2:-jmp inret3.外部中斷源有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式,這兩種觸發(fā)方式所產(chǎn)生的中斷過程有何不同?怎樣設(shè)定?答:當(dāng)it0=0時,為電平觸發(fā)方式。電平觸發(fā)方式時,cpu在每個機(jī)器周期的s5p2采樣引腳電平,當(dāng)采樣到低電平時,置ie0向cpu請求中斷;采樣到高電平時,將ie0清0。在電平觸發(fā)方式下,cpu響應(yīng)中斷時,不能自動清除ie0標(biāo)志。電平觸發(fā)方式時,外部中斷源的有效低電平必須保持到請求獲得

32、響應(yīng)時為止,不然就會漏掉;在中斷服務(wù)結(jié)束之前,中斷源的有效的低電平必須撤除,否則中斷返回之后將再次產(chǎn)生中斷。該方式適合于外部中斷輸入為低電平,且在中斷服務(wù)程序中能清除外部中斷請求源的情況。當(dāng)it0=1時,為邊沿觸發(fā)方式。邊沿觸發(fā)方式時,cpu在每個機(jī)器周期的s5p2采樣引腳電平,如果在連續(xù)的兩個機(jī)器周期檢測到引腳由高電平變?yōu)榈碗娖?,即第一個周期采樣到=1,第二個周期采樣到=0,則置ie01,產(chǎn)生中斷請求。在邊沿觸發(fā)方式下,cpu響應(yīng)中斷時,能由硬件自動清除ie0標(biāo)志。邊沿觸發(fā)方式時,在相繼兩次采樣中,先采樣到外部中斷輸入為高電平,下一個周期采樣到為低電平,則在ie0或ie1中將鎖存一個邏輯1。

33、若cpu暫時不能響應(yīng),中斷申請標(biāo)志也不會丟失,直到cpu響應(yīng)此中斷時才清0。另外,為了保證下降沿能夠被可靠地采樣到,和引腳上的負(fù)脈沖寬度至少要保持一個機(jī)器周期(若晶振頻率為12mhz,為1微秒)。邊沿觸發(fā)方式適合于以負(fù)脈沖形式輸入的外部中斷請求。4.定時/計數(shù)器工作于定時和計數(shù)方式時有何異同點(diǎn)?答:定時/計數(shù)器實(shí)質(zhì)是加1計數(shù)器。不同點(diǎn):設(shè)置為定時器模式時,加1計數(shù)器是對內(nèi)部機(jī)器周期計數(shù)(1個機(jī)器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值乘以機(jī)器周期就是定時時間。設(shè)置為計數(shù)器模式時,外部事件計數(shù)脈沖由t0或t1引腳輸入到計數(shù)器。在每個機(jī)器周期的s5p2期間采樣t0、t1引腳

34、電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數(shù)器加1,更新的計數(shù)值在下一個機(jī)器周期的s3p1期間裝入計數(shù)器。相同點(diǎn):它們的工作原理相同,它們都有4種工作方式,由tmod中的m1m0設(shè)定,即方式0:13位計數(shù)器;方式1:16位計數(shù)器;方式2:具有自動重裝初值功能的8位計數(shù)器;方式3:t0分為兩個獨(dú)立的8位計數(shù)器,t1停止工作。5.定時/計數(shù)器的4種工作方式各有何特點(diǎn)?答:方式0位13位計數(shù)器,由tl0的低5位(高3位未用)和th0的8位組成。tl0的低5位溢出時向th0進(jìn)位,th0溢出時,置位tcon中的tf0標(biāo)志,向cpu發(fā)出中斷請求。計數(shù)初值計算的公式為: x213n

35、方式1的計數(shù)位數(shù)是16位,由tl0作為低8位、th0作為高8位,組成了16位加1計數(shù)器。計數(shù)個數(shù)與計數(shù)初值的關(guān)系為:x216n方式2為自動重裝初值的8位計數(shù)方式。th0為8位初值寄存器。當(dāng)tl0計滿溢出時,由硬件使tf0置1,向cpu發(fā)出中斷請求,并將th0中的計數(shù)初值自動送入tl0。tl0從初值重新進(jìn)行加1計數(shù)。周而復(fù)始,直至tr0=0才會停止。計數(shù)個數(shù)與計數(shù)初值的關(guān)系為:x28n方式3只適用于定時/計數(shù)器t0,定時器t1處于方式3時相當(dāng)于tr10,停止計數(shù)。方式3時,t0分成為兩個獨(dú)立的8位計數(shù)器tl0和th0,tl0使用t0的所有控制位。當(dāng)tl0計數(shù)溢出時,由硬件使tf0置1,向cpu發(fā)

36、出中斷請求。而th0固定為定時方式(不能進(jìn)行外部計數(shù)),并且借用了t1的控制位tr1、tf1。因此,th0的啟、停受tr1控制,th0的溢出將置位tf1。6.要求定時/計數(shù)器的運(yùn)行控制完全由tr1、tr0確定和完全由、高低電平控制時,其初始化編程應(yīng)作何處理?答:tmod中g(shù)ate的值不同:完全由tr1、tr0確定時gate為0;完全由、高低電平控制時gate為1。7.當(dāng)定時/計數(shù)器t0用作方式3時,定時/計數(shù)器t1可以工作在何種方式下?如何控制t1的開啟和關(guān)閉?答:t0用作方式3時,t1可以工作在方式0、1和2。t1的開啟由tr1控制,即tr11時,t1開始工作;tr10時或者定時/計數(shù)器工作

37、在方式3時,t1停止工作。8.利用定時/計數(shù)器t0從p1.0輸出周期為1s,脈寬為20ms的正脈沖信號,晶振頻率為12mhz。試設(shè)計程序。答:采用定時20ms,然后再計數(shù)1、49次的方法實(shí)現(xiàn)。a、t0工作在定時方式1時,控制字tmod配置: m1m0=01,gate=0,c/=0,可取方式控制字為01h;b、計算計數(shù)初值x:晶振為12 mhz,所以機(jī)器周期tcy為1。nt/ tcy 20×103/1×10620000x216n6553620000455364e20h 即應(yīng)將4eh送入th1中,20h送入tl1中。 c、實(shí)現(xiàn)程序如下: org 0000h ajmp main

38、;跳轉(zhuǎn)到主程序 org 0030h main:mov tmod,#01h ;設(shè)t1工作于方式2 mov th0,# 4eh ;裝入循環(huán)計數(shù)初值 mov tl0,#20h ;首次計數(shù)值 lp0:setb p1.0 acall nt0 clr p1.0 mov r7,#49 ;計數(shù)49次 lp1:acall nt0 djnz r7,lp1 ajmp lp0 nt0:mov th0,# 4eh mov tl0,#20h setb tr0 jnb tf0,$ clr tr0 clr tf0 ret end9.要求從p1.1引腳輸出1000hz方波,晶振頻率為12mhz。試設(shè)計程序。答:采用t0實(shí)現(xiàn)a、

39、t0工作在定時方式1時,控制字tmod配置: m1m0=01,gate=0,c/=0,可取方式控制字為01h;b、計算計數(shù)初值x:晶振為12 mhz,所以機(jī)器周期tcy為1。1/1000=1×103nt/ tcy 0.5×103/1×106500x216n6553650065036fe0ch 即應(yīng)將feh送入th0中,0ch送入tl0中。 c、實(shí)現(xiàn)程序如下: org 0000h ajmp main ;跳轉(zhuǎn)到主程序 org 000bh ;t0的中斷入口地址 ljmp dvt0 org 0030h main:mov tmod,#01h ;設(shè)t0工作于方式2 mov t

40、h0,# 0feh ;裝入循環(huán)計數(shù)初值 mov tl0,#0ch ;首次計數(shù)值 setb et0 ;t0開中斷 setb ea ;cpu開中斷 setb tr0 ;啟動t0 sjmp $ ;等待中斷 dvt0:cpl p1.1 mov th0,# 0feh mov tl0,# 0ch setb tr0 reti end10.試用定時/計數(shù)器t1對外部事件計數(shù)。要求每計數(shù)100,就將t1改成定時方式,控制p1.7輸出一個脈寬為10ms的正脈沖,然后又轉(zhuǎn)為計數(shù)方式,如此反復(fù)循環(huán)。設(shè)晶振頻率為12mhz。答:a、t1工作在計數(shù)方式2時,控制字tmod配置: m1m0=10,gate=0,c/=1,可

41、取方式控制字為60h; t1工作在定時方式1時,控制字tmod配置: m1m0=01,gate=0,c/=0,可取方式控制字為10h;b、計算初值x: 定時10ms時:晶振為12 mhz,所以機(jī)器周期tcy為1。nt/ tcy 10×103/1×10610000x216n655361000055536d8f0h 即應(yīng)將d8h送入th1中,f0h送入tl1中。 計數(shù)100時:n100 x28n2561001569ch c、實(shí)現(xiàn)程序如下: org 0000h ajmp main ;跳轉(zhuǎn)到主程序 org 001bh ;t1的中斷入口地址 ljmp dvt1 org 0030h m

42、ain:mov tmod,#60h ;t1工作于計數(shù)方式2 mov th1,#9ch ;裝入計數(shù)初值 mov tl1,#9ch ; clr p1.7 setb et1 ;t1開中斷 setb ea ;cpu開中斷 setb tr1 ;啟動t1 sjmp $ ;等待中斷 dvt1:setb p1.7 clr et1 clr tr1 mov tmod,#10h ;t1工作于定時方式1 mov th1,#0d8h ;裝初值 mov tl1,#0f0h setb tr1 jnb tf1,$ ;查詢等待10ms clr tf1 clr tr1 clr p1.7 mov tmod,#60h ;t1工作于計

43、數(shù)方式2 mov th1,#9ch ;裝初值 mov tl1,#9ch ; setb et1 ;t1開中斷 setb tr1 ;啟動t1 reti end11.利用定時/計數(shù)器t0產(chǎn)生定時時鐘,由p1口控制8個指示燈。編一個程序,使8個指示燈依次閃動,閃動頻率為1次/秒(即,亮1秒后熄滅并點(diǎn)亮下一個,-)。答:采用定時20ms,計數(shù)50次實(shí)現(xiàn)1秒定時。編制1秒延時子程序,由主程序調(diào)用。a、t0工作在定時方式1時,控制字tmod配置: m1m0=01,gate=0,c/=0,可取方式控制字為01h;b、計算計數(shù)初值x:晶振為12 mhz,所以機(jī)器周期tcy為1。nt/ tcy 20×1

44、03/1×10620000x216n6553620000455364e20h 即應(yīng)將4eh送入th1中,20h送入tl1中。 c、實(shí)現(xiàn)程序如下: org 0000h ajmp main ;跳轉(zhuǎn)到主程序 org 0030h main:clr cymov a,#01h lp0:mov p1,a call d1sec rl a ajmp lp0 d1sec:mov r7,#50 ;計數(shù)50次mov tmod,#01hdl:mov th0,#4eh mov tl0,#20h setb tr0 jnb tf0,$ clr tr0 clr tf0 djnz r7,dl ret end章6 80c

45、51的串行口180c51單片機(jī)串行口有幾種工作方式?如何選擇?簡述其特點(diǎn)?答:四種工作方式,由scon中的sm0、sm1進(jìn)行定義:方式0:同步移位寄存器的輸入輸出方式,主要用于擴(kuò)展并行輸入或輸出口,波特率固定。方式1:10位數(shù)據(jù)的異步通信口,波特率可變。方式2:11位數(shù)據(jù)的異步通信口,波特率固定。方式3:11位數(shù)據(jù)的異步通信口,波特率可變。2串行通信的接口標(biāo)準(zhǔn)有那幾種?答:rs-232c接口、rs-422a接口、rs-485接口3在串行通信中通信速率與傳輸距離之間的關(guān)系如何?答:最大距離與傳輸速率及傳輸線的電氣特性有關(guān)。當(dāng)傳輸線使用每0.3m(約1 ft)有50pf電容的非平衡屏蔽雙絞線時,傳

46、輸距離隨傳輸速率的增加而減小。當(dāng)波特率超過1000 bps 時,最大傳輸距離將迅速下降。4在利用rs-422/rs-485通信的過程如果通信距離(波特率固定)過長,應(yīng)如何處理?答:在波特率一定的情況下,帶負(fù)載數(shù)的多少,與信號能傳輸?shù)淖畲缶嚯x是直接相關(guān)的。在總線允許的范圍內(nèi),帶負(fù)載數(shù)越多,信號能傳輸?shù)木嚯x就越??;帶負(fù)載數(shù)越少,信號能傳輸?shù)木嚯x就越遠(yuǎn)。故應(yīng)減小通信距離或減少負(fù)載數(shù)量。5利用單片機(jī)串行口擴(kuò)展并行輸入接口電路如圖所示。試編寫程序完成將sw1sw8的狀態(tài)反應(yīng)在p0口所接的led上(如sw1閉合時l7應(yīng)點(diǎn)亮)。答:電路圖如下: org 0000h mov scon,#10h loop:clr p1.7 nop nop nop setb p1.7 clr rijnb ri,$mov a,subfsjmp loop end6利用單片機(jī)串行口擴(kuò)展并行輸出接口電路如圖所示。試編寫程序完成將sw1sw8的狀態(tài)反應(yīng)在移位寄存器74ls164所接的led上(如sw1閉合時l0應(yīng)點(diǎn)亮)。答:電路圖如下:org 0000h mov scon,#00h mov p1,#0ffhloop:mov a,p1 mov subf,a jnb ti,$ clr ti sjmp loop end章8 80c51的串行總線擴(kuò)展1 i2c總線的特點(diǎn)是什么?答:a、二線制傳輸。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論