片機原理 課后答案
《片機原理 課后答案》由會員分享,可在線閱讀,更多相關(guān)《片機原理 課后答案(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、章1 緒 論 1.第一臺計算機的問世有何意義? 答: 第一臺電子數(shù)字計算機ENIAC問世,標志著計算機時代的到來。與現(xiàn)代的計算機相比,ENIAC有許多不足,但它的問世開創(chuàng)了計算機科學技術(shù)的新紀元,對人類的生產(chǎn)和生活方式產(chǎn)生了巨大的影響。 2.計算機由哪幾部分組成? 答: 由運算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備組成,運算器與控制器合稱為CPU。 3.微型計算機由哪幾部分構(gòu)成? 答: 微型計算機由微處理器、存儲器和I/O接口電路構(gòu)成。各部分通過地址總線(AB)、數(shù)據(jù)總線(DB)和控制總線(CB)相連。 4.微處理器與微型計算機有何區(qū)別? 答: 微處理器集成
2、了運算器和控制器(即CPU);而微型計算機包含微處理器、存儲器和I/O接口電路等。 5.什么叫單片機?其主要特點有哪些? 答: 在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構(gòu)成了單芯片微型計算機,即單片機。單片機主要特點有:控制性能和可靠性高;體積小、價格低、易于產(chǎn)品化;具有良好的性能價格比。。 6.微型計算機有哪些應(yīng)用形式?各適于什么場合? 答: 微型計算機有三種應(yīng)用形式:多板機(系統(tǒng)機)、單板機和單片機。 多板機,通常作為辦公或家庭的事務(wù)處理及科學計算,屬于通用計算機。 單板機,I/O設(shè)備簡單,軟件資源少,使用不方便。早期主要用于微型計算機原理的教學及簡
3、單的測控系統(tǒng),現(xiàn)在已很少使用。 單片機,單片機體積小、價格低、可靠性高,其非凡的嵌入式應(yīng)用形態(tài)對于滿足嵌入式應(yīng)用需求具有獨特的優(yōu)勢。目前,單片機應(yīng)用技術(shù)已經(jīng)成為電子應(yīng)用系統(tǒng)設(shè)計的最為常用技術(shù)手段。 7.當前單片機的主要產(chǎn)品有哪些?各有何特點? 答: 多年來的應(yīng)用實踐已經(jīng)證明,80C51的系統(tǒng)結(jié)構(gòu)合理、技術(shù)成熟。因此,許多單片機芯片生產(chǎn)廠商傾力于提高80C51單片機產(chǎn)品的綜合功能,從而形成了80C51的主流產(chǎn)品地位,近年來推出的與80C51兼容的主要產(chǎn)品有: l ATMEL公司融入Flash存儲器技術(shù)推出的AT89系列單片機; l Philips公司推出的80C51、80C552系列
4、高性能單片機; l 華邦公司推出的 W78C51、W77C51系列高速低價單片機; l ADI公司推出的ADμC8xx系列高精度ADC單片機; l LG公司推出的GMS90/97系列低壓高速單片機; l Maxim公司推出的DS89C420高速(50MIPS)單片機; l Cygnal公司推出的C8051F系列高速SOC單片機等。 8.簡述單片機的開發(fā)過程。 答: 系統(tǒng)需求分析,硬件方案設(shè)計,軟件編程,仿真調(diào)試,實際運行。 9.單片機應(yīng)用系統(tǒng)開發(fā)方法有哪些新方法? 答: 在系統(tǒng)編程(ISP)技術(shù),在應(yīng)用編程(IAP)技術(shù)。 章2 80C51的結(jié)構(gòu)和原理
5、 1.80C51單片機在功能上、工藝上、程序存儲器的配置上有哪些種類? 答: 功能上分為基本型和增強型; 工藝上分為HMOS工藝和CHMOS工藝; 在片內(nèi)程序存儲器的配置上有掩膜ROM、EPROM和Flash、無片內(nèi)程序存儲器形式。 2. 80C51單片機的存儲器的組織采用何種結(jié)構(gòu)?存儲器地址空間如何劃分?各地址空間的地址范圍和容量如何?在使用上有何特點? 答: 采用哈佛結(jié)構(gòu),在物理上設(shè)計成程序存儲器和數(shù)據(jù)存儲器兩個獨立的空間;80C51基本型單片機片內(nèi)程序存儲器為4KB,地址范圍是0000H-0FFFH,用于存放程序或常數(shù);片內(nèi)數(shù)據(jù)存儲器為128字節(jié)RAM,地址范圍是00H
6、-7FH,用于存放運算的中間結(jié)果、暫存數(shù)據(jù)和數(shù)據(jù)緩沖;另外在80H-FFH還配有21個SFR。 3.80C51單片機的P0~P3口在結(jié)構(gòu)上有何不同?在使用上有何特點? 答: 作為通用I/O口時,P0、P1、P2和P3都是準雙向口。 P0可以作為地址/數(shù)據(jù)總線,此時是一個真正的雙向口;P2口可以作為地址線的高8位;P3口是雙功能口,每條口線還具有不同的第二功能。 另外,P0口的驅(qū)動能力為8個TTL負載,而其它口僅可驅(qū)動4個TTL負載。 4.如果80C51單片機晶振頻率分別為6 MHz、11.0592 MHz、12MHz時,機器周期分別為多少? 答: 機器周期分別為2μs,1.0
7、85μs,1μs。 5.80C51單片機復(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ù)位。 6.80C51單片機的片內(nèi)、片外存儲器如何選擇? 答: 80C51的引腳為訪問片內(nèi)、片外程序存儲器的選擇端。訪問片內(nèi)、片外數(shù)據(jù)存儲器需要采用不同的指令加以區(qū)分。 7.80C51單片機的PSW寄存器各位標志的意義如何? 答: CY:進位、借位標志。有進位、借位時 CY=1,否則
8、CY=0; AC:輔助進位、借位標志(高半字節(jié)與低半字節(jié)間的進位或借位); F0:用戶標志位,由用戶自己定義; RS1、RS0:當前工作寄存器組選擇位; OV:溢出標志位。有溢出時OV=1,否則OV=0; P:奇偶標志位。存于ACC中的運算結(jié)果有奇數(shù)個1時P=1,否則P=0。 8. 80C51單片機的當前工作寄存器組如何選擇? 答: 當前工作寄存器組的選擇由特殊功能寄存器中的程序狀態(tài)字寄存器PSW的RS1、RS0 來決定。 9.80C51單片機的控制總線信號有哪些?各信號的作用如何? 答: RST/VPD:復(fù)位信號輸入引腳/備用電源輸入引腳;ALE/:地址鎖存允許信號輸出
9、引腳/編程脈沖輸入引腳;/VPP:內(nèi)外存儲器選擇引腳/片內(nèi)EPROM(或FlashROM)編程電壓輸入引腳;:外部程序存儲器選通信號輸出引腳。 10.80C51單片機的程序存儲器低端的幾個特殊單元的用途如何? 答: 0000H:單片機復(fù)位入口地址;0003H:外部中斷0的中斷服務(wù)程序入口地址;000BH:定時/計數(shù)器0溢出中斷服務(wù)程序入口地址;0013H:外部中斷1的中斷服務(wù)程序入口地址;001BH:定時/計數(shù)器1溢出中斷服務(wù)程序入口地址;0023H:串行口的中斷服務(wù)程序入口地址。 章3 80C51的指令系統(tǒng) 1.80C51系列單片機的指令系統(tǒng)有何特點? 答: 執(zhí)行時間短
10、。1個機器周期指令有64條,2個機器周期指令有45條,而4個機器周期指令僅有2條(即乘法和除法指令); 指令編碼字節(jié)少。單字節(jié)的指令有49條,雙字節(jié)的指令有45條,三字節(jié)的指令僅有17條; 位操作指令豐富。這是80C51單片機面向控制特點的重要保證。 2.80C51單片機有哪幾種尋址方式?各尋址方式所對應(yīng)的寄存器或存儲器空間如何? 答: 80C51單片機的尋址方式有七種。即:寄存器尋址、直接尋址、寄存器間接尋址、立即尋址、基址寄存器加變址寄存器變址尋址、相對尋址和位尋址。 這些尋址方式所對應(yīng)的寄存器和存儲空間如下表所示。 序號 尋址方式 寄存器或存儲空間 1 寄存器尋址
11、 寄存器R0~R7,A、AB、DPTR和C(布爾累加器) 2 直接尋址 片內(nèi)RAM低128字節(jié)、SFR 3 寄存器間接尋址 片內(nèi)RAM(@R0,@R1,SP) 片外RAM(@R0,@R1,@DPTR) 4 立即尋址 ROM 5 變址尋址 ROM(@A+DPTR,@A+PC) 6 相對尋址 ROM(PC當前值的+127~-128字節(jié)) 7 位尋址 可尋址位(內(nèi)部RAM20H~2FH單元的位和部分SFR的位) 3.訪問特殊功能寄存器SFR可以采用哪些尋址方式? 答: 直接尋址和位尋址方式。 4.訪問內(nèi)部RAM單元可以采用哪些尋址方式? 答: 直
12、接尋址、寄存器間接尋址和位尋址方式。 5.訪問外部RAM單元可以采用哪些尋址方式? 答: 寄存器間接尋址。 6.訪問外部程序存儲器可以采用哪些尋址方式? 答: 立即尋址、變址尋址和相對尋址方式。 7.為什么說布爾處理功能是80C51單片機的重要特點? 答: 單片機指令系統(tǒng)中的布爾指令集、存儲器中的位地址空間與CPU中的位操作構(gòu)成了片內(nèi)的布爾功能系統(tǒng),它可對位(bit)變量進行布爾處理,如置位、清零、求補、測試轉(zhuǎn)移及邏輯“與”、“或”等操作。在實現(xiàn)位操作時,借用了程序狀態(tài)標志器(PSW)中的進位標志Cy作為位操作的“累加器”。 8.對于80C52單片機內(nèi)部RAM還存在高12
13、8字節(jié),應(yīng)采用何種方式訪問? 答: 寄存器間接尋址方式。 9.試根據(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,12H 10.完成某種操作可以采用幾條指令構(gòu)成的指令序列實現(xiàn),試寫出完成以下每
14、種操作的指令序列。 (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單元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
15、MOVX A,@DPTR MOV R2,A (5)MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#2000H MOVX @DPTR, A 11.若(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 (30H)=08H (40H)=60H 12.若(A)=
16、E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,試寫出下列各指令獨立執(zhí)行后有關(guān)寄存器和存儲單元的內(nèi)容?若該指令影響標志位,試指出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
17、,P=1 (6)(A)=EFH,(20)=08H 13.若(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.試用位操作指令實現(xiàn)下列邏輯操作。要求不得改變未涉及的位的內(nèi)容。 (
18、1)使ACC.0置位; (2)清除累加器高4位; (3)清除ACC.3,ACC.4,ACC.5,ACC.6。 答: (1)SETB ACC.0 (2)ANL A,#0FH (3)ANL A,#87H 15.試編寫程序,將內(nèi)部RAM的20H、21H、22H三個連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH單元。 答: MOV 2FH,20H MOV 2EH,21H MOV 2DH,22H 16.試編寫程序,完成兩個16位數(shù)的減法:7F4DH-2B4EH,結(jié)果存入內(nèi)部RAM的30H和31H單元,30H單元存差的高8位,31H單元存差的低8位
19、。 答: CLR CY MOV 30H,#7FH MOV 31H,#4DH MOV R0, #31H MOV A,@R0 SUBB A ,#4E MOV @R0,A ;保存低字節(jié)相減結(jié)果 DEC R0 MOV A, @R0 SUBB A,#2BH MOV @R0,A ;保存高字節(jié)相減結(jié)果 17.試編寫程序,將R1中的低4位數(shù)與R2中的高4位數(shù)合并成一個8位數(shù),并將其存放在R1中。 答: MOV A,R2 ANL A,#0F0H ORL R1,A 錯誤?。。。? 18.試編寫程序,將內(nèi)部
20、RAM的20H、21H單元的兩個無符號數(shù)相乘,結(jié)果存放在R2、R3中,R2中存放高8位,R3中存放低8位。 答: MOV A,20H MOV B,21H MUL AB MOV R3,A MOV R2,B 19.若(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,C MOV C,P1.0 MOV P3.4,C 答: (CY)=1, (P1)=10111011B, (
21、P3)=00111100B 章4 80C51的匯編語言程序設(shè)計 1.80C51單片機匯編語言有何特點? 答: 匯編語言結(jié)構(gòu)緊湊、靈活,匯編成的目標程序效率高,具有占存儲空間少、運行速度快、實時性強等優(yōu)點。它是面向機器的語言,對于單片機硬件的操作直接、方便,有利于初學者對單片機結(jié)構(gòu)的認知。 但它與高級語言相比移植性不好、編程復(fù)雜、對編程人員的基礎(chǔ)要求高。 2.利用80C51單片機匯編語言進行程序設(shè)計的步驟如何? 答: 一、任務(wù)分析 首先,要對單片機應(yīng)用系統(tǒng)的設(shè)計目標進行深入分析,明確系統(tǒng)設(shè)計任務(wù):功能要求和技術(shù)指標。然后對系統(tǒng)的運行環(huán)境進行調(diào)研。這是應(yīng)用系統(tǒng)程序設(shè)計
22、的基礎(chǔ)和條件。 二、算法設(shè)計 經(jīng)過任務(wù)分析和環(huán)境調(diào)研后,已經(jīng)明確的功能要求和技術(shù)指標可以用數(shù)學方法(或模型)來描述,進而把一個實際的系統(tǒng)要求轉(zhuǎn)化成由計算機進行處理的算法。并對各種算法進行分析比較,并進行合理的優(yōu)化。 三、流程描述 程序的總體構(gòu)建。先要確定程序結(jié)構(gòu)和數(shù)據(jù)形式,資源分配和參數(shù)計算等。然后根據(jù)程序運行的過程,規(guī)劃程序執(zhí)行的邏輯順序,用圖形符號將程序流程繪制在平面圖上。應(yīng)用程序的功能通??梢苑譃槿舾刹糠?,用流程圖將具有一定功能的各部分有機地聯(lián)系起來。 流程圖可以分為總流程圖和局部流程圖??偭鞒虉D側(cè)重反映程序的邏輯結(jié)構(gòu)和各程序模塊之間的相互關(guān)系;局部流程圖反映程序模塊的具體實施
23、細節(jié)。 3.常用的程序結(jié)構(gòu)有哪幾種?特點如何? 答: 順序程序:無分支、無循環(huán)結(jié)構(gòu)的程序,其執(zhí)行流程是依指令在存儲器中的存放順序進行的; 分支程序:可以改變程序的執(zhí)行順序; 循環(huán)程序:按某種控制規(guī)律重復(fù)執(zhí)行的程序,控制一部分指令重復(fù)執(zhí)行若干次,以便用簡短的程序完成大量的處理任務(wù)。 4.子程序調(diào)用時,參數(shù)的傳遞方法有哪幾種? 答: 利用累加器或寄存器; 利用存儲器; 利用堆棧。 5.什么是偽指令?常用的偽指令功能如何? 答: 偽指令是匯編程序能夠識別并對匯編過程進行某種控制的匯編命令。常用的偽指令包括: ORG,功能是向匯編程序說明下面緊接的程序段或數(shù)據(jù)段存放的起始地
24、址; END,功能是結(jié)束匯編; DB,功能是從標號指定的地址單元開始,在程序存儲器中定義字節(jié)數(shù)據(jù); DW,功能是從標號指定的地址單元開始,在程序存儲器中定義字數(shù)據(jù)空間; EQU,功能是將表達式的值或特定的某個匯編符號定義為一個指定的符號名; BIT,功能是將位地址賦給指定的符號名。 6.設(shè)被加數(shù)存放在內(nèi)部RAM的20H、21H單元,加數(shù)存放在22H、23H單元,若要求和存放在24H、25H中,試編寫出16位無符號數(shù)相加的程序(采用大端模式存儲)。 答:程序如下: ORG 0000H MOV R0,#21H MOV R1,#23H MOV A,@R0 AD
25、D A,@R1 MOV 25H,A DEC R0 DEC R1 MOV A,@R0 ADDC A,@R1 MOV 24H,A SJMP $ END 7.編寫程序,把外部RAM中1000H~101FH的內(nèi)容傳送到內(nèi)部RAM的30H~4FH中。 答: ORG 0000H MOV DPTR,#1000H MOV R0,#30H MOV R7,#32 LOOP:MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR
26、 DJNZ R7,LOOP RET 8.編寫程序,實現(xiàn)雙字節(jié)無符號數(shù)加法運算,要求 (R0R1)+(R6R7)→(60H61H)。 答: ORG 0000H MOV A,R1 ADD A,R7 MOV 61H,A MOV A,R0 ADDC A,R6 MOV 60H,A SJMP $ END 9.若80C51的晶振頻率為6MHz,試計算延時子程序的延時時間。 DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH
27、DJNZ R6,$ DJNZ R7,LP RET 答:延時時間: 2μs*{[1+((1+2*250+2)*246)+2]+2}=0.247486秒(含調(diào)用指令2個機器周期) 10.在內(nèi)部RAM 的30H~37H單元存有一組單字節(jié)無符號數(shù)。要求找出最大數(shù)存入BIG單元。試編寫程序?qū)崿F(xiàn)。 答: ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH START:MOV R7,#7 ;比較次數(shù)
28、MOV R0,#30H LOOP:MOV A,@R0 MOV ONE,A INC 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
29、 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END 11.編寫程序,把累加器A中的二進制數(shù)變換成3位BCD碼,并將百、十、個位數(shù)分別存放在內(nèi)部RAM的50H、51H、52H中。 答:單字節(jié)二進制數(shù)轉(zhuǎn)換為壓縮的BCD碼僅需要2個字節(jié);在將壓縮的BCD碼拆分存于3個單元。 org 0 MOV 52H,#0 MOV 51H,#0 MOV 50H,#0 MOV A,#0FDh LCALL DCDT
30、H 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 ;
31、 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
32、 RET END 12.編寫子程序,將R1中的2個十六進制數(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
33、 SJMP $ ASCII:PUSH ACC CLR C SUBB A, #0AH POP ACC JC LOOP ADD A, #07H LOOP: ADD A, #30H RET END 13.編寫程序,求內(nèi)部RAM中50H~59H十個單元內(nèi)容的平均值,并存放在5AH單元。 答: ORG 0000H MOV R7,#10 MOV R0,#50H
34、 MOV B,#10 CLR C CLR A LOOP:ADDC A,@R0 INC R0 DJNZ R7,LOOP DIV AB MOV 5AH,A SJMP $ END 14.如圖4.10所示,編制程序?qū)崿F(xiàn):上電后顯示“P”,有鍵按下時顯示相應(yīng)的鍵號“0”~“7”。 答: 實現(xiàn)程序如下: TEMP EQU 30H ORG 0000H JMP START ORG 0100H START:MOV
35、 SP,#5FH MOV P0,#8CH ;正序顯示"P" MOV P3,#0FFH ;輸入方式 CLR CY NOKEY:MOV A,P3 CPL A JZ NOKEY ;無鍵按下 MOV TEMP,P3 ;有鍵按下 CALL D10ms MOV A,P3 CJNE A,TEMP,NOKEY ;去抖動 MOV R2,#0 ;鍵號計數(shù)器復(fù)位
36、 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,A JMP NOKEY D10ms:MOV R5,#10 ;10MS D1ms:MOV R4,#249 DL:NOP NOP DJNZ R4,DL DJNZ R5,D1ms
37、 RET CODE_P0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A1H,86H,8EH END 章5 80C51的中斷系統(tǒng)及定時/計數(shù)器 1.80C51有幾個中斷源?各中斷標志是如何產(chǎn)生的?又是如何復(fù)位的?CPU響應(yīng)各中斷時,其中斷入口地址是多少? 答:5個中斷源,分別為外中斷和、T0和T1溢出中斷、串口中斷。 電平方式觸發(fā)的外中斷標志與引腳信號一致;邊沿方式觸發(fā)的外中斷響應(yīng)中斷后由硬件自動復(fù)位。 T0和T
38、1,CPU響應(yīng)中斷時,由硬件自動復(fù)位。 RI和TI,由硬件置位。必須由軟件復(fù)位。 另外,所有能產(chǎn)生中斷的標志位均可由軟件置位或復(fù)位。 各中斷入口地址:―0003H,T0—000BH,—0013H,T1—001BH,RI和TI—0023H。 2.某系統(tǒng)有三個外部中斷源1、2、3,當某一中斷源變低電平時便要求CPU處理,它們的優(yōu)先處理次序由高到低為3、2、1,處理程序的入口地址分別為2000H、2100H、2200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的入口即可)。 答:將3個中斷信號經(jīng)電阻線或,接。 ORG 0000H LJMP MAIN ORG 00013H
39、LJMP ZDFZ ORG 0040H MAIN:SETB EA SETB EX1 SJMP $ 0RG 0200H ZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2 INRET:POP ACC POP PSW RETI ORG 2000H DV0:------------ JMP
40、INRET ORG 2100H DV1:------------ JMP INRET ORG 2200H DV2:------------ JMP INRET 3.外部中斷源有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式,這兩種觸發(fā)方式所產(chǎn)生的中斷過程有何不同?怎樣設(shè)定? 答: 當IT0=0時,為電平觸發(fā)方式。電平觸發(fā)方式時,CPU在每個機器周期的S5P2采樣引腳電平,當采樣到低電平時,置IE0=1向CPU請求中斷;采樣到高電平時,將IE0清0。在電平觸發(fā)方式下,CPU響應(yīng)中斷時,不能自動清除IE0標志。 電平觸發(fā)方式時,外部中斷源的有效低電平必須保持到請
41、求獲得響應(yīng)時為止,不然就會漏掉;在中斷服務(wù)結(jié)束之前,中斷源的有效的低電平必須撤除,否則中斷返回之后將再次產(chǎn)生中斷。該方式適合于外部中斷輸入為低電平,且在中斷服務(wù)程序中能清除外部中斷請求源的情況。 當IT0=1時,為邊沿觸發(fā)方式。邊沿觸發(fā)方式時,CPU在每個機器周期的S5P2采樣引腳電平,如果在連續(xù)的兩個機器周期檢測到引腳由高電平變?yōu)榈碗娖?,即第一個周期采樣到=1,第二個周期采樣到=0,則置IE0=1,產(chǎn)生中斷請求。在邊沿觸發(fā)方式下,CPU響應(yīng)中斷時,能由硬件自動清除IE0標志。 邊沿觸發(fā)方式時,在相繼兩次采樣中,先采樣到外部中斷輸入為高電平,下一個周期采樣到為低電平,則在IE0或IE1中將
42、鎖存一個邏輯1。若CPU暫時不能響應(yīng),中斷申請標志也不會丟失,直到CPU響應(yīng)此中斷時才清0。另外,為了保證下降沿能夠被可靠地采樣到,和引腳上的負脈沖寬度至少要保持一個機器周期(若晶振頻率為12MHz,為1微秒)。邊沿觸發(fā)方式適合于以負脈沖形式輸入的外部中斷請求。 4.定時/計數(shù)器工作于定時和計數(shù)方式時有何異同點? 答: 定時/計數(shù)器實質(zhì)是加1計數(shù)器。 不同點:設(shè)置為定時器模式時,加1計數(shù)器是對內(nèi)部機器周期計數(shù)(1個機器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值乘以機器周期就是定時時間。設(shè)置為計數(shù)器模式時,外部事件計數(shù)脈沖由T0或T1引腳輸入到計數(shù)器。在每個機器周期
43、的S5P2期間采樣T0、T1引腳電平。當某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數(shù)器加1,更新的計數(shù)值在下一個機器周期的S3P1期間裝入計數(shù)器。 相同點:它們的工作原理相同,它們都有4種工作方式,由TMOD中的M1M0設(shè)定,即 方式0:13位計數(shù)器; 方式1:16位計數(shù)器; 方式2:具有自動重裝初值功能的8位計數(shù)器; 方式3:T0分為兩個獨立的8位計數(shù)器,T1停止工作。 5.定時/計數(shù)器的4種工作方式各有何特點? 答: 方式0位13位計數(shù)器,由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的
44、TF0標志,向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位初值寄存器。當TL0計滿溢出時,由硬件使TF0置1,向CPU發(fā)出中斷請求,并將TH0中的計數(shù)初值自動送入TL0。TL0從初值重新進行加1計數(shù)。周而復(fù)始,直至TR0=0才會停止。計數(shù)個數(shù)與計數(shù)初值的關(guān)系為: X=28-N 方式3只適用于定時/計數(shù)器T0,定時器T1處于方式3時相當于TR1=0,停止計數(shù)。方式
45、3時,T0分成為兩個獨立的8位計數(shù)器TL0和TH0,TL0使用T0的所有控制位。當TL0計數(shù)溢出時,由硬件使TF0置1,向CPU發(fā)出中斷請求。而TH0固定為定時方式(不能進行外部計數(shù)),并且借用了T1的控制位TR1、TF1。因此,TH0的啟、停受TR1控制,TH0的溢出將置位TF1。 6.要求定時/計數(shù)器的運行控制完全由TR1、TR0確定和完全由、高低電平控制時,其初始化編程應(yīng)作何處理? 答:TMOD中GATE的值不同:完全由TR1、TR0確定時GATE為0;完全由、高低電平控制時GATE為1。 7.當定時/計數(shù)器T0用作方式3時,定時/計數(shù)器T1可以工作在何種方式下?如何控制T1的開啟
46、和關(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的正脈沖信號,晶振頻率為12MHz。試設(shè)計程序。 答: 采用定時20ms,然后再計數(shù)1、49次的方法實現(xiàn)。 a、T0工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H; b、計算計數(shù)初值X: 晶振為12 MHz,所以機器周期Tcy為1。 N=t/ Tcy =20×10-3/
47、1×10-6=20000 X=216-N=65536-20000=45536=4E20H 即應(yīng)將4EH送入TH1中,20H送入TL1中。 c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 0030H MAIN:MOV TMOD,#01H ;設(shè)T1工作于方式2 MOV TH0,# 4EH ;裝入循環(huán)計數(shù)初值 MOV TL0,#20H ;首次計數(shù)值 LP0:SETB
48、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 END 9.要求從P1.1引腳輸出1000Hz方波,晶振
49、頻率為12MHz。試設(shè)計程序。 答:采用T0實現(xiàn) a、T0工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H; b、計算計數(shù)初值X: 晶振為12 MHz,所以機器周期Tcy為1。1/1000=1×10-3 N=t/ Tcy =0.5×10-3/1×10-6=500 X=216-N=65536-500=65036=FE0CH 即應(yīng)將FEH送入TH0中,0CH送入TL0中。 c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳
50、轉(zhuǎn)到主程序 ORG 000BH ;T0的中斷入口地址 LJMP DVT0 ORG 0030H MAIN:MOV TMOD,#01H ;設(shè)T0工作于方式2 MOV TH0,# 0FEH ;裝入循環(huán)計數(shù)初值 MOV TL0,#0CH ;首次計數(shù)值 SETB ET0 ;T0開中斷 SETB EA ;CPU開中斷 SETB TR0
51、 ;啟動T0 SJMP $ ;等待中斷 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0 RETI END 10.試用定時/計數(shù)器T1對外部事件計數(shù)。要求每計數(shù)100,就將T1改成定時方式,控制P1.7輸出一個脈寬為10ms的正脈沖,然后又轉(zhuǎn)為計數(shù)方式,如此反復(fù)循環(huán)。設(shè)晶振頻率為12MHz。 答: a、T1工作在計數(shù)方式2時,控制字TMOD配置: M1M
52、0=10,GATE=0,C/=1,可取方式控制字為60H; T1工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為10H; b、計算初值X: 定時10ms時: 晶振為12 MHz,所以機器周期Tcy為1。 N=t/ Tcy =10×10-3/1×10-6=10000 X=216-N=65536-10000=55536=D8F0H 即應(yīng)將D8H送入TH1中,F(xiàn)0H送入TL1中。 計數(shù)100時: N=100 X=28-N=256-100=156=9CH
53、c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 001BH ;T1的中斷入口地址 LJMP DVT1 ORG 0030H MAIN:MOV TMOD,#60H ;T1工作于計數(shù)方式2 MOV TH1,#9CH ;裝入計數(shù)初值 MOV TL1,#9CH ; CLR P1.7 SETB ET1
54、 ;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
55、 SETB TR1 JNB TF1,$ ;查詢等待10ms CLR TF1 CLR TR1 CLR P1.7 MOV TMOD,#60H ;T1工作于計數(shù)方式2 MOV TH1,#9CH ;裝初值 MOV TL1,#9CH ; SETB ET1 ;T1開中斷 SETB TR1 ;啟動T1
56、 RETI END 11.利用定時/計數(shù)器T0產(chǎn)生定時時鐘,由P1口控制8個指示燈。編一個程序,使8個指示燈依次閃動,閃動頻率為1次/秒(即,亮1秒后熄滅并點亮下一個,-----)。 答:采用定時20ms,計數(shù)50次實現(xiàn)1秒定時。編制1秒延時子程序,由主程序調(diào)用。 a、T0工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H; b、計算計數(shù)初值X: 晶振為12 MHz,所以機器周期Tcy為1。 N=t/ Tcy =20×10-3/1×10-6=20000 X=216-N=65536-2000
57、0=45536=4E20H 即應(yīng)將4EH送入TH1中,20H送入TL1中。 c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 0030H MAIN:CLR CY MOV A,#01H LP0:MOV P1,A CALL D1SEC RL A AJMP LP0 D1SEC:MOV R7,#50 ;計數(shù)50次 MOV TMOD,#01H D
58、L:MOV TH0,#4EH MOV TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,DL RET END 章6 80C51的串行口 1.80C51單片機串行口有幾種工作方式?如何選擇?簡述其特點? 答: 四種工作方式,由SCON中的SM0、SM1進行定義: 方式0:同步移位寄存器的輸入輸出方式,主要用于擴展并行輸入或輸出口,波特率固定。 方式1:10位數(shù)據(jù)的異步通信口,波特率可變
59、。 方式2:11位數(shù)據(jù)的異步通信口,波特率固定。 方式3:11位數(shù)據(jù)的異步通信口,波特率可變。 2.串行通信的接口標準有那幾種? 答: RS-232C接口、RS-422A接口、RS-485接口 3.在串行通信中通信速率與傳輸距離之間的關(guān)系如何? 答: 最大距離與傳輸速率及傳輸線的電氣特性有關(guān)。當傳輸線使用每0.3m(約1 ft)有50PF電容的非平衡屏蔽雙絞線時,傳輸距離隨傳輸速率的增加而減小。當波特率超過1000 bps 時,最大傳輸距離將迅速下降。 4.在利用RS-422/RS-485通信的過程如果通信距離(波特率固定)過長,應(yīng)如何處理? 答: 在波特率一定的情況下,
60、帶負載數(shù)的多少,與信號能傳輸?shù)淖畲缶嚯x是直接相關(guān)的。在總線允許的范圍內(nèi),帶負載數(shù)越多,信號能傳輸?shù)木嚯x就越?。粠ж撦d數(shù)越少,信號能傳輸?shù)木嚯x就越遠。故應(yīng)減小通信距離或減少負載數(shù)量。 5.利用單片機串行口擴展并行輸入接口電路如圖所示。試編寫程序完成將SW1~SW8的狀態(tài)反應(yīng)在P0口所接的LED上(如SW1閉合時L7應(yīng)點亮)。 答:電路圖如下: ORG 0000H MOV SCON,#10H LOOP:CLR P1.7 NOP NOP NOP SETB P1.7 CLR RI JNB RI,$ MOV
61、 A,SUBF SJMP LOOP END 6.利用單片機串行口擴展并行輸出接口電路如圖所示。試編寫程序完成將SW1~SW8的狀態(tài)反應(yīng)在移位寄存器74LS164所接的LED上(如SW1閉合時L0應(yīng)點亮)。 答:電路圖如下: ORG 0000H MOV SCON,#00H MOV P1,#0FFH LOOP:MOV A,P1 MOV SUBF,A JNB TI,$ CLR TI SJMP LOOP END 章8 80C51的串行總線擴展 1. I2C總線的特點
62、是什么? 答:a、二線制傳輸。器件引腳少,器件間連接簡單,電路板體積減小,可靠性提高。 b、傳輸速率高 標準模式傳輸速率為100Kb/s,快速模式為400Kb/s,高速模式為3.4Mb/s。 c、支持主/從和多主兩種工作方式 2、I2C總線的起始信號和終止信號是如何定義的? 答:SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號;SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號。起始和終止信號如圖所示。 3、I2C總線的數(shù)據(jù)傳送方向如何控制? 答: 在主機發(fā)出起始信號后要再傳輸1個控制字節(jié):7位從器件地址,1位傳輸
63、方向控制位(用“0”表示主機發(fā)送數(shù)據(jù),“1”表示主機接收數(shù)據(jù))。 4、具備I2C總線接口的E2PROM芯片有哪幾種型號?容量如何? 答: 典型產(chǎn)品如ATMEL公司的AT24C系列: 型號 容量 AT24C01A 128 AT24C02 256 AT24C04 512 AT24C08A 1K AT24C16A 2K AT24C32A 4K AT24C64A 8K AT24C128B 16K AT24C256B 32K AT24C512B 64K 5、AT24C系列芯片的讀寫格式如何? 答: a、寫操作過程 對AT24C02
64、寫入時,單片機發(fā)出起始信號之后再發(fā)送的是控制字節(jié),然后釋放SDA線并在SCL線上產(chǎn)生第9個時鐘信號。被選中的存儲器器件在確認是自己的地址后,在SDA線上產(chǎn)生一個應(yīng)答信號,單片機收到應(yīng)答后就可以傳送數(shù)據(jù)了。 傳送數(shù)據(jù)時,單片機首先發(fā)送一個字節(jié)的預(yù)寫入存儲單元的首地址,收到正確的應(yīng)答后,單片機就逐個發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個字節(jié)后都要等待應(yīng)答。單片機發(fā)出停止信號P后,啟動AT24C02的內(nèi)部寫周期,完成數(shù)據(jù)寫入工作(約10ms內(nèi)結(jié)束)。 AT24C02片內(nèi)地址指針在接收到每一個數(shù)據(jù)字節(jié)后自動加1,在芯片的“一次裝載字節(jié)數(shù)”(頁面字節(jié)數(shù))限度內(nèi),只需輸入首地址。裝載字節(jié)數(shù)超過芯片的“一次裝載字
65、節(jié)數(shù)”時,數(shù)據(jù)地址將“上卷”,前面的數(shù)據(jù)將被覆蓋。 要寫入的數(shù)據(jù)傳送完后,單片機應(yīng)發(fā)出終止信號以結(jié)束寫入操作。寫入n個字節(jié)數(shù)據(jù)格式如下: b、讀操作過程 對AT24C02讀出時,單片機也要發(fā)送該器件的控制字節(jié)(“偽寫”),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個時鐘信號,被選中的存儲器在確認是自己的地址后,在SDA線上產(chǎn)生一個應(yīng)答信號作為響應(yīng)。 然后,單片機再發(fā)送一個字節(jié)的要讀出器件的存儲區(qū)的首地址,收到器件的應(yīng)答后,單片機要重復(fù)一次起始信號并發(fā)出器件地址和讀方向位(“1”),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個字節(jié),單片機都要回復(fù)應(yīng)答信號。當最后一個字節(jié)數(shù)據(jù)讀完后
66、,單片機應(yīng)返回以“非應(yīng)答”(高電平),并發(fā)出終止信號以結(jié)束讀出操作。 讀出n個字節(jié)的數(shù)據(jù)格式如下圖所示: 6、SPI接口線有哪幾個?作用任何? 答: 實際的SPI器件種類繁多,時序也可能不同,但通常配有4個SPI引腳: SCK:時鐘端; SI(或MOSI):從器件串行數(shù)據(jù)輸入端; SO(或MISO):從器件串行數(shù)據(jù)輸出端; (或SS):從器件片選端。 7、請說明SPI數(shù)據(jù)傳輸?shù)幕具^程。 答: 單片機讀(從器件輸出)操作時,在CS有效的情況下,SCK的下降沿時從器件將數(shù)據(jù)放在MISO線上,單片機經(jīng)過延時采樣MISO線,并將相應(yīng)數(shù)據(jù)位讀入,然后將SCK置為高電平形成上升沿,數(shù)據(jù)被鎖存。 單片機寫(從器件輸入)操作時,在CS有效的情況下,SCK的下降沿時單片機將數(shù)據(jù)放在MOSI線上,從器件經(jīng)過延時后采樣MOSI線,并將相應(yīng)的數(shù)據(jù)位移入,在SCK的上升沿數(shù)據(jù)被鎖存。 8、試說明DS1302的讀寫操作方法。 答: 對DS1302的各種操作由命令字節(jié)實現(xiàn)。單字節(jié)寫操作時,每次寫1個字節(jié)數(shù)據(jù),數(shù)據(jù)在SCLK上升沿寫入DS1302;單字節(jié)讀操作時,跟隨讀命令
- 溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學習《中華人民共和國科學技術(shù)普及法》推進實現(xiàn)高水平科技自立自強推動經(jīng)濟發(fā)展和社會進步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設(shè)夯實廉政思想根基培育風清氣正的政治生態(tài)
- 深入學習2024《突發(fā)事件應(yīng)對法》全文提高突發(fā)事件預(yù)防和應(yīng)對能力規(guī)范突發(fā)事件應(yīng)對活動保護人民生命財產(chǎn)安全
- 2023年四年級數(shù)學上冊第一輪單元滾動復(fù)習第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊第14單元階段性綜合復(fù)習作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊四分數(shù)的意義和性質(zhì)第10課時異分母分數(shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊六折線統(tǒng)計圖單元復(fù)習卡作業(yè)課件西師大版
- 2023年四年級數(shù)學上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版