單片機原理與應(yīng)用趙德安完整版_第1頁
單片機原理與應(yīng)用趙德安完整版_第2頁
單片機原理與應(yīng)用趙德安完整版_第3頁
單片機原理與應(yīng)用趙德安完整版_第4頁
單片機原理與應(yīng)用趙德安完整版_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理與應(yīng)用趙德安HEN system office room HEN 16H-HENS2AHENS8Q8-HENH1688單片機原理與應(yīng)用第1章微機基礎(chǔ)知識 考試知識點:1、各種進制之間的轉(zhuǎn)換(1)各種進制轉(zhuǎn)換為十進制數(shù)方法:各位按權(quán)展開相加即可。(2)十進制數(shù)轉(zhuǎn)換為各種進制方法:整數(shù)部分采用“除基取余法”,小數(shù)部分采用“乘基取整法”。(3)二進制數(shù)與十六進制數(shù)之間的相互轉(zhuǎn)換方法:每四位二進制轉(zhuǎn)換為一位十六進制數(shù)。2、帶符號數(shù)的三種表示方法(1)原碼:機器數(shù)的原始表示,最高位為符號位(0 + 1,其余各位為數(shù)值位。(2)反碼:正數(shù)的反碼與原碼相同。負(fù)數(shù)的反碼把原碼的最高位不變,其余各位

2、求反。(3)補碼:正數(shù)的補碼與原碼相同。負(fù)數(shù)的補碼為反碼加1。原碼、反碼的表示范圍:T27+127,補碼的表示范圍:T28+127。3、計算機中使用的編碼(1) BCD碼:每4位二進制數(shù)對應(yīng)1位十進制數(shù)。(2) ASCII碼:7位二進制數(shù)表示字符。09的ASCII碼30H39H, A的ASCII 碼 41H, a 的 ASCH 碼 61H??荚噺?fù)習(xí)題:1、2、3、4、5、6、求十進制數(shù)T02的補碼(以2位16進制數(shù)表示),該補碼為123=_只有在Ho碼表示中0的表示是唯一的。真值-0000000B的反碼為.+1000110B的反碼是 轉(zhuǎn)換成十進制數(shù)是(;其補碼為;-onoonB的補碼是(A)(

3、B)7、8、轉(zhuǎn)換成二進制數(shù)是(A)(C)轉(zhuǎn)換成十六進制數(shù)是(A)(B)O(C)O(B)(D)O(C)(D)9、十進制29的二進制表示為原碼(111H )(D) 49H10、-49D的二進制補碼為.()11、已知某數(shù)的BCD碼為Oin 0101 0100 0010則其表示的十進制數(shù)值為()a) 7542H b) 7542 c) d)第2章MSC-51單片機的硬件結(jié)構(gòu) 考試知識點:1、80c51單片機的內(nèi)部邏輯結(jié)構(gòu)單片機是把CPU、存儲器、輸入輸出接口、定時/計數(shù)器和時鐘電路集成到一塊芯 片上的微型計算機,主要由以下幾個部分組成。(1)中央處理器CPU包括運算器和控制器。運算電路以ALU為核心,完

4、成算術(shù)運算和邏輯運算,運算結(jié)果存放于ACC中,運 算結(jié)果的特征存放于PSW中。控制電路是單片機的指揮控制部件,保證單片機各部分能自動而協(xié)調(diào)地工作。程 序計數(shù)器PC是一個16位寄存器,PC的內(nèi)容為將要執(zhí)行的下一條指令地址,具有自動 加1功能,以實現(xiàn)程序的順序執(zhí)行。(2)存儲器分類:隨機存取存儲器RAM:能讀能寫,信息在關(guān)機后消失??煞譃殪o態(tài)RAM (SRAM)和 動態(tài)RAM (DRAM)兩種。只讀存儲器:信息在關(guān)機后不會消失。掩膜ROM:信息在出廠時由廠家一次性寫入??删幊蘌ROM:信息由用戶一次性寫入??刹脸删幊蘀PROM:寫入后的內(nèi)容可由紫外線照射擦除。電可擦除可編程EEPROM:可用電信

5、號進行清除和改寫。存儲容量:存儲容量指存儲器可以容納的二進制信息量,M位地址總線、位數(shù)據(jù)總線的存儲 器容量為kXN位。80c51單片機的存儲器有內(nèi)部RAM (128B,高128B為專用寄存器)、外部RAM (64KB)、內(nèi)部 ROM (4KB 掩膜 ROM)、外部 ROM (64KB)。(3)輸入輸出接口4 個 8 位并行 I/O 口(P0、Pl、P2、P3)(4)其它資源一個全雙工串行口、5個中斷源、2個16位的定時/計數(shù)器、時鐘電路。2、80c51單片機的信號引腳(1)電源部分:VCC接+5V、VSS接地。(2)時鐘電路部分:XTAL1和XTAL2接晶振。1個機器周期二6個狀態(tài)二12個拍節(jié)

