




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
...wd......wd......wd...第1章1-1什么是單片機(jī)它與一般微型計(jì)算機(jī)在構(gòu)造上何區(qū)別答:?jiǎn)纹⑿陀?jì)算機(jī)簡(jiǎn)稱為單片機(jī)(SingleChipComputer),又稱為微控制器〔MCU即Micro-ControllerUnit)。它是在一塊芯片上集成了中央處理器〔CPU〕、存儲(chǔ)器〔RAM、ROM〕、定時(shí)器/計(jì)數(shù)器、中斷控制、各種輸入/輸出〔I/O〕接口〔如并行I/O口、串行I/O口和A/D轉(zhuǎn)換器〕等為一體的器件。微型計(jì)算機(jī)的根本構(gòu)造由CPU〔運(yùn)算器、控制器〕、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備五大局部組成,各局部通過外部總線連接而成為一體。單片機(jī)的構(gòu)造是在一塊芯片上集成了中央處理器〔CPU〕、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、中斷控制、各種輸入/輸出接口〔如并行I/O口、串行I/O口和A/D轉(zhuǎn)換器〕等,它們通過單片機(jī)內(nèi)部部總線連接而成為一體。1-2MCS-51系列單片機(jī)內(nèi)部資源配置假設(shè)何試舉例說明8051與51兼容的單片機(jī)的異同。答:MCS-51系列單片機(jī)內(nèi)部資源配置AT89S5312KBFlashROM256B3×163219/2SPI,WDT,2個(gè)數(shù)據(jù)指針W77E5832KBFlashROM256B+1024B3×1636212/2擴(kuò)展了4位I/O口,雙數(shù)據(jù)指針,WDT。資源。第2章2-1MCS-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線〔四個(gè)8位并行I/O端口〕;一個(gè)可編程全雙工串行口;具有五個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套中斷構(gòu)造2-2MCS-51設(shè)有4個(gè)8位端口〔32條I/O線〕,實(shí)際應(yīng)用中8位數(shù)據(jù)信息由哪一個(gè)端口傳送16位地址線假設(shè)何形成P3口有何功能答:實(shí)際應(yīng)用中8位數(shù)據(jù)信息由P0口傳送。16位地址線由P0口輸出低8位地址A7~A0,P2口輸出高8位地址A15~A8。P3口是一個(gè)多用途的端口,也是一個(gè)準(zhǔn)雙向口,作為第一功能使用時(shí),其功能同P1口;當(dāng)作第二功能使用時(shí),P3.0—RXD串行輸入〔數(shù)據(jù)接收〕口,P3.1—TXD串行輸出〔數(shù)據(jù)發(fā)送〕口,P3.2—外部中斷0輸入線,P3.3—外部中斷1輸入線,P3.4—T0定時(shí)器0外部輸入,P3.5—T1定時(shí)器1外部輸入,P3.6—外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出,P3.7—外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸入。2-3MCS-51的存儲(chǔ)器構(gòu)造與一般的微型計(jì)算機(jī)有何不同程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有何作用答:MCS-51存儲(chǔ)器構(gòu)造與常見的微型計(jì)算機(jī)的配置方式不同,它把程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開,各有自已的尋址系統(tǒng)、控制信號(hào)和功能。程序存儲(chǔ)器用來存放程序和始終要保存的常數(shù),如經(jīng)匯編后所編程序的機(jī)器碼。數(shù)據(jù)存儲(chǔ)器通常用來存放程序運(yùn)行中所需要的常數(shù)或變量,例如模/數(shù)轉(zhuǎn)換時(shí)實(shí)時(shí)采集的數(shù)據(jù)等。2-4MCS-51內(nèi)部RAM區(qū)功能構(gòu)造假設(shè)何分配4組工作存放器使用時(shí)假設(shè)何選用位尋址區(qū)域的字節(jié)地址范圍是多少答:MCS-51系列單片機(jī)內(nèi)部數(shù)據(jù)存儲(chǔ)器:00H~7FH單元組成的低128字節(jié)地址空間的RAM區(qū),又分為為工作存放器區(qū)〔00H~1FH〕、位尋址區(qū)〔20H~2FH〕和用戶RAM區(qū)〔30H~7FH〕。80H~FFH〔128~255〕單元組成的高128字節(jié)地址空間的特殊功能存放器〔又稱SFR)區(qū)。對(duì)于8032、8052、8752的單片機(jī)還有80H~FFH單元組成的高128字節(jié)地址空間的RAM區(qū)。4組工作存放區(qū)是由程序狀態(tài)字PSW〔特殊功能存放器,字節(jié)地址為0D0H〕中的D4、D3位〔RS1和RS0〕來決定的。位尋址區(qū)域的字節(jié)地址范圍是20H~2FH〔對(duì)應(yīng)的位地址范圍是00H~7FH〕。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〔PSW·7〕進(jìn)位標(biāo)志,AC〔PSW·6〕輔助進(jìn)位標(biāo)志,F(xiàn)0〔PSW·5〕用戶標(biāo)志位,RS1、RS0〔PSW·4、PSW·3〕存放器區(qū)選擇控制位,OV〔PSW·2〕溢出標(biāo)志,P〔PSW.0〕奇偶標(biāo)志,每個(gè)指令周期都由硬件來置位或清“0〞,以表示累加器A中1的位數(shù)的奇偶數(shù).2-7一個(gè)時(shí)鐘頻率為6MHz的單片機(jī)應(yīng)用系統(tǒng),它的振蕩信號(hào)周期、時(shí)鐘周期、機(jī)器周期分別是多少答:振蕩信號(hào)周期=1/6us、時(shí)鐘周期=1/3us、機(jī)器周期=2us。2-8堆棧有何功能堆棧指針的作用是什么二者的關(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單元開場(chǎng)??紤]到08H~1FH單元分屬于工作存放器區(qū)1~3,假設(shè)程序設(shè)計(jì)中要用到這些區(qū),則最好把SP值改置為1FH或更大的值如60H,SP的初始值越小,堆棧深度就越深,堆棧指針的值可以由軟件改變,因此堆棧在內(nèi)部RAM中的位置比照靈活。第3章3-4:(1)ORG0000HAJMPSTARTORG0100HSTART:MOVA,#21HADDA,#45HADDA,#78HSJMP$END(2)ORG0000HAJMPSTARTORG0100HSTART:MOVA,#78HADDA,#45HCLRC;SUBBA,#21HSUBBA,#09HSJMP$END(3)ORG0000HAJMPSTARTORG0100HSTART:MOVA,#34HADDA,#0ABHMOVR0,AMOVA,12ADDCA,#21HMOVR1,ASJMP$END(3)ORG0000HAJMPSTARTORG0100HSTART:CLRC;MOVA,#0BCHSUBBA,#0CDHMOVR0,AMOVA,1#2AHSUBBA,#0FHMOVR1,ASJMP$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è)位。ORG0000HAJMPSTARTORG0050HSTART:MOVA,20H;A←被除數(shù)MOVB,#100 ;B←除數(shù)100DIVAB ;A÷B,A←商〔百位數(shù)BCD碼〕,B←余數(shù)MOVX2000H,A ;(2000H)←將百位數(shù)BCD碼MOVA,B;A←余數(shù)作被除數(shù)MOVB,#10 ;B←除數(shù)10DIVAB ;A÷B,A←商〔十位數(shù)BCD碼〕,B←余數(shù)〔個(gè)位BCD碼〕SWAPA ;十位BCD碼調(diào)整到A中高4位ADDA,B;A中壓縮成2位BCD碼MOVX2001H,A;(2001H)←十位、個(gè)位BCD碼SJMP$END3-6:將片內(nèi)RAM20H,21H,22H,23H〔千/百/十/個(gè)位〕中的十進(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ù)字MOV31H,A3-7:片內(nèi)RAM的30H~32H單元中連續(xù)存放了6個(gè)壓縮BCD碼,編制程序?qū)⑺鼈冝D(zhuǎn)換為ASCII碼,存入片外3000H開場(chǎng)的連續(xù)存儲(chǔ)區(qū)中MOVR0,#30HMOVDPTR,3000HLOOP:MOVA,@R0SWAPAANLA,#0FHADDA,#30H;30H='0'MOVX@DPTR,AINCDPTRMOVA,@R0ANLA,#0FHADDA,#30HMOVX@DPTR,AINCDPTRINCR0CJNER0,#33H,LOOP3-9:從外部RAM2000H單元開場(chǎng)存放著100個(gè)無符號(hào)數(shù),編寫程序統(tǒng)計(jì)出:(1)最大數(shù);〔2〕最小數(shù);〔6〕大于50,小于50,等于50的個(gè)數(shù)。(1)MOVDPTR,#2000HMOV30H,#0;先用0當(dāng)做最大數(shù)(求最小數(shù)時(shí),用255)MOVR2,#100LOOP:MOVXA,@DPTRCJNEA,20H,TTT;(A)-(20H)TTT:JNCNEXT;不夠減轉(zhuǎn)移(求最小數(shù)時(shí),用JNCNEXT)MOV30H,A;夠減,這個(gè)數(shù)是大數(shù),給(20H)NEXT:INCDPTRDJNZR2,LOOPSJMP$END(6)ORG0600H
MOVDPTR,#2000H
MOVR2,#100;總數(shù)
MOVR3,#0;小于50的數(shù)的個(gè)數(shù)
MOVR4,#0;等于50的數(shù)的個(gè)數(shù)
MOVR5,#0;大于50的數(shù)的個(gè)數(shù)
LOOP:
MOVXA,@DPTR
CLRC
SUBBA,#50
JZEQU_50
JNCBIG
INCR3;小于50的個(gè)數(shù)
JMPNEXT
EQU_50:
INCR4
JMPNEXT
BIG:
INCR5
NEXT:
INCDPTR
DJNZR2,LOOPMOV30H,R3;小于50的數(shù)的個(gè)數(shù)
MOV31H,R4;等于50的數(shù)的個(gè)數(shù)
MOV32H,R5;大于50的數(shù)的個(gè)數(shù)
SJMP$3-10MCS-51片外RAM區(qū)1000H~1007H單元中存有8個(gè)無符號(hào)數(shù),編程求其平均值,將結(jié)果存于1008H中。%先加,加的結(jié)果可能超出8位,所以存儲(chǔ)結(jié)果于〔30H〕和〔40H〕單元中。MOVDPTR,#1000HMOVR7,#08HMOV30H,#00HMOV40H,#00HSS1:MOVXA,@DPTRADDA,30HMOV30H,ACLRAADDCA,40HMOV40H,AINCDPTRDJNZR7,SS1MOVR7,#03H;移位3次,等于除以8SS2:CLRCMOVA,40HRRCAMOV40H,AMOVA,30HRRCAMOV30H,ADJNZR7,SS2MOVX@DPTR,A3-11下面是以數(shù)學(xué)公式,X值存于片內(nèi)20H,Y值存于21H單元中。Y=X2(X>0)0(X=0)2X(X<0)MAIN:MOVA,20HJZSULJBACC.7,NEGMOVB,AMULABSJMPSULNEG:CLRCRLCASUL:MOV21H,A3-12試編寫程序,將外部RAM2000H~20FFH數(shù)據(jù)塊,傳送到3000H~30FFH區(qū)域。MOVR6,#0FFHMOVR2,#00HMOVR3,#20H;暫存2000H地址MOVR4,#00HMOVR5,#30H;暫存3000H地址NEXT:MOVDPL,R2MOVDPH,R3MOVXA,@DPTRMOVDPL,R4MOVDPH,R5MOVX@DPTR,AINCR2INCR4DJNZR6,NEXT3-13:振蕩頻率:6MHz〔機(jī)器周期:2us〕,(1)1ms延時(shí)ORG2000HMOVR7,#125LOP1: NOPNOPDJNZR7,LOP1RET(2)100ms延時(shí)ORG2000HMOVR6,#100LOP2: MOVR7,#125LOP1: NOP NOP DJNZR7,LOP1 DJNZR6,LOP2 RET〔3〕1s延時(shí)ORG2000HMOVR5,#10LOP3:MOVR6,#100LOP2: MOVR7,#125LOP1: NOPNOPDJNZR7,LOP1DJNZR6,LOP2DJNZR5,LOP3 RET3-14:片內(nèi)RAM30H有一數(shù)〔0~15〕,查表求平方值,存入31H中。ORG1000HMAIN:MOVDPTR,#TABMOV30H,#13;NUMB=0~15MOVA,30HMOVCA,@A+DPTRMOV31H,ASJMP$TAB:DB0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,255第4章4-4試編程實(shí)現(xiàn),將設(shè)為高優(yōu)先級(jí)中斷,且為電平觸發(fā)方式;T0溢出中斷設(shè)為低優(yōu)先級(jí)中斷,串行口中斷為高優(yōu)先級(jí)中斷,其余中斷源設(shè)為制止?fàn)顟B(tài)。SETBPX0CLRIT0CLRPT0SETBPSMOVIE,#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í)燈滅。ORG0000HAJMPSTARTORG000BHAJMPT0INTORG0050HSTART:MOVSP,#30HMOVTMOD,#01H;T0方式1計(jì)數(shù),MOVTH1,#3CHMOVTL1,#0B0H;定時(shí)100msMOVR0,#04HSETBF0;燈亮〔1〕、滅〔0〕的轉(zhuǎn)換標(biāo)志MOVIE,#88HSETBP1.0SETBTR1SJMP$ORG0100HT0INT:MOVTH1,#3CHMOVTL1,#0B0HDJNZR0,NEXTJNBF0,TURNON;F0為0轉(zhuǎn)TURNOFF:CPLP1.0 CLRF0 MOVR0,#06H SJMPNEXTTURNON:CPLP1.0SETBF0MOVR0,#04HNEXT:RETIEND4-1簡(jiǎn)述中斷、中斷源、中斷源的優(yōu)先級(jí)及中斷嵌套的含義。答:當(dāng)CPU正在處理某項(xiàng)事件的時(shí),如果外界或內(nèi)部發(fā)生了緊急情況,要求CPU暫停正在處理的工作轉(zhuǎn)而去處理這個(gè)緊急情況,待處理完以后再回到原來被中斷的地方,繼續(xù)執(zhí)行原來被中斷了的程序,這樣的過程稱為中斷。向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ù),這就是所謂的中斷嵌套。4-2MCS-51單片機(jī)能提供幾個(gè)中斷源幾個(gè)中斷優(yōu)先級(jí)各個(gè)中斷的源的優(yōu)先級(jí)假設(shè)何確定在同一優(yōu)先級(jí)中各個(gè)中斷源的優(yōu)先級(jí)假設(shè)何確定答: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=0,串行口定義為低優(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í)中斷源。PT0:定時(shí)器/計(jì)數(shù)器0〔T0〕中斷優(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)過程。答: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-4MCS-51單片機(jī)外部中斷有哪兩種觸發(fā)方式假設(shè)何選擇對(duì)外部中斷源的觸發(fā)脈沖或電平有何要求答:MCS-51單片機(jī)外部中斷有:負(fù)邊沿觸發(fā)方式和電平觸發(fā)方式。外部中斷1()觸發(fā)方式控制位。如果IT1為1,則外中斷1為負(fù)邊沿觸發(fā)方式〔CPU在每個(gè)機(jī)器周期的S5P2采樣腳的輸入電平,如果在一個(gè)周期中采樣到高電平,在下個(gè)周期中采樣到低電平,則硬件使IE1置1,向CPU請(qǐng)求中斷〕;如果IT1為0,則外中斷1為電平觸發(fā)方式。采用電平觸發(fā)時(shí),輸入到的外部中斷源必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使電平變高,否則將會(huì)再次產(chǎn)生中斷。4-5在MCS-51單片機(jī)的應(yīng)用系統(tǒng)中,如果有多個(gè)外部中斷源,假設(shè)何進(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í),可以通過優(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-6MCS-51有哪幾種擴(kuò)展外部中斷源的方法各有什么特點(diǎn)答:1)利用定時(shí)器作為外部中斷使用特點(diǎn):把MCS-51的兩個(gè)定時(shí)器/計(jì)數(shù)器〔T0和T1〕選擇為計(jì)數(shù)器方式,每當(dāng)P3.4〔T0〕或P3.5〔T1〕引腳上發(fā)生負(fù)跳變時(shí),T0和T1的計(jì)數(shù)器加1??梢园裀3.4和P3.5引腳作為外部中斷請(qǐng)求輸入線,而定時(shí)器的溢出中斷作為外部中斷請(qǐng)求標(biāo)志。2〕采用中斷和查詢相結(jié)合的方法擴(kuò)大外部中斷源特點(diǎn):這種方法是把系統(tǒng)中多個(gè)外部中斷源經(jīng)過與門連接到一個(gè)外部中斷輸入端〔例如〕,并同時(shí)還接到一個(gè)I/O口,中斷請(qǐng)求由硬件電路產(chǎn)生,而中斷源的識(shí)別由程序查詢來處理,查詢順序決定了中斷源的優(yōu)先級(jí)。4-7MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)答:響應(yīng)外部中斷的典型時(shí)間是至少需要3個(gè)完整的機(jī)器周期。1、外部中斷和的電平在每個(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-1MCS-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-2MCS-51單片機(jī)內(nèi)設(shè)有幾個(gè)定時(shí)/計(jì)數(shù)器它們是由哪些特殊功能存放器組成答:MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1。定時(shí)/計(jì)數(shù)器T0由特殊功能存放器TH0、TL0(字節(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ù)頻率有何限制答:=1\*GB3①定時(shí)器/計(jì)數(shù)器作定時(shí)用時(shí),其定時(shí)時(shí)間與下面因素有關(guān):晶體振蕩器的頻率、機(jī)器周期、計(jì)數(shù)器的長(zhǎng)度、定時(shí)器/計(jì)數(shù)器初值。=2\*GB3②用做"計(jì)數(shù)器"時(shí),對(duì)外部輸入端T0、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到0的跳變需要2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部計(jì)數(shù)的最快速率為振蕩頻率的1/24。外部輸入信號(hào)的速率向下可以不受限制,但是脈沖寬度必須保證在其電平變化之前能被采樣到一次,即至少保持一個(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=00HMOV@R0,A;50H=00HMOVA,#25H;A=25HMOV51H,A;51H=25HMOV52H,#70H;52H=70HA=25HR0=50H50H=00H51H=25H3-2訪問外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器可以用哪些指令來實(shí)現(xiàn)舉例說明。答:訪問外部數(shù)據(jù)存儲(chǔ)器指令有:MOVX@DPTR,AMOVDPTR,#0100HMOV@DPTR,AMOVXA,@DPTRMOVDPTR,#0200HMOVA,@DPTRMOVXA,@RiMOVXA,@R0MOVX@Ri,AMOVX@R1,A訪問程序存儲(chǔ)器指令有:MOVCA,@A+PCMOVCA,@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=10HPOPDPH;DPH=24HSP=60HMOV30H,#00H;30H=00HMOV31H,#0FFH;31H=0FFH3-4設(shè)〔A〕=40H,〔R1〕=23H,〔40H〕=05H。執(zhí)行以下兩條指令后,累加器A和R1以及內(nèi)部RAM中40H單元的內(nèi)容各為何值XCHA,R1;A=23HR1=40HXCHDA,@R1;A=25H40H=03H3-5兩個(gè)四位BCD碼數(shù)相加,被加數(shù)和加數(shù)分別存于50H,51H和52H,53H單元中〔千位、百位在低地址中,十位、個(gè)位在高地址中〕,和存放在54H,55H和56H中〔56H用來存放最高位的進(jìn)位〕,試編寫加法程序。ORG0000HLJMPSTARTORG0100HSTART:MOVA,53HADDA,51HDAAMOV55H,AMOVA,52HADDCA,50HDAAMOV56H,CSJMP$END3-6設(shè)〔A〕=01010101B,〔R5〕=10101010B,分別寫出執(zhí)行以下指令后結(jié)果。ANLA,R5;00000000BORLA,R5;11111111BXRLA,R5;11111111B3-7指令SJMPrel中,設(shè)rel=60H,并假設(shè)該指令存放在2114H和2115H單元中。當(dāng)該條指令執(zhí)行后,程序?qū)⑻D(zhuǎn)到何地址答:2116H+60H=2176H3-8簡(jiǎn)述轉(zhuǎn)移指令A(yù)JMPaddr11、SJMPrel、LJMPaddr16及JMP@A+DPTR的應(yīng)用場(chǎng)合。答:AJMPaddr11為2K字節(jié)范圍內(nèi)的無條件轉(zhuǎn)跳指令,把程序的執(zhí)行轉(zhuǎn)移到指定的地址。SJMPrel是無條件轉(zhuǎn)跳指令,執(zhí)行時(shí)在PC加2后,把指令中補(bǔ)碼形式的偏移量值加到PC上,并計(jì)算出轉(zhuǎn)向目標(biāo)地址。轉(zhuǎn)向的目標(biāo)地址可以在這條指令前128字節(jié)到后127字節(jié)之間。LJMPaddr16執(zhí)行這條指令時(shí)把指令的第二和第三字節(jié)分別裝入PC的高位和低位字節(jié)中,無條件地轉(zhuǎn)向指定地址。轉(zhuǎn)移的目標(biāo)地址可以在64K程序存儲(chǔ)器地址空間的任何地方,不影響任何標(biāo)志。JMP@A+DPTR指令的功能是把累加器中8位無符號(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)CLRC;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查指令表,寫出以下兩條指令的機(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ǔ)言的構(gòu)造及其功能可以分為三種:機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言。4-2單片機(jī)的程序設(shè)計(jì)包括哪幾個(gè)步驟。答:程序設(shè)計(jì)步驟如下:〔1〕分析問題。即仔細(xì)分析任務(wù)書中要實(shí)現(xiàn)的功能和性能指標(biāo)?!?〕確定算法。即找到解決問題思路、方法。〔3〕分配內(nèi)存單元。即確定數(shù)據(jù)構(gòu)造。這一步往往與算法同時(shí)考慮?!?〕根據(jù)算法和數(shù)據(jù)構(gòu)造,畫出程序流程圖?!?〕根據(jù)流程圖編寫匯編語(yǔ)言源程序。編輯錄入,保存為*.ASM文件。〔6〕匯編。排除語(yǔ)法錯(cuò)誤?!?〕調(diào)試〔DEBUG〕。找出錯(cuò)誤并更正,再調(diào)試,直至通過?!?〕編寫相關(guān)說明文檔。4-3畫出單片機(jī)的三種根本程序構(gòu)造。答:AAB條件成立嗎AB是否條件成立嗎A是否順序構(gòu)造流程圖分支構(gòu)造流程圖循環(huán)構(gòu)造流程圖4-4單片機(jī)的分支構(gòu)造程序指令有哪幾條答:分支構(gòu)造程序指令有JB、JNB、JC、JNC、JZ、JNZ、CJNE、JBC4-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í)必須將下條指令地址保存起來,返回時(shí)按后進(jìn)先出原則依次取出舊PC值。4-7能否使用轉(zhuǎn)移指令從主程序跳到子程序?答:不可以,當(dāng)主程序需要執(zhí)行某子程序的功能時(shí),只需執(zhí)行一條調(diào)用指令。而并非使用轉(zhuǎn)移指令4-8能否使用轉(zhuǎn)移指令從子程序跳到主程序?答:不可以,子程序的最后一條指令應(yīng)該是返回指令RET或RETI,以確保子程序能夠正確返回主程序。執(zhí)行RET指令時(shí)單片機(jī)將原來存在堆棧中的斷點(diǎn)地址彈出給PC,保證子程序返回主程序中調(diào)用子程序的地方繼續(xù)執(zhí)行主程序。子程序從子程序的標(biāo)號(hào)開場(chǎng),到RET或RETI指令完畢。RET指令是一般子程序的返回指令。RETI指令是中斷服務(wù)子程序的返回指令。4-9畫出主程序的一般流程圖。答:主程序流程圖初始化模塊初始化模塊上電/復(fù)位人機(jī)接口〔鍵盤顯示〕模塊輸入模塊運(yùn)算模塊輸出模塊4-10畫出子程序的一般流程圖。答:子程序流程圖4-11子程序的標(biāo)準(zhǔn)化設(shè)計(jì)包括那幾個(gè)局部答:子程序的標(biāo)準(zhǔn)化設(shè)計(jì)包括:〔1〕子程序名稱。給子程序起名字,起名的原則是子程序名能夠反映子程序功能,該名字就是子程序的入口地址標(biāo)識(shí)符?!?〕子程序功能,對(duì)子程序的功能給予簡(jiǎn)要的描述?!?〕入口參數(shù),子程序所要運(yùn)算或處理的數(shù)據(jù)〔加工前的原料〕,在調(diào)用子程序之前,主程序要先準(zhǔn)備好入口參數(shù)?!?〕出口參數(shù),子程序運(yùn)算或處理的結(jié)果〔加工完成的數(shù)據(jù)〕,子程序完畢之前,最終結(jié)果〔出口參數(shù)〕存放在約定的RAM單元,供主程序取用。〔5〕資源占用情況,指出該子程序運(yùn)行時(shí)所使用的片內(nèi)工作存放器〔R0~R7〕、SFR〔特殊功能存放器〕、片內(nèi)RAM單元及片外RAM單元,以便在主程序調(diào)用該子程序之前,考慮將這些資源中的哪些字節(jié)保護(hù)入棧。4-12在片內(nèi)RAM地址40H到4FH的存儲(chǔ)單元中存有16個(gè)無符號(hào)數(shù),找出其中的最大值,放入50H單元,請(qǐng)用“循環(huán)構(gòu)造〞和“分支構(gòu)造〞編程。答:流程圖:完畢A50HR2-15=0 NA中放大值指針加1初始化:R2=15賦判斷次數(shù),R0指針指向40H單元B@R0+1判斷A>B開場(chǎng)完畢A50HR2-15=0 NA中放大值指針加1初始化:R2=15賦判斷次數(shù),R0指針指向40H單元B@R0+1判斷A>B開場(chǎng) Y Y Y Y源程序:ORG0000HLJMPMAINORG0100HMAIN:MOVR2,#0FHMOVR0,#40HMOVA,@R0SUB:INCR0MOVB,@R0CJNEA,B,NEXTNEXT:JCNEXT1DJNZR2,SUBJMPLASTNEXT1:MOVA,BDJNZR2,SUBJMPLASTLAST:MOV50H,ASJMP$4-13將片內(nèi)假設(shè)干個(gè)RAM單元的內(nèi)容復(fù)制到片外RAM單元,請(qǐng)用“主程序〞調(diào)用“子程序〞編程,要求子程序入口參數(shù)為:R0存放片內(nèi)RAM起始地址,DPTR存放片外RAM起始地址,R1存放字節(jié)數(shù)。請(qǐng)分別編寫主程序和子程序。答:流程圖主程序子程序開場(chǎng)開場(chǎng)R0單元送DPTR初始化常數(shù)R0R0單元送DPTR初始化常數(shù)R0←40HDPTR←0200HR1←10H指針加1指針加1調(diào)用復(fù)制子程序調(diào)用復(fù)制子程序 NR1-1=0? NR1-1=0?完畢完畢返回返回 Y Y源程序:ORG0000HLJMPMAINORG0100HMAIN:MOVR1,#10HMOVR0,#40HMOVDPTR,#0000HLCALLCOPYSJMP$COPY:NEXT:MOVA,@R0MOVX@DPTR,AINCR0INCDPLDJNZR1,NEXTRET第5章5-1簡(jiǎn)述中斷、中斷源、中斷源的優(yōu)先級(jí)及中斷嵌套的含義。答:當(dāng)CPU正在處理某項(xiàng)事件的時(shí),如果外界或內(nèi)部發(fā)生了緊急情況,要求CPU暫停正在處理的工作轉(zhuǎn)而去處理這個(gè)緊急情況,待處理完以后再回到原來被中斷的地方,繼續(xù)執(zhí)行原來被中斷了的程序,這樣的過程稱為中斷。向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-2MCS-51單片機(jī)能提供幾個(gè)中斷源幾個(gè)中斷優(yōu)先級(jí)各個(gè)中斷的源的優(yōu)先級(jí)假設(shè)何確定在同一優(yōu)先級(jí)中各個(gè)中斷源的優(yōu)先級(jí)假設(shè)何確定答: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=0,串行口定義為低優(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í)中斷源。PT0:定時(shí)器/計(jì)數(shù)器0〔T0〕中斷優(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)過程。答: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-4MCS-51單片機(jī)外部中斷有哪兩種觸發(fā)方式假設(shè)何選擇對(duì)外部中斷源的觸發(fā)脈沖或電平有何要求答:MCS-51單片機(jī)外部中斷有:負(fù)邊沿觸發(fā)方式和電平觸發(fā)方式。外部中斷1()觸發(fā)方式控制位。如果IT1為1,則外中斷1為負(fù)邊沿觸發(fā)方式〔CPU在每個(gè)機(jī)器周期的S5P2采樣腳的輸入電平,如果在一個(gè)周期中采樣到高電平,在下個(gè)周期中采樣到低電平,則硬件使IE1置1,向CPU請(qǐng)求中斷〕;如果IT1為0,則外中斷1為電平觸發(fā)方式。采用電平觸發(fā)時(shí),輸入到的外部中斷源必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使電平變高,否則將會(huì)再次產(chǎn)生中斷。5-5在MCS-51單片機(jī)的應(yīng)用系統(tǒng)中,如果有多個(gè)外部中斷源,假設(shè)何進(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í),可以通過優(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-6MCS-51有哪幾種擴(kuò)展外部中斷源的方法各有什么特點(diǎn)答:1)利用定時(shí)器作為外部中斷使用特點(diǎn):把MCS-51的兩個(gè)定時(shí)器/計(jì)數(shù)器〔T0和T1〕選擇為計(jì)數(shù)器方式,每當(dāng)P3.4〔T0〕或P3.5〔T1〕引腳上發(fā)生負(fù)跳變時(shí),T0和T1的計(jì)數(shù)器加1??梢园裀3.4和P3.5引腳作為外部中斷請(qǐng)求輸入線,而定時(shí)器的溢出中斷作為外部中斷請(qǐng)求標(biāo)志。2〕采用中斷和查詢相結(jié)合的方法擴(kuò)大外部中斷源特點(diǎn):這種方法是把系統(tǒng)中多個(gè)外部中斷源經(jīng)過與門連接到一個(gè)外部中斷輸入端〔例如〕,并同時(shí)還接到一個(gè)I/O口,中斷請(qǐng)求由硬件電路產(chǎn)生,而中斷源的識(shí)別由程序查詢來處理,查詢順序決定了中斷源的優(yōu)先級(jí)。5-7MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)答:響應(yīng)外部中斷的典型時(shí)間是至少需要3個(gè)完整的機(jī)器周期。1、外部中斷和的電平在每個(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ù)程序入口。第6章6-18051單片機(jī)內(nèi)設(shè)有幾個(gè)可編程的定時(shí)器/計(jì)數(shù)器它們可以有4種工作方式,假設(shè)何選擇和設(shè)定各有什么特點(diǎn)答:MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1M1M0:定時(shí)器/計(jì)數(shù)器四種工作方式選擇6-28051單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器T0、T1工作在模式3時(shí),有何不同答:方式3對(duì)定時(shí)器T0和定時(shí)器T1是不一樣的。假設(shè)T1設(shè)置為方式3,則停頓工作。方式3只適用于T0。當(dāng)T0設(shè)置為方式3時(shí),將使TL0和TH0成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器,TL0利用了T0本身的一些控制方式,它的操作與方式0和方式1類似。而TH0被規(guī)定為用作定時(shí)器功能,對(duì)機(jī)器周期計(jì)數(shù),并借用了T1的控制位TR1和TF1。在這種情況下TH0控制了T1的中斷。6-3單片機(jī)時(shí)鐘振蕩頻率為6MHz,利用T0定時(shí)器,在P1.1引腳上輸出連續(xù)方波,波形如下:100100μsP1.150μs計(jì)算定時(shí)常數(shù):100us方式0Tc=FE0E;方式1Tc=FFCE;方式2Tc=CE150us方式0Tc=FD15;方式1Tc=FFB5;方式2Tc=B5方法一:采用方式一,定時(shí)器中斷。開場(chǎng)開場(chǎng)主程序流程圖:初始化T0,設(shè)置工作方式開T0中斷,設(shè)置標(biāo)志位20H.0開定時(shí)器T0,P1.1=1等待中斷中斷子程序流程圖:開場(chǎng)20H.0=1?T0賦初值150usT0賦初值100usP1.1=0P1.1=1取反20H.0取反20H.0中斷返回中斷返回YN源程序:LJMPTINT0ORG0100HSTART:MOVTMOD,#01HMOVTL0,#0CEHMOVTH0,#0FFHSETBTR0SETBEASETBET0SETB20H.0SETBP1.1SJMP$TINT0:JNB20H.0,NEXTMOVTL0,#0B5HMOVTH0,#0FFHCLRP1.1CPL20H.0SJMPLASTNEXT:MOVTL0,#0CEHMOVTH0,#0FFHSETBP1.1CPL20H.0LAST:RETI方法二:采用方式2定時(shí)器中斷加延時(shí)程序源程序:LJMPSTARTORG000BHLJMPTINT0ORG0100HSTART:MOVTMOD,#02HMOVTL0,#0CEHMOVTH0,#0CEHSETBTR0SETBEASETBET0SETB20H.0SETBP1.1SJMP$TINCLRTR0CLRP1.1LCALLDELAYCPL20H.0SETBTR0SJMPLASTNEXT:SETBP1.1CPL20H.0LAST:RETIDELAY:MOVR7,#8DELAY1:DJNZR7,DELAY1RET主程序流程圖主程序流程圖初始化T0,設(shè)置工作方式開T0中斷,設(shè)置標(biāo)志位20H.0開定時(shí)器T0,P1.1=1等待中斷中斷子程序流程圖開場(chǎng)P1.1=0,關(guān)定時(shí)器P1.1=1調(diào)用50us延時(shí)取反20H.0,開定時(shí)器取反20H.0返回返回YN6-4定時(shí)器/計(jì)數(shù)器的工作方式2有什么特點(diǎn)適用于什么應(yīng)用場(chǎng)合答:方式2把TL0配置成一個(gè)可以自動(dòng)恢復(fù)初值的8位計(jì)數(shù)器,TH0作為常數(shù)緩沖器,TH0由軟件預(yù)置值。當(dāng)TL0產(chǎn)生溢出時(shí),一方面使溢出標(biāo)志TF0置1,同時(shí)把TH0中的8位數(shù)據(jù)重新裝入TL0中。方式2常用于定時(shí)控制,作串行口波特率發(fā)生器。6-5定時(shí)器/計(jì)數(shù)器測(cè)量某正單脈沖的寬度,采用何種方式可得到最大量程假設(shè)時(shí)鐘頻率為6MHz,求允許測(cè)量的最大脈沖寬度是多少答:采用方式1可得到最大量程。最大脈寬=2us×655366-6定時(shí)器/計(jì)數(shù)器作為外部中斷源使用時(shí),需要假設(shè)何初始化,以T0為例通過程序說明。答:初始化MOVTMOD,#06HMOVTL0,#0FFHMOVTH0,#0FEHSETBTR0SETBEASETBET0第7章習(xí)7-1波特率的含義是什么答:所謂波特率是每秒鐘傳送信號(hào)的數(shù)量,單位為波特〔Baud〕。7-2什么是串行異步通信它有哪些特征答:通信時(shí)接收器和發(fā)送器有各自的時(shí)鐘。特征:異步通信的優(yōu)點(diǎn)是不需要傳送同步脈沖,可靠性高,所需設(shè)備簡(jiǎn)單,缺點(diǎn)是字符幀中因包含有起始位和停頓位而降低了有效數(shù)據(jù)的傳輸速率7-3單片機(jī)的串行接口由哪些功能部件組成各有什么作用答:MCS-51單片機(jī)串行口主要由兩個(gè)物理上獨(dú)立的串行數(shù)據(jù)緩沖存放器SBUF、發(fā)送控制器、接收控制器、輸入移位存放器和輸出控制門組成。作用:SBUF為串行口的收發(fā)緩沖存放器,它是可尋址的專用存放器,其中包含了發(fā)送存放器SBUF〔發(fā)送〕和接收存放器SBUF〔接收〕,可以實(shí)現(xiàn)全雙工通信。7-4簡(jiǎn)述串行接口接收和發(fā)送數(shù)據(jù)的過程。答:發(fā)送:發(fā)送操作是在TI=0下進(jìn)展的,此時(shí)發(fā)送緩沖存放器“SBUF〔發(fā)送〕〞相當(dāng)于一個(gè)并入串出的移位存放器。CPU通過指令MOVSBUF,A,將數(shù)據(jù)寫入“SBUF〔發(fā)送〕〞,立即啟動(dòng)發(fā)送,將8位數(shù)據(jù)以設(shè)定波特率從RXD輸出,低位在前,高位在后。發(fā)送完一幀數(shù)據(jù)后,發(fā)送中斷標(biāo)志TI由硬件置位,并可向CPU發(fā)出中斷請(qǐng)求。接收:接收過程是在RI=0且REN=1條件下啟動(dòng)的,此時(shí)接收緩沖存放器“SBUF〔接收〕〞相當(dāng)于一個(gè)串入并出的移位存放器。接收時(shí),先置位允許接收控制位REN,此時(shí),RXD為串行數(shù)據(jù)輸入端。當(dāng)RI=0和REN=1同時(shí)滿足時(shí),開場(chǎng)接收。當(dāng)接收到第8位數(shù)據(jù)時(shí),將數(shù)據(jù)移入接收緩沖存放器“SBUF〔接收〕〞,并由硬件置位RI,同時(shí)向CPU發(fā)出中斷請(qǐng)求。CPU查到RI=1或響應(yīng)中斷后,通過指令MOVA,SBUF,將“SBUF〔接收〕〞接收到的數(shù)據(jù)讀入累加器A。7-58051串行接口有幾種工作方式有幾種幀格式各工作方式的波特率假設(shè)何確定答:方式0、1、2、3.8幀10幀11幀三種格式。波特率:①方式0的波特率固定為系統(tǒng)晶振頻率的1/12,其值為fosc/12。其中,fosc為系統(tǒng)主機(jī)晶振頻率。②方式2的波特率由PCON中的選擇位SMOD來決定,可由下式表示:即:當(dāng)SMOD=l時(shí),波特率為fosc/32;當(dāng)腳SMOD=0時(shí),波特率為fosc/64。=3\*GB3③方式1和方式3的波特率由定時(shí)器Tl的溢出率控制。因而波特率是可變的。定時(shí)器TI作為波特率發(fā)生器,相應(yīng)公式如下:波特率=定時(shí)器溢出率溢出率=計(jì)數(shù)率/產(chǎn)生溢出所需的周期數(shù)=式中K:定時(shí)器T1的位數(shù),K的值等于8、13、16;TC:定時(shí)器T1的預(yù)置初值。第8章8-1MCS-51單片機(jī)外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址范圍都是0000H~FFFFH,在實(shí)際使用時(shí)假設(shè)何區(qū)分答:訪問〔讀〕ROM時(shí)〔程序存儲(chǔ)器〕,通過引腳有效選中程序存儲(chǔ)器,PC指針指向程序存儲(chǔ)器的地址指針。訪問外部RAM〔數(shù)據(jù)存儲(chǔ)器〕,通過、引腳有效選中數(shù)據(jù)存儲(chǔ)器〔DPTR為外部RAM存儲(chǔ)器的地址指針〕8-2訪問8051片外數(shù)據(jù)存儲(chǔ)器MOVX指令采用的是間接尋址方式。訪問片外程序存儲(chǔ)器MOVC指令采用的是基址加變址尋址方式。8-3MCS-51單片機(jī)可以外接64KB的程序存儲(chǔ)器和64KB數(shù)據(jù)存儲(chǔ)器。這兩種片外存儲(chǔ)器地址重疊而不發(fā)生總線沖突,主要依靠單片機(jī)引腳上的那些信號(hào)來區(qū)分答:同8-1.8-4給8031單片機(jī)擴(kuò)展一片2716和6116,請(qǐng)畫出系統(tǒng)連接圖。方法一:地址自定:〔其中一種解法如下〕設(shè)2716地址:0000H—07FFH6116地址:0000H—07FFH〔不用譯碼器〕611661168051地址鎖存器373GA0~A7D0~D7P2.0~P2.2PSENCEALEA8-A10A0-A7D0-D7CEOEWEWRRDG2AG2BOEA8~A102716P0.0~P0.7EA方法二:采用局部譯碼如:2716的地址0000H—07FFH6116的地址0800H—08FFHA0~A7A0~A7D0~D76116OEWE8051地址鎖存器GALEA0~A7D0~D72716P0.0~P0.7P2.5P2.4P2.3PSENOERD+5VCECBAY0Y174LS138WRCEP2.0—P2.2A8-A10A8~A10方法三:采用全譯碼如:2716的地址0000H—07FFH6116的地址0800H—08FFHA0~A7A0~A7D0~D76116OEWE8051地址鎖存器GALEA0~A7D0~D72716P0.0~P0.7P2.5P2.4P2.3PSENOERDCECBAY0Y174LS138GG2AG2BA8-A10A8~A10WRP2.0-P2.2CEP2.6P2.7+5V8-5試畫出MCS-51系列8051最小應(yīng)用系統(tǒng)的原理構(gòu)造圖。XTAL1XTAL2RESETP1P2P3XTAL1XTAL2RESETP1P2P380518751+5VC3R1C1C2P0〔1〕全部I/O口線均可供用戶用?!?〕內(nèi)部存儲(chǔ)器容量有限〔只有4KB地址空間〕?!?〕應(yīng)用系統(tǒng)開發(fā)具有特殊性。8-6假設(shè)何構(gòu)造MCS-5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江永縣2025年三下數(shù)學(xué)期末預(yù)測(cè)試題含解析
- 山東省陽(yáng)谷縣第二中學(xué)2024-2025學(xué)年高三3月月考調(diào)研考試物理試題含解析
- 山西管理職業(yè)學(xué)院《工程安全與環(huán)境保護(hù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州美術(shù)學(xué)院《植物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林省長(zhǎng)春市重點(diǎn)名校2025屆初三3月三校聯(lián)考-生物試題含解析
- 天津大學(xué)《果蔬貯藏技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 喉癌放療患者護(hù)理查房
- 護(hù)理服務(wù)態(tài)度投訴零容忍
- 銷售培訓(xùn)與提升策略
- 2025水利工程修復(fù)合同
- 羅才軍兩莖燈草
- 網(wǎng)絡(luò)存儲(chǔ)技術(shù)應(yīng)用項(xiàng)目化教程
- 2023年安全員-A證(江蘇?。v年真題附答案(難、易錯(cuò)點(diǎn)剖析)
- 全國(guó)優(yōu)質(zhì)課說課比賽一等獎(jiǎng)高中化學(xué)《苯酚》說課課件
- 幼兒園廢舊材料的研究 論文
- 產(chǎn)能分析報(bào)告模板及指標(biāo)明細(xì)
- 張力放線工器具配備表
- 食品小攤販備案卡(樣式)及說明
- 瀝青混凝土面板單元工程質(zhì)量評(píng)定表
- 針刀操作安全區(qū)帶
- THBFIA 0004-2020 紅棗制品標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論