單片機原理及應用_第1頁
單片機原理及應用_第2頁
單片機原理及應用_第3頁
單片機原理及應用_第4頁
單片機原理及應用_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.第2章 MCS-51單片機結構及原理習題第2章 MCS-51單片機的結構及原理補充習題一、填空題1MCS-51單片機是 8 位單片機。2MCS-51的產(chǎn)品8051與8031的區(qū)別是: 8位、四位 。3單片機的CPU從功能上可分為運算器和控制器 。4MCS-51的 指令 寄存器,用于暫存待執(zhí)行指令,等待譯碼。58051的累加器ACC是一個8位的寄存器,簡稱為A,用來 存放一個數(shù)或中間結果 。68051的程序狀態(tài)字寄存器PSW是一個8位的專用寄存器,用于 存放程序運行過程中的各種狀態(tài)信息 。7MCS-51的程序存貯器用于存放 程序代碼及程序中用到的常數(shù) 。8MCS-51的數(shù)據(jù)存貯器在物理上和邏輯

2、上都分為 2 個地址空間:分別是 片外RAM、片內(nèi)RAM 。9單片機的復位 上電 和 按鍵復位 兩種,當單片機運行進入死循環(huán)時,可通過 上電 重新啟動。10設晶振頻率為6MHz,則CPU的時鐘周期是 1/6 ,狀態(tài)周期是 1/3 ,機器周期是 2 ,指令周期是 2 至 8 。(us)11單片機的指令周期是執(zhí)行一條指令所需要的時間。一般由若干個機器周期組成。12單片機擴展外部存儲器時需要用鎖存器,用于鎖存 控制數(shù)據(jù) 地址。13. MCS-51單片機上電復位后,4個并行I/O端口對應的寄存器值為 FFH 。14當8051單片機的晶振頻率為12MHZ時,ALE地址鎖存信號端的輸出頻率為2MHZ的方脈

3、沖。(1/6)158051單片機片工作寄存器分為_4_組,每組_8_個,占片內(nèi)RAM_00H1FH_地址,寄存器組的選擇通過特殊功能寄存器PSW中得RS1,RS2標志位進行實現(xiàn)_實現(xiàn)。16MCS-51單片機的特殊功能寄存器集中布置在片內(nèi)數(shù)據(jù)存貯器80HFFH_地址范圍內(nèi)。17. MCS-51單片機既有字節(jié)地址又有位地址的片內(nèi)RAM有_21_字節(jié),地址范圍是_80HFFH_。18. MCS-51單片機既有字節(jié)地址又有位地址的SFR是_特殊功能寄存器_,分布在地址范圍_80HFFH_中。二、單項選擇題1MCS-51單片機的CPU主要的組成部分為 A 。A運算器、控制器 B加法器、寄存器 C運算器、

4、加法器 D運算器、譯碼器2單片機中的程序計數(shù)器PC用來 C 。 A存放指令 B存放正在執(zhí)行的指令地址 C存放下一條指令地址D存放上一條指令地址3單片機上電復位后,PC的內(nèi)容和SP的內(nèi)容為 C 。A0000H,00H B0000H,07H C0003H,07H D0800H,08H4單片機8031的ALE引腳是 B 。A 輸出高電平 B輸出矩形脈沖,頻率為fosc的1/6C輸出低電平 D輸出矩形脈沖,頻率為fosc的1/25單片機8031的引腳 D 。A必須接地 B必須接+5V C可懸空 D以上三種視需要而定6訪問外部存貯器或其它接口芯片時,作數(shù)據(jù)線和低8位地址線的是 A 。AP0口 BP1口

5、CP2口 DP0口 和 P2口7PSW中的RS1和RS0用來 A 。A 選擇工作寄存器組 B指示復位 C選擇定時器 D選擇工作方式8上電復位后,PSW的值為 D 。 A1 B07H CFFH D09單片機上電復位后,堆棧區(qū)的最大允許范圍是 C 個單元。A64 B120 C128 D25610單片機上電復位后,堆棧區(qū)的最大允許范圍是內(nèi)部RAM的 C 。A00HFFH B00H07H C07H7FH D08H7FH118031 單片機若晶振頻率為fosc=12MHz,則一個機器周期等于 C S。A1/12 B1/2 C1 D212MCS-51單片機的數(shù)據(jù)指針DPTR是一個16位的專用地址指針寄存器