6、6MHz的晶體機器周期2us, 12MHz的晶體機器周期lus。(3) I/O 口部分:P08位數(shù)據(jù)總線/地址總線低8位、P1用戶口、P2 地址高8位、P3一一第二功能。(4)控制部分:地址鎖存控制信號ALE,用于控制把P0 口輸出的低8位地址送入鎖存器鎖存地起 來。外部程序存儲器讀選通信號PSE,低電平有效,以實現(xiàn)外部ROM單元的讀操作。訪問程序存儲器控制信號EA,低電平時只讀外部ROM,高電平時先讀內(nèi)部ROM, 再讀外部ROMo復(fù)位信號RST,當(dāng)輸入的復(fù)位信號延續(xù)2個機器周期以上高電平時即為有效。復(fù)位值:PC=OOOOH, SP=07H, P0=0FFHo3、內(nèi)部RAM的基本結(jié)構(gòu)與功能80

7、c51的內(nèi)部數(shù)據(jù)存儲器低128單元區(qū),稱為內(nèi)部RAM,地址為007FH。(1)寄存器區(qū)(001FH)共分為4組,組號依次為0、1、2、3,每組有8個寄存器,在組中按R7R0編 號。由PSW中RSI、RS0位的狀態(tài)組合來決定哪一組。(2)位尋址區(qū)(20H2FH)可對單元中的每一位進行位操作,16個字節(jié)單元共128個可尋址位,位地址為007FH。位起始地址D0二(字節(jié)地址-20H) *8(3)用戶RAM區(qū)(30H-7FH)堆棧、緩沖區(qū)堆棧是在內(nèi)部RAM中開辟的,最大特點就是“后進先出”的數(shù)據(jù)操作原則。兩項功能:保護斷點和保護現(xiàn)場。兩種操作:進棧和出棧。SP堆棧指針,它的內(nèi)容就是堆棧棧頂單元的地址。

8、4、專用寄存器(內(nèi)部數(shù)據(jù)存儲器高128單元)(1)累加器A (ACC)(2)寄存器B(3)程序狀態(tài)字PSWCY進位標(biāo)志位,最高位的進位或借位。AC半進位標(biāo)志位,低4位向高4位的進位或借位。0V溢出標(biāo)志位,同符號數(shù)相加,結(jié)果為異符號,有溢出;異符號數(shù)相減,結(jié) 果和減數(shù)符號相同,有溢出。PA中1的個數(shù),奇數(shù)個P=l,偶數(shù)個P=0。(4)數(shù)據(jù)指針DPTR: 80c51中惟一一個供用戶使用的16位寄存器。高8位DPH,低 8 位 DPL。考試復(fù)習(xí)題:1、80c51單片機的()口的引腳,還具有外中斷、串行通信等第二功能。a) P0b) Plc) P2d) P32、單片機應(yīng)用程序一般存放在()a) RAM

9、?b) R0M?c)寄存器 d) CPU?3、CPU主要的組成部部分為()a)運算器、控制器b)加法器、寄存器c)運算器、寄存器d)運算器、指令譯碼器4、80C51是()位的單片機a) 16 b) 4c) 8 d)準(zhǔn) 165、80c51復(fù)位后,PC與SP的值為()a ) 0000H, OOH b) 0000H, 07Hc) 0003H, 07H d) 0800H, OOH?6、80c51單片機中既可位尋址乂可字節(jié)尋址的單元是()a) 20H b) 30H c) 00H d) 70H?7、PSW=18H時,則當(dāng)前工作寄存器是()組 B. 1組 C. 2組 D. 3組8、MCS51單片機外部有40

10、個引腳,其中,地址鎖存允許控制信號引腳是()(A) ALE(B) PSEN(C) EA(D) RST9、PC中存放的是()A.下一條指令的地址B.當(dāng)前正在執(zhí)行的指令C.當(dāng)前正在執(zhí)行指令的地址D.下一條要執(zhí)行的指令10、MCS-51單片機的堆棧區(qū)應(yīng)建立在()oA.片內(nèi)數(shù)據(jù)存儲區(qū)的低128字節(jié)單元B.片內(nèi)數(shù)據(jù)存儲區(qū)C.片內(nèi)數(shù)據(jù)存儲區(qū)的高128字節(jié)單元D.程序存儲區(qū)11、MCS-51單片機有片內(nèi)ROM容量()A. 4KB B. 8KB C. 128B D. 256B12、MCS-51單片機的RS1,RSO=11時,當(dāng)前寄存器ROR7占用內(nèi)部RAM()單元。A. OOH07H B. 08HOFHC.

