單片機(jī)復(fù)習(xí)2015華立學(xué)院_第1頁
單片機(jī)復(fù)習(xí)2015華立學(xué)院_第2頁
單片機(jī)復(fù)習(xí)2015華立學(xué)院_第3頁
單片機(jī)復(fù)習(xí)2015華立學(xué)院_第4頁
單片機(jī)復(fù)習(xí)2015華立學(xué)院_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)原理及應(yīng)用例題與課后習(xí)題 P35 例 2.1 試寫出完成下列功能的程序段: 1) 將 R0 的內(nèi)容送入 R6 中, 2) 將片內(nèi) RAM 30H 單元的內(nèi)容送入片外 60H 單元中; P36 將片外 RAM 2000H 單元的內(nèi)容送入片內(nèi) 將 ROM 的 2000H 單元的內(nèi)容送入片內(nèi) 例 2.2 將 R0 的內(nèi)容和 R1 的內(nèi)容相互交換。 MOV A , R0 XCH A , R1 MOV R0 , A 20H 單元中; RAM 30H 單元中; 8 P38 例 2.3 試把存放在 R1-R2 和 R3-R4 中的兩個(gè) 16 位數(shù)相加,結(jié)果存于 R5-R6 中。 P39 例 2.4 試

2、求 R3) J (R2) - ( R1)。 MOV A , R2 ADD A , R4 MOV R6, A MOV A , R1 ADDC A, R3 MOV R5 , A MOV A , R2 CLR C SUBB A , R1 MOV R3 , A P40 例2.5在R3中數(shù)為67H,在R2中數(shù)為85H,用十進(jìn)制運(yùn)算,運(yùn)算的結(jié)果放于 R5。 MOV A , R3 ADD A , R2 DA A MOV R5 , A P41 例 2.6試寫出完成下列功能的指令段: 1) 對累加器A中b1、b3和b5位清0,其余位不變,程序?yàn)?ANL A , #11010101B 2) 對累加器A中b2、b4

3、和b6位置1,其余位不變,程序?yàn)?ORL A , #01010100B 對累加器 A 中 b0 和 b1 位取反,其余位不變,程序?yàn)?XRL A , #00000011B P41 例 2.7 試寫出對 R0 寄存器內(nèi)容求反的程序段。 MOV A , R0 CPL A MOV R0 , A P43 例 2.8 把片內(nèi) RAM 中位尋址區(qū)的 20H 位的內(nèi)容傳送到 30H 位。 止。 MOV C ,20H MOV 30H , C P44 例 2.9 試?yán)梦贿壿嬤\(yùn)算指令編程實(shí)現(xiàn)兩個(gè)位的異或操作。 位變量 X 和 Y 的異或結(jié)果 =XY+XY 假定 X 和 Y 的位地址為 20H.0 和 20H.1

4、 ,結(jié)果存儲到位累加器 MOV C , 20H.1 ANL C , /20H.0 MOV F0 , C MOV C , 20H.0 ANL C , /20H.1 ORL C , F0 P46 例 2.12 將片外 RAM 30H 單元開始的數(shù)據(jù)塊傳送到片內(nèi) C 中。 RAM 的 40H 開始的位置, 直到出現(xiàn)零為 MOV R0 , #30H MOV R1 , #40H LOOP: MOVX A , R0 MOV R1 , A INC R1 INC R0 JNZ LOOP 要實(shí)現(xiàn)以下功能:若 30H 地址單元的 MOV A , #08H ANL A , 30H JNZ N1 MOV B , #5

5、 LJMP N2 N1: MOV B , #8 N2: P48 例 2. 1 4統(tǒng)計(jì)片內(nèi) RAM 中 30H MOV R0 , #30H MOV R2 , #20 MOV R7 , #0 LOOP: MOV A , R0 P46例2.13利用 邏輯與”和“ JZ JNZ”指令實(shí)現(xiàn)位測試。 b3 位為 0 則 B=5 ,否則 B=8。 單元開始的 20個(gè)數(shù)據(jù)中 0的個(gè)數(shù),放于 R7 中。 JNZ NEXT INC R7 NEXT: INC R0 DJNZ R2 , LOOP 分別放于 P48例2.15從片外RAM中30H單元開始有100個(gè)數(shù)據(jù),統(tǒng)計(jì)當(dāng)中正數(shù)、0和負(fù)數(shù)的個(gè)數(shù), R5、 R6、 R7