6、,主要用來 B 。 A存放指令 B存放16位地址,作間址寄存器使用 C存放下一條指令地址D存放上一條指令地址13單片機上電后或復位后,工作寄存器R0是在 A 。 A0組00H單元 B0組01H單元 C1區(qū)08H單元 D1組09H單元14單片機8051的XTAL1和XTAL2引腳是 D 引腳。 A外接定時器 B外接串行口 C外接中斷 D外接晶振158051單片機的VSS(20)引腳是 B 引腳。 A電源 B接地 C備用電源 D訪問片外存貯器168051單片機的Vcc(40)引腳是 A 引腳。 A電源 B接地 C備用電源 D訪問片外存貯器178051單片機 A 口在用作I/O端口時,是一個8位漏極

7、型開路型準雙向I/O端口。 AP0 BP1 CP2 DP3188051單片機中,輸入/輸出引腳中用于專門的第二功能的引腳是 D 。 AP0 BP1 CP2 DP319MCS-51復位后,程序計數(shù)器PC= B 。即程序從 開始執(zhí)行指令。A0001H B0000H C0003H D0023H20MCS-51的片內(nèi)外的ROM是統(tǒng)一編址的,如果端保持高電平,8051的程序計數(shù)器PC在 A 地址范圍內(nèi)訪問片內(nèi)ROM。 A1000HFFFFH B0000HFFFFH C0001H0FFFH D0000H0FFFH21MCS-51的專用寄存器SFR中的堆棧指針SP是指向一個特殊的存貯區(qū),用來 C ,它是按后

8、進先出的原則存取數(shù)據(jù)的。 A存放運算中間結果 B存放標志位 C暫存數(shù)據(jù)和地址 D存放待調試的程序22單片機的堆棧指針SP始終是指示 C 。 A堆棧底 B堆棧頂 C堆棧地址 D堆棧中間位置23MCS-51并行I/O端口用作輸入用途之前必須 A 。 A在相應端口先置1 B在相應端口先置0 C外接高電平 D外接上拉電阻248051的程序計數(shù)器PC為16位計數(shù)器,其尋址范圍是 D 。 A8K B16K C32K D64K1 MSC51單片機內(nèi)部由哪些功能部件組成,各有什么功能?答:以80C51單片機為例,其內(nèi)部功能部件有:控制器:是對取自程序存儲器中的指令進行譯碼,在規(guī)定的時刻發(fā)出各種操作所需的控制信

9、號,完成指令所規(guī)定的功能;運算器:根據(jù)控制器發(fā)來的信號,執(zhí)行算術邏輯運算操作;存儲器:包括程序存儲和數(shù)據(jù)存儲器;定時器計數(shù)器:2個16位定時器/計數(shù)器,可對機器周期計數(shù),也可對外部輸入脈沖計數(shù);中斷系統(tǒng):可響應三個內(nèi)部中斷源和兩個外部中斷源的中斷請求;輸入輸出接口:4個8位并行口和一個全雙工串行口;2MSC51單片機外部引腳的名稱是什么?各有什么功能?答:(1) 電源及晶振引腳VCC(40腳):+5V電源引腳VSS(20腳): 接地引腳XTAL1(19腳);外接晶振引腳(內(nèi)置放大器輸入端)XTAL2(18腳):外接晶振引腳(內(nèi)置放大器輸出端)(2) 控制引腳RST/VPD(9)為復位/ 備用電

10、源引腳 ALE/PROG(30)為地址鎖存使能輸出/ 編程脈沖輸入 PSEN(29):輸出訪問片外程序存儲器讀選通信號 EA/ VPP (31):外部ROM允許訪問/ 編程電源輸入 (3) 并行I/O口引腳P0.0P0.7(3932腳)P0口;P1.0P1.7(18腳)P1口;P2.0P2.7(2128腳)P2口;P3.0P3.7(1017腳)P3口。351系列單片機的封裝有哪些類型?請說明每一種封裝引腳之間的距離。答:51系列單片機的封裝有:40引腳雙列直插封裝(DIPdual in-line package),引腳之間的距離是100mil(2.54mm);44引腳方形扁平封裝(QFP qu

11、ad flat package)方式,引腳之間的距離是2.54mm;44引腳帶引線的塑料芯片載體PLCC(Plastic Leaded Chip Carrier)。4什么是復位?單片機復位電路有哪幾種,工作原理分別是什么?答:復位使單片機恢復原始默認狀態(tài)的操作。單片機復位電路有:上電復位電路,由電阻和電容構成,通過上電時,電容相當于短路而使復位引腳在晶振有效的情況下保持2個機器周期的高電平;按鈕開關復位電路,由兩個電阻的分壓構成,通過手工按下按鈕,使復位引腳在晶振有效的情況下保持2個機器周期的高電平。5通常的微機系統(tǒng)存儲器結構有哪幾種?MCS-51單片機存儲器屬于哪一類?CS-51可尋址多大空