11、10H17H D. 18H1FH13、單片機即一個芯片的計算機,此芯片上包括五部分:運算器、輸入部分、O14、半導(dǎo)體存儲器分成兩大類 和 其中 具有易失性,常用于存儲 o15、在MCS51單片機內(nèi)部RAM中,字節(jié)地址范圍是20H 2FH的區(qū)域稱為 而字節(jié)地址范圍是30H 7FH的一段區(qū)域稱為 o16、MCS-51系列單片機內(nèi)部數(shù)據(jù)存儲器,即內(nèi)RAM中位尋址區(qū)的地址范圍是工作寄存器區(qū)的地址范圍是 o內(nèi)ROM中尋址區(qū)的地址范圍是 O17、若由程序設(shè)定RS】、RSlOI,則工作寄存器R。R;的直接地址為 o18、MCS51單片機的堆棧區(qū)只可設(shè)置在,堆棧寄存器5P 是 位寄存器。19、P0、Pl、P2

12、、P3四個均是一位的一口(填“串行”還是“并行”),其中P0的 功能是; P2 口的功能是:而 是雙功能口; 是專門的用戶口。20、程序狀態(tài)標(biāo)志字寄存器PSW中的的含義是;的含義是 O21、當(dāng)MCS-51引腳信號有效時,表示從P0 口穩(wěn)定地送出了低8位地址.22、當(dāng)EA接地時,MCS-51單片機將從 的地址0000H開始執(zhí)行程序。23、1個機器周期二 個狀態(tài),1個狀態(tài)=個拍節(jié)。24、MCS51系列單片機的內(nèi)部資源有哪些?說出8031、8051和8751的區(qū)別。25、簡述累加器的ACC的作用。26、80c51的振蕩周期、機器周期、指令周期是如何分配的當(dāng)晶振頻率為6MHz時,一 個機器周期為多少微

13、秒27、開機復(fù)位后,CPU使用的是哪組工作寄存器它們的地址是什么CPU如何確定和改 變當(dāng)前工作寄存器組28、80C51單片機片內(nèi)256B的數(shù)據(jù)存儲器分為哪幾個區(qū)分別作什么用29、80c51單片機的程序存儲器和數(shù)據(jù)存儲器共處同一地址空間,為什么不會發(fā)生總 線沖突?第3章單片機指令系統(tǒng)考試知識點:1、尋址方式(1)立即尋址(#data, #datal6)例:MOV A, #00H(2)直接尋址(direct)內(nèi)部RAM: 007FH、特殊功能寄存器 例:MOV A, OOH(3)寄存器尋址(A、B、Rn、DPTR)(4)寄存器間接尋址(Ri、DPTR)例:MOVX A, DPTR(5)變址尋址(A

14、+DPTR, A+PC)例:MOVC A, A+DPTR(6)位尋址(bit) 202FH: 007FH、特殊功能寄存器例:MOV C, 00H(7)相對尋址(rel)例:JZ rel2、數(shù)據(jù)傳送類指令(1)內(nèi)部RAM數(shù)據(jù)傳送指令MOV目的,源;目的一源交換指令:XCH A, direct/Rn/Ri; A 和源交換XCHD A, Ri:只換低4位SWAP A: A的高低4位交換注意:A作目的操作數(shù)會影響P。PUSH directPOP direct(2)外部RAM數(shù)據(jù)傳送指令MOVX A, Ri/DPTR;外部地址內(nèi)容f AMOVXRi/DPTR, A; A-外部地址內(nèi)容(3) ROM數(shù)據(jù)傳

15、送指令MOVC A, A+DPTR/A+PC;查表指令3、算術(shù)運算指令(1)加法指令A(yù)DD/ADDC A, ftdata/ direct/ Rn/Ri:會影響 CY、AC、0 PINC A/ direct/ Rn/Ri/DPTR:加 L PDA A:十進制調(diào)整,大于9加6(2)減法指令SUBB A, #data/ direct/ Rn/Ri;會影響 CY、AC、0V PDEC A/ direct/ Rn/Ri;減 1(3)乘除指令MUL AB; (A)*(B) - BA,會影響 CY=0, 0V, PDIV AB; (A)/(B)的商f A,余數(shù)fB4、邏輯運算及移動指令(1)邏輯運算指令A(yù)N

16、L/ORL/XRL A, #data/ direct/ Rn/RiANL/ORL/XRL direct, A/#data與f清0,或f置1,異或f取反CLR/CPL A;清0和取反(2)移位指令RL/RR/RLC/RRC A注意:每左移一位相當(dāng)于乘2,每右移一位相當(dāng)于除2,帶進位的移會影響CY和 Po5、控制轉(zhuǎn)移類指令(1)無條件轉(zhuǎn)移指令LJMP addrl6; addrl6-PC, 64KBAJMP addrll: (PC)+2-PC, addrll,PC100, 2KBSJMP rel; (PC) +2+rel-PC, 256BJMP A+DPTR: (A) + (DPTR)-PC, 64

