單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第1頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第2頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第3頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第4頁
單片機(jī)原理及接口技術(shù)第二版李全利主編課后答案_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(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ī)由微處理器、存儲器和/0接口電路構(gòu)成。各部分通過地址總線AB、數(shù)據(jù)總線DB和控制總 線(CB相連。4.微處理器與微型計算機(jī)有何區(qū)別?答:微處理器集成了運(yùn)算器和控制器(艮CPU);而微型計算機(jī)包含微處理器、存儲器和/0接口電路等。

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/0 設(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)廠商傾力于提高 80C5單片機(jī)產(chǎn)品的綜合功能,從而形成了30C51的主流產(chǎn)品地位,近年來推出的與30C51兼容的主要產(chǎn)品有: ATMEL公司融入Flash存儲器技術(shù)推出的AT89系列單片機(jī);P hili ps公司推出的80C51 80C552系列高性能單片機(jī);華邦公司推出的W78C51 W77C5係列高速低價單片機(jī);ADI公司推出的AD uC8xx系列高精度ADC單片機(jī);LG

4、公司推出的GMS90/9系列低壓高速單片機(jī);Maxim公司推出的DS89C42(高速(50MIPS單片機(jī);Cyg nal公司推出的C8051F系列高速SOC單片機(jī)等。8.簡述單片機(jī)的開發(fā)過程。答:系統(tǒng)需求分析,硬件方案設(shè)計,軟件編程,仿真調(diào)試,實(shí)際運(yùn)行。9.單片機(jī)應(yīng)用系統(tǒng)開發(fā)方法有哪些新方法?答:在系統(tǒng)編程QSP)技術(shù),在應(yīng)用編程QAP)技術(shù)。章2 80C51 的結(jié)構(gòu)和原理1. 80C51單片機(jī)在功能上、工藝上、程序存儲器的配置上有哪些種類? 答:功能上分為基本型和增強(qiáng)型;進(jìn)位、借位標(biāo)志。有進(jìn)位、借位時CY=1否則CY=0輔助進(jìn)位、借位標(biāo)志(高半字節(jié)與低半字節(jié)間的進(jìn)位或借位); 用戶標(biāo)志位,由

5、用戶自己定義;RS1 RS0當(dāng)前工作寄存器組選擇位;工藝上分為HMOS工藝和CHMOS工藝;在片內(nèi)程序存儲器的配置上有掩膜ROM、EPROM和 Flash無片內(nèi)程序存儲器形式。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ù)緩沖;另外在DH-FFH還配有21個S

6、FR3. 80C5仲片機(jī)的P0P3口在結(jié)構(gòu)上有何不同?在使用上有何特點(diǎn)?答:作為通用I/O 口時,P0 P1、P2和P3都是準(zhǔn)雙向口。P0可以作為地址/數(shù)據(jù)總線,此時是一個真正的雙向口 ;2口可以作為地址線的高8位;P3口是雙功能口,每 條口線還具有不同的第二功能。另外,P0口的驅(qū)動能力為8個TTL負(fù)載,而其它口僅可驅(qū)動4個TTL負(fù)載。4如果80C51單片機(jī)晶振頻率分別為6 MHz 11.0592 MHz 12MHz時,機(jī)器周期分別為多少?答:機(jī)器周期分別為2s, 1.085 s,1So5. 80C51單片機(jī)復(fù)位后的狀態(tài)如何?復(fù)位方法有幾種?答:復(fù)位后,PC內(nèi)容為0000H, P0 口P3 口

7、內(nèi)容為FFH, SP內(nèi)容為07H, SBUF內(nèi)容不定,IP、IE和P CON的 有效位為0,其余的特殊功能寄存器的狀態(tài)均為00H。復(fù)位方法一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù) 位。6. 80C51單片機(jī)的片內(nèi)、片外存儲器如何選擇?答:80C51的EA引腳為訪問片內(nèi)、片外程序存儲器的選擇端。訪問片內(nèi)、片外數(shù)據(jù)存儲器需要采用不同的指令加 以區(qū)分。7. 80C5仲片機(jī)的PSW寄存器各位標(biāo)志的意義如何?答:CYACF0OV溢出標(biāo)志位。有溢出時OV=1否則OV=0P:奇偶標(biāo)志位。存于ACC中的運(yùn)算結(jié)果有奇數(shù)個1時P=1,否則P=08. 80C51單片機(jī)的當(dāng)前工作寄存器組如何選擇?答:當(dāng)前工作寄存