12、間?答:通常的微機系統(tǒng)存儲器結構有兩種結構,即哈佛結構和馮諾依曼結構(也叫普林斯頓結構),MCS-51單片機存儲器屬于,MCS-51可尋址空間是兩個64KB,即64KB的程序存儲空間和64KB的數(shù)據(jù)存儲空間。6片內(nèi)RAM中低128個單元劃分為哪三個主要部分?各部分的主要功能是什么?答:片內(nèi)RAM中低128個單元劃分為三個部分:工作寄存器區(qū)(00H-1FH),四組,每組8個,可作用工作寄存器切換使用;可位尋址區(qū)(20H-2FH),16B,位地址為00H-7FH,用作為按位尋址的空間;用戶RAM區(qū)(30H-7FH),80B,用作普通RAM單元或堆棧。7程序狀態(tài)字寄存器PSW各位的定義是什么?答:程

13、序狀態(tài)字寄存器PSW各位的定義如下:CYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PCYACF0RS1RS0OVF1PPSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0PSW.7:進/借位標志CY,加法有進位時置1,減法有借位時置1;PSW.6:輔助進位標志AC,加法運算低四位向高上四位有進位時置1;PSW.5、PSW.1:用戶標志位F0和用戶標志位F1,保存用戶的位數(shù)據(jù);PSW.4、PSW.3:工作寄存器選擇控制位RS1和RS0,00至11分別選擇四組工作之一作為當前工作寄存器PSW.2 :溢出標志位OV,有

14、符號數(shù)加、減運算結果有溢出或乘除上結果異常(乘法運算結果大于255即乘積在BA中,或除法運算除數(shù)為0)時置1PSW.0:奇偶標志位P,累加器A中1的個數(shù)為奇數(shù)時置1。8什么是時鐘周期?什么是機器周期?什么是指令周期?當振蕩頻率為12MHz時,一個機器周期為多少微秒?答:時鐘周期又叫振蕩周期或拍,用P表示,是MCS-51單片機中最小的時間單位,在一個時鐘周期內(nèi),CPU完成一個最基本的動作。機器周期:由12個時鐘周期構成,完成一個基本操作指令周期:是執(zhí)行一條指令所需的時間,根據(jù)指令的復雜性,可由14個機器周期構成。當振蕩頻率為12MHz時,一個機器周期為1微秒。9P0、P1、P2和P3口的結構和功