17、KB(2)條件轉(zhuǎn)移指令累加器A判0轉(zhuǎn)移指令JZ rel; A為。JNZ rel; A 不為 0比較不相等轉(zhuǎn)移指令CJNE A/Rn/Ri, itdata, relCJNE A, direct, rel注意:第一操作數(shù)和第二操作數(shù)不相等,程序轉(zhuǎn)移,若第一大于第二,CY=0,第 一小于第二,CY=lo第一操作數(shù)和第二操作數(shù)相等,程序順序執(zhí)行,CY二0。減1不為0轉(zhuǎn)移指令DJNZ Rn/direct, rel: (Rn/direct) -1 不為 0,程序轉(zhuǎn)移。(3)調(diào)用和返回指令LCALL addrl6: (PC) +3-PC,先入低 8 位,再入高 8 位,addr16fpeACALL addr

18、ll: (PC) +2-PC,先入低 8 位,再入高 8 位,addrll-PC10-0RET:先出高8位,再出低8位6、位操作類指令(1)位傳送指令MOV C, bitMOV bit, C(2)位賦值指令CLR C/bitSETB C/bit(3)位邏輯運算指令A(yù)NL/ORL C, bit 或/bitCPL C/bit 注意:實現(xiàn)邏輯表達式 (4)位控制轉(zhuǎn)移指令JC rel; (CY) =1JNC rel; (CY) =0JB bit, rel: (bit)=lJNB bit, rel; (bit)=OJBC bit, rel; (bit)= 1,轉(zhuǎn)移,清 0 考試復(fù)習(xí)題:1、下列指令中不影

19、響標(biāo)志位CY的指令有()oa) ADDA, 20Hb) CLR A c) RRCA d) INCA2、當(dāng)需要從MCS-51單片機程序存儲器取數(shù)據(jù)時,采用的指令為()。a) MOVA, R1 b) MOVCA, A+DPTRc) MOVXA, R0 d) MOVXA, DPTR3、下列哪條指令是正確的()RO, ARO,A)尋址方式,指令作用在()區(qū)(B)直接,程序存儲器(D)寄存器間接,外部數(shù)據(jù)存儲器)D、中斷返回指令a) PUSH R2b) ADDc) MOVX A DPTR d) MOV 4、MOVX A , R0指令中,源操作數(shù)采用( 間。(A)寄存器,外部數(shù)據(jù)存儲器(C)寄存器間接,內(nèi)

20、部數(shù)據(jù)存儲器 5、在中斷服務(wù)程序中,至少應(yīng)有一條(A、傳送指令B、轉(zhuǎn)移指令C、力此6、要用傳送指令訪問80c51外部RAM,它的指令助記符應(yīng)是()A、 MOV B、 MOVX C、 MOVC D、 MOVD7、執(zhí)行LCALL 4000指令時,80c51所完成的操作是()A、保護 PC B、PC-4000H C、保護現(xiàn)場 D、PC+3 入棧,PC-4000H8、以下運算中對溢出標(biāo)志0V沒有影響或不受OV影響的運算是()A、邏輯運算B、符號數(shù)加減法運算C、乘法運算D、除法運算9、必須進行十進制調(diào)整的十進制運算()A、只有加法B、有乘法和除法C、有加法和減法D、只有減法10、指令A(yù)JMP的跳轉(zhuǎn)范圍是

21、()A、 256B B、 1KB C、 2KB D、 4KB11、執(zhí)行PUSH ACC指令,80c51完成的操作是()A、SP-(SP)+1 (SP) - (ACC) B、(SP) - (ACC) SP-(SP)-1C、SP-(SP)-1 (SP) - (ACC) D、(SP) - (ACC) SP-(SP)+112、A7H和5BH兩個立即數(shù)相加后,和為(),(CY)是()。(A) 1CH, 0(B) C1H, 0(C) 02H, 1(D) C1H, 113、若(A) =86H, (PSW) =80H,則執(zhí)行 RRC A 指令后()(A) C3H (B) B3H(C) ODH(D) 56H14

22、、如果(P0)=65H ,則當(dāng)CPLSETB CMOV , C執(zhí)行后(P0)=()(A) 61H(B) 75H(C) 71H(D) 17H15、80c51單片機中,將累加器A中的數(shù)送入外RAM的40H單元,可執(zhí)行的指令)o(A)MOVRI ,40H(B)MOVRI ,#40HMOVXR1 , AMOVXRI , A(C)MOVX40H , A(D)MOVRI, #40HMOVX R1 , A16、 ORG 2000HLACLL 3OOOHORG 3OOOHRET上邊程序執(zhí)行完RET指令后,PC=()17、JXZ REL指令的尋址方式是()A.立即尋址B.寄存器尋址C.相對尋址D.位尋址 18、

23、下面哪條指令產(chǎn)生演信號()A, DPTR A, A+PC A, A+DPTR DPTR,A19、MOVX A, DPTR指令中源操作數(shù)的尋址方式是()A.寄存器尋址B.寄存器間接尋址C.直接尋址 D.立即尋址20、已知累加器A的數(shù)值為98H,它與OFAH相加,相加后會影響標(biāo)志位CY、AC和0V 位。各個位的值是()。(A) 0、0、0(B) 1、0、1(C) 1、1、1(D) 1、1、021、 ORG 0003HLJMP 2000HORG OOOBHLJMP 3000H當(dāng)CPU響應(yīng)外部中斷0后,PC的值是()22、假定設(shè)置堆棧指針SP的值為37H,在進行子程序調(diào)用時把斷點地址進棧保護后,SP的

24、值為()A、 36H B、 37H C、 38H D、 39H23、要把P0 口高4位變0,低4位不變,應(yīng)使用指令()P0, #OFH P0, #OFOH P0, #OFOH P0, #OFH24、MCS-51執(zhí)行完MOV A, #08H后,PSW的哪一位被置位()B. F025、對于指令JNB 12H, $,其操作碼為80H,其操作數(shù)(即偏移量)為。26、JZ e的操作碼地址為1000H, e=20H,它的轉(zhuǎn)移目的地址為。27、執(zhí)行下列程序段后,(P1)二 oMOV Pl, #5DHCPLCPLCLRSETB28、執(zhí)行下列程序段后,(A)=, (CY)= -oMOV A, #C5HRL A2

25、9、下列程序段執(zhí)行后,(R。)=, (7EH)二,(7FH)=。MOVRo, #7EHMOV7EH,#OFFHMOV7FH,#40HINCRoINC RoINC Ro30、已知(SP)=60H,子程序SUBTRN的首地址為0345H,現(xiàn)執(zhí)行位于0123H的ACALLSUBTRN 雙字節(jié)指令后,(PC)二,(61H)=, (62H)= 。31、ORL A, #OFOH是將A的高4位置1,而低4位。32、SJMP e的指令操作碼地址為0050H, e=65H,那么它的轉(zhuǎn)移U的地址為 O33、假定(A)=OFBH, (B) =12Ho執(zhí)行指令:DIV AB后,CY的內(nèi)容為, 0V的內(nèi)容為 O34、假

26、定(SP) =40H , (39H)=30H, (40H) =60Ho 執(zhí)行下列指令:POP DPHPOP DPL后,DPTR的內(nèi)容為SP的內(nèi)容是A中的結(jié)果是35、下列各條指令箕源操作數(shù)的尋證方式是什么各條指令單獨執(zhí)行后,什么設(shè)(60H)36、37、38、(1)(2)(3)(A)JXZMOVADDANL=35H, (A) =19H,A, #48HA, 60HA, Ro(Ro) =30H, (30H)二OFHq;尋址方式:;尋址方式:;尋址方式:(A)二=3BH,執(zhí)行 ANL A, #9EH 指令后,(A) = (CY)=REL為2B指令,放于1308H,轉(zhuǎn)移目標(biāo)地址是134AH,若(A)(0V

27、)二39、若(A)(0V)二二C3H, (RO)=AAH,執(zhí)行 ADD A, RO 后,(A)= (AC)二=50H, (B)=AOH,執(zhí)行 MUL AB 后,(A)=(A)二(A)二求偏移量REL=(CY)=(B)=(CY)二40、41、42、(1)(2)(3)(4)(5)(6)(7)(8)(9)MOVX MOV MOVX ADDC SUB AXL MOV ORL JBCR0, BA, 30HA, 30HA, R7A, R2 #99H , 36H c,(10) ACALLP0, LL1PROC判斷指令(或偽指令)正誤(1).()(3).()(5) .(7).()MOVCLRORGMOVXR1