8、器組的選擇由特殊功能寄存器中的程序狀態(tài)字寄存器SW的 RS1 RS0來決定。9. 80C5仲片機(jī)的控制總線信號有哪些?各信號的作用如何?答:RST/VPD復(fù)位信號輸入引腳備用電源輸入引腳;ALE/PROG :地址鎖存允許信號輸出引腳編程脈沖輸入引腳; EA/VPR內(nèi)外存儲器選擇引腳片內(nèi)EPROM或 FlashROM編程電壓輸入引腳;PSEN :外部程序存儲器選通信號 輸出引腳。10. 80C51單片機(jī)的程序存儲器低端的幾個特殊單元的用途如何?答:0000H:單片機(jī)復(fù)位入口地址;0003H外部中斷0的中斷服務(wù)程序入口地址;000BH:定時/計數(shù)器0溢出中 斷服務(wù)程序入口地址;00134外部中斷1

9、的中斷服務(wù)程序入口地址;001BH定時/計數(shù)器1溢出中斷服務(wù)程序入 口地址;0023H串行口的中斷服務(wù)程序入口地址。章380C51的指令系統(tǒng)1. 80C51系列單片機(jī)的指令系統(tǒng)有何特點(diǎn)?答:MOV MOV MOV ADD SETB-74H, 88H -ABH,50H 75H,90H,55H -27H -D2H,12HA, #88H-R3, 50H-PI, #55HA, R112H -執(zhí)行時間短。1個機(jī)器周期指令有64條,2個機(jī)器周期指令有45條,而4個機(jī)器周期指令僅有2條(即乘法和 除法指令);指令編碼字節(jié)少。單字節(jié)的指令有49條,雙字節(jié)的指令有45條,三字節(jié)的指令僅有17條;位操作指令豐富。

10、這是80C51單片機(jī)面向控制特點(diǎn)的重要保證。2. 80C51單片機(jī)有哪幾種尋址方式?各尋址方式所對應(yīng)的寄存器或存儲器空間如何?答:80C51單片機(jī)的尋址方式有七種。即:寄存器尋址、直接尋址、寄存器間接尋址、立即尋址、基址寄存器加變 址寄存器變址尋址、相對尋址和位尋址。這些尋址方式所對應(yīng)的寄存器和存儲空間如下表所示。序號尋址方 式寄存器或存儲空間1奇存器尋址寄存器 R0R7 A、AB、DPTR和C (布爾累加器)2址和片內(nèi)R布爾累加器字節(jié)、SFR3址存器 間接尋 址片內(nèi) RAM (RQ R1, SP) 片外 RAM (RQ R1, DPTR4立即尋址ROM5址址尋址ROM (A+DPTR A+P

11、C)6相對尋址ROM (PC當(dāng)前值的+127一128字節(jié))7位尋址可尋址位(內(nèi)部RAM20H2FH 單元的位和部分SFR的位)3訪問特殊功能寄存器SFR可以采用哪些尋址方式?答:直接尋址和位尋址方式。4訪問內(nèi)部RAM單元可以采用哪些尋址方式?答:直接尋址、寄存器間接尋址和位尋址方式。5訪問外部RAM單元可以采用哪些尋址方式?答:寄存器間接尋址。6訪問外部程序存儲器可以采用哪些尋址方式?答:立即尋址、變址尋址和相對尋址方式。7為什么說布爾處理功能是80C51單片機(jī)的重要特點(diǎn)?答:單片機(jī)指令系統(tǒng)中的布爾指令集、存儲器中的位地址空間與PU中的位操作構(gòu)成了片內(nèi)的布爾功能系統(tǒng),它可 對位(bit)變量進(jìn)

12、行布爾處理,如置位、清零、求補(bǔ)、測試轉(zhuǎn)移及邏輯r、或”等操作。在實(shí)現(xiàn)位操作時,借用 了程序狀態(tài)標(biāo)志器PSW中的進(jìn)位標(biāo)志Cy作為位操作的累加器”8.對于80C52單片機(jī)內(nèi)部RAM還存在高128字節(jié),應(yīng)采用何種方式訪問? 答:寄存器間接尋址方式。9試根據(jù)指令編碼表寫出下列指令的機(jī)器碼。(1)(2)(3)(4)(5)將R0的內(nèi)容傳送到R1;內(nèi)部RAM單元60H的內(nèi)容傳送到寄存器R2;外部RAM單元1000H的內(nèi)容傳送到內(nèi)部RAM單元60H; 外部RAM單元1000H的內(nèi)容傳送到寄存器R2;外部RAM單元1000H的內(nèi)容傳送到外部RAM單元2000H1)MOVA,R0MOVR1,A2)MOVR2,60

13、H3)MOVDPTR,#1000HMOVXA,DPTRMOV60H,A4)MOVDPTR,#1000HMOVXA,DPTRMOVR2,A5)MOVDPTR,#1000HMOVXA,DPTRMOVDPTR,#2000HMOVXDPTR, A1.若(R1)=30H,(A) =40H,(30H) =60H,(40H) =08H。試分析執(zhí)行下列程序段后上述各單元內(nèi)容的變化。MOVMOVMOVMOV答:A,R1 R1,40H 40H,AR1,#7FH40H,#0FHA,R4AR1A,R1A) =2CH40H) =0CHA) =22H,(CY) =1,(AC) =1,(OV) =0A) =8EH20H)