15、能分別是什么?答:P0口的每一位由1個鎖存器 、2個三態(tài)緩沖器 、1個輸出控制電路(非門 X、與門、電子開關MUX、輸出驅動電路構成,其功能既可以作為通用I/O口實現(xiàn)輸入/輸出功能,也可作為單片機地址線的低8位和數(shù)據(jù)線實現(xiàn)外部擴展功能。在用作輸入輸出口時,需外接上拉電阻。P1口的每一位由1個鎖存器 、1個場效應管驅動器V和2個三態(tài)門緩沖器構成,其作用是用作輸入輸出口P2口的每一位由1個鎖存器、2個三態(tài)緩沖器、1個輸出控制單元、1個輸出驅動單元構成,其功能是用作輸入輸出口,或地址總線的高8位。P3口的每一位由1個鎖存器、2個三態(tài)緩沖器、1個第二功能控制單元 、1個輸出驅動單元構成,其作用是用作輸

16、入輸出口或第二功能。1080C51單片機引腳ALE的作用是什么?當80C51不外接存儲器時,ALE上的輸出的脈沖頻率是多少?答:80C51單片機引腳ALE的作用是對外部存儲尋址時鎖存P0口輸出的低8位地址,當80C51不外接存儲器時,ALE上的輸出的脈沖頻率是fosc/6。第3章 單片機的匯編語言與程序設計習題MCS51單片機指令系統(tǒng)補充習題一單項選擇題,從供選擇的答案中選出正確的選項,并將標號填寫到答題冊中,每小題1分。1MCS-51匯編語言指令格式中,唯一不可缺少的部分是 B 。A標號 B操作碼 C操作數(shù) D注釋2MCS-51的立即尋址方式中,立即數(shù)前面 D 。 A應加前綴“/:”號 B不

17、加前綴號 C應加前綴“”號D應加前綴“#”號3下列完成8031單片機內(nèi)部RAM數(shù)據(jù)傳送的指令是 C 。AMOVX A,DPTR BMOVC A, A+PC CMOV A,#data DMOV direct,direct4MCS-51的立即尋址的指令中,立即數(shù)就是 B 。 A放在寄存器R0中的內(nèi)容 B放在程序中的常數(shù)C放在A中的內(nèi)容 D放在B中的內(nèi)容5單片機中PUSH和POP指令常用來 D 。 A保護斷點 B保護現(xiàn)場 C保護現(xiàn)場,恢復現(xiàn)場 D保護斷點,恢復斷點6MCS-51尋址方式中,操作數(shù)Ri加前綴“”號的尋址方式是 A 。 A寄存器間接尋址 B寄存器尋址 C基址加變址尋址 D立即尋址7MCS

18、-51尋址方式中,位尋址的尋址空間是 B 。 A工作寄存器R0R7 B專用寄存器SFR C程序存貯器ROM 片內(nèi)RAM的20H2FH字節(jié)中的所有位和地址可被8整除的SFR的有效位8MCS-51尋址方式中,直接尋址的尋址空間是 D 。 A工作寄存器R0R7 B專用寄存器SFR C程序存貯器ROM 片內(nèi)RAM 00H-7FH的128字節(jié)和80H-FFH中的SFR9執(zhí)行指令MOVX A,DPTR時,、腳的電平為 B 。 A高電平,高電平 B低電平,高電平C高電平,低電平 D低電平,低電平10主程序執(zhí)行完ACALL后返回主程序后,堆棧指針SP的值 B 。A不變 B加2 C加4 D減211單片機中使用M

19、OVX A,R1指令 A 尋址數(shù)據(jù)存貯器1050H單元。A能直接 B不能 C與P2口配合能 D與P1口配合能 12下列指令判斷若P1口最低位為高電平就轉LP,否則就執(zhí)行下一句的是 B 。 AJNB P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P1.0,LP13指令JB OEOH,LP中的OEOH是指 A 。 A累加器A B累加器A的最高位 C累加器A的最低位 D一個單元的地址 14下列指令中比較轉移指令是指 B 。A DJNZ Rn,rel BCJNE Rn,#data,rel CDJNZ direct,rel DJBC bit,rel 15指令MOV R0,#2

20、0H執(zhí)行前(R0)=30H,(20H)=38H,執(zhí)行后(R0)= B 。A00H B20H C30H D38H16指令MOV R0, 20H執(zhí)行前(R0)=30H,(20H)=38H,執(zhí)行后(R0)= D 。A20H B30H C50H D38H17執(zhí)行如下三條指令后,30H單元的內(nèi)容是 B 。MOV R1,#30H MOV 40H,#0EHMOV R1,40H A40H B0EH C30H DFFH18MCS-51指令包括操作碼和操作數(shù),其中操作數(shù)是指 D 。 A參與操作的立即數(shù) B寄存器 C操作數(shù) D操作數(shù)或操作數(shù)地址19MCS-51指令MOV R0,#20H中的20H是指 C 。 A立即

21、數(shù) B內(nèi)部RAM20H C一個數(shù)的初值 D以上三種均有可能,視該指令的在程序中的作用20MCS-51單片機在執(zhí)行MOVX A,DPTR或MOVC A,A+DPTR指令時,其尋址單元的地址是由 B 。 AP0口送高8位,P2口送高8位 BP0口送低8位,P2口送高8位CP0口送低8位,P2口送低8位 DP0口送高8位,P2口送低8位21在MCS-51指令中,下列指令中 C 是無條件轉移指令。ALCALL addr16 BDJNZ direct,rel CSJMP rel DACALL addr1122.下列指令中影響堆棧指針的指令是 D 。ALJMP BADD CMOVC A,A+PC DLCA

22、LL23設A=AFH (20H)=81H,指令:ADDC A, 20H執(zhí)行后的結果是 B 。 AA=81H BA=30H CA=AFH DA=20H24已知:A=DBH R4=73H CY=1,指令:SUBB A, R4 執(zhí)行后的結果是 C 。AA=73H BA=DBH CA=67H D以上都不對25將內(nèi)部數(shù)據(jù)存儲單元的內(nèi)容傳送到累加器A中的指令是 C 。 AMOVX A,R0 BMOV A, #data CMOV A,R0 DMOVX A, DPTR26下列指令執(zhí)行時,不修改PC中內(nèi)容的指令是 C 。ASJMP BLJMP CMOVC A, A+PC DLCALL27下列指令執(zhí)行時,修改PC

23、中內(nèi)容的指令是 A 。AAJMP BMOVC A, A+PC CMOVC A, A+DPTR DMOVX A,Ri28已知:A=D2H,(40H)=77H,執(zhí)行指令:ORL A,40H后,其結果是: B 。AA=77H BA=F7H CA=D2H D以上都不對29指令MUL AB 執(zhí)行前(A)=18H ,(B)=05H,執(zhí)行后,A、B的內(nèi)容是 D 。A90H,05H B90H,00H C78H,05H D78H,00H30MCS-51指令系統(tǒng)中,清零指令是 C 。ACPL A BRLC A CCLR A DRRC A31MCS-51指令系統(tǒng)中,求反指令是 A 。ACPL A BRLC A CC

24、LR A DRRC A32MCS-51指令系統(tǒng)中,指令MOV A,R0,執(zhí)行前(A)=86H,(R0)=20H,(20H)=18H,執(zhí)行后 C 。A(A)=86H B(A)=20H C(A)=18H D(A)=00H33MCS-51指令系統(tǒng)中,指令CLR A ;表示 A 。A將A的內(nèi)容清0 B將A的內(nèi)容置1 C將A的內(nèi)容各位取反,結果送回A中 D循環(huán)移位指令34已知A=87H ,(30H)=76H,執(zhí)行 XRL A,30H 后,其結果為: C 。 AA=F1H (30H)=76H P=0 BA=87H (30H)=76H P=1 CA=F1H (30H)=76H P=1 DA=76H (30H

25、)=87H P=135MCS-51指令系統(tǒng)中,指令ADD A,R0 執(zhí)行前(A)=38H,(R0)=54H,(C)=1 執(zhí)行后,其結果為 B 。 A(A)=92H (C)=1 B(A)=92H (C)=0 C(A)=8CH (C)=1 D(A)=8CH (C)=036MCS-51指令系統(tǒng)中,指令ADD A,R0 執(zhí)行前(A)=86H,(R0)=7AH,(C)=0 執(zhí)行后,其結果為 B 。 A(A)=00H (C)=1 B(A)=00H (C)=1 C(A)=7AH (C)=1 D(A)=7AH (C)=037MCS-51指令系統(tǒng)中,指令ADDC A,R0 執(zhí)行前(A)=38H,(R0)=30H

26、,(30H)=FOH,(C)=1 執(zhí)行后,其結果為 B 。 A(A)=28H (C)=1 B(A)=29H (C)=1 C(A)=68H (C)=0 D(A)=29H (C)=038下列指令能能使累加器A低4位不變,高4位置F的是 D 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H 39下列指令能能使累加器A高4位不變,低4位置F的是 C 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H40下列指令能能使累加器A低4位不變,高4位置0的是 A 。AANL A,#OFH BANL A,#OF

27、OH CORL A,#OFH DORL A,#OF0H 41下列指令能能使累加器A高4位不變,低4位置0的是 B 。AANL A,#OFH BANL A,#OFOH CORL A,#OFH DORL A,#OF0H42下列指令能能使累加器A低4位不變,高4位取反的是 B 。AANL A,#OFH BXRL A,#OFOH CORL A,#OFH DORL A,#OF0H 43下列指令能能使累加器A高4位不變,低4位取反的是 C 。AANL A,#OFH BANL A,#OFOH CXRL A,#OFH DORL A,#OF0H44下列指令能能使累加器A的最高位置1的是 D 。AANL A,#7

28、FH BANL A,#80H CORL A,#7FH DORL A,#80H 45下列指令能能使累加器A的最低位置1的是 C 。ASETB A,#01H BSETB A,0 CORL A,#01H DSETB A,#00H 46下列指令能使P1口的最低位置1的是 B 。AANL P1,#80H BSETB 90H CORL P1,#0FFH DORL P1,#80H47下列指令能能使P1口的第3位置1的是 C 。AANL P1,#0F7H BANL P1,#7FH CORL P1,#08H DSETB 9348下列指令判斷若P1口的最低位為高電平就轉LP,否則就執(zhí)行下一句的是 B 。AJNB

29、P1.0,LP BJB P1.0,LP CJC P1.0,LP DJNZ P1.0,LP 49下列指令判斷若累加器A的內(nèi)容不為0就轉LP的是 BD 。AJB A,LP BJNZ A,LP CJNZ LP DCJNE A,#0,LP 50設累加器A中為無符號數(shù),B中數(shù)為2,下列指令 A 的作用與其它幾條不同。AADD A,0E0H BMUL AB CRL A DRLC A 51MCS-51指令系統(tǒng)中,執(zhí)行下列程序,當執(zhí)行到MOV A,R0指令處時恰好有中斷請求,則 A 。MOV R1,#10H MOV R0,#30HMOV A, R0XCH A, R1INC R0INC R1 A若有同級的中斷請

30、求已被掛起,則返回到調用處 B轉入中斷服務程序 C繼續(xù)執(zhí)行下一條指令 D直接執(zhí)行INC R152MCS-51指令系統(tǒng)中,格式為:ORG 16位地址 的指令功能是 C 。A用于定義字節(jié) B用于定義字 C用來定義匯編程序的起始地址 D用于定義某特定位的標識符53MCS-51指令系統(tǒng)中,執(zhí)行下列程序后,堆棧指針SP的內(nèi)容為 B 。MOV SP,#30HMOV A,20HLCALL 1000MOV 20H,ASJMP $ A00H B30H C32H D07H54MCS-51指令系統(tǒng)中,指令DA A是 D 。A除法指令 B加1指令 C加法指令 D十進制調整指令55MCS-51指令系統(tǒng)中,指令DA A應

31、跟在 A 。A加法指令后 BBCD碼的加法指令后C減法指令后 DBCD碼的減法指令后56在單片機算術運算過程中,指令DA A常用于 B 運算。A二進制 B加法 CBCD碼加法 D十六進制578051單片機傳送外部存貯器地址信號的端口是 D 。AP0口和P1口 BP1口和P2口 CP1口和P3口 DP0口和P2口588051單片機能分時傳送地址信號和數(shù)據(jù)的端口是 C 。AP0口 BP2口 CP0口和P2口 DP3口598051單片機具有雙功能的端口是 B 。 AP0口和P1口 BP3口 CP0口和P2口 DP1口60能訪問內(nèi)部數(shù)據(jù)存貯器的傳送指令是 B 。 AMOVC 指令 BMOV 指令 CM

32、OVX 指令 DADD61能訪問外部數(shù)據(jù)存貯器的傳送指令是 C 。 AMOV 指令 BMOVC 指令 CMOVX 指令 DADD62將內(nèi)部數(shù)據(jù)存貯單元內(nèi)容傳送到累加器A中的指令是 B 。 AMOV direct, R0 BMOV A, Ri CMOV A, #data DMOV A, R063.指令ANL A,R0的功能是 A 。 A將A與寄存器R0的內(nèi)部容按位邏輯與 B將A與寄存器R0的內(nèi)部容按位邏輯異或C將A與寄存器R0的內(nèi)部容按位邏輯非 D將A與寄存器R0的內(nèi)部容按位邏輯或64能將A的內(nèi)容向左循環(huán)移一位,第七位進第0位的指令是 C 。ARLC A BRRC A CRR A DRL A65

33、能將A按位取反的指令是 A 。ACPL A BCLR A CRL A DSWAP A66將A與立即數(shù)按位邏輯異或的指令是 C 。AANL A,#data BORL A,#data CXRL A,#data DXRL A,direct67.可以控制程序轉向64K程序存貯器地址空間的任何單元的無條件轉移指令是 B 。AAJMP addr11 BLJMP addr16 CSJMP rel DJC rel68.比較轉移指令是 B 。ADJNZ R0 rel BCJNE A, direct rel CDJNZ direct rel DJBC bit rel69.將內(nèi)部數(shù)據(jù)存貯器53H單元的內(nèi)容傳送至累加

34、器,其指令是 C 。 AMOV A, 53H BMOV A, #53H CMOVC A, 53H DMOVX A, #53H70將外部數(shù)據(jù)存貯器083AH單元的內(nèi)容傳送至累加器,必須使用指令 A 。AMOVX A,Ri BMOVX A,DPTR CMOVX A,directDMOVC A,A+DPTR71欲將P1口的高4位保留不變,低4位置1,可用指令 B 。AANL P1,#0F0H BORL P1,#0FH CXRL P1,#FH D以上三句都對72LJMP跳轉空間最大可達到 D 。 A2KB B256B C128B D64KB73跳轉指令SJMP的轉移范圍為 B 。 A2KB B256B

35、 C128B D64KB74在編程中使用偽指令的目的是 C 。A指示和引導如何進行手工匯編 B指示和引導編譯程序如何匯編C指示和引導匯編程序進行匯編 D指示和引導程序員進行匯編75欲將P1口的高4位保留不變,低4位取反,可用指令 C 。 AANL P1,#0F0H BORL P1,#0FH CXRL P1,#0FH D以上三句都不行1MCS-51單片機有哪幾種尋址方式?適用于什么地址空間?答:MCS-51單片機有7種尋址方式:直接尋址、寄存器尋址、寄存器間接尋址、立即尋址、變址尋址、位尋址、相對尋址。直接尋址方式:操作數(shù)的地址由指令直接給出,適用于片內(nèi)RAM的所有地址空間;如MOVA,68HM

36、OVA,PSW寄存器尋址方式:指令給出的是寄存器的編碼,操作數(shù)在編碼指定的寄存器中,適用于片內(nèi)00H至1FH的32個字節(jié),用R0,R7表示,通過PSW的RS1和RS0選擇組號確定對應32個字節(jié)中的其中8個,還有累加器A,以及乘除法指令中的A和B寄存器,位尋址方式中的布爾累加器C;MOVA,R1MULABINCDPTR寄存器間接尋址方式:指令給出的是寄存器的編碼,操作數(shù)地址在編碼指定的寄存器中,適用于片內(nèi)RAM的全部空間,其中52系列中的80H至FFH只能用寄存器間接尋址;如MOVA,R0MOVA,R1MOVXA,DPTR立即尋址方式:操作數(shù)本身在指令中直接,給出適用于用8位立即數(shù)對片內(nèi)RAM所

37、有地址單元賦值,也可用16位立即數(shù)對DPTR賦值; 如MOVA,#0E2HMOVDPTR,#2000H變址尋址方式:以DPTR或PC作為基地址寄存器,以累加器A作為變址寄存器,將基址寄存器與變址寄存器的內(nèi)容相加形成操作數(shù)的實際地址的一種尋址方式,變址尋址方式適用于程序存儲器ROM,僅有三條指令如下:MOVCA,A+DPTRMOVCA,A+PCJMPA+DPTR位尋址方式:指令中直接給出操作數(shù)所在單元的位地址,適用于片內(nèi)RAM中地址20H至2FH中的16個字節(jié)中的128個位地址空間和80H至FFH中地址中可以被8整除的所有SFR中的每個位地址空間;如MOVC,7FHMOVF0,CMOVC,ACC

38、.7相對尋址方式:為相對轉移指令而設,指令中直接給出轉移的相對偏移量,其轉移目標在當前指令-128至127字節(jié)范圍內(nèi)的地址空間。如SJMPSTARTHERE:SJMPHERE;等效于:SJMP$2MCS-51單片機的PSW程序狀態(tài)字中無ZERO(零)標志位,怎樣判斷某內(nèi)部數(shù)據(jù)單元的內(nèi)容是否為零?答:MCS-51單片機的PSW程序狀態(tài)字中無ZERO(零)標志位,判斷某內(nèi)部數(shù)據(jù)單元的內(nèi)容是否為零是能通過取數(shù)到A累加器,再判斷A中的每一位是否為零來確定其值是否為零。3編程將內(nèi)部RAM的20H-30H單元內(nèi)容清零。解:設一個片內(nèi)RAM指針R0,先指向首地址20H,通過累加器A清零,然后采用間接尋址方式

39、依次將A中的零值傳送到指針所指的片內(nèi)RAM單元,每傳送一個字節(jié),地址指針加1,直到達到地址為30H或達到計數(shù)器規(guī)定的17個字節(jié)為止。程序1:MOVR0,#20H;設地址指針初值CLRA;累加器清0CONT:MOVR0,A;置0指針所指單元INCR0;地址指針加1CJNER0,#31H,CONT;指針未超過終點則繼續(xù)SJMP$;暫停程序2:MOVR0,#20H;設地址指針初值CLRA;累加器清0MOVR7,#17;計數(shù)器賦初值,從20H到30H共17個字節(jié)CONT:MOVR0,A;置0指針所指單元INCR0;地址指針加1DJNZR7, CONT;計數(shù)器減1,非0,則繼續(xù)SJMP$;暫停4編程查找

40、內(nèi)部RAM的32H41H單元中是否有0AAH這個數(shù)據(jù),若有這一數(shù)據(jù),則將50H單元置為0FFH,否則將50H單元清零。解:設一個片內(nèi)RAM指針R0,先指向首地址32H,比較R0與#0AAH,若相等,則退出循環(huán),給50H單元賦0FFH,若不相等,則R0加1為繼續(xù)比較下一個字節(jié)做準備,直到達到地址為41H或達到計數(shù)器規(guī)定的16個字節(jié)為止還沒找到,則給50H單元賦00H程序1:MOVR0,#32H;設地址指針初值CONT:CJNER0,#0AAH,NEXT;比較查找值與指針所指單元的值,不相等轉移MOVA,#0FFH;相等,則準備好要賦的標志值0FFHSJMPDOWN;轉存到保存結果處NEXT:IN

41、CR0;修改地址指針CJNER0,#42H,CONT;若指針未越過終點,則繼續(xù)MOVA,#00H;查找失敗,則將00H存入結果標志單元DOWN:MOV50H,A;將比較結果標志存入50H單元SJMP$;暫停END程序2:MOVR7,#16;計數(shù)器賦初值,從20H到30H共16個字節(jié)MOVR0,#32H;設地址指針初值CONT:CJNER0,#0AAH,NEXT;比較查找值與指針所指單元的值,不相等轉移MOVA,#0FFH;相等,則準備好要賦的標志值0FFHSJMPDOWN;轉存到保存結果處NEXT:INCR0;修改地址指針DJNZR7,CONT;計數(shù)器減1,非0,則繼續(xù)MOVA,#00H;查找

42、失敗,則將00H存入結果標志單元DOWN:MOV50H,A;將比較結果標志存入50H單元SJMP$;暫停END5查找20H4FH單元中出現(xiàn)00H的次數(shù),并將查找結果存入50H單元。解:從20H到4FH共48個字節(jié)MOVR7,#48;字節(jié)計數(shù)器賦初值MOVR0,#20H;設地址指針初值CONT:CJNER0,#00H,NEXT;比較查找值與指針所指單元的值,不相等轉移INCR6;相等,0的個數(shù)計數(shù)器加1NEXT:INCR0;修改地址指針DJNZR7,CONT;計數(shù)器減1,非0,則繼續(xù)MOV50H,R6;保存O的個數(shù)計數(shù)值到50H單元SJMP$;暫停ENDEND6已知A=83H,R0=17H,(1

43、7H)=34H,寫出下列程序段執(zhí)行之后的A中的內(nèi)容。 ANLA,#17H ORL17H,A XRLA,R0 CPLAEND答:ANLA,#17H;A=03HORL17H,A ;(17H)=0011 0100 0000 0011=0011 0111 XRLA,R0;A= 0000 0011 0011 0111 =0011 0100 CPLA;A=1100 10117已知單片機的晶振頻率為12MHz,分別設計延時為0.1s、1s的子程序。答:已知單片機的晶振頻率為12MHz,則機器周期為1us,延時子程序是通過執(zhí)行指令序列中機器周期數(shù)來達到,如果要0.1s,即100ms,也就是100000us,所