6、 中。 MOV R2 , #100 MOV R0 , #30H MOV R5 , #0 MOV R6 , #0 MOV R7 , #0 LOOP: MOVX A , R0 CJNE A , #0 , NEXT1 INC R6 SJMP NEXT3 NEXT1: JB ACC.7 , NEXT2 INC R5 SJMP NEXT3 NEXT2: INC R7 NEXT3: INC R0 DJNZ R2 , LOOP 例 ORG 3000H TAB1: DB 12H, DS 4H DB ,5? 34H P52 P53 2.5.1 延時(shí)程序設(shè)計(jì) 延時(shí)程序與 MCS-51 指令執(zhí)行時(shí)間有很大的關(guān)系。在

7、使用 12MHz 晶振時(shí),一個(gè)機(jī)器周期為 1 gs,執(zhí)行 1s的程序: DEL: MOV R5,#20 ; 1gs DEL0: MOV R6,#200 ; 1gs DEL1: MOV R7,#123 ; 1gs DEL2: DJNZ R7,DEL2 ;123*2 gs DJNZ R6,DEL1 ;(1+123*2+2) DJNZ R5,DEL0 ;(1+49800+2) 一條DJNZ指令的時(shí)間為2 Q。這時(shí),可用多重循環(huán)方法寫出下面如下的延時(shí) RET *200=49800 gs *20=996060 gs P54 【例 2.1 6】將內(nèi)部 RAM 中以 40H 為起始地址的 8 個(gè)單元中的內(nèi)容

8、傳到外部存儲器以 2000H 為起 始地址的 8 個(gè)單元中 O MOV R0 . #40H MOV DPTR , #2000H MOV R7 , #08 A , R0 LOOP: MOV MOVX , DPTR , A INC R0 INC DPTR DJNZ R7 , LOOP P59【例2.20】設(shè)在30H和31H單元中各有一個(gè) 8位數(shù)據(jù): 30H)=X7X6X5X4X3X2X1X0 31H)=Y7Y6Y5Y4Y3Y2Y1Y0 現(xiàn)要從30H單元中取出低5位,并從31H單元中取出低3位完成拼裝,拼裝結(jié)果送到40H單元保存, 并且規(guī)定:(40H) =Y2Y1Y0X4X3X2X1X0 MOV A

9、 , 30H ANL A , #00011111B MOV 30H, A MOV A , 31H ANL A , #00000111B SWAP A RL A ORL A , 30H MOV 40H , A P60【例2.22】8位二進(jìn)制無符號數(shù)轉(zhuǎn)換為3位BCD碼。8位二進(jìn)制無符號數(shù)存放在35H單元,要求 個(gè)位、十位、 百分位分別存放在 40H、41H 和 42H 單元。 MOV A , 35H MOV B , #10 DIV AB MOV 40H , B MOV B , #10 DIV AB MOV 41H , B MOV 42H , A 1.1、1.2、1.5、1.8、1.9、 1.10