14、=0EH,P=1A) =EFH,(20) =08H10完成某種操作可以采用幾條指令構(gòu)成的指令序列實(shí)現(xiàn),試寫出完成以下每種操作的指令序列。(1)(2)(3)(4)(5) 答:(R1) =7FH(A) =60H(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( 3) ADD( 4) SWAP(5)DEC(6)XCHD答:(1)( 2)( 3)(

15、 4)( 5)( 6)13.若(50H) =40H,試寫出執(zhí)行以下程序段后累加器A、寄存器R0及內(nèi)部RAM的40H、41H、42H單元中 的內(nèi)容各為多少?MOV A,50HMOV R0,AMOV A,#00HMOVMOVMOVMOV答:R0, A A, #3BH 41H, A42H, 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)( 2)(

16、 3)15.SETBANLANL 試編寫程序,ACC.0A,#0FHA,#87H將內(nèi)部RAM的20H、21H、22H三個連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH單元。MOVMOVMOV 試編寫程序,2FH,2EH,2DH,16.元存差的高8位,31H單元存差的低8位。答:CLRMOVMOVMOVMOVCY30H,31H,R0,20H21H22H完成兩個16位數(shù)的減法:7F4DHk2B4EH結(jié)果存入內(nèi)部RAM的30H和31H單元,30H單#7FH#4DH #31H A,R0SUBB A , #4EMOV R0, ADEC R0MOV A, R0SUBB A, #2BHMOV R0, A;保存

17、低字節(jié)相減結(jié)果;保存高字節(jié)相減結(jié)果17試編寫程序,答:MOVANLORL18.試編寫程序,將內(nèi)部RAM的20H、21H單元的兩個無符號數(shù)相乘,結(jié)果存放祀2、R3中,R2中存放高8 位, R3中存放低8位。將R1中的低4位數(shù)與R2中的高4位數(shù)合并成一個8位數(shù),并將其存放在R1中。A, R2A, #0F0HR1, A答:MOVA, 20HMOVB, 21HMULABMOVR3, AMOVR2, B19若(CY) =1,(P1 =10100011B (P3 =01101100B試指出執(zhí)行下列程序段后,CY、P1 口及P3口內(nèi)容的變化情況。MOV P1.3,CMOV P1.4,C答:C,P1.6P3.

18、6,CC,P1.0P3.4,C無分支、無循環(huán)結(jié)構(gòu)的程序,其執(zhí)行流程是依指令在存儲器中的存放順序進(jìn)行的; 可以改變程序的執(zhí)行順序; 按某種控制規(guī)律重復(fù)執(zhí)行的程序,控制一部分指令重復(fù)執(zhí)行若干次,以便用簡短的程序完成大量的MOVMOVMOVMOV 答:(CY)=1, (P1)=10111011,B (P3)=00111100B章 4 80C51 的匯編語言程序設(shè)計1. 80C51單片機(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)知。但它與高級語言相

19、比移植性不好、編程復(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)。然后對系統(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í)行的邏輯順序,

20、用圖形符號將程序流程繪制在平面圖上。應(yīng)用程序的功能通??梢苑譃槿舾刹糠?,用流程圖將 具有一定功能的各部分有機(jī)地聯(lián)系起來。流程圖可以分為總流程圖和局部流程圖??偭鞒虉D側(cè)重反映程序的邏輯結(jié)構(gòu)和各程序模塊之間的相互關(guān)系;局 部流程圖反映程序模塊的具體實(shí)施細(xì)節(jié)。3.常用的程序結(jié)構(gòu)有哪幾種?特點(diǎn)如何?答:順序程序:分支程序:循環(huán)程序:處理任務(wù)。4.子程序調(diào)用時,參數(shù)的傳遞方法有哪幾種?答:利用累加器或寄存器;利用存儲器;利用堆棧。5.什么是偽指令?常用的偽指令功能如何?答: 偽指令是匯編程序能夠識別并對匯編過程進(jìn)行某種控制的匯編命令。常用的偽指令包括:ORG,功能是向匯編程序說明下面緊接的程序段或數(shù)據(jù)段

21、存放的起始地址;END,功能是結(jié)束匯編;DB,功能是從標(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ù)相加的程序(采用大端模式存儲。)答:程序如下:0000H R0, 21H R1, 23H A,R0 A,R1 25H,A R0 R1 A,R060H61H)。A,R1A,R76

22、1H,AA,R0ORGMOVMOVMOVADDMOVDECDECMOVADDC A,R1MOV 24H,ASJMP $END7.編寫程序,把外部RAM中1OOOH1O1FH勺內(nèi)容傳送到內(nèi)部RAM的30H4FH中。 答:ORG OOOOHMOV DPTR,#1OOOHMOV RO,#3OHMOV R7,#32 LOOP:MOVX A,DPTRMOV RO,AINC ROINC DPTRDJNZ R7,LOOPRET8編寫程序,實(shí)現(xiàn)雙字節(jié)無符號數(shù)加法運(yùn)算,要求(R0R1) + (R6R7 答:ORG 0000HMOVADDMOVMOVADDC A,R6MOV 60H,ASJMP $END9.若80

