版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2-1. 8051單片機(jī)芯片部包含哪些主要邏輯功能部件? 答:一個8位微處理器(CPU);片數(shù)據(jù)存儲器RAM;片程序存儲器ROM;四個8位并行I/O口P0P3;兩個定時(shí)器/計(jì)數(shù)器;五個中斷源的中斷控制系統(tǒng);一個UART(通用異步接收發(fā)送器)的串行I/O口;片振蕩器和時(shí)鐘產(chǎn)生電路。2-2、8051存儲器分哪幾個地址空間?如何區(qū)別不同空間尋址? 答: 片、外統(tǒng)一編址的64KB程序存儲器; 片256B數(shù)據(jù)存儲器; 片外64KB數(shù)據(jù)存儲器。硬件:引腳接高電平時(shí)CPU從片0000H單元開始取指令,接低電平時(shí)CPU直接訪問片外EPROM。EA軟件:MOV指令訪問片數(shù)據(jù)存儲器, MOVX 指令訪問片外數(shù)據(jù)存
2、儲器,MOVC指令用于讀取程序存儲器中的常數(shù)。2-3. 簡述8051片RAM的空間分配。答:低128B位數(shù)據(jù)存儲器區(qū)分為:工作寄存器區(qū)(00H1FH);位尋址區(qū)(20H2FH);一般數(shù)據(jù)存儲區(qū)(30H7FH) 高128B數(shù)據(jù)存儲器區(qū)離散地分布著21個特殊功能寄存器2-4. 簡述直接位尋址區(qū)的空間分配,片RAM中包含哪些可位尋址單元? 答:MCS-51單片機(jī)片RAM中有兩個區(qū)域可進(jìn)行位尋址: (1)片RAM低128字節(jié)的位尋址區(qū),地址為20H2FH的16個字節(jié)單元共128位,每一位都有相應(yīng)的位地址,可用位尋址方式對其進(jìn)行置位、復(fù)位、容傳送、邏輯運(yùn)算等操作,128位的位地址定義為00H7FH。(2
3、)片RAM高128字節(jié)的存儲器區(qū),有21個特殊功能寄存器。其中字節(jié)地址正好能被8整除的字節(jié)單元中的每一位都可以按位尋址、操作。14 2-5 8051的P0P3口有何不同,用作通用I/O口輸入數(shù)據(jù)時(shí)應(yīng)注意什么? 答:P0P3口功能不完全相同。(1) 訪問外擴(kuò)展存儲器時(shí),P2口送出16位地址的高8位地址,P0口先送出16位地址的低8位地址,再做數(shù)據(jù)的輸入/輸出通道。(2) 在無片外擴(kuò)展存儲器的系統(tǒng)中,P0、P2口不需要做地址口時(shí),和P1、P3口一樣,都可作為準(zhǔn)雙向通用I/O口使用。P0的輸出級無上拉電阻,在作為通用I/O口時(shí)需外接上拉電阻,且P0口的每一位輸出可驅(qū)動8個TTL負(fù)載,而P0P3口的輸
4、出級接有上拉負(fù)載電阻,每一位輸出可驅(qū)動4個TTL負(fù)載。在作通用I/O輸入數(shù)據(jù)時(shí)應(yīng)注意:應(yīng)先對相應(yīng)的端口鎖存器寫1,防止誤讀。2-6. 8051單片機(jī)引腳有何功能?在使用8031時(shí),引腳應(yīng)如何處理? EAEA答:引腳為外部程序存儲器地址允許輸入端,其電平的高低決定了系統(tǒng)復(fù)位后CPU是從片程序存儲器還是片外擴(kuò)展存儲器的0000H字節(jié)單元開始取指令。EA(1) 當(dāng)引腳接成高電平時(shí),CPU首先從片0000H字節(jié)單元開始取指令執(zhí)行程序,當(dāng)指令地址寄存器PC中的容超過0FFFH后,就自動轉(zhuǎn)向片外擴(kuò)展的EPROM中取指令執(zhí)行,這時(shí)芯片外部的重疊地址為0000H0FFFH的低4KB EPROM忽略不用。EA(
5、2) 當(dāng)引腳接成低電平時(shí),復(fù)位后CPU直接從片外EPROM的0000H字節(jié)單元開始取指令執(zhí)行,這時(shí)芯片部0000H0FFFH的4KB單元被忽略不用。EA在使用8031時(shí),由于其部沒有ROM/EPROM,所以必須使用外部擴(kuò)展程序存儲器,它的引腳應(yīng)該接成低電平,CPU直接從片外擴(kuò)展的EPROM中取指令執(zhí)行。EA2-7. 8051單片機(jī)有哪些信號需要芯片以第二功能的方式提供? 答: (1)VPD(9腳):片RAM備用電源的輸入端。(2)(30腳):對于片帶有可編程序存儲器的芯片,作為編程寫入的編程脈沖輸入端,把編寫好的程序指令代碼存入程序存儲器中。PROG (3) VPP (31腳):對于片有EPR
6、OM的芯片固化程序時(shí),它作為是加高編程電壓的輸入端。(4) RXD (10腳):串行口通信數(shù)據(jù)輸入線。(5) TXD (11腳):串行口通信數(shù)據(jù)輸出線。(6) (12腳):外部中斷0輸入信號。INT0 (7) (13腳):外部中斷1輸出信號。INT1 (8) T0 (14腳):定時(shí)器0的脈沖信號外部輸入。(9) T1 (15腳):定時(shí)器1的脈沖信號外部輸入。15 (10) (16腳):CPU至片外數(shù)據(jù)存儲器的“寫選通控制”輸出。WR (11) (17腳):CPU至片外數(shù)據(jù)存儲器的“讀選通控制”輸出。RD 2-8. RAM低128B單元劃分為哪三個主要區(qū)域?各區(qū)域主要功能是什么? 答:地址圍為0
7、0H7FH的128字節(jié)單元,按功能特點(diǎn)劃分為不同的幾個區(qū),分述如下。(1) 工作寄存器區(qū)地址圍為00H1FH的32字節(jié)存儲器單元,分為四個組,每組有8個工作寄存器字節(jié)單元,定名為R0、R1、R2、R3、R4、R5、R6和R7。通過改變程序狀態(tài)字特殊功能寄存器PSW中RS1,RS0兩位的容,每組工作寄存器均可選作CPU的當(dāng)前工作寄存器組。(2) 位尋址區(qū)地址為20H2FH的16個字節(jié)單元中共128位,每一位都有相應(yīng)的位地址,可用位尋址方式對其進(jìn)行置位、復(fù)位、容傳送、邏輯運(yùn)算等操作。(3) 一般數(shù)據(jù)存儲區(qū)地址圍為30H7FH的區(qū)域,可用于原始數(shù)據(jù)及運(yùn)算結(jié)果的存儲。值得注意的是,30H7FH中一部分
8、字節(jié)單元可以開辟出一塊遵守“后進(jìn)先出”或“先進(jìn)后出”規(guī)則的特殊數(shù)據(jù)區(qū)堆棧。2-9. 單片機(jī)系統(tǒng)復(fù)位有哪幾種方法?復(fù)位后特殊功能寄存器初始狀態(tài)如何? 答:使單片機(jī)系統(tǒng)復(fù)位有兩種方法:上電自動復(fù)位和按鍵手動復(fù)位系統(tǒng)復(fù)位的主要功能就是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序,另外,系統(tǒng)復(fù)位還使一些特殊功能寄存器恢復(fù)到復(fù)位狀態(tài)。PC: 0000H ACC: 00H PSW: 00H SP: 07H DPTR:0000H P03: FFH IP: *000000B IE:0*000000B TMOD: 00H TCON: 00H TL0: 00H TH0: 00H TL1: 00H
9、 TH1: 00H SCON: 00H SBUF:不定PCON: 0*0000B 2-10. 開機(jī)復(fù)位后,CPU使用那組工作寄存器作為當(dāng)前工作寄存器?它們的地址是什么? 答:開機(jī)復(fù)位后,由于(RS1=0,RS0=0),CPU使用第0組工作寄存器作為當(dāng)前工作寄存器,它的地址為00H07H. 2-11. CPU如何確定和改變當(dāng)前工作寄存器組? 答:通過改變程序狀態(tài)字特殊功能寄存器PSW中RS1,RS0兩位的容,每組工作寄存器均可被選作當(dāng)前工作寄存器。RS1 RS0 當(dāng)前工作寄存器0 0 第0組 0 1 第1組16 1 0 第2組 1 1 第3組2-13位尋址與字節(jié)單元地址7CH如何區(qū)別?位地址7C
10、H、具體在片RAM的什么位置? 答:8051采用不同的尋址方式和指令分別對位和字節(jié)進(jìn)行不同的操作,如SETB 20H指的是20H位單元的容置為1,而MOV 20H,#0FFH指的是RAM20H字節(jié)單元的容變?yōu)镕FH。位地址7CH在RAM低128字節(jié)的2FH字節(jié)單元的第四位。2-14. 8051單片機(jī)時(shí)鐘周期與振蕩周期之間有什么關(guān)系? 答:8051單片機(jī)的時(shí)鐘周期為振蕩周期的兩倍。2-15 一個機(jī)器周期的時(shí)序是怎樣劃分的? 答:MCS-51系列單片機(jī)工作的一個機(jī)器周期由6個S狀態(tài)周期組成,即S1S6,每個狀態(tài)又持續(xù)兩個振蕩周期,即P1和P2兩拍,故一個機(jī)器周期包括12個振蕩周期。一個機(jī)器周期具體
11、分為S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1, S5P2,S6P1,S6P2共12狀態(tài)拍。若采用12MHZ晶體振蕩器,則每個機(jī)器周期恰為1s。2-16. 什么叫堆棧?堆棧指針SP的作用是什么?8051單片機(jī)堆棧容量不能超過多少字節(jié)? 答:一般在30H7FH的地址圍,有一部分字節(jié)單元可開辟出一塊遵守“后進(jìn)先出”或“先進(jìn)后出”規(guī)則的特殊數(shù)據(jù)區(qū),就叫堆棧。SP為堆棧指針,它始終存放堆棧頂部字節(jié)單元的地址(棧頂指針),數(shù)據(jù)壓棧時(shí),SP首先自動加1,然后數(shù)據(jù)壓入SP容指示的字節(jié)單元中;而數(shù)據(jù)出棧時(shí),SP容指示的字節(jié)單元中的數(shù)據(jù)彈出,然后SP自動減1,這樣S
12、P始終指向堆棧頂部字節(jié)單元的地址。8051單片機(jī)堆棧容量最多不能超過128字節(jié)。初始化后,(SP)=07H,如果CPU使用工作寄存器1組,那么堆棧和工作寄存器將發(fā)生沖突,因此常把堆棧移至307FH區(qū)域之中。2-17. 分析原教材中說明圖2-16系統(tǒng)中各信號線的作用。答:P1口用作一般I/O口,P1.0,P1.1,P1.2通過光電隔離電路向三相步進(jìn)電機(jī)的功率放大電路順序地發(fā)出步進(jìn)脈沖信號;P1.6和P1.7作為輸入,檢測控制步進(jìn)電機(jī)的正反轉(zhuǎn)的按鍵狀態(tài);XTAL1和XTAL2接外部時(shí)鐘電路,為系統(tǒng)提供振蕩時(shí)鐘;P0口分時(shí)用作地址/數(shù)據(jù)總線,取指令時(shí)輸出低8位地址,經(jīng)地址鎖存器74LS373鎖存,其
13、它時(shí)間P0口用作數(shù)據(jù)總線輸出8位數(shù)據(jù);高5位地址由P2.0P2.4提供; ALE作為地址輸出鎖存控制端;接地,CPU直接從外擴(kuò)EPROM中取指令執(zhí)行;為程序存儲器輸出允許控制端,在CPU讀取EPROM中數(shù)據(jù)時(shí),EAPSEN17 使EPROM輸出指令。3-1 什么是尋址方式?MCS-51單片機(jī)有哪幾種尋址方式?對8031部RAM的128255字節(jié)地址的空間尋址要注意什么? 答:尋址方式是如何找到存放被操作數(shù)據(jù)的位置(地址)的方法;MCS-51單片機(jī)有七種尋址方式:寄存器尋址、直接尋址、立即數(shù)尋址、寄存器間接尋址、變址間接尋址、相對尋址和位尋址;8031部RAM的128255字節(jié)為特殊功能寄存器區(qū)
14、,只允許使用直接尋址方式。3-6 若要完成以下數(shù)據(jù)傳送,如何應(yīng)用MCS-51指令予以實(shí)現(xiàn)? (1) R1的容傳送到R0: MOV A, R1 MOV R0, A (2) 外部RAM 20H單元的容送入R0: MOV R1, #20H MOVX A, R1 MOV R0, A (1) 外部RAM 0020H單元的容送部RAM 20H單元: MOV R0, #20H MOVX A, R0 MOV 20H, A (2) 外部RAM 1000H單元容送部RAM 20H單元: MOV DPTR, #1000H MOVX A, DPTR31 MOV 20H, A (3) 外部ROM 2000H單元容送R0
15、: MOV A, #00H MOV DPTR, #2000H MOVC A, A+DPTR MOV R0, A (4) 外部ROM 2000H單元容送部RAM 20H單元: MOV A, #00H MOV DPTR, #2000H MOVC A, A+DPTR MOV 20H, A (5) 外部ROM 2000H單元容送外部RAM 0020H單元: MOV A, #00H MOV R0, #20H MOV DPTR, #2000H MOVC A, A+DPTR MOVX R0, A 3-8 已知SP=25H,PC=2345H,標(biāo)號LABEL所在的地址為3456H, 問執(zhí)行長調(diào)用指令LCALL
16、LABEL后,堆棧指針和堆棧的容發(fā)生什么變化?PC值等于什么? 答:(SP)=27H,(26H)=48H,(27H)=23H;(PC)=3456H 3-9 上題中的LCALL指令能否直接換成ACALL指令,為什么?如果使用ACALL指令,則可調(diào)用的地址圍是什么? 答:不能,因?yàn)長ABEL所在地址3456H與PC不在同一2 KB圍,即高5位地址不同。若要使用ACALL指令,可調(diào)用的地址圍是2000H27FFH。3-10 有一個16位二進(jìn)制數(shù),高8位存于21H單元,低8位存于20H單元。執(zhí)行如下程序段,試問: 程序段功能是什么? 能否用MOV代替程序段中的XCH語句而不改變程序的邏輯功能?寫出相應(yīng)
17、程序段。 兩個程序段結(jié)果是否相同?差別在哪里? CLR C XCH A,21H RRC A XCH A,21H32 XCH A,20H RRC A XCH A,20H 答: (1)程序段的功能是將此16位二進(jìn)制數(shù)除2后取整(2)能用MOV代替程序段中的XCH語句而不改變程序的邏輯功能,如下: CLR C MOV A,21H RRC A MOV 21H,A MOV A,20H RRC A MOV 20H,A 兩個程序段結(jié)果不相同。原程序執(zhí)行后A的容為程序運(yùn)行前A中容,即此程序沒有改變A中容;MOV語句程序中A 的容為原20H單元容右移一位后的容。3-11 分析以下程序段運(yùn)行的結(jié)果。若將DA A指
18、令取消,則結(jié)果會有什么不同? CLR C MOV 20H,#99H MOV A,20H ADD A,#01H DA A MOV 20H,A 答:結(jié)果為(20H)=00H,CY=1。若取消DA A指令,(20H)=9AH,CY=0。3-12 由于SJMP指令的轉(zhuǎn)移圍是256B,而AJMP指令轉(zhuǎn)移圍是2KB,所以在程序中SJMP指令都可以用AJMP指令來代替?!闭垎栠@種說法是否正確,為什么? 答:不正確。AJMP轉(zhuǎn)移的目標(biāo)地址必須在AJMP后面指令的第一個字節(jié)開始的同一2KB圍,不能改變高5位地址,因此,即使相鄰很近的兩個地址,只要它的高5位發(fā)生改變,就不能跳轉(zhuǎn)。而SJMP可以通過幾次跳轉(zhuǎn),最終到
19、任意目標(biāo)地址。3-13 使用位操作指令實(shí)現(xiàn)下列邏輯操作,要求不更改單元其他位的容。解:(1)使Acc.0置1: SETB Acc.0 (2)清除累加器的高四位: ANL A,#0FH 或 CLR Acc.733 CLR Acc.6 CLR Acc.5 CLR Acc.4 (3) 清除Acc.3,Acc.4,Acc.5,Acc.6: ANL A,#87H 或 CLR Acc.3 CLR Acc.4 CLR Acc.5 CLR Acc.6 3-14 將片RAM 中0FH單元的容傳送到寄存器B,對0FH單元的尋址可有三種方法:R尋址、R間址、Direct尋址。請分別編出相應(yīng)的程序,比較其字節(jié)數(shù)、機(jī)器
20、周期和優(yōu)缺點(diǎn)。答:R尋址: MOV R0,0FH; 2字節(jié),雙周期 MOV 0F0H, R0; 2字節(jié),雙周期R間址: MOV R0,#0FH; 2字節(jié),單周期MOV 0F0H ,R0; 2字節(jié),雙周期Direct尋址:MOV A,#0FH ; 2字節(jié),單周期MOV 0F0H,A ; 2字節(jié),單周期3-15 怎樣把位40H的容移至30H位? 答: MOV C,40H MOV 30H,C 3-16 編寫一段程序,模擬如圖3-1所示邏輯電路的邏輯功能。要求將4個輸入與非門的功能模擬先寫成一個子程序,然后多次調(diào)用得到整個電路的功能模擬。設(shè)X,Y,Z 、W和F都已定義為位地址,若程序中還需要其它位地址
21、,也可另行定義。提示:首先用偽指令定義X,Y, Z , W,F(xiàn)是單片機(jī)引腳端口位,然后再編程,注意34 操作對象是位單元,應(yīng)該使用位邏輯指令。4-1 兩個4位BCD碼數(shù)相加求和。設(shè)被加數(shù)存于部RAM的40H、41H單元,加數(shù)存于45H、46H單元,要求和數(shù)存于50H、51H單元(均前者為低二位,后者為高二位)。請編制加法程序段。若進(jìn)行BCD碼減法運(yùn)算,應(yīng)如何考慮。解:程序如下: CLR C MOV A, 40H ADD A,45H DA A MOV 50H,A MOV A,41H ADDC A,46H DA A MOV 51H,A CLR A ADDC A,#00H MOV 52H,A 編寫多
22、字節(jié)十進(jìn)制(BCD碼)減法程序段: 設(shè)被減數(shù)低字節(jié)地址存R0中,減數(shù)低字節(jié)地址存R1中,字節(jié)數(shù)存R3中。相減的結(jié)果依次存于原被減數(shù)單元。START: SETB C SUBA: CLR A ADDC A,#99H ;加99 SUBB A,R1 ;減去減數(shù) ADD A,R0 ;作加法,加上被加數(shù)DA A ;十進(jìn)制調(diào)整MOV R0,A ;存入對應(yīng)的被減數(shù)單元INC R0 ;指向下一個字節(jié)單元INC R1 DJNZ R3,SUBA ;若(R3)一10,繼續(xù)作減法RET 注意:80C51中的十進(jìn)制調(diào)整指令(DA A)只能用于二進(jìn)制加法指令之后,不能用于二進(jìn)制減法結(jié)果的調(diào)整。進(jìn)行十進(jìn)制(BCD碼)減法只能
23、采用先求減數(shù)的十進(jìn)制補(bǔ)碼,然后把結(jié)果與被減數(shù)相加。如果被減數(shù)為A,減數(shù)為B,十進(jìn)制的位數(shù)為n,則A-BA+BbuA+10n-BA+99+1-B99+1-B+A 式中:99的個數(shù)為n。4-2 試編寫程序,查找在部RAM 20H-50H單元中出現(xiàn)00H的次數(shù),并將查找的結(jié)果存入51H單元。解:程序如下: MOV R0,#20H MOV R7,#31H MOV 51H,#00H LOOP1: CJNE R0, #00H, LOOP INC 51H LOOP: INC R0 DJNZ R7, LOOP1 HERE: SJMP HERE 4-3 晶振頻率為12MHz,請用循環(huán)轉(zhuǎn)移指令編制延時(shí)20ms的延
24、時(shí)子程序。解:一個機(jī)器周期為1us,延時(shí)20ms需要機(jī)器周期數(shù)20000us/1us=20000 延時(shí)程序如下: MOV R5, #T1 ;1個機(jī)器周期LOOP2: MOV R4,#T2 ;T1個機(jī)器周期LOOP1: NOP ;T1*T2個機(jī)器周期NOP ;T1*T2個機(jī)器周期DJNZ R4,LOOP1 ;2* T1*T2個機(jī)器周期DJNZ R5, LOOP2 ;2* T1個機(jī)器周期RET ;1個機(jī)器周期總計(jì)時(shí):1+3×T1+4×T1×T2+1=20000 則:T1=202=0CAH, T2=24=18H (答案不唯一,T1與T2的值255) 4-4 已知兩個八位
25、無符號數(shù)a、b存放在BUF和BUF+1單元,編寫程序計(jì)算5a+b,結(jié)果可能大于8位,仍放回BUF和BUF+1單元(BUF+1單元為高字節(jié))。解:根據(jù)題意,編寫程序如下: MOV A, BUF MOV B,#05H MUL AB CLR C ADD A, BUF+1 MOV BUF,A MOV A,BADDC A,#00H MOV BUF+1,A 4-5 外部數(shù)據(jù)RAM從2000H到2100H有個數(shù)據(jù)塊,現(xiàn)要將它們傳送到從3000H到3100H的區(qū)域,試編寫有關(guān)程序。方法1: MOV P2, #20H MOV R0, #00H MOV R2, #00H LOOP: MOVX A, R0 ;P2口
26、即高八位地址 SETB P2.4 ;20H30H MOVX R0, A CLR P2.4 ;30H20H INC R0 DJNZ R2, LOOP MOV DPTR, #2100H MOVX A, DPTR MOV DPTR, #3100H MOVX DPTR, A 方法2 MOV DPTR,#3000H PUSH DPL PUSH DPH ;壓棧保護(hù)目標(biāo)地址 MOV DPTR, #2000H MOV R2, #01H MOV R3, #01H ;數(shù)據(jù)長度送R3R2 LOOP: MOVX A, DPTR INC DPTR MOV R5,DPH MOV R4,DPL ;源地址加1保護(hù) POP D
27、PH POP DPL ;彈出目標(biāo)地址 MOVX DPTR, A INC DPTR PUSH DPL PUSH DPH ;目標(biāo)地址加1 壓棧保護(hù) MOV DPH, R5 MOV DPL, R4 ; 取出源地址37 CLR C MOV A, R2 SUBB A, #01H MOV R2,A ;數(shù)據(jù)區(qū)長度低8位減1 MOV A, R3 SUBB A,#00H MOV R3,A ;數(shù)據(jù)區(qū)長度高8位減借位位 ORL A, R2 ;(R3)與(R2)相或 JNZ LOOP ;兩者全零時(shí),101H個數(shù)傳送完畢。HERE: SJMP HERE 4-6 求16位帶符號二進(jìn)制補(bǔ)碼數(shù)的絕對值。假定補(bǔ)碼放在部RAM的
28、num和num+1單元,求得的絕對值仍放在原單元中。(設(shè)num+1中容為高8位) 解:根據(jù)題意,編寫子程序如下: ABC: MOV A, num+1 ACC.7,FUSHU ;最高位為1,負(fù)數(shù),轉(zhuǎn)移處理RET ;正數(shù),補(bǔ)碼即絕對值FUSHU: MOV R0, #num MOV A, R0 CPL A ADD A, #01H ;低8位取反加1 MOV R0,A INC R0 MOV A, R0 CPL A ADDC A, #00H ;高8位取反加1,同時(shí)加進(jìn)位位MOV R0, A RET 4-7 下列程序段經(jīng)匯編后,從1000H開始的各有關(guān)存儲單元的容是什么? ORG 1000H TAB1 EQ
29、U 1234H TAB2 EQU 3000H DB “START” DW TAB1,TAB2,70H 答:1000H:53H;1001H:54H;1002H:41H;1003H:52H;1004H:54H 1005H:12H;1006H:34H;1007H:30H;1008H:00H;1009H:00H38 100AH:70H 4-8 編程將20H單元中的兩個BCD數(shù)拆開,并變成相應(yīng)的ASCII碼存入21H和22H單元。解:根據(jù)題意,編寫程序如下: MOV R0,#22H MOV R0,#00H MOV A, 20H XCHD A, R0 ORL 22H,#30H ;轉(zhuǎn)換低4位SWAP A O
30、RL A, #30H ;轉(zhuǎn)換高4位MOV 21H,A HERE: SJMP HERE 4-9 存放在片RAM的DAT單元中的自變量X中是一個無符號數(shù),試編寫程序求下面函數(shù)的函數(shù)值并存放到片RAM的FUNC單元中。63731 .s16 63729 .<>=20)(X2X20)X(505X50)(XXY 解:根據(jù)題意設(shè)計(jì)程序如下: MOV A, DAT CJNE A, #32H, LOOP LOOP: JNC DONE CJNE A,#14H,LOOP1 LOOP1: JC LOOP2 RL A RL A ADD A, DAT SJMP DONE LOOP2: RL A DONE: M
31、OV FUNC,A HERE: SJMP HERE 4-11 已知片RAM以ADDR為起始地址的區(qū)域中存放著24個無符號數(shù),試編寫程序找出最小值,并存入MIN單元。解:根據(jù)題意,編寫程序如下: MOV R0, #ADDR ;數(shù)據(jù)區(qū)首地址39 MOV R7, #18H ;數(shù)據(jù)區(qū)長度MOV A, R0 ;讀第一個數(shù)DEC R7 LOOP: INC R0 MOV 2AH, R0 ;讀下一個數(shù)CJNE A,2AH,CHK ;數(shù)值比較 CHK: JC LOOP1 ;A值小轉(zhuǎn)移MOV A,R0 LOOP1: DJNZ R7,LOOP ;繼續(xù) MOV 2BH,A ;極值送2BH單元HERE: AJMP HE
32、RE ;停止 6-1· 什么是中斷?什么是中斷源? 答:當(dāng)CPU正在運(yùn)行時(shí),外部發(fā)生的某一隨機(jī)事件(如一個電平的變化,一個脈沖沿的發(fā)生或定時(shí)器計(jì)數(shù)溢出等)請求CPU迅速去處理,于是,CPU暫時(shí)中止現(xiàn)行的程序,轉(zhuǎn)去處理所發(fā)生的事件。處理完該事件以后,再回到原來被中止的地方,繼續(xù)原來的工作。這種在程序執(zhí)行過程中由于外界的原因而被中間打斷的情況稱為中斷。產(chǎn)生中斷的請求源稱為中斷源。6-2· MCS-51提供了哪幾種中斷源? 在中斷管理上有什么特點(diǎn)?各中斷源中斷優(yōu)先權(quán)的高低是如何排列確定的? 答:MCS-51單片機(jī)設(shè)立了5個中斷源,其中兩個為外部中斷源,外部中斷0即,外部中斷1即,
33、三個為片中斷源(部中斷源),分別為定時(shí)器/計(jì)數(shù)器T0溢出中斷、定時(shí)器/計(jì)數(shù)器T1溢出中斷和串行口中斷。由特殊功能寄存器TCON和SCON的相應(yīng)位表示了各中斷源的狀態(tài)。提供2個中斷優(yōu)先級,中斷處理程序可實(shí)現(xiàn)二級中斷嵌套。各中斷源可以由中斷優(yōu)先級控制寄存器IP程控為高優(yōu)先級或低優(yōu)先級中斷。中斷源的排列順序由中斷優(yōu)先級控制寄存器和部查詢電路共同決定,并且各中斷源可以由中斷允許控制寄存器IE定義為開放或屏蔽狀態(tài)。0INT1INT6-3· MCS-51響應(yīng)中斷的條件是什么?CPU響應(yīng)中斷時(shí),不同的中斷源,其中斷入口地址各是多少? 答:MCS-51響應(yīng)中斷的基本條件有: 1.有中斷源發(fā)出中斷請求。 2.中斷總允許位EA=l
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二硫化碳生產(chǎn)工測試驗(yàn)證評優(yōu)考核試卷含答案
- 電力通信運(yùn)維員崗前規(guī)章制度考核試卷含答案
- 片基流延工誠信道德能力考核試卷含答案
- 電子玻璃制品鍍膜工安全宣教測試考核試卷含答案
- 安全員考試請假條
- 2025年超細(xì)銀粉末、銀鈀粉、鈀粉、鉑粉項(xiàng)目合作計(jì)劃書
- 2026年智能心率帶項(xiàng)目營銷方案
- 2025年江蘇省南通市中考物理真題卷含答案解析
- 2025年山東省日照市中考英語真題卷含答案解析
- 2025康復(fù)醫(yī)學(xué)與技術(shù)專業(yè)知識題庫及答案
- 2026年教育平臺資源輸出協(xié)議
- 【《四旋翼飛行器坐標(biāo)系及相互轉(zhuǎn)換關(guān)系分析綜述》1000字】
- 廣東深圳市鹽田高級中學(xué)2024~2025學(xué)年高一上冊1月期末考試化學(xué)試題 附答案
- 人力資源部2025年度工作總結(jié)與2026年度戰(zhàn)略規(guī)劃
- 2025年安徽理工大學(xué)馬克思主義基本原理概論期末考試參考題庫
- 機(jī)械工程師職稱評定技術(shù)報(bào)告模板
- 檔案移交數(shù)字化建設(shè)規(guī)劃
- 孤獨(dú)癥個案護(hù)理
- 建筑施工風(fēng)險(xiǎn)辨識與防范措施
- 高職汽車維修專業(yè)培訓(xùn)教材
- 2026年中級注冊安全工程師之安全生產(chǎn)法及相關(guān)法律知識考試題庫500道含答案ab卷
評論
0/150
提交評論