28、3000HA ,2000H(2).(4).(6) .(8).ADDCMOVXMOVCDJNZA , 2030H40H , #30HA+PC , A ()#data , relSJMP 0E7H為2B指令,放于F010H,目標(biāo)地址二判斷以下各條指令是否正確(LL1和PROC為標(biāo)號)(10分)(9). INC R5 )()(10).DEC DPTR(11). MOV RI R2()(12).SWAP RI)(13). SETB 2000H()(14).JZ A , LOOP)(15) DA R2()43、設(shè)(A)=38H,R0=28H, (28H)=18H,執(zhí)行下列程序后,(A)=ORL A, #

29、27HAXL A, 28HXCHD A, R0CPL A44、設(shè)(A)=38H, (20H)=49H,PSW=00H, (B)=02H,填寫以下中間結(jié)果。SETB CADDC A,20H (A)二 (CY)=_ (AC)二RLC A(A)=_(CY)=_ (P)=MUL AB(A)二 (B)二_(OV)=45、若(10H)=OFFH, (11H)=OOH, (12H)=OFFH, (13H)=OOH,寫出每一步指令運行結(jié)果MOVA, 10H(A)=,AXLA, #01H(A)-,MOVA, 11H(A)=9ORLA,#01H(A) =,MOVA, 12H(A)=9XRLA, #01H(A)=9