23、C51的晶振頻率為6MHz,試計算延時子程序的延時時間。DELAY:MOV R7,#0F6HLP:MOV R6,#0FAHDJNZ R6,$DJNZ R7,LPRET答:延時時間:2 *1+( (1+2*250+2 *246)+2+2=0.247486秒(含調(diào)用指令2個機(jī)器周期)10.在內(nèi)部RAM的30H37H單元存有一組單字節(jié)無符號數(shù)。要求找出最大數(shù)存;BIG單元。試編寫程序?qū)?現(xiàn)。答:ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BH52H,#051H,#050H,#0A,#0FDhSTART:MOV R7,#7; 比較次數(shù)MOV R0,#30H L

24、OOP:MOV A,R0MOV ONE,AINC R0MOV TWO,R0CLR CSUBB A,R0JC NEXT ;ONE 小, TW大繼續(xù)比下一對數(shù)MOV R0,ONE ;ONE 大放后面(交換)DEC R0MOV R0,TWO ;TWO 小放前面INC R0 ;NEXT:DJNZ R7,LOOPMOV BIG,37HSJMP $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 0MOVMOVMOVMOV

25、LCALL DCDTHSJMP $DCDTH:MOV R7,#8MOV R0,A ;暫存于 R0LOOP:CLR CMOV A,R0RLC AMOV R0,AMOV R1,#51H;MOV A,R1 ;ADDC A,R1 ;DA A ;MOV R1,A ;DEC R1MOV A,R1ADDC A,R1DA AMOV R1,ADJNZ R7,LOOPINC R1 ;50H 已是結(jié)果,R1指向51H 51H單元需拆分MOV A,#00HXCHD A,R1MOV 52H,ACA, #0AH ACC LOOPA, #07HA, #30H30H0000HSTART0100HSP,#5FHMOV A,R1

26、SWAP AMOV R1,ARETEND12.編寫子程序,將R1中的2個十六進(jìn)制數(shù)轉(zhuǎn)換為ASCII碼后存放在R3和R4中。 答:ORG 0MOV R1,#5BHMOV A,R1ANLA,#0F0HSWAPAACALLASCIIMOVR3,AMOVA,R1ANLA, #0FHACALLASCIIMOVR4, ASJMP$ASCII:PUSH ACCCLRSUBBPOPJCADDLOOP: ADDRET END13.編寫程序,求內(nèi)部RAM中50H59H十個單元內(nèi)容的平均值,并存放在5AH單元。 答:ORG0000HMOVR7,#10MOVR0,#50HMOVB,#10CLRCCLRALOOP:AD

27、DC A,R0INC R0DJNZ R7,LOOPDIV ABMOV 5AH,ASJMP $END14.如圖4.10所示,編制程序?qū)崿F(xiàn):上電后顯示P”,有鍵按下時顯示相應(yīng)的鍵號0” - “7”。 答:實(shí)現(xiàn)程序如下:TEMP EQUORGJMPORGSTART:MOVMOV P 0,#8CHMOVCLRNOKEY:MOVCPL AJZ NOKEYMOVCALLMOVCJNEP3,#0FFHCYA,P3正序顯示P輸入方式無鍵按下 有鍵按下TEMP,P3D10msA,P3A,TE MP,N OKEY 去抖動鍵號計數(shù)器復(fù)位MOV R2,#0MOV A,TE MPLP:RRC AJNC DONEINC

28、R2 SJMP LPDONE:MOV A,R2MOV DP TR,#CODE _P0MOVC A,A+D PTRMOV P 0,AJMP NOKEYD10ms:MOV R5,#10;10MSD1ms:MOV R4,#249DL:N OPNOPDJNZ R4,DLDJNZ R5,D1msRETCODE_P0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90H,88H,83H,0C6H,0A1H,86H,8EHEND章5 80C51的中斷系統(tǒng)及定時計數(shù)器1.80C51有幾個中斷源?各中斷標(biāo)志是如何產(chǎn)生的?又是如何復(fù)位的CPU響應(yīng)各中斷時,其中斷入口地