10、P27 習(xí)題與思考題 P64-68 習(xí)題與思考題 2.5、 2.6、2.7、2.8、2.9、 2.10、2.11、2.12、2.13、2.14、2.18、2.19、2.20、2.27、2.32 練習(xí)題 1.單片機(jī)與普通計(jì)算機(jī)的不同之處在于其將( 三部分集成于一塊芯片上。 cpu 儲存器 )、和(I/O 口 2. 8051與8751的區(qū)別是: (A) 內(nèi)部數(shù)據(jù)存儲單元數(shù)目的不同 (C) 內(nèi)部程序存儲器的類型不同 (B) 內(nèi)部數(shù)據(jù)存儲器的類型不同 (D)內(nèi)部的寄存器的數(shù)目不同 3.說明MCS-51單片機(jī)的引腳EA的作用,該引腳接高電平和接低電平時(shí)各有何種功能 EA = 0,只讀片外程序存儲器,EA

11、 = 1,在PC值小于或等于0FFFH (4K)時(shí),讀片內(nèi)程序存儲器,當(dāng) PC值大于0FFFH (4K )時(shí),讀片外程序存儲器, 4 什么是機(jī)器周期?MCS-51的時(shí)鐘振蕩周期和機(jī)器周期之間有何關(guān)系? 1個(gè)機(jī)器周期等于12個(gè)時(shí)鐘振蕩周期 )。T=12/f 5.在MCS-51單片機(jī)中,如果采用 6MHz晶振,一個(gè)機(jī)器周期為(2微秒 7.若A中的內(nèi)容為63H,那么P標(biāo)志位的值為(0 )o 累加器A的內(nèi)容為:0110 0011,1的個(gè)數(shù)為4個(gè)(偶數(shù)),所以奇偶標(biāo)志位 P=0. &判斷下列說法是否正確: (A) 在MCS-51中,為使準(zhǔn)雙向的I/O 口工作在輸入方式,必須保證它被事先預(yù)置為1對 (B)

12、 在MCS-51單片機(jī)中,一個(gè)機(jī)器周期等于1卩So錯 所獲得的機(jī)器周期不同。 機(jī)器周期,是單片機(jī)處理指令的最小計(jì)量單位。根據(jù)單片機(jī)外接晶振的不同, 而且,不同單片機(jī)即使外接相同晶振,機(jī)器周期也會有所不同 (C) 特殊功能寄存器SP內(nèi)裝的是棧頂首地址單元的內(nèi)容。錯 SP是堆棧指針寄存器,存的是棧頂?shù)刂?,而不是地址單元的?nèi)容。 (D) 內(nèi)部RAM的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。 位尋址區(qū)既可以供位尋址使用,又可以供字節(jié)尋址使用。 (E) 8031共有21個(gè)特殊功能寄存器,它們的位都是可用軟件設(shè)置的,因此,是可以進(jìn)行位尋址的。 特殊功能寄存器中其 單元地址能被8整除的才可以進(jìn)行位

13、尋址。 錯 看其 (F) 區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址范圍的低端還是高端。 區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其芯片的型號是ROM還是RAM , 是與RD信號連接還是與 PSEN信號連接 (G) PC可以看成是程序存儲器的地址指針。對 (H) DPTR可以分為2個(gè)8位的寄存器使用。對 04H),因上電時(shí) PSW=( OOH 9. 8031單片機(jī)復(fù)位后,R4所對應(yīng)的存儲單元的地址為( 這時(shí)當(dāng)前的工作寄存器區(qū)是(0 )組工作寄存器區(qū)。 10 .判斷下面有關(guān) PC和DPTR的結(jié)論是否正確? (A) (B) (C) DPTR是可以訪問的,而 PC不能

14、訪問。 它們都是16位的寄存器。 它們都具有加1的功能。 DPTR可以分為2個(gè)8位寄存器使用,但 PC不能。 11使用8031單片機(jī)時(shí),需將EA引腳接(低)電平,因?yàn)槠淦瑑?nèi)無(程序 )存儲器。 12 片內(nèi)RAM低128個(gè)單元劃分為哪三個(gè)主要部分?各部分的主要功能是什么? (1)工作寄存器組(00H 1FH)這是一個(gè)用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù)RAM區(qū)的031,共32 R7。 個(gè)單元。它是 4個(gè)通用工作寄存器組 ,每個(gè)組包含 8個(gè) 8位寄存器 ,編號為 R0 (2)位尋址區(qū) (20H 2FH) 16 個(gè)字節(jié)單元 ,共包含 128位,這 16個(gè)字節(jié)單元既可以進(jìn)行字節(jié)尋址,又可 以實(shí)現(xiàn)位尋址。主