30、MOVA, 13H(A)二9XRLA, #OAA(A)=,(10H)二二,(HH)=、(12H)=. (13H) =46、 MOV30H,#60HMOVRO, #60HMOVA, 30HMOVB,AMOVRO,B(A)=_,(R 0)二9(B) =47、 MOVSP, #60HMOVA, #01H(A)=,MOVB, #02H(B)=9PUSH A( S P)=,PUSHB( S P)=,POPAPOPB(6 0 H)=48、若PSW二OOH,當(dāng)執(zhí)行完下面三條語句后,PSW應(yīng)為多少?MOVA, #OFBHMOV PSW, #10H ADDA, #7FH49、 已知(RO) =20H, (20H

31、 ) =10H, (PO) =30H, (R2) =20H,執(zhí)行如下程序段后 (40H )=MOV RO , #11HMOV A , R2ADD A , 20HMOV PSW , #80HSUBB A , POXRL A , #45HMOV 40H , A50、設(shè)在31H單元存有#23H,執(zhí)行下面程序:MOV ANL MOV MOV ANL SWAP MOV 則(41H)二A, 31HA, #OFH 41H, AA, 31HA, #OFOHA 42H, A (42H)二51、若PSW二00,執(zhí)行下列程序后,PSW的各位狀態(tài)如何?MOVA, #OFBHMOVPSW, #10HADDA, #7FH

32、CYACovPOFRSI52、位地址為M、N、Y,程序如下: MOV C, MANL C, MOV Y, C MOV C, M ANL C,N ORL CY MOV Y, C 求程序功能表達式: 53、閱讀下列程序并回答問題CLR CMOV A, #9AHSUBBA, 60HADDA, 61H,DAAMOV62H, A(1)請問該程序執(zhí)行何種操作?(2)已知初值:(60H) =23H, (61H)=61H,請問運行程序后:(62H)二( )54、已知(B) =35H, (A) =43H在執(zhí)行下列指令后,(SP) =,內(nèi)部RAM (51H)=oMOVSP, # 50HPUSHACCPUSHB55

33、、執(zhí)行下列程序后,(A)=, (B)=oMOVA, #9FHMOVB, #36HAXLB, ASETBCADDCA, B 56、設(shè) RAM 中(2456H)=66H, (2457H)=34H, ROM 中(2456H)=55H, (2457H)=64H。請分 析下面程序執(zhí)行后各寄存器的內(nèi)容。(A)=, (DPTR)=oMOVA, #1MOVDPTR, #2456HMOVCA, A+DPTR第5章匯編語言程序設(shè)計考試知識點:1、匯編語言的語句格式【標(biāo)號:】操作碼【操作數(shù)】1:注釋】 標(biāo)號:語句地址的標(biāo)志符號。操作碼:語句執(zhí)行的操作內(nèi)容,用指令助記符表示。操作數(shù):為指令操作提供數(shù)據(jù)。注釋:對語句的

34、解釋說明。2、偽指令起始地址ORG、結(jié)束END、賦值EQU、字節(jié)DB、字DW、空DS、位BIT 3、匯編語言程序的基本結(jié)構(gòu)形式(1)順序結(jié)構(gòu)(2)分支結(jié)構(gòu)(3)循環(huán)結(jié)構(gòu):數(shù)據(jù)傳送問題、求和問題4、定時程序例:延時100ms的子程序,設(shè)晶振頻率6MHZ。DELAY: MOV R5, #250L00P2: MOV R4, #49L00P1: NOPNOPDJNZ R4, L00P1DJNZ R5, L00P2 RET5、查表程序(1)要查找的數(shù)據(jù)在表中的位置給A(2)表的首地址給DPTR(3) MOVC A, A+DPTR(4)數(shù)據(jù)表考試復(fù)習(xí)題:1、下列標(biāo)號中,正確的標(biāo)號是()o 2、下列偽指令匯

35、編后,存放數(shù)據(jù)4051H的存貯單元分別是:存放40H,存放51HoORG 2400HTIME EQU 2000HTABI: DS 05HBUF2: DW 4051H3、已知單片機品振頻率為6MHz,假設(shè)X、Y為變量,當(dāng)X二, Y二 時,下列程序執(zhí)行時間最長,其最長值為 oMOV R6, #Y;需1個機器周期DEI: MOV R7, #X;需1個機器周期DEO: DJNZ R7, DEO;需2個機器周期DJNZ R6, DE1;需2個機器周期RET;需2個機器周期4、設(shè) R0=20H, R1=25H, (20H) =80H, (21H)二90H, (22H)=AOH, (25H)=A0H, (2

36、6H) =6FH, (27H) =76H,下列程序執(zhí)行后,結(jié)果如何并給出部分語句的注釋。CLR MOVLOOP: MOV ADDC MOV INC INC DJNZ JNC MOV SJMPNEXT: DEC SJMP (20H)二CY= 、 A二、C R2, #3 A, R0 A, R1 R0, A RO RIR2, LOOP ;NEXT;R0, #01H $ RO(23H) =S 、(21H) =、(22H) RO二、RI二5、閱讀下列程序,說明其功能。MOV Ro, #dataMOV A, RoRL AMOV Rx, ARL ARL AADD A, RxMOV Ro, ARET6、閱讀下