29、址 是多少?答:5個中斷源,分別為外中斷NT0和INT 1、T0和T1溢出中斷、串口中斷。電平方式觸發(fā)的外中斷標(biāo)志與引腳信號一致;邊沿方式觸發(fā)的外中斷響應(yīng)中斷后由硬件自動復(fù)位。T0和T1, CPU響應(yīng)中斷時,由硬件自動復(fù)位。RI和TI,由硬件置位。必須由軟件復(fù)位。另外,所有能產(chǎn)生中斷的標(biāo)志位均可由軟件置位或復(fù)位。各中斷入口地址:INTO 0003” T0000BH, INT 10013” T1001BH RI 和 TI0023H2.某系統(tǒng)有三個外部中斷源1、2、3,當(dāng)某一中斷源變低電平時便要求CPU處理,它們的優(yōu)先處理次序由高 到低為3、2、1,處理程序的入口地址分別為2000H 2100H

30、2200H試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的 入口即可)。答:將3個中斷信號經(jīng)電阻線或,接N1。ORG0000HLJMPMAINORG00013HLJMPZDFZORG0040HEX1 $0200H13位計數(shù)器;16位計數(shù)器; 具有自動重裝初值功能的8位計數(shù)器;TO分為兩個獨(dú)立的8位計數(shù)器,T1停止工作。MAIN SETB EA SETB SJMP0RGZDFZ:P USH PSW PUSH ACC JB P 1.0,DV0 JB P 1.1,DV1 JB P 1.2,DV2 INRET:POP ACCPOP PSW3.外部中斷源有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式,這兩種觸發(fā)方式所產(chǎn)生的中斷

31、過程有何不同?怎樣設(shè) 定?答:當(dāng)IT0=0時,INT0為電平觸發(fā)方式。電平觸發(fā)方式時CPU在每個機(jī)器周期的S5P2采樣INT0引腳電平,當(dāng)采 樣到低電平時,置E0=1向CPU請求中斷;采樣到高電平時,將E0清0。在電平觸發(fā)方式下,CPU響應(yīng)中斷時, 不能自動清除IE0標(biāo)志。電平觸發(fā)方式時,外部中斷源的有效低電平必須保持到請求獲得響應(yīng)時為止,不然就會漏掉;在中斷服務(wù)結(jié)束 之前,中斷源的有效的低電平必須撤除,否則中斷返回之后將再次產(chǎn)生中斷該方式適合于外部中斷輸入為低電平, 且在中斷服務(wù)程序中能清除外部中斷請求源的情況。當(dāng)IT0=1時,麗為邊沿觸發(fā)方式。邊沿觸發(fā)方式時,CPU在每個機(jī)器周期的S5P2

32、采樣INT0引腳電平,女口 果在連續(xù)的兩個機(jī)器周期檢測至麗引腳由高電平變?yōu)榈碗娖?,即第一個周期采樣到T0=1,第二個周期采樣到 而=0,則置IE0=1,產(chǎn)生中斷請求。在邊沿觸發(fā)方式下,CPU響應(yīng)中斷時,能由硬件自動清除E0標(biāo)志。邊沿觸發(fā)方式時,在相繼兩次采樣中,先采樣到外部中斷輸入為高電平,下一個周期采樣到為低電平,則在 IE0或IE1中將鎖存一個邏輯1。若CPU暫時不能響應(yīng),中斷申請標(biāo)志也不會丟失,直到CPU響應(yīng)此中斷時才清0。 另外,為了保證下降沿能夠被可靠地采樣到,而和麗引腳上的負(fù)脈沖寬度至少要保持一個機(jī)器周期(若晶振 頻率為12MHz為1微秒)。邊沿觸發(fā)方式適合于以負(fù)脈沖形式輸入的外部

33、中斷請求。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ù)脈沖由或 T1引腳輸入到計數(shù)器。在每個機(jī)器周期的35P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下 一周期又采樣到一低電平時,則計數(shù)器加,更新的計數(shù)值在下一個機(jī)器周期的53P1期間裝入計數(shù)器。相同點(diǎn):它們的工作原理相同,它們都有4種工作方式,由TMOD中的M1M0設(shè)定,即方式0:方式1:方式2:

34、方式3:RETIORG2000HJMPINRETORG1:2100HJMPINRETORG2200HJMPINRETDVO:DV2: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ù)初值計算的公式為:X =213-N方式1的計數(shù)位數(shù)是16位,由TL0作為低8位、TH0作為高8位,組成了 16位加1計數(shù)器。計數(shù)個數(shù)與計數(shù) 初值的關(guān)系為:X = 216-N方式2為自動重裝初值的8位計數(shù)方式。TH0為8位初值寄存器。當(dāng)rL0計滿

35、溢出時,由硬件使TF。置1,向 CPU發(fā)出中斷請求,并將TH0中的計數(shù)初值自動送入TL0。TL0從初值重新進(jìn)行加1計數(shù)。周而復(fù)始,直至TR0=0 才會停止。計數(shù)個數(shù)與計數(shù)初值的關(guān)系為:X = 28 N方式3只適用于定時計數(shù)器T0,定時器T1處于方式3時相當(dāng)于TR1=0,停止計數(shù)。方式3時,T0分成為兩 個獨(dú)立的8位計數(shù)器TL0和TH0, TL0使用T0的所有控制位。當(dāng)TL0計數(shù)溢出時,由硬件使TF0置1,向CPU 發(fā)出中斷請求。而TH0固定為定時方式(不能進(jìn)行外部計數(shù))并且借用了T1的控制位TR1、TF1。因此,TH0的 啟、停受TR1控制,TH0的溢出將置位TF1。6.要求定時/計數(shù)器的運(yùn)行

