




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章1- 1什么是單片機(jī)?它與一般微型計(jì)算機(jī)在結(jié)構(gòu)上何區(qū)別? 答:?jiǎn)纹⑿陀?jì)算機(jī)簡(jiǎn)稱為單片機(jī)(Single Chip Computer),又稱為微控制器(MCU 即Micro-Controller Unit)。它是在一塊芯片上集成了中央處理器(CPU)、存儲(chǔ)器(RAM、ROM )、定時(shí)器/計(jì)數(shù)器、中斷控制、各種輸入/輸出(I/O)接口(如并 行I/O 口、串行I/O 口和A/D轉(zhuǎn)換器)等為一體的器件。微型計(jì)算機(jī)的基本結(jié)構(gòu)由CPU (運(yùn)算器、控制器)、存儲(chǔ)器、輸入設(shè)備和輸 出設(shè)備五大部分組成,各部分通過(guò)外部總線連接而成為一體。單片機(jī)的結(jié)構(gòu)是在 一塊芯片上集成了中央處理器(CPU)、存儲(chǔ)器、定時(shí)
2、器/計(jì)數(shù)器、中斷控制、各 種輸入/輸出接口(如并行I/O 口、串行I/O 口和A/D轉(zhuǎn)換器)等,它們通過(guò)單 片機(jī)內(nèi)部部總線連接而成為一體。1-2 MCS-51系列單片機(jī)內(nèi)部資源配置如何?試舉例說(shuō)明 8051與51兼容的單片 機(jī)的異同。答:MCS-51系列單片機(jī)內(nèi)部資源配置AT89S5312KBFlashROM256B3X 163219/2SPI,WDT 2個(gè)數(shù)據(jù)指針W77E5832KBFlashROM256B+1024B3X 1636212/2擴(kuò)展了 4位I/O 口,雙 數(shù)據(jù)指針,WDT1- 3新型8位單片機(jī),主要在哪幾方面發(fā)展了?使用新型 8位單片機(jī)能帶來(lái)什么 好處?1、運(yùn)算速度大大提高;2
3、、RAM、ROM容量增大;3、精簡(jiǎn)指令集,指令比51少很多;4、更多的IO 口;5、更多的其他功能,比如自帶 AD,DA,自帶SPI,自帶看門狗,自帶大容量 EEPROM 等等;6、中斷的種類更細(xì)更多,有 20幾個(gè)中斷向量的比比皆是,定時(shí)器/計(jì)數(shù)器的功 能,數(shù)量都更多。簡(jiǎn)化電路,節(jié)省成本,降低功耗,提高系統(tǒng)的可靠性。第2章2- 1 MCS-51系列單片機(jī)內(nèi)部有哪些主要的邏輯部件?答:一個(gè)8位CPU; 個(gè)片內(nèi)振蕩器及時(shí)鐘電路;4K字節(jié)ROM程序存儲(chǔ)器; 128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;可尋址64K外部數(shù)據(jù)存 儲(chǔ)器和64K外部程序存儲(chǔ)器空間的控制電路;32條可編程的I/O線(
4、四個(gè)8位 并行I/O端口); 一個(gè)可編程全雙工串行口;具有五個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套 中斷結(jié)構(gòu)2- 2 MCS-51設(shè)有4個(gè)8位端口( 32條I/O線),實(shí)際應(yīng)用中8位數(shù)據(jù)信息由哪 一個(gè)端口傳送? 16位地址線怎樣形成? P3 口有何功能?答:實(shí)際應(yīng)用中8位數(shù)據(jù)信息由P0 口傳送。16位地址線由P0 口輸出低8位地 址A7A0 P2 口輸出高8位地址A15A8 P3 口是一個(gè)多用途的端口,也是一個(gè) 準(zhǔn)雙向口,作為第一功能使用時(shí),其功能同P1 口;當(dāng)作第二功能使用時(shí),P3.0RXD串行輸入(數(shù)據(jù)接收)口,P3.1 TXD串行輸出(數(shù)據(jù)發(fā)送)口,P3.2 而 外部中斷0輸入線,P3.3 麗外部中斷
5、1輸入線,P3.4 T0定時(shí)器0外部輸入, P3.5 T1定時(shí)器1外部輸入,P3.6WR外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出,P3.7 RD外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸入。2-3 MCS-51的存儲(chǔ)器結(jié)構(gòu)與一般的微型計(jì)算機(jī)有何不同?程序存儲(chǔ)器和數(shù)據(jù)存 儲(chǔ)器各有何作用?答:MCS-51存儲(chǔ)器結(jié)構(gòu)與常見的微型計(jì)算機(jī)的配置方式不同,它把程序存儲(chǔ)器 和數(shù)據(jù)存儲(chǔ)器分開,各有自已的尋址系統(tǒng)、控制信號(hào)和功能。程序存儲(chǔ)器用來(lái)存放程序和始終要保留的常數(shù),如經(jīng)匯編后所編程序的機(jī)器 碼。數(shù)據(jù)存儲(chǔ)器通常用來(lái)存放程序運(yùn)行中所需要的常數(shù)或變量,例如模/數(shù)轉(zhuǎn)換時(shí)實(shí)時(shí)采集的數(shù)據(jù)等。2- 4 MCS-51內(nèi)部RAM區(qū)功能結(jié)構(gòu)如何分配?
6、4組工作寄存器使用時(shí)如何選 用?位尋址區(qū)域的字節(jié)地址范圍是多少?答:MCS-51系列單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器:00H 7FH單元組成的低128字節(jié)地 址空間的RAM區(qū),又分為為工作寄存器區(qū)(00H1FH)、位尋址區(qū)(20H2FH) 和用戶RAM區(qū)(30H7FH )。80H FFH( 128 255)單元組成的高128字節(jié)地址空間的特殊功能寄存器(又稱 SFR)區(qū)。對(duì)于8032、8052、8752的單片機(jī) 還有80HFFH單元組成的高128字節(jié)地址空間的RAM區(qū)。4組工作寄存區(qū)是由程序狀態(tài)字 PSW(特殊功能寄存器,字節(jié)地址為0D0H) 中的D4、D3位(RS1 和 RS0)來(lái)決定的。位尋址區(qū)域的字
7、節(jié)地址范圍是 20H2FH (對(duì)應(yīng)的位地址范圍是 00H7FH )。2- 5特殊功能寄存器中哪些寄存器可以位尋址?它們的字節(jié)地址是什么?答:P0字節(jié)地址80H,TCON字節(jié)地址88H,P1字節(jié)地址90H,SCON字節(jié)地址 98H,P2字節(jié)地址 A0H,IE字節(jié)地址A8H,P3字節(jié)地址B0H,IP字節(jié)地址B8H,PSW 字節(jié)地址D0H,ACC字節(jié)地址E0H,B字節(jié)地址F0H。2-6簡(jiǎn)述程序狀態(tài)字PSW中各位的含義。 答:CY (PSW7)進(jìn)位標(biāo)志,AC (PSW6) 輔助進(jìn)位標(biāo)志,F(xiàn)0 ( PSW 5)用戶標(biāo)志位,RS1、RS0 ( PSW 4、PSW 3)寄存器區(qū)選擇 控制位,OV (PSW
8、2)溢出標(biāo)志,P( PSW. 0) 奇偶標(biāo)志,每個(gè)指令周期都由硬件來(lái)置位或 清“0;'以表示累加器A中1的位數(shù)的奇偶數(shù)。2-7復(fù)位后,各內(nèi)部寄存器的內(nèi)容是什么?wa(MHHIIIMHACCIHIH%MHP冊(cè)T比ABSI*<1711TlqOTJIIWTRTHiMBl'FllSCONOOHFPX X XM0MBSBtT不定IETMORflX XX OOOOH 耐rcoxoxxxooikortIMCS4U社八機(jī)并奇心塞的趕&狀卷2- 8 一個(gè)時(shí)鐘頻率為 6MHz 的單片機(jī)應(yīng)用系統(tǒng),它的振蕩信號(hào)周期、時(shí)鐘周期、 機(jī)器周期分別是多少?答:振蕩信號(hào)周期=1/6us、時(shí)鐘周期=
9、1/3us、機(jī)器周期=2us。2- 9 堆棧有何功能?堆棧指針的作用是什么?二者的關(guān)系?為什么在程序設(shè)計(jì) 時(shí),要對(duì) SP 重新賦值? 答:堆棧的主要功能:保護(hù)斷點(diǎn)和程序現(xiàn)場(chǎng),保存用戶數(shù)據(jù)。堆棧指針的作用是:堆棧指針 SP是一個(gè)8位特殊功能寄存器,指示出堆棧 頂部在內(nèi)部 RAM 中的位置。兩者的關(guān)系:堆棧指針SP給定當(dāng)前的棧頂,SP的初始值越小,堆棧深度就 越深。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H單元開始??紤]到 08H1FH 單元分屬于工作寄存器區(qū) 13,若程序設(shè)計(jì)中要用到這些區(qū), 則最好把 SP值改置為1FH或更大的值如60H,SP的初始值越小,堆棧深度就越深,堆棧 指針
10、的值可以由軟件改變,因此堆棧在內(nèi)部 RAM 中的位置比較靈活。第3章3- 4:(1)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #21HADD A, #45HADD A, #78H SJMP $END(2)ORG 0000HAJMP STARTORG 0100HSTART:MOV A, #78HADD A, #45H CLR C;SUBB A, #21HSUBB A, #09H SJMP $END(3)ORG 0000HAJMP STARTORG 0100H START:MOV A, #34HADD A, #0ABHMOV R0, AMOV A, 12 A
11、DDC A, #21H MOV R1, A SJMP $ END(3) ORG 0000HAJMP START ORG 0100H START:CLR C;MOV A, #0BCH SUBB A, #0CDH MOV R0, A MOV A, 1#2AH SUBB A, #0FH MOV R1, A SJMP $ END3- 5:請(qǐng)編程實(shí)現(xiàn):將片內(nèi) 20H 存儲(chǔ)單元的 8 位二進(jìn)制數(shù)轉(zhuǎn)換成 BCD 碼,并存 放在片外以 2000H 起始的單元中, 2000H 單元存放轉(zhuǎn)換后的 BCD 碼的百位, 2001H 單元存放轉(zhuǎn)換后的 BCD 碼的十位 /個(gè)位。ORG 0000HORG 0050HSTA
12、RT:MOV A,20H ;A 被除數(shù) MOVDIVMOVXMOVMOVDIVSWAPADDMOVXSJMP $ENDAJMP STARTB, #100 AB2000H,A A,B B,#10 AB A A,B2001H,AB除數(shù)100;A - B,A 商(百位數(shù)BCD碼),B余數(shù);(2000H)將百位數(shù) BCD碼;A余數(shù)作被除數(shù)B除數(shù)10A - B,A 商(十位數(shù) BCD碼),B 余數(shù)(個(gè)位BCD碼) 十位 BCD 碼調(diào)整到 A 中高 4 位; A 中壓縮成 2 位 BCD 碼;(2001H)十位、個(gè)位BCD碼3-6: 將片內(nèi) RAM 20H,21H,22H,23H (千/百/十/個(gè)位)中的
13、十進(jìn)制的 ascii 碼轉(zhuǎn)換成 bcd 碼,并壓縮放于片內(nèi) 30H,31H 兩個(gè)單元,其中 31H 中放 bcd 碼的十位/個(gè)位,30H 中放 bcd 碼的千位 /百位。MOVA, #00H;這一句不是必須MOVR0, #20HMOVR1, #21HXCHDA, R0;A(20H)SWAPA;A高4位(20H)的BCD碼數(shù)字XCHDA, R1;A低4位(21H)的BCD碼數(shù)字MOV30H,AMOVA, #00H;這一句不是必須MOVR0, #22HMOVR1, #23HXCHDA, R0;A(22H)SWAPA;A高4位(22H)的BCD碼數(shù)字XCHDA, R1;A低4位(21H)的BCD碼數(shù)
14、字MOV31H,A3-7:片內(nèi) RAM 的 30H32H 單元中連續(xù)存放了 6 個(gè)壓縮 BCD 碼,編制程序?qū)?它們轉(zhuǎn)換為 ASCII 碼,存入片外 3000H 開始的連續(xù)存儲(chǔ)區(qū)中MOV R0,#30HMOV DPTR,3000HLOOP: MOV A,R0SWAP AANL A,#0FHADD A,#30H ;30H= '0'MOVX DPTR,AINC DPTRMOV A,R0ANL A,#0FHADD A,#30HMOVX DPTR,AINC DPTRINC R0CJNE R0,#33H, LOOP3- 9: 從外部 RAM 2000H 單元開始存放著 100 個(gè)無(wú)符號(hào)數(shù)
15、 ,編寫程序統(tǒng)計(jì)出 :(1) 最大數(shù);(2)最小數(shù);(6)大于 50,小于 50,等于 50 的個(gè)數(shù)。(1)MOV DPTR, #2000HMOV 30H, #0 ;先用 0 當(dāng)做最大數(shù) (求最小數(shù)時(shí),用 255)MOV R2, #100LOOP: MOVX A, DPTRCJNE A, 20H, TTT ;(A)-(20H)TTT: JNC NEXT;不夠減轉(zhuǎn)移 (求最小數(shù)時(shí),用 JNC NEXT)MOV 30H, A;夠減,這個(gè)數(shù)是大數(shù),給 (20H)NEXT: INC DPTRDJNZ R2, LOOPSJMP $END(6)ORG 0600HMOVDPTR, #2000HMOVR2,
16、#100;總數(shù)MOVR3, #0; 小于50 的數(shù)的個(gè)數(shù)MOVR4, #0; 等于50 的數(shù)的個(gè)數(shù)MOVR5, #0; 大于50 的數(shù)的個(gè)數(shù)LOOP:MOVX A, DPTRCLR C SUBB A, #50JZ EQU_50JNCBIGINCR3;小于50 的個(gè)數(shù)JMPNEXTEQU_50:INCR4JMPNEXTBIG:INCR5NEXT:INCDPTRDJNZR2, LOOPMOV30H,R3; 小于 50 的數(shù)的個(gè)數(shù)MOV31H,R4; 等于 50 的數(shù)的個(gè)數(shù)MOV32H,R5; 大于 50 的數(shù)的個(gè)數(shù)SJMP $3- 10 MCS-51 片外 RAM 區(qū) 1000H1007H 單元中
17、存有 8 個(gè)無(wú)符號(hào)數(shù),編程求其 平均值,將結(jié)果存于 1008H 中。 %先加,加的結(jié)果可能超出 8 位,所以存儲(chǔ)結(jié) 果于(30H)和(40H)單元中。MOV DPTR, #1000HMOV R7, #08HMOV 30H, #00HMOV 40H, #00HSS1:MOVX A, DPTRADD A, 30HMOV 30H, ACLR AADDC A, 40HMOV 40H, AINC DPTRDJNZ R7, SS1MOV R7, #03H;移位 3 次,等于除以 8SS2:CLR CMOV A, 40HRRC AMOV 40H, AMOV A, 30HRRC AMOV 30H, ADJNZ
18、 R7, SS2MOVX DPTR, A3- 11下面是以數(shù)學(xué)公式,X值存于片內(nèi)20H,丫值存于21H單元中。丫=X2(X>0) 0(X=0)2X(X<0)MAIN:MOV A,20HJZ SULJB ACC.7,NEGMOV B,AMUL ABSJMP SULNEG:CLR CRLC ASUL:MOV 21H ,A3- 12 試編寫程序,將外部 RAM 2000H20FFH 數(shù)據(jù)塊,傳送到 3000H30FFH 區(qū)域。MOV R6,#0FFHMOV R2,#00HMOV R3,#20H; 暫存 2000H 地址MOV R4,#00HMOV R5,#30H; 暫存 3000H 地址
19、NEXT:MOV DPL,R2MOV DPH,R3MOVX A,DPTRMOV DPL,R4MOV DPH,R5MOVX DPTR,AINC R2INC R4DJNZ R6,NEXT3-13:振蕩頻率: 6MHz (機(jī)器周期: 2us), (1)1ms 延時(shí)ORG 2000HMOV R7, 125LOP1: NOPNOPDJNZRET (2) 100ms 延時(shí)R7,LOP1ORG2000HMOVR6, 100LOP2:MOVR7,125LOP1:NOPNOPDJNZR7,LOP1DJNZRETR6,LOP2(3)Is延時(shí)ORG2000HMOVR5, 10LOP3:MOVR6, 100LOP2:
20、MOVR7,125LOP1:NOPNOPDJNZR7,LOP1DJNZR6,LOP2DJNZR5,LOP3RET3-14:片內(nèi) RAM30H 有一數(shù)( 015),查表求平方值,存入 31H 中 ORG 1000HMAIN: MOV DPTR,#TABMOV 30H, #13 ;NUMB=015MOV A, 30HMOVC A,A+DPTRMOV 31H,ASJMP $TAB: DB 0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,255第4章4- 4試編程實(shí)現(xiàn),將INTO設(shè)為高優(yōu)先級(jí)中斷,且為電平觸發(fā)方式;T0溢出中斷設(shè)為低優(yōu)先級(jí)中斷,串行口中斷為高
21、優(yōu)先級(jí)中斷,其余中斷源設(shè)為禁止?fàn)顟B(tài)。SETB PX0CLR IT0CLR PTOSETB PSMOV IE,#93H4- 9試用中斷技術(shù)設(shè)計(jì)一個(gè)秒閃電路,其功能是發(fā)光二極管LED每秒閃亮400ms。主機(jī)頻率為 6MHz。(仿真見 exercise4_9.ms11)題意可理解為L(zhǎng)ED每次亮400ms,滅600ms。設(shè)使用定時(shí)器T1,定時(shí)時(shí)間為100ms,用P1.0作輸出,設(shè)P1.0為高時(shí)燈滅。ORG 0000HAJMP STARTORG 000BHAJMP T0INTORG 0050HSTART:MOV SP, #30HMOV TMOD,#01HMOVTH1,#3CHMOVTL1,#0B0HMO
22、VR0,#04HSETBF0MOVIE,#88HSETBP1.0SETBTR1SJMP $;T0方式1計(jì)數(shù),;定時(shí)100ms;燈亮(1)、滅(0)的轉(zhuǎn)換標(biāo)志T0INT:MOV TH1, #3CHORG 0100HMOV TL1, #0B0HDJNZ R0, NEXTJNBF0,TURNON;F0為0轉(zhuǎn)TURNOFF:CPLP1.0CLRF0MOVR0,#06HSJMP NEXTTURNON:CPLP1.0SETB F0MOVR0,#04HNEXT:RETIEND4- 1簡(jiǎn)述中斷、中斷源、中斷源的優(yōu)先級(jí)及中斷嵌套的含義。答:當(dāng)CPU正在處理某項(xiàng)事件的時(shí),如果外界或內(nèi)部發(fā)生了緊急情況,要求CPU
23、暫停正在處理的工作轉(zhuǎn)而去處理這個(gè)緊急情況,待處理完以后再回到原來(lái)被中斷的地方,繼續(xù)執(zhí)行原來(lái)被中斷了的程序,這樣的過(guò)程稱為中斷。向CPU提出中斷請(qǐng)求的源稱為中斷源。當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而CPU在一個(gè)時(shí)刻只能響應(yīng)并處理中斷優(yōu)先高的請(qǐng)求。在實(shí)際應(yīng)用系統(tǒng)中,當(dāng)CPU正在處理某個(gè)中斷源,即正在執(zhí)行中斷服務(wù)程序時(shí), 會(huì)出現(xiàn)優(yōu)先級(jí)更高的中斷源申請(qǐng)中斷。為了使更緊急的級(jí)別高的中斷源及時(shí)得到 服務(wù),需要暫時(shí)中斷(掛起)當(dāng)前正在執(zhí)行的級(jí)別較低的中斷服務(wù)程序,去處理 級(jí)別更高的中斷源,待處理完以后,再返回到被中斷了的中斷服務(wù)程序繼續(xù)執(zhí)行, 但級(jí)別相同或級(jí)別低的中斷源不能中斷級(jí)別
24、高的中斷服務(wù),這就是所謂的中斷嵌套。4- 2 MCS-51單片機(jī)能提供幾個(gè)中斷源?幾個(gè)中斷優(yōu)先級(jí)?各個(gè)中斷的源的優(yōu)先 級(jí)怎樣確定?在同一優(yōu)先級(jí)中各個(gè)中斷源的優(yōu)先級(jí)怎樣確定?答:MCS-51單片機(jī)能提供五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。中斷優(yōu)先級(jí)是由片內(nèi) 的中斷優(yōu)先級(jí)寄存器IP (特殊功能寄存器)控制的。PS:串行口中斷優(yōu)先級(jí)控制位。PS=1,串行口定義為高優(yōu)先級(jí)中斷源;PS=O, 串行口定義為低優(yōu)先級(jí)中斷源。PT1: T1中斷優(yōu)先級(jí)控制位。PT1=1,定時(shí)器/計(jì)數(shù)器1定義為高優(yōu)先級(jí)中斷 源;PT1=0,定時(shí)器/計(jì)數(shù)器1定義為低優(yōu)先級(jí)中斷源。PX1:外部中斷1中斷優(yōu)先級(jí)控制位。PX1=1,外中斷1定義
25、為高優(yōu)先級(jí)中 斷源;PX1=0,外中斷1定義為低優(yōu)先級(jí)中斷源。PTO:定時(shí)器/計(jì)數(shù)器0 (TO)中斷優(yōu)先級(jí)控制位,功能同 PT1。PX0:外部中斷0中斷優(yōu)先級(jí)控制位,功能同PX1。在同一優(yōu)先級(jí)中,循環(huán)輪流排隊(duì)。不分級(jí)別高低,所有中斷源優(yōu)先級(jí)都一律 平等,CPU輪流響應(yīng)各個(gè)中斷源的中斷請(qǐng)求。4-3簡(jiǎn)述MCS-51單片機(jī)中斷響應(yīng)過(guò)程。答:CPU在每個(gè)機(jī)器周期的S5P2時(shí)刻采樣中斷標(biāo)志,而在下一個(gè)機(jī)器周期對(duì)采 樣到的中斷進(jìn)行查詢。如果在前一個(gè)機(jī)器周期的 S5P2有中斷標(biāo)志,則在查詢周 期內(nèi)便會(huì)查詢到并按優(yōu)先級(jí)高低進(jìn)行中斷處理, 中斷系統(tǒng)將控制程序轉(zhuǎn)入相應(yīng)的 中斷服務(wù)程序。4-4 MCS-51單片機(jī)外
26、部中斷有哪兩種觸發(fā)方式?如何選擇?對(duì)外部中斷源的觸 發(fā)脈沖或電平有何要求?答:MCS-51單片機(jī)外部中斷有:負(fù)邊沿觸發(fā)方式和電平觸發(fā)方式。外部中斷1(1 而)觸發(fā)方式控制位。如果IT1為1,則外中斷1為負(fù)邊沿觸發(fā)方式(CPU在每個(gè)機(jī)器周期的S5P2采樣INT1腳的輸入電平,如果在一個(gè)周期中采樣到高電平, 在下個(gè)周期中采樣到低電平,則硬件使IE1置1,向CPU請(qǐng)求中斷);如果IT1為0,則外中斷1為電平觸發(fā)方式。采用電平觸發(fā)時(shí),輸入到 帀71的外部中斷源 必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使電平變高, 否則將會(huì)再次產(chǎn)生中斷。4-5在MCS-51單片機(jī)的應(yīng)用系統(tǒng)中,如果有多
27、個(gè)外部中斷源,怎樣進(jìn)行處理?答:當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而 CPU在一個(gè)時(shí)刻只能響應(yīng)并處理一個(gè)中斷請(qǐng)求,為此,要進(jìn)行排隊(duì)。排隊(duì)的方 式有:(1)按優(yōu)先級(jí)排隊(duì)。(2)循環(huán)輪流排隊(duì)。MCS-51單片機(jī)優(yōu)先級(jí)比較簡(jiǎn)單,只有兩級(jí),可以通過(guò)優(yōu)先級(jí)控制寄存器設(shè)置不同的優(yōu)先級(jí)。當(dāng)優(yōu)先級(jí)相同時(shí),約定有5個(gè)中斷源優(yōu)先級(jí)順序由高到低分別為:外部中斷 0、定時(shí)器/計(jì)數(shù)器0溢出、外部中斷1、定時(shí) 器/計(jì)數(shù)器1溢出、串行口中斷。4-6 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?各有什么特點(diǎn)?答:1)利用定時(shí)器作為外部中斷使用特點(diǎn):把MCS-51的兩個(gè)定時(shí)器/計(jì)數(shù)器(T0和T1)選擇為計(jì)
28、數(shù)器方式,每 當(dāng)P3.4(T0)或P3.5(T1 )引腳上發(fā)生負(fù)跳變時(shí),T0和T1的計(jì)數(shù)器加1??梢?把P3.4和P3.5引腳作為外部中斷請(qǐng)求輸入線,而定時(shí)器的溢出中斷作為外部中 斷請(qǐng)求標(biāo)志。2)采用中斷和查詢相結(jié)合的方法擴(kuò)充外部中斷源特點(diǎn):這種方法是把系統(tǒng)中多個(gè)外部中斷源經(jīng)過(guò)與門連接到一個(gè)外部中斷輸 入端(例如INT1),并同時(shí)還接到一個(gè)I/O 口,中斷請(qǐng)求由硬件電路產(chǎn)生,而中 斷源的識(shí)別由程序查詢來(lái)處理,查詢順序決定了中斷源的優(yōu)先級(jí)。4- 7 MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:響應(yīng)外部中斷的典型時(shí)間是至少需要 3個(gè)完整的機(jī)器
29、周期。1、外部中斷INf0和1NT1的電平在每個(gè)機(jī)器周期的 S5P2時(shí)被采樣并鎖存到IE0和 IE1中,這個(gè)置入到IE0和IE1的狀態(tài)在下一個(gè)機(jī)器周期才被其內(nèi)部的查詢電路查詢,未產(chǎn)生了一個(gè)中斷請(qǐng)求。2、沒有滿足響應(yīng)的條件,CPU沒有響應(yīng)中斷。3、沒有由硬件生成一條長(zhǎng)調(diào)用指令轉(zhuǎn)到相應(yīng)的服務(wù)程序入口。第5章5- 1 MCS-51單片機(jī)定時(shí)/計(jì)數(shù)器作定時(shí)和計(jì)數(shù)用時(shí),其計(jì)數(shù)脈沖分別由誰(shuí)提供?定時(shí):計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時(shí)鐘信號(hào)12分頻后提供。定時(shí)時(shí)間與時(shí)鐘頻率和定時(shí)初值有關(guān)。計(jì)數(shù):外部輸入脈沖計(jì)數(shù),接相應(yīng)的外部輸入引腳 T0( P3.4)或T1( P3.5)5- 2 MCS-51單片機(jī)內(nèi)設(shè)有幾
30、個(gè)定時(shí)/計(jì)數(shù)器?它們是由哪些特殊功能寄存器組 成?答:MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定 時(shí)器T1。定時(shí)/計(jì)數(shù)器TO由特殊功能寄存器THO、TLO(字節(jié)地址分別為8CH和8AH)構(gòu)成, 定時(shí)/計(jì)數(shù)器T1由特殊功能寄存器TH1、TL1(字節(jié)地址分別為8DH和8BH)構(gòu)成。 其內(nèi)部還有一個(gè) 8 位的定時(shí)器方式寄存器 TMOD 和一個(gè) 8 位的定時(shí)器控制寄存 器 TCON。 TMOD 主要是用于選定定時(shí)器的工作方式, TCON 主要是用于控制 定時(shí)器的啟動(dòng)和停止。5- 3定時(shí)/計(jì)數(shù)器作定時(shí)器用時(shí), 其定時(shí)時(shí)間與哪些因素有關(guān)?作計(jì)數(shù)器用時(shí), 對(duì) 外界計(jì)數(shù)頻率有何
31、限制?答:定時(shí)器/計(jì)數(shù)器作定時(shí)用時(shí),其定時(shí)時(shí)間與下面因素有關(guān):晶體振蕩器的頻率、機(jī)器 周期、計(jì)數(shù)器的長(zhǎng)度、定時(shí)器 / 計(jì)數(shù)器初值。用做”計(jì)數(shù)器”時(shí),對(duì)外部輸入端 TO、T1上1到0的跳變進(jìn)行加1計(jì)數(shù)。在計(jì)數(shù)狀態(tài) 下,每個(gè)機(jī)器周期的 S5P2 時(shí)刻采樣外部輸入,當(dāng)?shù)谝粋€(gè)機(jī)器周期采樣為高電平,而在第二 個(gè)機(jī)器周期采樣為低電平時(shí),內(nèi)部計(jì)數(shù)器加 1。新的計(jì)數(shù)值在緊接著采樣到跳變后的下一機(jī) 器周期的 S3P1 出現(xiàn)在計(jì)數(shù)器中。由于檢測(cè)一個(gè) 1 到 O 的跳變需要 2 個(gè)機(jī)器周期,即 24個(gè) 振蕩周期, 因此外部計(jì)數(shù)的最快速率為振蕩頻率的1/24。外部輸入信號(hào)的速率向下可以不受限制, 但是脈沖寬度必須保證
32、在其電平變化之前能被采樣到一次,即至少保持一個(gè)完整的機(jī)器周期,否則,將會(huì)由于采樣不到而出現(xiàn)漏計(jì)現(xiàn)象。3-1設(shè)內(nèi)部RAM中59H單元的內(nèi)容為50H,寫出當(dāng)執(zhí)行下列程序段后寄存器 A,R0和內(nèi)部RAM中 50H,51H 單元的內(nèi)容為何值?MOVA, 59H;A=50HMOVR0, A;R0=50HMOVA, #00H;A=00HMOVR0, A;50H=00HMOVA, #25H;A=25HMOV51H, A;51H=25HMOV52H, #70H;52H=70HA=25HR0=50H50H=00H51H=25H3-2 訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器可以用哪些指令來(lái)實(shí)現(xiàn)?舉例說(shuō)明 答:訪問(wèn)外部數(shù)據(jù)
33、存儲(chǔ)器指令有:MOVX DPTR, AMOVX A, DPTRMOVX A, RiMOVX Ri, A 訪問(wèn)程序存儲(chǔ)器指令有:MOV DPTR,#O1OOH MOV DPTR,AMOV DPTR,#O2OOH MOV A,DPTRMOVX A,ROMOVX R1,AMOVC A, A+PCMOVC A, A+DPTR3-3設(shè)堆棧指針SP中的內(nèi)容為60H,內(nèi)部RAM中30H和31H單元的內(nèi)容 分別為24H和10H,執(zhí)行下列程序段后,61H,62H,30H,31H,DPTR及SP 中的內(nèi)容將有何變化?PUSH30H;61H=24HPUSH31H;62H=10HSP=62HPOPDPL;DPL=10
34、HPOPDPH;DPH=24HSP=60HMOV30H, #00H;30H=00H27MOV31H,#0FFH;31H=0FFH3-4設(shè)(A) =40H, ( R1) =23H, (40H) =05H。執(zhí)行下列兩條指令后,累加 器 A 和 R1 以及內(nèi)部 RAM 中 40H 單元的內(nèi)容各為何值?XCHXCHDA, R1A, R1;A=23H;A=25HR1=40H40H=03H3-5兩個(gè)四位BCD碼數(shù)相加,被加數(shù)和加數(shù)分別存于50H, 51H和52H , 53H 單元中(千位、百位在低地址中,十位、個(gè)位在高地址中) ,和存放在 54H, 55H 和 56H 中( 56H 用來(lái)存放最高位的進(jìn)位)
35、 ,試編寫加法程序。ORG 0000HLJMP STARTORG 0100HSTART: MOV A,53HADD A,51HDA AMOV 55H,AMOV A,52H ADDC A,50H DA AMOV 56H,CSJMP $END3- 6設(shè)(A)=01010101B,(R5)=10101010B,分別寫出執(zhí)行下列指令后結(jié)ANLORLXRLR5R5R500000000B11111111B11111111B3- 7指令SJMP rel中,設(shè)rel=60H,并假設(shè)該指令存放在 2114H和2115H單 元中。當(dāng)該條指令執(zhí)行后,程序?qū)⑻D(zhuǎn)到何地址?答: 2116H+60H=2176H3- 8
36、簡(jiǎn)述轉(zhuǎn)移指令 AJMP addr11、SJMP rel、 LJMP addr16 及 JMP A+DPTR 的應(yīng)用場(chǎng)合。答:AJMP addrll為2K字節(jié)范圍內(nèi)的無(wú)條件轉(zhuǎn)跳指令,把程序的執(zhí)行轉(zhuǎn)移 到指定的地址。 SJMP rel 是無(wú)條件轉(zhuǎn)跳指令,執(zhí)行時(shí)在 PC 加 2 后,把指令中補(bǔ) 碼形式的偏移量值加到PC上,并計(jì)算出轉(zhuǎn)向目標(biāo)地址。轉(zhuǎn)向的目標(biāo)地址可以在 這條指令前 128字節(jié)到后 127字節(jié)之間。LJMP addr16執(zhí)行這條指令時(shí)把指令的第二和第三字節(jié)分別裝入 PC的高位 和低位字節(jié)中,無(wú)條件地轉(zhuǎn)向指定地址。轉(zhuǎn)移的目標(biāo)地址可以在 64K 程序存儲(chǔ) 器地址空間的任何地方,不影響任何標(biāo)志。
37、JMP A+DPTR 指令的功能是把累加器中 8 位無(wú)符號(hào)數(shù)與數(shù)據(jù)指針 DPTR中的16位數(shù)相加,將結(jié)果作為下條指令地址送入 PC,利用這條指令能實(shí) 現(xiàn)程序的散轉(zhuǎn)。3- 9 試分析下列程序段,當(dāng)程序執(zhí)行后,位地址 00H, 01H 中的內(nèi)容將為何 值? P1 口的8條I/O線為何狀態(tài)?CLR;CY=0MOVA,#66H;A=66HJCLOOP1CPLC;CY=1SETB01H;20H.1=1LOOP1:ORLC, ACC.0;CY=1JBACC.2 ,LOOP2 ;CLR00HLOOP2:MOVP1,A;P1=01100110BSJMP$20H.0=020H.1=1P1=66H3-10 查指令
38、表,寫出下列兩條指令的機(jī)器碼,并比較一下機(jī)器碼中操作數(shù)排列 次序的特點(diǎn)。MOV58H, 80H85(80)(58) 直接尋址字節(jié)送直接尋址字節(jié): 匯編時(shí)源操作數(shù)在目標(biāo)操 作數(shù)之前。MOV58H, #80H75(58)(80) 立即數(shù)送直接尋址字節(jié): 匯編時(shí)目標(biāo)操作數(shù)在原操作數(shù) 之前。第4章4-1 什么是單片機(jī)的程序設(shè)計(jì)語(yǔ)言。 答:?jiǎn)纹瑱C(jī)的程序設(shè)計(jì)語(yǔ)言是指計(jì)算機(jī)能理解和執(zhí)行的語(yǔ)言,人與CPU、 MCU交流的語(yǔ)言。 MCS-51 系列單片機(jī)的程序設(shè)計(jì)語(yǔ)言,按照語(yǔ)言的結(jié)構(gòu)及其功能可 以分為三種:機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言。4-2 單片機(jī)的程序設(shè)計(jì)包括哪幾個(gè)步驟。 答:程序設(shè)計(jì)步驟如下:( 1) 分
39、析問(wèn)題。即仔細(xì)分析任務(wù)書中要實(shí)現(xiàn)的功能和性能指標(biāo)。( 2) 確定算法。即找到解決問(wèn)題思路、方法。( 3) 分配內(nèi)存單元。即確定數(shù)據(jù)結(jié)構(gòu)。這一步往往與算法同時(shí)考慮。( 4) 根據(jù)算法和數(shù)據(jù)結(jié)構(gòu),畫出程序流程圖。( 5) 根據(jù)流程圖編寫匯編語(yǔ)言源程序。編輯錄入,保存為 *.ASM 文件。( 6) 匯編。排除語(yǔ)法錯(cuò)誤。(7) 調(diào)試( DEBUG )。找出錯(cuò)誤并更正,再調(diào)試,直至通過(guò)。( 8) 編寫相關(guān)說(shuō)明文檔。4-3 畫出單片機(jī)的三種基本程序結(jié)構(gòu)。 答:順序結(jié)構(gòu)流程圖 流程圖4- 4單片機(jī)的分支結(jié)構(gòu)程序指令有哪幾條?答:分支結(jié)構(gòu)程序指令有 JB、JNB、JC、JNC、JZ、JNZ、CJNE、JBC4
40、- 5什么是單片機(jī)的程序嵌套?生活中有哪些現(xiàn)象與單片機(jī)的嵌套類似? 答:一個(gè)程序中還會(huì)調(diào)用別的程序,這稱為程序嵌套。生活例子:在學(xué)習(xí),有電話了,去接電話,水開了,放下電話去關(guān)掉電水壺, 接著打電話,打完電話,接著學(xué)習(xí)。4- 6能否從一個(gè)子程序內(nèi)部使用轉(zhuǎn)移指令直接跳轉(zhuǎn)到另一個(gè)子程序執(zhí)行?答:可以,為了保證正確地從子程序 2返回子程序1,再?gòu)?返回主程序,每次 調(diào)用子程序時(shí)必須將下條指令地址保存起來(lái), 返回時(shí)按后進(jìn)先出原則依次取出舊 PC值。4- 7能否使用轉(zhuǎn)移指令從主程序跳到子程序?答:不可以,當(dāng)主程序需要執(zhí)行某子程序的功能時(shí),只需執(zhí)行一條調(diào)用指令。而 并非使用轉(zhuǎn)移指令4-8能否使用轉(zhuǎn)移指令從子
41、程序跳到主程序?答:不可以,子程序的最后一條指令應(yīng)該是返回指令RET或RETI,以確保子程序能夠正確返回主程序。執(zhí)行 RET指令時(shí)單片機(jī)將原來(lái)存在堆棧中的斷點(diǎn)地址 彈出給PC,保證子程序返回主程序中調(diào)用子程序的地方繼續(xù)執(zhí)行主程序。子程序從子程序的標(biāo)號(hào)開始,到 RET或RETI指令結(jié)束。RET指令是一般子程序的返回指令。RETI指令是中斷服務(wù)子程序的返回指令。4-9畫出主程序的一般流程圖。答:主程序流程圖上電/復(fù)位,4- 10畫出子程序的一般流程圖 答:子程序流程圖4- 11子程序的規(guī)范化設(shè)計(jì)包括那幾個(gè)部分?答:子程序的規(guī)范化設(shè)計(jì)包括:(1)子程序名稱。給子程序起名字,起名的原則是子程序名能夠反
42、映子程序功 能,該名字就是子程序的入口地址標(biāo)識(shí)符。(2)子程序功能,對(duì)子程序的功能給予簡(jiǎn)要的描述。(3) 入口參數(shù),子程序所要運(yùn)算或處理的數(shù)據(jù)(加工前的原料),在調(diào)用子程 序之前,主程序要先準(zhǔn)備好入口參數(shù)。4)出口參數(shù),子程序運(yùn)算或處理的結(jié)果(加工完成的數(shù)據(jù)),子程序結(jié)束之前, 最終結(jié)果(出口參數(shù))存放在約定的 RAM單元,供主程序取用。(5)資源占用情況,指出該子程序運(yùn)行時(shí)所使用的片內(nèi)工作寄存器 (R0R7)、 SFR (特殊功能寄存器)、片內(nèi)RAM單元及片外RAM單元,以便在主程序調(diào)用 該子程序之前,考慮將這些資源中的哪些字節(jié)保護(hù)入棧。4-12在片內(nèi)RAM地址40H到4FH的存儲(chǔ)單元中存有
43、16個(gè)無(wú)符號(hào)數(shù),找出其中 的最大值,放入50H單元,請(qǐng)用“循環(huán)結(jié)構(gòu)”和“分支結(jié)構(gòu)”編程。答:流程圖:源程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV R2,#0FHMOV R0,#40HMOV A,R0SUB:INC R0MOV B,R0CJNE A,B,NEXTNEXT:JC NEXT1DJNZ R2,SUB JMP LASTNEXT1:MOV A,BDJNZ R2,SUBJMP LASTLAST:MOV 50H,ASJMP $4-13將片內(nèi)若干個(gè)RAM單元的內(nèi)容復(fù)制到片外RAM單元,請(qǐng)用“主程序”調(diào) 用“子程序”編程,要求子程序入口參數(shù)為:R0存放片內(nèi)RAM起
44、始地址,DPTR 存放片外RAM起始地址,R1存放字節(jié)數(shù)。請(qǐng)分別編寫主程序和子程序。答:流程圖主程序源程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV R1,#10HMOV R0,#40HMOV DPTR,#0000HLCALL COPYSJMP $COPY:NEXT: MOV A,R0MOVX DPTR,AINC R0INC DPL子程序DJNZ R1,NEXTRET第5章5- 1簡(jiǎn)述中斷、中斷源、中斷源的優(yōu)先級(jí)及中斷嵌套的含義。答:當(dāng)CPU正在處理某項(xiàng)事件的時(shí),如果外界或內(nèi)部發(fā)生了緊急情況,要求CPU 暫停正在處理的工作轉(zhuǎn)而去處理這個(gè)緊急情況,待處理完以后再回到
45、原來(lái)被中斷的地方,繼續(xù)執(zhí)行原來(lái)被中斷了的程序,這樣的過(guò)程稱為中斷。向CPU提出中斷請(qǐng)求的源稱為中斷源。當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而CPU在一個(gè)時(shí)刻只能響應(yīng)并處理中斷優(yōu)先高的請(qǐng)求。在實(shí)際應(yīng)用系統(tǒng)中,當(dāng)CPU正在處理某個(gè)中斷源,即正在執(zhí)行中斷服務(wù)程序時(shí), 會(huì)出現(xiàn)優(yōu)先級(jí)更高的中斷源申請(qǐng)中斷。為了使更緊急的級(jí)別高的中斷源及時(shí)得到 服務(wù),需要暫時(shí)中斷(掛起)當(dāng)前正在執(zhí)行的級(jí)別較低的中斷服務(wù)程序,去處理 級(jí)別更高的中斷源,待處理完以后,再返回到被中斷了的中斷服務(wù)程序繼續(xù)執(zhí)行, 但級(jí)別相同或級(jí)別低的中斷源不能中斷級(jí)別高的中斷服務(wù),這就是所謂的中斷嵌套。5- 2 MCS-51單
46、片機(jī)能提供幾個(gè)中斷源?幾個(gè)中斷優(yōu)先級(jí)?各個(gè)中斷的源的優(yōu)先 級(jí)怎樣確定?在同一優(yōu)先級(jí)中各個(gè)中斷源的優(yōu)先級(jí)怎樣確定?答:MCS-51單片機(jī)能提供五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。中斷優(yōu)先級(jí)是由 片內(nèi)的中斷優(yōu)先級(jí)寄存器IP (特殊功能寄存器)控制的。PS:串行口中斷優(yōu)先級(jí)控制位。PS=1,串行口定義為高優(yōu)先級(jí)中斷源;PS=O, 串行口定義為低優(yōu)先級(jí)中斷源。PT1: T1中斷優(yōu)先級(jí)控制位。PT1=1,定時(shí)器/計(jì)數(shù)器1定義為高優(yōu)先級(jí)中斷 源;PT1=0,定時(shí)器/計(jì)數(shù)器1定義為低優(yōu)先級(jí)中斷源。PX1:外部中斷1中斷優(yōu)先級(jí)控制位。PX1=1,外中斷1定義為高優(yōu)先級(jí)中 斷源;PX1=0,外中斷1定義為低優(yōu)先級(jí)中斷源
47、。PTO:定時(shí)器/計(jì)數(shù)器0 (TO)中斷優(yōu)先級(jí)控制位,功能同 PT1。PX0:外部中斷0中斷優(yōu)先級(jí)控制位,功能同 PX1。在同一優(yōu)先級(jí)中,循環(huán)輪流排隊(duì)。不分級(jí)別高低,所有中斷源優(yōu)先級(jí)都一律 平等,CPU輪流響應(yīng)各個(gè)中斷源的中斷請(qǐng)求。5- 3簡(jiǎn)述MCS-51單片機(jī)中斷響應(yīng)過(guò)程。答:CPU在每個(gè)機(jī)器周期的S5P2時(shí)刻采樣中斷標(biāo)志,而在下一個(gè)機(jī)器周期對(duì)采 樣到的中斷進(jìn)行查詢。如果在前一個(gè)機(jī)器周期的 S5P2有中斷標(biāo)志,則在查詢周 期內(nèi)便會(huì)查詢到并按優(yōu)先級(jí)高低進(jìn)行中斷處理, 中斷系統(tǒng)將控制程序轉(zhuǎn)入相應(yīng)的 中斷服務(wù)程序。5- 4 MCS-51單片機(jī)外部中斷有哪兩種觸發(fā)方式?如何選擇?對(duì)外部中斷源的觸 發(fā)
48、脈沖或電平有何要求?答:MCS-51單片機(jī)外部中斷有:負(fù)邊沿觸發(fā)方式和電平觸發(fā)方式。外部中斷 1(INT1)觸發(fā)方式控制位。如果IT1為1,則外中斷1為負(fù)邊沿觸發(fā)方式(CPU在 每個(gè)機(jī)器周期的S5P2采樣INT1腳的輸入電平,如果在一個(gè)周期中采樣到高電平, 在下個(gè)周期中采樣到低電平,則硬件使 IE1置1,向CPU請(qǐng)求中斷);如果IT1 為0,則外中斷1為電平觸發(fā)方式。采用電平觸發(fā)時(shí),輸入到INTI的外部中斷源 必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使電平變高, 否則將會(huì)再次產(chǎn)生中斷。5- 5在MCS-51單片機(jī)的應(yīng)用系統(tǒng)中,如果有多個(gè)外部中斷源,怎樣進(jìn)行處理?答:當(dāng)系統(tǒng)有多
49、個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而 CPU在一個(gè)時(shí)刻只能響應(yīng)并處理一個(gè)中斷請(qǐng)求,為此,要進(jìn)行排隊(duì)。排隊(duì)的方 式有:(1)按優(yōu)先級(jí)排隊(duì)。(2)循環(huán)輪流排隊(duì)。MCS-51單片機(jī)優(yōu)先級(jí)比較簡(jiǎn)單,只有兩級(jí),可以通過(guò)優(yōu)先級(jí)控制寄存器設(shè)置不同的優(yōu)先級(jí)。當(dāng)優(yōu)先級(jí)相同時(shí),約定有5個(gè)中斷源優(yōu)先級(jí)順序由高到低分別為:外部中斷 0、定時(shí)器/計(jì)數(shù)器0溢出、外部中斷1、定時(shí) 器/計(jì)數(shù)器1溢出、串行口中斷。5- 6 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?各有什么特點(diǎn)?答:1)利用定時(shí)器作為外部中斷使用特點(diǎn):把MCS-51的兩個(gè)定時(shí)器/計(jì)數(shù)器(T0和T1)選擇為計(jì)數(shù)器方式,每 當(dāng)P3.4(T0)或P3.
50、5(T1 )引腳上發(fā)生負(fù)跳變時(shí),T0和T1的計(jì)數(shù)器加1??梢?把P3.4和P3.5引腳作為外部中斷請(qǐng)求輸入線,而定時(shí)器的溢出中斷作為外部中 斷請(qǐng)求標(biāo)志。2)采用中斷和查詢相結(jié)合的方法擴(kuò)充外部中斷源特點(diǎn):這種方法是把系統(tǒng)中多個(gè)外部中斷源經(jīng)過(guò)與門連接到一個(gè)外部中斷輸 入端(例如INT1),并同時(shí)還接到一個(gè)I/O 口,中斷請(qǐng)求由硬件電路產(chǎn)生,而中 斷源的識(shí)別由程序查詢來(lái)處理,查詢順序決定了中斷源的優(yōu)先級(jí)。5-7 MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:響應(yīng)外部中斷的典型時(shí)間是至少需要3個(gè)完整的機(jī)器周期。1、外部中斷 而和麗1的電平在每個(gè)機(jī)器
51、周期的S5P2時(shí)被采樣并鎖存到IE0和 IE1中,這個(gè)置入到IE0和IE1的狀態(tài)在下一個(gè)機(jī)器周期才被其內(nèi)部的查詢電路查詢,未產(chǎn)生了一個(gè)中斷請(qǐng)求。2、沒有滿足響應(yīng)的條件,CPU沒有響應(yīng)中斷。3、沒有由硬件生成一條長(zhǎng)調(diào)用指令轉(zhuǎn)到相應(yīng)的服務(wù)程序入口。6- 1 8051單片機(jī)內(nèi)設(shè)有幾個(gè)可編程的定時(shí)器/計(jì)數(shù)器?它們可以有4種工作方式, 如何選擇和設(shè)定?各有什么特點(diǎn)?答:MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1M1 MO :定時(shí)器/計(jì)數(shù)器四種工作方式選擇6- 2 8051單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器TO、T1工作在模式3時(shí),有何不同?答:方式3對(duì)定時(shí)器T0和定時(shí)器T1是
52、不相同的。若T1設(shè)置為方式3,則停止 工作。方式3只適用于T0。當(dāng)T0設(shè)置為方式3時(shí),將使TLO和THO成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器,TLO 利用了 T0本身的一些控制方式,它的操作與方式0和方式1類似。而THO被規(guī) 定為用作定時(shí)器功能,對(duì)機(jī)器周期計(jì)數(shù),并借用了 T1的控制位TR1和TF1。在 這種情況下THO控制了 T1的中斷。P1.計(jì)算定時(shí)常數(shù):100us 方式0150us 方式06- 3已知單片機(jī)時(shí)鐘振蕩頻率為6MHz,利用T0定時(shí)器,在P1.1引腳上輸出連 續(xù)方波,波形如下:150(sTc=FEOE;方式 1Tc=FFCE;方式 2 Tc=CETc=FD15;方式 1Tc=FFB5;方
53、式 2Tc=B5 方法一:采用方式一,定時(shí)器中斷主程序流程圖:中斷子程序流程圖:源程序:LJMP TINT0 ORG 0100HSTART:MOV TMOD,#01HMOV TL0,#0CEHMOV TH0,#0FFH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $TINT0:JNB 20H.0,NEXTMOV TL0,#0B5HMOV TH0,#0FFH CLR P1.1 CPL 20H.0SJMP LASTNEXT:MOV TL0,#0CEHMOV TH0,#0FFHSETB P1.1CPL 20H.0LAST:RETI方法二: 采用方式 2 定時(shí)器中斷 加延時(shí)程序 源程序:LJMP STARTORG 000BHLJMP TINT0ORG 0100HSTART:MOV TMOD,#02HMOV TL0,#0CEHMOV TH0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年監(jiān)理考試各科復(fù)習(xí)試題及答案
- 電商設(shè)計(jì)師情境模擬試題及答案
- 投資咨詢工程師如何處理客戶關(guān)系試題及答案
- 信息化物流師行業(yè)機(jī)會(huì)試題及答案
- 全媒體運(yùn)營(yíng)師的持續(xù)學(xué)習(xí)計(jì)劃試題及答案
- 小劉固農(nóng)場(chǎng)農(nóng)產(chǎn)品網(wǎng)絡(luò)營(yíng)銷方案設(shè)計(jì)
- 2024監(jiān)理工程師考試復(fù)習(xí)建議試題及答案
- 2025年二月份跨國(guó)寵物監(jiān)護(hù)權(quán)在邴雅薛含協(xié)議中的體現(xiàn)
- 黑龍江民族職業(yè)學(xué)院《數(shù)學(xué)模型及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江省伊春市五營(yíng)區(qū)2024-2025學(xué)年數(shù)學(xué)三下期末考試試題含解析
- 緊急采購(gòu)申請(qǐng)單
- 小學(xué)道德與法治學(xué)科高級(jí)(一級(jí))教師職稱考試試題(有答案)
- 復(fù)旦大學(xué)英語(yǔ)水平測(cè)試大綱9300詞匯表講義
- (課件)肝性腦病
- DB63-T 1675-2018+建筑消防設(shè)施維護(hù)保養(yǎng)技術(shù)規(guī)范
- 西師版數(shù)學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- DB11T 1894-2021 10kV及以下配電網(wǎng)設(shè)施配置技術(shù)規(guī)范
- 零星材料明細(xì)單
- 施工現(xiàn)場(chǎng)安全檢查記錄表(周)以及詳細(xì)記錄
- 2022專升本無(wú)機(jī)化學(xué)試卷答案
- 電子課件《英語(yǔ)(第一冊(cè))(第三版)》A013820英語(yǔ)第一冊(cè)第三版Unit6
評(píng)論
0/150
提交評(píng)論