37、列程序段,寫出每條指令執(zhí)行后的結(jié)果,并說明此程序段完成什么功能( 15分)MOVRx, #30H; (R:)=MOVA, #64H; (A)二ADDA, #47H; (A)二,(CY)二,DAA; (A) =(CY)=(AC)=MOVR-A; (RJ =, (30H)=7、 2506HM5: MOV SP, #58H2509HMOV 10H, #OFH250CHMOV 11H, #OBH(AC)二250FHACALL XHD; PC+2 fPC ,0,0 x = 0y- T X 018、已知在R二中存放一個壓縮的BCD碼,請將它拆成二個BCD字節(jié),結(jié)果存于SUM開 始的單元中(低位在前)。19

38、、將存于外部RAM 8000H開始的50H數(shù)據(jù)傳送0010H的區(qū)域,請編程實現(xiàn)。20、編程將片內(nèi)RAM30H單元開始的1 5 B的數(shù)據(jù)傳送到片外RAM3000H開始的單元中 去。21、請將片外RAM20H-25H單元清零22、閱讀程序并填空,形成完整的程序以實現(xiàn)如下功能。有一長度為10字節(jié)的字符串存放在80C51單片機內(nèi)部RAM中,其首地址為40Ho要求將該字符串中每一個字符加偶校驗位。(以調(diào)用子程序的方法來實現(xiàn)。)源程序如下:ORG1000HMOVRo, #40HMOVRt, #10NEXT:MOVA,ACALLSEPAMOVRo, AINCRoDJNZ,NEXTSJMP$SEPA:ADDA

39、, #00H,SRETORLA,SRET:23、從內(nèi)部RAM30H單元開始,有10個單字節(jié)數(shù)據(jù)。試編一個程序,把其中的正數(shù)、 負(fù)數(shù)分別送40H和50H開始的內(nèi)部RAM單元。24、將字節(jié)地址30H、3FH單元的內(nèi)容逐一取出減1,然后再放回原處,如果取出的內(nèi) 容為00H,則不要減1,仍將0放回原處。25、將31H、32H單元與41 H、40H單元的雙字節(jié)十進制無符號數(shù)相加,結(jié)果存入 32H, 31H, 30H 單元。26、編程實現(xiàn)字符串長度統(tǒng)計:設(shè)在單片機內(nèi)RAM中從STR單元開始有一字符串以 ASC H碼存放,該字符串以$其值為24H結(jié)束,試統(tǒng)計該字符串的長度,其結(jié)果存 于LON單元。求平方子程

40、序計算乂二/2+丁227、片內(nèi)RAM30H開始的單元中有10B的二進制數(shù),請編程求它們之和。設(shè)和256。第4章單片機的其他片內(nèi)功能考試知識點:1、中斷源和中斷請求標(biāo)志位中斷名稱中斷請求標(biāo)志中斷向量外部中斷0IE00003HT0中斷TFOOOOBH外部中斷1IE10013HT1中斷TF1001BH串行發(fā)送中斷TI0023H串行接收中斷RI0023H2、和中斷相關(guān)的寄存器的設(shè)置(1)定時器控制寄存器TCON格式如下:位D7D6D5D4D3D2D1D0TCONTF1TR1TFOTROIE1IT1IE0ITO位地址8F8E8D8C8B8A8988IT0=0,為電平觸發(fā)方趣更低電平有效。IT0=1,為邊

41、沿觸發(fā)方刪輸入腳上電平由高到低的負(fù)跳變有效。IEO=1,說明有中斷請求,否則IE0二0。(2)中斷允許控制寄存器IE 其各位的定義如下:位D7D6D5D4D3D2D1D0代號EAESET1EX1ETOEXOEA:開放或禁止所有中斷。ES:開放或禁止串行通道中斷。ET1:開放或禁止定時/計數(shù)器T1溢出中斷。EX1:開放或禁止外部中斷源1。ETO:開放或禁止定時/計數(shù)器T0溢出中斷。EXO:開放或禁止外部中斷源0。(3)中斷優(yōu)先級控制寄存器IP各位的定義如下:位D7D6D5D4D3D2D1D0代號PSPT1PX1PTOPXO1為高優(yōu)先級、0為低優(yōu)先級。如果同級的多個中斷請求同時出現(xiàn),則按CPU查

42、詢次序確定哪個中斷請求被響應(yīng)。查詢次序為:外部中斷0、T0中斷、外部中斷1、 T1中斷、串行中斷。3、響應(yīng)中斷的必要條件(1)有中斷源發(fā)出中斷請求。(2)中斷允許寄存器IE相應(yīng)位置“1”,CPU中斷開放(EA=1) o(3)無同級或高級中斷正在服務(wù)。(4)現(xiàn)行指令執(zhí)行到最后一個機器周期且已結(jié)束。若現(xiàn)行指令為RETI或需訪問 特殊功能寄存器IE或IP的指令時,執(zhí)行完該指令且其緊接著的指令也已執(zhí)行完。中斷響應(yīng)的主要內(nèi)容是由硬件自動生成一條長調(diào)用指令,指令格式為“LCALL addrl6 o這里的addrl6就是程序存儲器中斷區(qū)中相應(yīng)中斷的入口地址。4、中斷程序設(shè)計(1)在0000H處存放一條無條件