36、控制完全由TR1、TR0確定和完全由麗、斤1高低電平控制時,其初始化編程應(yīng) 作何處理?答:TMOD中GATE的值不同:完全由TR1、TR0確定時GATE為0;完全由麗、肝1高低電平控制時 GATE 為 1。7.當(dāng)定時/計數(shù)器T0用作方式3時,定時/計數(shù)器T1可以工作在何種方式下?如何控制T1的開啟和關(guān)閉? 答:T0用作方式3時,T1可以工作在方式0、1和2。T1的開啟由TR1控制,即TR1=1時,T1開始工作;TR1=0時或者定時/計數(shù)器工作在方式3時,T1停止工作。8.利用定時/計數(shù)器T0從P1.0俞出周期為1s,脈寬為20ms的正脈沖信號,晶振頻率為2MHz,試設(shè)計程序。 答:采用定時20

37、ms然后再計數(shù)1、49次的方法實(shí)現(xiàn)。a T0工作在定時方式1時,控制字TMOD配置:M1M0=01 , GATE=0C/亍=0,可取方式控制字為01Hb計算計數(shù)初值X:晶振為12 MHz所以機(jī)器周期Tcy為1 “NM/ Tcy =20X10/1 X106=20000X =216N = 65536- 20000=45536= 4E20H 即應(yīng)將4EH送入TH1中,20H送入TL1中。c、實(shí)現(xiàn)程序如下:0000HMAIN跳轉(zhuǎn)到主程序ORGMAIN:MOV TMOD,#01H MOV TH0,# 4EH ; MOV TL0,#20H;LP 0:SETB P 1.0ACALL NT0 CLR P 1.

38、0 MOV R7,#49;LP 1:ACALL NT0DJNZ R7,L P1AJMP LP0NT0:MOV TH0,# 4EH0030H;設(shè)T1工作于方式2 裝入循環(huán)計數(shù)初值 首次計數(shù)值計數(shù)49次ORG AJMPMOVTL0,#20HSETBTR0JNBTF0,$CLRTR0CLRTF0RETEND9.要求從P1.1引腳輸出1000Hz方波,晶振頻率為12MHz試設(shè)計程序。 答:采用T0實(shí)現(xiàn)a、T0工作在定時方式1時,控制字TMO配置:M1M0=01,GATE=0C/T=0,可取方式控制字為01Hb計算計數(shù)初值X:_3晶振為12 MHz所以機(jī)器周期Tcy為1八1/1000=1X10 NM/

39、Tcy =0.5 X0_/1 X06=500X =216_N =65536-500= 65036=FE0CH 即應(yīng)將FEH送入TH0中, 0CH送入TL0中。c、實(shí)現(xiàn)程序如下:ORG 0000HAJMPORGLJMPORGMAIN 000BH DVT0 0030H;T0跳轉(zhuǎn)到主程序的中斷入口地址MAIN:MOV TMOD,#01HMOVMOVSETBSETBSETBSJMPTH0,# 0FEHTL0,#0CH ET0EATR0$;T0;CPU設(shè)T0工作于方式2 ;裝入循環(huán)計數(shù)初值 首次計數(shù)值 開中斷 開中斷啟動T0等待中斷TH0,#TL0,#TR00FEH0CHDVT0:C PL P 1.1M

40、OVMOVSETBRETIEND10.試用定時/計數(shù)器T1對外部事件計數(shù)。要求每計數(shù)100就將T1改成定時方式,控制P 1.7輸出一個脈寬 為10ms的正脈沖,然后又轉(zhuǎn)為計數(shù)方式,如此反復(fù)循環(huán)。設(shè)晶振頻率為2MHz。答:a、T1工作在計數(shù)方式2時,控制字TMOD配置: M1M0=10 , GATE=0C/T=1,可取方式控制字為60HT1工作在定時方式1時,控制字TMOD配置:M1M0=01 , GATE=0C/T=0,可取方式控制字為10Hb計算初值X:定時10mS寸:晶振為12 MHz所以機(jī)器周期Tcy為1八N=t/ Tcy = 10X0_/1 X06= 10000 X =216_N =