15、要用于位尋址。 (3)堆棧與數(shù)據(jù)緩沖區(qū) (30H 7FH) 用于設(shè)置堆棧、存儲數(shù)據(jù)。 13Pc 的值是: (A) 當(dāng)前正在執(zhí)行指令的前一條指令的地址 (B) 當(dāng)前正在執(zhí)行指令的地址 (C) 當(dāng)前正在執(zhí)行指令的下一條指令的地址 控制器中指令寄存器的地址 (D) 14.判斷下列指令各操作數(shù)的尋址方式 目的操作數(shù) 源操作數(shù) (1)MOV A , #65H 寄存器尋址 立即數(shù)尋址 (2)MOV R1 ,65H 寄存器間接尋址 直接尋址 (3)MOV 30H , R2 直接尋址 寄存器尋址 (4)MOV C , 20H 位尋址 位尋址 (5)SJMP LOOP 相對尋址 (6)MOV 60H,R1 直接

16、尋址 寄存器間接尋址 (7)MOVC A , A+PC 寄存器尋址 變址尋址 Pc 的位數(shù)所決定的,因?yàn)?McS-51 的 Pc 15McS-51 單片機(jī)程序存儲器的尋址范圍是由程序計(jì)數(shù)器 是 16 位的,因此其尋址的范圍為( 64 )字節(jié)。 16. 內(nèi)部 RAM 中,哪些單元可作為工作寄存器區(qū),哪些單元可以進(jìn)行位尋址? 地址為 00H-1FH 的 32 個(gè)單元是 4 組通用工作寄存器區(qū),每個(gè)區(qū)包括 8 個(gè) 8 位工作寄存器,編號為 1 位處理機(jī)的存儲器 R0-R7 。字節(jié)地址為 20H-2FH 的 16 個(gè)單元可進(jìn)行 128 位的位尋址,這些單元構(gòu)成了 空間。位地址范圍是 00H-7FH 。

17、 17判斷下列說法是否正確。 (A )立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。 (B) 指令周期是執(zhí)行一條指令的時(shí)間。 )作變址寄存器,以( DPTR )或( PC ) (C) 指令中直接給出的操作數(shù)稱為直接尋址。 18在基址加變址尋址方式中,以( 作基址寄存器。 19.指令格式是由( 操作碼 )和( 操作數(shù) )所組成,也可能僅由( 操作碼 )組 成。 )存儲器提供地址, 20.在MCS-51中,PC和DPTR都用于提供地址,但 PC是為訪問(程序 而 DPTR 是為訪問(數(shù)據(jù) )存儲器提供地址。 21.在寄存器間接尋址方式中,其“間接”體現(xiàn)在指令中寄存器的內(nèi)容不是操作

18、數(shù),而是操作數(shù)的 地址)。 22寫出完成如下要求的指令,但是不能改變未涉及位的內(nèi)容。 (A) 把 Acc.3, Acc.4, Acc.5 和 Acc.6清“ 0”。 (B) 把累加器A的中間4位清“ 0”。 (C) 使 ACC.2 和 ACC.3 置 “ 1” (A) Anl a, #87H(1000 0111b) (B) AnI a, #C3H(1100 0011b) (C) 23. 通過堆棧操作實(shí)現(xiàn)子程序調(diào)用,首先就要把( 返回時(shí),再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到( 24. 下列程序段的功能是什么? P USH P USH Orl a, #0CH(0000 1100b) pc pc )。