43、轉(zhuǎn)移指令轉(zhuǎn)到主程序。(2)在入口地址處存放一條無條件轉(zhuǎn)移指令轉(zhuǎn)到中斷服務(wù)子程序。(3)設(shè)置觸發(fā)方式(ITO/ni)(4)設(shè)置IE和IPo(5)設(shè)置SP。(6)原地踏步。(7)中斷服務(wù)子程序。最后RETI。5、定時計數(shù)的基本原理(1)定時功能:每個機器周期計數(shù)器加1。(2)計數(shù)功能:TO () W T1 ()輸入計數(shù)脈沖,每一來一個脈沖計數(shù)器加 6、用于定時計數(shù)的寄存器的設(shè)置(1)定時器控制寄存器TCON格式如下:位D7D6D5D4D3D2D1D0TCONTF1TR1TFOTROIE1IT1IE0ITO位地址8F8E8D8C8B8A8988TF1, TFO計數(shù)溢出標(biāo)志位。當(dāng)計數(shù)器產(chǎn)生計數(shù)溢出時,

44、由硬件置數(shù)采用查詢方式,它是供查詢的狀態(tài)位。采用中斷方式,作為中斷請求信號。TRI、TRO計數(shù)運行控制位。為1時,啟動定時器/計數(shù)器工作;為0時,停止 定時器/計數(shù)器工作。(2)工作方式控制寄存器TMOD其格式如下:GATE:門控位。當(dāng)GATE=1時,同時INTx為高電平,且TRx置位時,啟動定時器,外部啟動。當(dāng)GATE二0時:每當(dāng)TRx置位時,就啟動定時器,是內(nèi)部啟動方式。C/T:選擇定時器功能還是計數(shù)器功能。該位置位時選擇計數(shù)器功能;該位清零 時選擇定時器功能。M1M0:這兩位指定定時/計數(shù)器的工作方式,可形成四種編碼,對應(yīng)四種工作方式:MlM0方式說明000FLx低5位與THx中8位構(gòu)成

45、13位計數(shù)器011FLx與THx構(gòu)成16位計數(shù)器102可自動再裝入的8位計數(shù)器,當(dāng)TLx計數(shù)溢出時,THx內(nèi)容 自動裝入TLx。113對定時器0,分成兩個8位的計數(shù)器;對定時器1,停止計 數(shù)。7、各種工作方式計數(shù)初值計算公式方式0:定時時間T二(8192-計數(shù)初值)X機器周期計數(shù)次數(shù)O8192-X方式1:定時時間T=(65536-計數(shù)初值)X機器周期計數(shù)次數(shù)O65536-X方式2:定時時間T=(256-計數(shù)初值)X機器周期計數(shù)次數(shù)O256-X8、定時器程序設(shè)計查詢方式:(1)在0000H處存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)到主程序。(2)設(shè)置工作方式TM0D。(3)設(shè)置計數(shù)初值。(4)啟動定時計數(shù)。(

46、5)等待時間到或計數(shù)計滿。LOOP: JBC TF0/TF1, L00P1SJMP LOOPL00P1:(6)重新設(shè)置計數(shù)初值(除方式2),再轉(zhuǎn)第5步。中斷方式:(1)在0000H處存放一條無條件轉(zhuǎn)移指令,轉(zhuǎn)到主程序。(2)在入口地址處存放一條無條件轉(zhuǎn)移指令轉(zhuǎn)到中斷服務(wù)子程序。(3)設(shè)置工作方式TMOD。(4)設(shè)置計數(shù)初值。(5)啟動定時計數(shù)。(6)設(shè)置IE和IPo(7)設(shè)置SP。(8)原地踏步。(9)中斷服務(wù)子程序。重新設(shè)置計數(shù)初值(除方式2),最后RETI。例 選用定時器/計數(shù)器T1工作方式。產(chǎn)生500 Hs定時,在輸出周期為1ms的 方波,設(shè)晶振頻率=6MHZ。(1)根據(jù)定時器/計數(shù)器1的工作方式,對TMOD進行初始化。%按題意可設(shè):GATE=0 (用TR1位控制定時的啟動和停止),=0 (置定時功能),M1M0=00 (置方式0),因定時器/計數(shù)器T0不用,可將其置為方式0 (不能置 為工作方式3),這樣可將TMOD的低4位置0,所以(TMOD) =00H。(2)計算定時初值213 - X) X2 = 500將低 5 位送 TL1,高 8 位送 TH1 得:(TH1) =F8H, (TL1) =06H(3)編制程

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論