41、65536-1000=5553= D8F0D8F0H即應(yīng)將D8H送入TH1中,F(xiàn)0H送入TL1中。 計數(shù)100時:N=100X = 28-N=256-100=156=9C9CHc、實(shí)現(xiàn)程序如下:ORGAJMPORGLJMPORG0000HMAIN 001BH DVT1 0030H;T1跳轉(zhuǎn)到主程序的中斷入口地址MAIN:MOV TMOD,#60HMOV TH1,#9CH ;MOV TL1,#9CH ;CLR P 1.7SETBSETBSETBSJMP;T1工作于計數(shù)方式2 裝入計數(shù)初值ET1 EATR1 $;T1;CPU開中斷開中斷啟動T1等待中斷DVT1:SETB P 1.7CLRCLRMO

42、VMOVMOVSETBJNBCLRCLRCLRMOVMOVMOVSETBSETBRETIENDET1TR1TMOD,#10HTH1,#0D8HTL1,#0F0HTR1TF1,$;TF1TR1P 1.7TMOD,#60HTH1,#9CH TL1,#9CH ET1;T1TR1;T1工作于定時方式1裝初值查詢等待10ms;T1工作于計數(shù)方式2裝初值開中斷啟動T1跳轉(zhuǎn)到主程序11.利用定時/計數(shù)器T0產(chǎn)生定時時鐘由P1 口控制8個指示燈。編一個程序使8個指示燈依次閃動,閃動頻 率為1 次/秒 (即,亮1秒后熄滅并點(diǎn)亮下一個,-)。答:采用定時20ms計數(shù)50次實(shí)現(xiàn)1秒定時。編制1秒延時子程序,由主程序

43、調(diào)用。a T0工作在定時方式1時,控制字TMOD配置:M1M0=01,GATE=0C/T=0,可取方式控制字為01Hb計算計數(shù)初值X:晶振為12 MHz所以機(jī)器周期Tcy為1 s。3 6NM/ Tcy =20X10-/1 X10 =20000X =216-N = 65536- 2000=4553= 4E20H即應(yīng)將4EH送入TH1中,20H送入TL1中。c、實(shí)現(xiàn)程序如下:ORG 0000HAJMP MAINORG 0030HMAIN:CLR CYTL0,#20HTR0TF0,$TR0TF0R7,DL1. 80C51單片機(jī)串行口有幾種工作方式?如何選擇?簡述其特點(diǎn)?答:四種工作方式,由SCON中

44、的SM0、SM1進(jìn)行定義: 同步移位寄存器的輸入輸出方式,主要用于擴(kuò)展并行輸入或輸出口,波特率固定。 10位數(shù)據(jù)的異步通信口,波特率可變。 11位數(shù)據(jù)的異步通信口,波特率固定。11位數(shù)據(jù)的異步通信口,波特率可變。MOV A,#01HLP0:MOV P1,A CALL D1SEC RL A AJMP LP0D1SEC:MOV R7,#50 ; 計數(shù)50 次 MOV TMOD,#01HDL:MOV TH0,#4EH MOV SETB JNB CLR CLR DJNZ RET END章 6 80C51 的串行口方式 0:方式 1 :方式 2:方式 3:2.串行通信的接口標(biāo)準(zhǔn)有那幾種? 答:RS-23

45、2C接 口、RS-422A接 口、RS-485接 口3.在串行通信中通信速率與傳輸距離之間的關(guān)系如何? 答:最大距離與傳輸速率及傳輸線的電氣特性有關(guān)。當(dāng)傳輸線使用每3m(約1 ft)有50PF電容的非平衡屏蔽雙絞線時,傳輸距離隨傳輸速率的增加而減小。當(dāng)波特率超過000 bps時,最大傳輸距離將迅速下降。4在利用RS-422/RS-48通信的過程如果通信距離(波特率固定)過長,應(yīng)如何處理? 答: 在波特率一定的情況下,帶負(fù)載數(shù)的多少,與信號能傳輸?shù)淖畲缶嚯x是直接相關(guān)的。在總線允許的范圍內(nèi), 帶負(fù)載數(shù)越多,信號能傳輸?shù)木嚯x就越??;帶負(fù)載數(shù)越少,信號能傳輸?shù)木嚯x就越遠(yuǎn)。故應(yīng)減小通信距離或減少負(fù) 載數(shù)

46、量。5利用單片機(jī)串行口擴(kuò)展并行輸入接口電路如圖所示。試編寫程序完成將W1SW8的狀態(tài)反應(yīng)在P0 口所 接的LED上(如SW1閉合時L7應(yīng)點(diǎn)亮)。答:電路圖如下:ORGMOVMOVLOOP:MOV0000H SCON,#00H P1,#0FFHA,P1ORG 0000HMOV SCON,#10HLOOP:CLR P 1.7NOPNOPNOPSETB P 1.7CLR RIJNB RI,$MOV A,SUBFSJMP LOOPEND6.利用單片機(jī)串行口擴(kuò)展并行輸出接口電路如圖所示。試編寫程序完成將W1SW8的狀態(tài)反應(yīng)在移位寄存 器74LS164所接的LED上(如SW1閉合時L0應(yīng)點(diǎn)亮)。答:電路圖