44、以需要機器周期數(shù)達到100000。要延時達到1S,可通過對延時為0.1秒的子程序調用10次來實現(xiàn)。DELAY100MS:MOV R6,#200 ;1個機器周期D1: MOV R7,#250 ;1個機器周期D2:NOP;1個機器周期DJNZ R7,D2 ;2個機器周期,3*251=753DJNZ R6,D1 ;2個機器周期,(1+753+2)*132=99792RET ;2個機器周期,1+99792+2=99795,約100msDELAY1S:MOVR7,#10;計數(shù)10次1LOOP:ACALLDELAY100MS;延時100ms子程序99795+2DJNZR7,LOOP;未達到10次則繼續(xù)10

45、*(2+99795+2)RET;返回2+10*(2+99795+2)=9979928內(nèi)部RAM從20H單元開始處有一數(shù)據(jù)塊,以ODH為結束標志,試統(tǒng)計該數(shù)據(jù)塊的長度,將該數(shù)據(jù)塊送到外部數(shù)據(jù)存儲器7E01H開始的單元,并將長度存入7E00H單元。解:從20H的指針用R0,從外部RAM7E01開始的指針用DPTR,計數(shù)器用R7MOVR7,#0;字節(jié)計數(shù)器賦初值MOVR0,#20H;設片內(nèi)RAM地址指針初值MOVDPTR,#7E01H;設片外RAM地址指針初值CONT:MOVA,R0;取片內(nèi)RAM中的一個字節(jié)MOVXDPTR,A;存入片外RAM指針所指單元INCR7;長度計數(shù)器加1INCR0;片內(nèi)RAM地址指針加1INCDPTR;片外RAM地址指針加1CJNEA,#0DH,CONT;未達到結束標志MOVA,R7;取塊計數(shù)長度值MOVXDPTR,A;保存SJMP$;暫停E

溫馨提示

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

評論

0/150

提交評論