19、 )的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用 Acc POP Acc POP 答:A和B內(nèi)容互換 25.為什么要消除按鍵的機(jī)械抖動?消除按鍵的機(jī)械抖動的方法有哪幾種 ?原理是什么? 答:按鍵的閉合和斷開過程中,由于開關(guān)的機(jī)械特性,導(dǎo)致了按鍵抖動的產(chǎn)生。如果不消除按鍵的機(jī) 械抖動,按鍵的狀態(tài)讀取將有可能出現(xiàn)錯誤。消除按鍵抖動一般是采用軟件或硬件去抖。 軟件去抖的原理:在第一次檢測到有鍵按下時(shí),該鍵所對應(yīng)的航線是為低電平,執(zhí)行一端延時(shí) 10ms 的子程序后,確認(rèn)該行線電平是否仍然為低電平,如果仍為低電平,則確認(rèn)為該行確實(shí)有鍵按下。 26. LED的靜態(tài)顯示方式與動態(tài)顯示方式有何區(qū)別?各有什么優(yōu)缺點(diǎn)? 答:

20、靜態(tài)顯示時(shí),數(shù)據(jù)是分開送到每一位LED上的。而動態(tài)顯示則是數(shù)據(jù)是送到每一個(gè) LED上,再 根據(jù)位選線來確定是哪一位LED被顯示。靜態(tài)顯示亮度很高,但口線占用較多。動態(tài)顯示則好一點(diǎn),適 合用在顯示位數(shù)較多的場合。 27說明矩陣式鍵盤按鍵按下的識別原理 答:按鍵設(shè)置在行、列線交點(diǎn)上,行、列線分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到 +5V 上,無按鍵按下時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線的 電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線的電平亦為高。將行、 列線信號配合起來并做適當(dāng)?shù)奶幚?,才能確定閉合鍵的位置 28.鍵盤有哪

21、三種工作方式,他們各自的工作原理及特點(diǎn)是什么? 答:一.編程掃描方式:當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤掃描子程序,反復(fù)的掃描鍵盤,等待用戶從鍵 盤上輸入命令或數(shù)據(jù),來響應(yīng)鍵盤的輸入請求。 二.定時(shí)掃描工作方式:單片機(jī)對鍵盤的掃描也可用定時(shí)掃描方式,即每隔一定的時(shí)間對鍵盤掃描一 次。 三.中斷工作方式:只有在鍵盤有鍵按下時(shí),才執(zhí)行鍵盤掃描程序并執(zhí)行該按鍵功能程序,如果無鍵 按下,單片機(jī)將不理睬鍵盤。 29. 判斷以下指令的正誤: (1) MOV 28H, R2(2) DEC DPTR (3) INC DPTR (4) CLR R0 (5) CPL R5 (6) MOV R0 , R1 ( 7) PHS

22、H DPTR (8) MOV F0 , (9) MOV F0 , MOV C , 30H (1)錯 (11 )對 Acc.3( 10) MOVX A , R1(11) (2)錯(3)對(4)錯(5)錯(6)錯 (7)錯 (12 )錯 (12) RLC R0 (8)對(9)錯 (10)對 答: 10 30 MCS-51 共有哪幾種尋址方式?各有什么特點(diǎn)? 1)寄存器尋址方式 操作數(shù)在寄存器中,因此指定了寄存器就能得到操作數(shù)。 2)直接尋址方式 指令中操作數(shù)直接以單元地址的形式給出,該單元地址中的內(nèi)容就是操作數(shù)。 3)寄存器間接尋址方式寄存器中存放的是操作數(shù)的地址,即先從寄存器中找到操作數(shù)的地址,再 #”。 按該地址找到操作數(shù)。 4)立即尋址方式 操作數(shù)在指令中直接給出,但需在操作數(shù)前面加前綴標(biāo)志“ 5)基址寄存器加變址寄存器間接尋址方式以 DPTR 或 PC 作基址寄存器,以累加器 A 作為變址寄 12 存器,并以兩者內(nèi)容相加形成的 16 位地址作為操作數(shù)的地址,以達(dá)到訪問數(shù)據(jù)表格的目的。 6)位尋址方式 位尋址指令中可以直接使用位地址。 7)相對尋址方式在相對尋址的轉(zhuǎn)移指令中,給出了地址偏移量,以“ rel”表示,即把 PC 的當(dāng)前 位操作類 ASCII 碼。 TAB: BCD_ASC : MOV DPTR , #TAB DB MOVC RET 30H , 31H, A , 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論