47、如下:MOV SUBF,AJNB Tl,$CLR TISJMP LOOPEND章8 80C51的串行總線擴(kuò)展SCLSDA起始信號S1.I2C總線的特點(diǎn)是什么?答:a二線制傳輸。器件引腳少,器件間連接簡單,電路板體積減小,可靠性提高。b、傳輸速率高標(biāo)準(zhǔn)模式傳輸速率為100Kb/s快速模式為400Kb/s高速模式為3.4Mb/sc支持主從和多主兩種工作方式2、I2C總線的起始信號和終止信號是如何定義的?答: SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由 低電平向高電平的變化表刁終止信號。起始和終止信號如圖所示。3、I2C總線的數(shù)據(jù)傳送方向如何控

48、制?答:在主機(jī)發(fā)出起始信號后要再傳輸1個控制字節(jié):7位從器件地址,1位傳輸方向控制位(用0”表示主機(jī)發(fā) 送數(shù)據(jù),“T表示主機(jī)接收數(shù)據(jù))。4、具備I2C總線接口的E2PRO M芯片有哪幾種型號?容量如何?答:典型產(chǎn)品如ATMEL公司的AT24C系列:型號容量AT24C01A 128AT24C02256AT24C04512AT24C08A 1KAT24C16A 2KAT24C32A 4KAT24C64A 8KAT24C128B 16KAT24C256B 32KAT24C512B 64K5、AT24C系列芯片的讀寫格式如何?答:a寫操作過程對AT24C02寫入時,單片機(jī)發(fā)出起始信號之后再發(fā)送的是控制

49、字節(jié),然后釋放DA線并在SCL線上產(chǎn)生第 9個時鐘信號。被選中的存儲器器件在確認(rèn)是自己的地址后,在DA線上產(chǎn)生一個應(yīng)答信號,單片機(jī)收到應(yīng)答后就 可以傳送數(shù)據(jù)了。傳送數(shù)據(jù)時,單片機(jī)首先發(fā)送一個字節(jié)的預(yù)寫入存儲單元的首地址,收到正確的應(yīng)答后,單片機(jī)就逐個發(fā)送 各數(shù)據(jù)字節(jié),但每發(fā)送一個字節(jié)后都要等待應(yīng)答。單片機(jī)發(fā)出停止信PI后,啟動AT24C02的內(nèi)部寫周期,完成數(shù) 據(jù)寫入工作(約10ms內(nèi)結(jié)束)。AT24C02片內(nèi)地址指針在接收到每一個數(shù)據(jù)字節(jié)后自動加,在芯片的“一次裝載字節(jié)數(shù)”頁面字節(jié)數(shù))限 度內(nèi),只需輸入首地址。裝載字節(jié)數(shù)超過芯片的“一次裝載字節(jié)數(shù)”時,數(shù)據(jù)地址將“上卷”前面的數(shù)據(jù)將被覆 蓋。

50、要寫入的數(shù)據(jù)傳送完后,單片機(jī)應(yīng)發(fā)出終止信號以結(jié)束寫入操作。寫入個字節(jié)數(shù)據(jù)格式如下:S寫控制字 節(jié)寫入首地址Data 1 A.Data n A Pb、讀操作過程對AT24C02賣出時,單片機(jī)也要發(fā)送該器件的控制字節(jié)“偽寫”,發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生 第9個時鐘信號,被選中的存儲器在確認(rèn)是自己的地址后,在DA線上產(chǎn)生一個應(yīng)答信號作為響應(yīng)。終止信號Pa、b、c、2.答:a、b、c、d、3.答:然后,單片機(jī)再發(fā)送一個字節(jié)的要讀出器件的存儲區(qū)的首地址,收到器件的應(yīng)答后,單片機(jī)要重復(fù)一次起始 信號并發(fā)出器件地址和讀方向位(1”,收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個字節(jié),單片機(jī)都要回復(fù) 應(yīng)答信號。當(dāng)最后一個字節(jié)數(shù)據(jù)讀完后,單片機(jī)應(yīng)返回以“非應(yīng)答”高電平),并發(fā)出終止信號以結(jié)束讀出操作。讀出n個字節(jié)的數(shù)據(jù)格式如下圖所示:S偽寫控制A讀出首:地S讀控制字節(jié))ata 1A Data nAP6、SPI接口線有哪幾個?作用任何?答:實(shí)際的SPI器件種類繁多,時序也可能不同,但通常配有4個SPI引腳:SCK:時鐘端;SI (或MOSI):從器件串行數(shù)據(jù)輸入端;SO (或MISO):從器件串行數(shù)據(jù)輸出端;CS (或SS):從器件片選端。7、請說明SPI數(shù)據(jù)傳輸?shù)幕具^程。答:單片機(jī)讀(從器件輸出)操作時,祀S有效的情況下,SCK的下降沿時從器件將數(shù)據(jù)

溫馨提示

  • 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

提交評論