最新單片機原理及接口技術(shù)課后答案李朝青第三版_第1頁
最新單片機原理及接口技術(shù)課后答案李朝青第三版_第2頁
最新單片機原理及接口技術(shù)課后答案李朝青第三版_第3頁
最新單片機原理及接口技術(shù)課后答案李朝青第三版_第4頁
最新單片機原理及接口技術(shù)課后答案李朝青第三版_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21單片機原理及接口技

術(shù)課后答案李朝青第

三版?微處理器,RAM,ROM,以及I/O口,定時器,構(gòu)成的微型計算機稱為單片機。?指令寄存器(IR)保存當前正在執(zhí)行的一條指令;指令譯碼器(ID)對操作碼進行譯碼。?程序計數(shù)器(PC)指示出將要執(zhí)行的下一條指令地址,由兩個8位計數(shù)器PCH及PCL組成。?80C31片內(nèi)沒有程序存儲器,80C51內(nèi)部設(shè)有4KB的掩膜ROM程序存儲器,87C51是將80C51片內(nèi)的ROM換成EPROM,89C51則換成4KB的閃存FLASHROM,51增強型的程序存儲器容量是普通型的2倍。?89C51的組成:一個8位的80C51的微處理器,片內(nèi)256字節(jié)數(shù)據(jù)存儲器RAM/SFR用來存放可以讀/寫的數(shù)據(jù),片內(nèi)4KB程序存儲器FLASHROM用存放程序、數(shù)據(jù)、表格,4個8位并行I/O端口P0-P3,兩個16位的定時器/計數(shù)器,5個中斷源、兩個中斷個優(yōu)先級的中斷控制系統(tǒng),一個全雙工UART的串行口I/O口,片內(nèi)振蕩器和時鐘產(chǎn)生電路,休閑方式和掉電方式。?89C51片內(nèi)程序存儲器容量為4KB,地址從0000-0FFFH開始,存放程序和表格常數(shù),片外最多可擴展64KBROM地址1000-FFFFH,片內(nèi)外統(tǒng)一編址。單片機的內(nèi)部存儲空間分為數(shù)據(jù)存儲器和程序存儲器。?內(nèi)部數(shù)據(jù)存儲器:共256字節(jié)單元,包括低128個單元和高128個單元。低128字節(jié)又分成3個區(qū)域:工作寄存器區(qū)(00H?1FH),位尋址區(qū)(20H?2FH)和用戶RAM區(qū)(30H?7FH)存放中間結(jié)果,數(shù)據(jù)暫存及數(shù)據(jù)緩沖。高128字節(jié)是供給特殊功能寄存器(SFR)使用的,因此稱之為特殊功能寄存器區(qū)(80H-FFH),訪問它只能用直接尋址。內(nèi)部程序存儲器:在8031片內(nèi)無程序存儲器,8051片內(nèi)具有4KB掩模ROM,8751片內(nèi)具有4KBEPROM。8.引腳是片內(nèi)外程序存儲器的選擇信號。當端保持高電平時,訪問內(nèi)部程序存儲器,但在PC(程序計數(shù)器)值超過0FFFH(對于8051/8751/80C51)或1FFFH(對于8052)時,將自動轉(zhuǎn)向訪問外部程序存儲器。當端保持低電平時,不管是否有內(nèi)部程序存儲器,則只訪問外部程序存儲器。由于8031片內(nèi)沒有程序存儲器,所以在使用8031時,引腳必須接低電平。9.RST復位信號輸入端,高電平有效。保持兩個機器周期(24個時鐘振蕩周期)的高電平有效,完成復位,復位后,CPU和系統(tǒng)都處于一個確定的初始狀態(tài),在這種狀態(tài)下,所有的專用寄存器都被賦予默認值,除SP=07H,P0~P3口為FFH外,其余寄存器均為0。ALE/:ALE輸出正脈沖,頻率為振蕩周期的1/6,CPU訪問片外存儲器時,ALE輸出信號作為鎖存低8位地址的控制信號,看芯片好壞可以用示波器看ALE端是否有脈沖信號輸出。PSEN程序存儲允許輸出信號端,也可以檢查芯片好壞,有效即能讀出片外ROM的指令,引腳信號RD/WR有效時可讀/寫片外RAM或片外I/O接口。10?P0作為輸出口時,必須外接上拉電阻才能有高電平輸出,作為輸入口時,必須先向鎖存器寫“1”;作為普通I/O口使用或低8位地址/數(shù)據(jù)總線使用。P1口有上拉電阻,對FLASHROM編程和校驗是P1接收低八位地址;只用作普通I/O口使用。P2口比P1口多了一個轉(zhuǎn)換控制開關(guān);作為普通I/O口使用或高8位地址線使用時訪問外部程序存儲器和16位地址的外部數(shù)據(jù)存儲器。P3口比P1口增加了與非門和緩沖器;具有準雙向I/O功能和第二功能。P0,P1,P2,P3準雙向口。上述4個端口在作為輸入口使用時,應(yīng)注意必須先向端口寫“1”。11.普林斯頓結(jié)構(gòu):一個地址對應(yīng)唯一的存儲單元,用同類訪問指令。哈佛結(jié)構(gòu):程序存儲器和數(shù)據(jù)存儲器分開的結(jié)構(gòu)。CPU訪問片內(nèi)外ROM用MOVC,訪問片外RAM用MOVX,訪問片內(nèi)RAM用MOV.12.RS1RS0當刖寄存器組片內(nèi)RAM地址00第0組工作寄存器00H~07H01第1組工作寄存器08H~0FH10第2組工作寄存器10H~17H11第3組工作寄存器18H~1FHSP總是初始化到內(nèi)部RAM地址07H,堆棧的操作;PUSH、POP。DPTR是數(shù)據(jù)指針寄存器,是一個16位寄存器,用來存放16位存儲器的地址,以便對64KB片外RAM作間接尋址。DPTR由高位字節(jié)DPH和低位字節(jié)DPL組成。13.指令周期:執(zhí)行一條指令所需要的時間。機器周期:CPU完成一個基本操作所需要的時間,6個狀態(tài)周期和12個振蕩周期。當晶振頻率為12MHz時,一個機器周期為lys;當晶振頻率為6MHz時,一個機器周期為2ys,復位時間超過4ys。14?復位操作有:電自動,按鍵手動,看門狗??臻e方式是CPU停止工作而RAM,定時器/計數(shù)器,串行口及中斷系統(tǒng)都工作。掉電一切功能都暫停,保存RAM中內(nèi)容。退出空閑方式;硬件將PCON.0清0,硬件復位。當CPU執(zhí)行PCON.1為1,系統(tǒng)進入掉電方式。推出掉電只有硬件復位。保留的存儲單元存儲單元保留目的0000H~0002H復位后初始化引導程序地址0003H~000AH外部中斷0000BH~0012H定時器0溢出中斷0013H~001AH外部中斷1精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔精品好文檔僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21001BH~0022H定時器1溢出中斷0023H~002AH串行端口中斷002BH定時器2中斷17.單片機的尋址方式:寄存器尋址,直接尋址,立即數(shù)尋址,寄存器間接尋址,變址尋址,相對尋址,位尋址。.AJMP和SJMP的區(qū)別有:⑴跳轉(zhuǎn)范圍不同。AJMPaddrl;短跳轉(zhuǎn)范圍:2KB。SJMPrel;相對跳轉(zhuǎn)范圍:-128?+127(2)指令長度不同。(3)指令構(gòu)成不同。AJMP、LJMP后跟的是絕對地址,而SJMP后跟的是相對地址。不能用AJMP指令代替程序中的SJMP指令,因為如果改變的話,程序跳轉(zhuǎn)到的新PC值指向的地址會不同,導致程序出現(xiàn)錯誤。?在89c51片內(nèi)RAM中30H)=38H,38H=40H,40H=48H,48H=90H。情分析下面各是什么指令,說明源操作數(shù)的尋址方式以及按順序執(zhí)行每條指令后的結(jié)果?MOVA,40H;直接尋址(40H)—AMOVRO,A;寄存器尋址(A)—ROMOVP1,#OFOH;立即數(shù)尋址OFO—P1MOV@RO,3OH;直接尋址(3OH)—(RO)MOVDPTR,#3848H;立即數(shù)尋址3848H—DPTRMOV4OH,38H;直接尋址(38H)—4OHMOVRO,3OH;直接尋址3OH)—ROMOVP0,R0;寄存器尋址(RO)—P0MOV18H,#30H;立即數(shù)尋址30H—18HMOVA,@R0;寄存器間接尋址((R0))—AMOVP2,P1;直接尋址(P1)—P2最后結(jié)果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=OFOH,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:—左邊是內(nèi)容,右邊是單元?已知R3和R4中存放有一個16位的二進制數(shù),高位在R3中,地位在R4中,請編程將其求補,并存回原處。MOVA,R3;取該數(shù)高8位—AANLA,#80H;取出該數(shù)符號判斷JZL1;是正數(shù),轉(zhuǎn)L1MOVA,R4;是負數(shù),將該數(shù)低8位—ACPLA;低8位取反ADDA,#01H;加1MOVR4,A;低8位取反加1后—R4MOVA,R3;將該數(shù)高8位—ACPLA;高8位取反ADDCA,#00H;加上低8位加1時可能產(chǎn)生的進位MOVR3,A;高8位取反加1后—R3L1:RET?已知30H和31H中村有一個16位的二進制數(shù),高位在前,低位在后,請編程將他們乘以2,在存回原單元中。CLRC;清進位位CMOVA,31H;取該數(shù)低8位—ARLCA;帶進位位左移1位MOV31H,A;結(jié)果存回31HMOVA,30H;取該數(shù)高8位—ARLCA;帶進位位左移1位MOV30H,A;結(jié)果存回30H?假設(shè)允許片內(nèi)定時器/計數(shù)器中斷,禁止其他中斷。設(shè)置IE值。用字節(jié)操作指令:MOVIE#8AH或MOVA8H,#A8H用位操作指令:SETBET0SETBET1SETBEA.設(shè)89C51的片外中斷為高優(yōu)先級,片內(nèi)為低優(yōu)先級,設(shè)置IP值。用字節(jié)操作指令:MOVIP,#05H或MOV0B8H,#05H用位操作指令:SETBPX0SETBPX1CLRPSCLRPT0CLEPT1.89C51單片機內(nèi)有兩個16位定時器/計數(shù)器,即T0,T1.第三章1、指令:CPU根據(jù)人的意圖來執(zhí)行某種操作的命令指令系統(tǒng):一臺計算機所能執(zhí)行的全部指令集合機器語言:用二進制編碼表示,計算機能直接識別和執(zhí)行的語言匯編語言:用助記符、符號和數(shù)字來表示指令的程序語言高級語言:獨立于機器的,在編程時不需要對機器結(jié)構(gòu)及其指令系統(tǒng)有深入了解的通用性語言2、見第1題3、操作碼[目的操作數(shù)][,源操作數(shù)]4、尋址方式尋址空間精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21立即數(shù)尋址程序存儲器ROM直接尋址片內(nèi)RAM低128B、特殊功能寄存器寄存器尋址工作寄存器R0-R7、A、B、C、DPTR寄存器間接尋址片內(nèi)RAM低128B、片外RAM變址尋址程序存儲器(@A+PC,@A+DPTR)相對尋址程序存儲器256B范圍(PC+偏移量)位尋址片內(nèi)RAM的20H-2FH字節(jié)地址、部分SFR5、SFR:直接尋址,位尋址,寄存器尋址;片外RAM:寄存器間接尋址6、MOVA,40H;直接尋址(40H)—AMOVRO,A;寄存器尋址(A)—ROMOVP1,#OFOH;立即數(shù)尋址OFO—P1MOV@RO,3OH;直接尋址(3OH)—(RO)MOVDPTR,#3848H;立即數(shù)尋址3848H—DPTRMOV4OH,38H;直接尋址(38H)—4OHMOVRO,3OH;直接尋址3OH)—ROMOVP0,R0;寄存器尋址(R0)—P0MOV18H,#30H;立即數(shù)尋址30H—18HMOVA,@R0;寄存器間接尋址((RO))—AMOVP2,P1;直接尋址(P1)—P2最后結(jié)果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=3OH,(3OH)=38H,(38H)=4OH,(4OH)=4OH,(48H)=38H注意:—左邊是內(nèi)容,右邊是單元7、用直接尋址,位尋址,寄存器尋址8、MOVA,DATA;直接尋址2字節(jié)1周期MOVA,#DATA;立即數(shù)尋址2字節(jié)1周期MOVDATA1,DATA2;直接尋址3字節(jié)2周期MOV74H,#78H;立即數(shù)尋址3字節(jié)2周期如果想查某一指令的機器碼,字節(jié)數(shù)或周期數(shù)可查閱書本后面的附錄A9、MOVA,@R0;((R0))=80H—AMOV@R0,40H;(40H)=08H—(R0)MOV40H,A;(A)=80—40HMOVR0,#35H;35H—R0最后結(jié)果:(R0)=35H(A)=80H,(32H)=08H,(40H)=80H10、用直接尋址,位尋址,寄存器尋址11、只能采用寄存器間接尋址(用MOVX指令)12、低128字節(jié):直接尋址,位尋址,寄存器間接尋址,寄存器尋址(R0~R7)高128字節(jié):直接尋址,位尋址,寄存器尋址13、采用變址尋址(用MOVC指令)14、壓縮BCD碼在進行加法運算時應(yīng)逢十進一,而計算機只將其當作十六進制數(shù)處理此時得到的結(jié)果不正確。用DAA指令調(diào)整(加06H,60H,66H)15、用來進行位操作16、ANLA,#17H;83H八17H=03H—AORL17H,A;34HV03H=37H—17HXRLA,@R0;03H十37H=34HCPLA;34H求反等于CBH所以(A)=CBH17、(1)SETBACC.0或SETBE0H;EOH是累加器的地址CLRACC.7CLRACC.6CLRACC.5CLRACC.4CLRACC.6CLRACC.5CLRACC.4CLRACC.318、MOV27H,R7MOV26H,R6MOV25H,R5MOV24H,R4MOV23H,R3MOV22H,R2MOV21H,R1MOV20H,R019、MOV2FH,20MOV2EH,21MOV2DH,2220、CLRCMOVA,#5DH;被減數(shù)的低8位—AMOVR2,#B4H;減數(shù)低8位—R2SUBBA,R2;被減數(shù)減去減數(shù),差—AMOV30H,A;低8位結(jié)果—30HMOVA,#6FH;被減數(shù)的高8位—AMOVR2,#13H;減數(shù)高8位—R2SUBBA,R2;被減數(shù)減去減數(shù),差—AMOV31H,A;高8位結(jié)果—30H注意:如果在你的程序中用到了進位位,在程序開始的時候要記得清0進位位21、(1)AM10CJNEA,#0AH,L1;(A)與10比較,不等轉(zhuǎn)L1LJMPLABEL;相等轉(zhuǎn)LABELL1:JNCLABEL;(A)大于10,轉(zhuǎn)LABEL或者:CLRCSUBBA,#0AHJNCLABELA>10CJNEA,#0AH,L1;(A)與10比較,不等轉(zhuǎn)L1RET;相等結(jié)束L1:JNCLABEL;(A)大于10,轉(zhuǎn)LABELRET,-(A)小于10,結(jié)束或者:CLRCSUBBA,#0AHJNCL1RETL1:JNZLABELRETAW10CJNEA,#0AH,L1;(A)與10比較,不等轉(zhuǎn)L1L2:LJMPLABEL;相等轉(zhuǎn)LABEL僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21精品好文檔,推薦學習交流LI:JCL2;(A)小于10,轉(zhuǎn)L2RET或者:CLRCSUBBA,#0AHJCLABELJZLABELRET22、(SP)=23H,(PC)=3412H參看書上80頁23、(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H參看書上79頁24、不能。ACALL是短轉(zhuǎn)指令,可調(diào)用的地址范圍是2KB。在看這個題的時候同時看一下AJMP指令。同時考慮調(diào)用指令ACALL和LCALL指令和RET指令的關(guān)系。25、MOVR2,#31H;數(shù)據(jù)塊長度—R2MOVR0,#20H;數(shù)據(jù)塊首地址—ROLOOP:MOVA,@R0;待查找的數(shù)據(jù)—ACLRC;清進位位SUBBA,#0AAH;待查找的數(shù)據(jù)是0AAH嗎JZL1;是,轉(zhuǎn)L1INCR0;不是,地址增1,指向下一個待查數(shù)據(jù)DJNZR2,LOOP;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找MOV51H,#00H;等于0,未找到,00H—51HRETL1:MOV51H,#01H;找到,01H—51H精品好文檔,推薦學習交流RET26、MOVR2,#31H;數(shù)據(jù)塊長度—R2MOVR0,#20H;數(shù)據(jù)塊首地址—ROLOOP:MOVA,@R0;待查找的數(shù)據(jù)—AJNZL1;不為0,轉(zhuǎn)L1INC51H;為0,00H個數(shù)增1L1:INCRO;地址增1,指向下一個待查數(shù)據(jù)DJNZR2,LOOP;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找RET27、MOVDPTR,#SOURCE;源首地址—DPTRMOVR0,#DIST;目的首地址—R0LOOP:MOVXA,@DPTR;傳送一個字符MOV@R0,AINCDPTR;指向下一個字符INCR0CJNEA,#24H,LOOP;傳送的是“$”字符嗎?不是,傳送下一個字符RET28、MOVA,R3;取該數(shù)高8位—AANLA,#80H;取出該數(shù)符號判斷JZL1;是正數(shù),轉(zhuǎn)L1MOVA,R4;是負數(shù),將該數(shù)低8位—ACPLA;低8位取反ADDA,#01H;加1MOVR4,A;低8位取反加1后—R4MOVA,R3;將該數(shù)高8位—A精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21CPLA;高8位取反ADDCA,#00H;加上低8位加1時可能產(chǎn)生的進位MOVR3,A;咼8位取反加1后一R3L1:RET29、CLRC;清進位位CMOVA,31H;取該數(shù)低8位—ARLCA;帶進位位左移1位MOV31H,A;結(jié)果存回31HMOVA,30H;取該數(shù)高8位—ARLCA;帶進位位左移1位MOV30H,A;結(jié)果存回30H30、MOVR2,#04H;字節(jié)長度—R2MOVR0,#30H;一個加數(shù)首地址—ROMOVR1,#40H;另一個加數(shù)首地址—R1CLRC;清進位位LOOP:MOVA,@R0;取一個加數(shù)ADDCA,@R1;兩個加數(shù)帶進位位相加DAA;十進制調(diào)整MOV@R0,A;存放結(jié)果INCR0;指向下一個字節(jié)INCR1;DJNZR2,LOOP;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找RET31、MOVR2,#08H;數(shù)據(jù)塊長度—R2MOVR0,#30H;數(shù)據(jù)塊目的地址—ROMOVDPTR,#2000H;數(shù)據(jù)塊源地址—DPTRLOOP:MOVXA,@DPTR;傳送一個數(shù)據(jù)MOV@RO,AINCDPTR;指向下一個數(shù)據(jù)INCRO;DJNZR2,LOOP;數(shù)據(jù)塊長度減1,沒傳送完,繼續(xù)傳送RET32、(1)MOVRO,OFH;2字節(jié),2周期4字節(jié)4周期(差)MOVB,RO;2字節(jié),2周期(2)MOVRO,#OFH;2字節(jié),1周期4字節(jié)3周期(中)MOVB,@RO;2字節(jié),2周期(3)MOVB,#OFH;3字節(jié),2周期3字節(jié)2周期(好)33、(1)功能是將片內(nèi)RAM中50H?51H單元清0。(2)7AOA(大家可以看一下書上,對于立即數(shù)尋址的話,后面一個字節(jié)存放的是立即數(shù))7850(第一個字節(jié)的后三位是寄存器,前一個條指令是010也就是指的R2,在這里是R0,所以應(yīng)該是78,后一個字節(jié)存放的是立即數(shù))DAFC(這里涉及到偏移量的計算,可以參考書上56頁)34、INC@R0;(7EH)=00HINCR0;(R0)=7FHINC@R0;(7FH)=39HINCDPTR;(DPTR)=10FFH

INCDPTR;(DPTR)=1100HINCDPTR;(DPTR)=1101H35、解:(1000H)=53H(1001H)=54H(1002H)=41H(1003H)=52H(1004H)=54H(1005H)=12H(1006H)=34H(1007H)=30H(1008H)=00H(1009H)=70H36、MOVRO,#40H;40H—R0MOVA,@R0;98H—AINCRO;41H—R0ADDA,@R0;98H+(41H)=47H—AINCROMOV@R0,A;結(jié)果存入42H單元CLRA;清AADDCA,#O;進位位存入AINCROMOV@R0,A;進位位存入43HRO)功能:將40H,41H單元中的內(nèi)容相加結(jié)果放在42H單元,進位放在43HRO)=43H,(A)=1,(4OH)=98H,(41H)=AFH,(42H)=47H,(43H)=O1H37、MOVA,61H37、MOVA,61HMOVB,#O2HMULABADDA,62HMOV63H,ACLRA;;02H—B;F2HxO2H=E4H—A;積的低8位加上CCH—A;結(jié)果送62H清A精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21精品好文檔,推薦學習交流ADDCA精品好文檔,推薦學習交流ADDCA,B;積的高8位加進位位—AMOV64H,A;結(jié)果送64H功能:將61H單元的內(nèi)容乘2,低8位再加上62H單元的內(nèi)容放入63H,將結(jié)果的高8位放在64H單元。(A)=02H,(B)=01H,(61H)=F2H,(62H)=CCH,(63H)=B0H,(64H)=02H39、MOVA,XXHORLA,#80HMOVXXH,A40、(2)MOVA,XXHMOVR0,AXRLA,R0第五章1、什么是中斷和中斷系統(tǒng)?其主要功能是什么?答:當CPU正在處理某件事情的時候,外部發(fā)生的某一件事件請求CPU迅速去處理,于是,CPU暫時中止當前的工作,轉(zhuǎn)去處理所發(fā)生的事件,中斷服務(wù)處理完該事件以后,再回到原來被終止的地方,繼續(xù)原來的工作。這種過程稱為中斷,實現(xiàn)這種功能的部件稱為中斷系統(tǒng)。功能:使計算機具有實時處理能力,能對外界異步發(fā)生的事件作出及時的處理完全消除了CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率實現(xiàn)實時控制2、試編寫一段對中斷系統(tǒng)初始化的程序,使之允許INTO,INT1,TO,串行口中斷,且使TO中斷為高優(yōu)先級中斷。解:MOVIE,#097HMOVIP,#02H3、在單片機中,中斷能實現(xiàn)哪些功能?答:有三種功能:分時操作,實時處理,故障處理4、89C51共有哪些中斷源?對其中端請求如何進行控制?答:(1)89C51有如下中斷源:外部中斷0請求,低電平有效:外部中斷1請求,低電平有效TO:定時器、計數(shù)器0溢出中斷請求T1:定時器、計數(shù)器1溢出中斷請求TX/RX:串行接口中斷請求(2)通過對特殊功能寄存器TCON、SCON、IE、IP的各位進行置位或復位等操作,可實現(xiàn)各種中斷控制功能5、什么是中斷優(yōu)先級?中斷優(yōu)先處理的原則是什么?答:中斷優(yōu)先級是CPU相應(yīng)中斷的先后順序。原則:(1)先響應(yīng)優(yōu)先級高的中斷請求,再響應(yīng)優(yōu)先級低的(2)如果一個中斷請求已經(jīng)被響應(yīng),同級的其它中斷請求將被禁止(3)如果同級的多個請求同時出現(xiàn),則CPU通過內(nèi)部硬件查詢電路,按查詢順序確定應(yīng)該響應(yīng)哪個中斷請求查詢順序:外部中斷0T定時器0中斷T外部中斷1T定時器1中斷T串行接口中斷6、說明外部中斷請求的查詢和響應(yīng)過程。答:當CPU執(zhí)行主程序第K條指令,外設(shè)向CPU發(fā)出中斷請求,CPU接到中斷請求信號并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保存斷點地址,然后轉(zhuǎn)去響應(yīng)中斷。CPU在每個S5P2期間順序采樣每個中斷源,CPU在下一個機器周期S6期間按優(yōu)先級順序查詢中斷標志,如果查詢到某個中斷標志為1將在接下來的機器周期S1期間按優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將相應(yīng)的中斷矢量地址裝入PC,以便進入相應(yīng)的中斷服務(wù)程序。中斷服務(wù)完畢后,CPU返回到主程序第K+1條指令繼續(xù)執(zhí)行。7、89C51在什么條件下可響應(yīng)中斷?答:(1)有中斷源發(fā)出中斷請求(2)中斷中允許位EA=1.即CPU開中斷(3)申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽(4)無同級或更高級中斷正在服務(wù)(5)當前指令周期已經(jīng)結(jié)束(6)若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另一條指令已執(zhí)行完畢8、簡述89C51單片機的中斷響應(yīng)過程。答:CPU在每個機器周期S5P2期間順序采樣每個中斷源,CPU在下一個機器周期S6期間按優(yōu)先級順序查詢中斷標志,如查詢到某個中斷標志為1將在接下來的機器周期S1期間按優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將相應(yīng)的中斷矢量地址裝入PC,以便進入相應(yīng)的中斷服務(wù)程序。一旦響應(yīng)中斷,89C51首先置位相應(yīng)的中斷“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調(diào)用指令,把當前的PC值壓入堆棧,以保護斷點,再將相應(yīng)的中斷服務(wù)的入口地址送入PC,于是CPU接著從中斷服務(wù)程序的入口處開始執(zhí)行。對于有些中斷源,CPU在響應(yīng)中斷后會自動清除中斷標志。9、在89C51內(nèi)存中,應(yīng)如何安排程序區(qū)?答:主程序一般從0030H開始,主程序后一般是子程序及中斷服務(wù)程序。在這個大家還要清除各個中斷的中斷矢量地址。10、試述中斷的作用及中斷的全過程。答:作用:對外部異步發(fā)生的事件作出及時的處理過程:中斷請求,中斷響應(yīng),中斷處理,中斷返回11、當正在執(zhí)行某一個中斷源的中斷服務(wù)程序時,如果有新的中斷請求出現(xiàn),試問在什么情況下可響應(yīng)新的中斷請求?在什么情況下不能響應(yīng)新的中斷請求?答:(1)符合以下6個條件可響應(yīng)新的中斷請求:有中斷源發(fā)出中斷請求中斷允許位EA=1,即CPU開中斷申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽無同級或更高級中斷正在被服務(wù)當前的指令周期已結(jié)束若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另一條指令已被執(zhí)行完12、89C51單片機外部中斷源有幾種觸發(fā)中斷請求的方法?如何實現(xiàn)中斷請求?答:有兩種方式:電平觸發(fā)和邊沿觸發(fā)電平觸發(fā)方式:CPU在每個機器周期的S5P2期間采樣外部中斷引腳的輸入電平。若為低電平,使IEl(IEO)置T,申請中斷;若為高電平,則IEl(IEO)清零。邊沿觸發(fā)方式:CPU在每個機器周期S5P2期間采樣外部中斷請求引腳的輸入電平。如果在相繼的兩個機器周期采樣過程中,一個機器周期采樣到外部中斷請求為高電平,接著下一個機器周期采樣到外部中斷請求為低電平,則使IEl(IEO)置T申請中斷;否則,IE1(IEO)置0。13、89C51單片機有五個中斷源,但只能設(shè)置兩個中斷優(yōu)先級,因此,在中斷優(yōu)先級安排上受到一定的限制。試問以下幾種中斷優(yōu)先順序的安排(級別由高到低)是否可能:若可能,則應(yīng)如何設(shè)置中斷源的中斷級別:否則,請簡述不可能的理由。⑴定時器0,定時器1,外中斷0,外中斷1,串行口中斷??梢?,MOVIP,#0AH⑵串行口中斷,外中斷0,定時器0,外中斷1,定時器1??梢裕琈OVIP,#10H⑶外中斷0,定時器1,外中斷1,定時器0,串行口中斷。不可以,只能設(shè)置一級高級優(yōu)先級,如果將INT0,T1設(shè)置為高級,而TO級別高于INT1.⑷外中斷0,外中斷1,串行口中斷,定時器0,定時器1。可以,MOVIP,#15H(5)串行口中斷,定時器0,外中斷0,外中斷1,定時器1。不可以⑹外中斷0,外中斷1,定時器0,串行口中斷,定時器1。不可以⑺外中斷0,定時器1,定時器0,外中斷1,串行口中斷??梢?MOVIP,#09H14、89C51各中斷源的中斷標志是如何產(chǎn)生的?又是如何清0的?CPU響應(yīng)中斷時,中斷入口地址各是多少?答:各中斷標志的產(chǎn)生和清“0”如下:(1)外部中斷類外部中斷是由外部原因引起的,可以通過兩個固定引腳,即外部中斷0和外部中斷1輸入信號。外部中斷0請求信號,由P3.2腳輸入。通過IT0來決定中斷請求信號是低電平有效還是下跳變有效。一旦輸入信號有效,則向CPU申請中斷,并且使IE0=l。硬件復位。外部中斷1請求信號,功能與用法類似外部中斷0(2)定時中斷類定時中斷是為滿足定時或計數(shù)溢出處理需要而設(shè)置的。當定時器/計數(shù)器中的計數(shù)結(jié)構(gòu)發(fā)生計數(shù)溢出的,即表明定時時間到或計數(shù)值已滿,這時就以計數(shù)溢出信號作為中斷請求,去置位一個溢出標志位。這種中斷請求是在單片機芯片內(nèi)部發(fā)生的,無需在芯片上設(shè)置引入端,但在計數(shù)方式時,中斷源可以由外部引入。TF0:定時器T0溢出中斷請求。當定時器T0產(chǎn)生溢出時,定時器T0請求標志TF0=1,請求中斷處理。使用中斷時由硬件復位,在查詢方式下可由軟件復位。TF1:定時器T1溢出中斷請求。功能與用法類似定時器T0(3)串行口中斷類串行口中斷是為串行數(shù)據(jù)的傳送需要而設(shè)置的。串行中斷請求也是在單片機芯片內(nèi)部發(fā)生的,但當串行口作為接收端時,必須有一完整的串行幀數(shù)據(jù)從RI端引入芯片,才可能引發(fā)中斷。RI或TI:串行口中斷請求。當接收或發(fā)送一串幀數(shù)據(jù)時,使內(nèi)部串行口中斷請求標志RI或TI=1,并請求中斷。響應(yīng)后必須軟件復位。CPU響應(yīng)中斷時,中斷入口地址如下:中斷源入口地址外部中斷00003H定時器T0中斷000BH外部中斷10013H定時器T1中斷001BH精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流串行口中斷0023H15、中斷響應(yīng)時間是否為確定不變的?為什么?答:中斷響應(yīng)時間不是確定不變的。由于CPU不是在任何情況下對中斷請求都予以響應(yīng)的;此外,不同的情況對中斷響應(yīng)的時間也是不同的。下面以外部中斷為例,說明中斷響應(yīng)的時間。在每個機器周期的S5P2期間,端的電平被所存到TCON的IE0位,CPU在下一個機器周期才會查詢這些值。這時滿足中斷響應(yīng)條件,下一條要執(zhí)行的指令將是一條硬件長調(diào)用指令“LCALL”,使程序轉(zhuǎn)入中斷矢量入口。調(diào)用本身要用2個機器周期,這樣,從外部中斷請求有效到開始執(zhí)行中斷服務(wù)程序的第一條指令,至少需要3個機器周期,這是最短的響應(yīng)時間。如果遇到中斷受阻的情況,這中斷響應(yīng)時間會更長一些。例如,當一個同級或更高級的中斷服務(wù)程序正在進行,則附加的等待時間取決于正在進行的中斷服務(wù)程序:如果正在執(zhí)行的一條指令還沒有進行到最后一個機器周期,附加的等待時間為1~3個機器周期;如果正在執(zhí)行的是RETI指令或者訪問IE或IP的指令,貝9附加的等待時間在5個機器周期內(nèi)。若系統(tǒng)中只有一個中斷源,貝響應(yīng)時間為3~8個機器周期。16、中斷響應(yīng)過程中,為什么通常要保護現(xiàn)場?如何保護?答:因為一般主程序和中斷服務(wù)程序都可能會用到累加器,PSW寄存器及其他一些寄存器。CPU在進入中斷服務(wù)程序后,用到上述寄存器時,就會破壞它原來存在寄存器中的內(nèi)容;一旦中斷返回,將會造成主程序的混亂。因而在進入中斷服務(wù)程序后,一般要先保護現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序以前再恢復現(xiàn)場。保護方法一般是把累加器、PSW寄存器及其他一些與主程序有關(guān)的寄存器壓入堆棧。在保護現(xiàn)場和恢復現(xiàn)場時,為了不使現(xiàn)場受到破壞或者造成混亂,一般規(guī)定此時CPU不響僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21應(yīng)新的中斷請求。這就要求在編寫中斷服務(wù)程序時,注意在保護現(xiàn)場之前要關(guān)中斷,在恢復現(xiàn)場之后開中斷。如果在中斷處理時允許有更高級的中斷打斷它,則在保護現(xiàn)場之后再開中斷,恢復現(xiàn)場之前關(guān)中斷。17、清敘述中斷響應(yīng)的CPU操作過程,為什么說中斷操作是一個CPU的微查詢過程?答:在中斷響應(yīng)中,CPU要完成以下自主操作過程:置位相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器,以標明所響應(yīng)中斷的優(yōu)先級別中斷源標志清零(TI、RI除外)中斷斷點地址裝入堆棧保護(不保護PSW)中斷入口地址裝入PC,以便使程序轉(zhuǎn)到中斷入口地址處在計算機內(nèi)部,中斷表現(xiàn)為CPU的微查詢操作。89C51單片機中,CPU在每個機器周期的S6狀態(tài),查詢中斷源,并按優(yōu)先級管理規(guī)則處理同時請求的中斷源,且在下一個機器周期的S1狀態(tài)中,響應(yīng)最高級中斷請求。但是以下情況除外:CPU正在處理相同或更高優(yōu)先級中斷多機器周期指令中,還未執(zhí)行到最后一個機器周期正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及訪問IE、IP等操作時,要延后一條指令18、在中斷請求有效并開中斷狀況下,能否保證立即響應(yīng)中斷?有什么條件?答:在中斷請求有效并開中斷狀況下,并不能保證立即響應(yīng)中斷。這是因為,在計算機內(nèi)部,中斷表現(xiàn)為CPU的微查詢操作。89C51單片機中,CPU在每個機器周期的S6狀態(tài)下,查詢中斷源,并按優(yōu)先級管理規(guī)則處理同時請求的中斷源,且在下一個機器周期的S1狀態(tài)中,響應(yīng)最高級中斷請求。在以下情況下,還需要有另外的等待:a)CPU正在處理相同或更高優(yōu)先級中斷b)多機器周期指令中,還未執(zhí)行到最后一個機器周期C)正在執(zhí)行中斷系統(tǒng)的SFR操作,如RETI指令及訪問IE、IP等操作時,要延后一條指令第6章習題答案1、定時器模式2有什么特點?適用于什么場合?(1)模式2把TLO(或TL1)配置成一個可以自動重裝載的8位定時器/計數(shù)器。TL0計數(shù)溢出時不僅使溢出中斷標志位TF0置1,而且還自動把TH0中的內(nèi)容重新裝載到TL0中。TLO用作8位計數(shù)器,TH0用以保存初值。(2)用于定時工作方式時間(TFO溢出周期)為,用于計數(shù)工作方式時,最大計數(shù)長度(THO初值=0)為28=256個外部脈沖。這種工作方式可省去用戶軟件重裝初值的語句,并可產(chǎn)生相當精確定時時間,特別適于作串行波特率發(fā)生器。2、單片機內(nèi)部定時方式產(chǎn)生頻率為100KHZ等寬矩形波,假定單片機的晶振頻率為12MHZ,請編程實現(xiàn)。答:T0低5位:1BHT0高8位:FFHMOVTM0D,#00H;設(shè)置定時器T0工作于模式0MOVTL0,#1BHMOVTH0,#0FFH;設(shè)置5ms定時初值SETBTR0;啟動T0LOOP:JBCTF0,L1;查詢到定時時間到?時間到轉(zhuǎn)L1精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21精品好文檔,推薦學習交流SJMPLOOP精品好文檔,推薦學習交流SJMPLOOP;時間未到轉(zhuǎn)LOOP,繼續(xù)查詢L1:MOVTL0,#1BH;重新置入定時初值MOVTH0,#0FFHCPLP1.0;輸出取反,形成等寬矩形波SJMPLOOP;重復循環(huán)3、89C51定時器有哪幾種工作模式?有何區(qū)別?答:有四種工作模式:模式0,模式1,模式2,模式3模式0:選擇定時器的高8位和低5位組成一個13位定時器/計數(shù)器。TL低5位溢出時向TH進位,TH溢出時向中斷標志位TF進位,并申請中斷。定時時間t=(213-初值)x振蕩周期x12;計數(shù)長度位213=8192個外部脈沖模式1:與模式0的唯一差別是寄存器TH和TL以全部16位參與操作。定時時間t=(216-初值)x振蕩周期x12;計數(shù)長度位216=65536個外部脈沖模式2:把TL0和TL1配置成一個自動重裝載的8位定時器/計數(shù)器。TL用作8位計數(shù)器,TH用以保存初值。TL計數(shù)溢出時不僅使TF0置1,而且還自動將TH中的內(nèi)容重新裝載到TL中。定時時間t=(28-初值)x振蕩周期x12;計數(shù)長度位28=256個外部脈沖模式3:對T0和T1不大相同若設(shè)T0位模式3,TL0和TH0被分為兩個相互獨立的8位計數(shù)器。TL0為8位計數(shù)器,功能與模式0和模式1相同,可定時可計數(shù)。TH0僅用作簡單的內(nèi)部定時功能,它占用了定時器T1的控制位TR1和中斷標志位TF1,啟動和關(guān)閉僅受TR1控制。定時器T1無工作模式3,但T0在工作模式3時T1仍可設(shè)置為0~24、89C51內(nèi)部設(shè)有幾個定時器/計數(shù)器?它們是由哪些特殊功能寄存器組成?答:89C51單片機內(nèi)有兩個16位定時器/計數(shù)器,即TO和T1。TO由兩個8位特殊功能寄存器THO和TLO組成;T1由TH1和TL1組成。5、定時器用作定時器時,其定時時間與哪些因素有關(guān)?作計數(shù)器時,對外界計數(shù)頻率有何限制?答:定時時間與定時器的工作模式,初值及振蕩周期有關(guān)。作計數(shù)器時對外界計數(shù)頻率要求最高為機器振蕩頻率的1/24。6、簡述定時器4種工作模式的特點,如何選擇設(shè)定?答:模式0:選擇定時器的高8位和低5位組成一個13位定時器/計數(shù)器。TL低5位溢出時向TH進位,TH溢出時向中斷標志位TF進位,并申請中斷。定時時間t=(213-初值)x振蕩周期x12;計數(shù)長度位213=8192個外部脈沖置TMOD中的M1M0為00模式1:與模式0的唯一差別是寄存器TH和TL以全部16位參與操作。定時時間t=(216-初值)x振蕩周期x12;計數(shù)長度位216=65536個外部脈沖置TMOD中的M1M0為01模式2:把TL0和TL1配置成一個自動重裝載的8位定時器/計數(shù)器。TL用作8位計數(shù)器,TH用以保存初值。TL計數(shù)溢出時不僅使TF0置1,而且還自動將TH中的內(nèi)容重新裝載到TL中。定時時間t=(28-初值)x振蕩周期x12;計數(shù)長度位28=256個外部脈沖置TMOD中的M1M0為10模式3:對T0和T1不大相同若設(shè)T0位模式3,TL0和TH0被分為兩個相互獨立的8位計數(shù)器。TL0為8位計數(shù)器,功能與模式0和模式1相同,可定時可計數(shù)。THO僅用作簡單的內(nèi)部定時功能,它占用了定時器T1的控制位TR1和中斷標志位TF1,啟動和關(guān)閉僅受TR1控制。定時器T1無工作模式3,但T0在工作模式3時T1仍可設(shè)置為0~2置TMOD中的M1M0為117、當T0用作模式3時,由于TR1已被T0占用,如何控制T1的開啟和關(guān)閉?答:用T1控制位C/T切換定時器或計數(shù)器工作方式就可以使T1運行。定時器T1無工作模式3,將T1設(shè)置為工作模式3,就會使T1立即停止計數(shù),關(guān)閉。8、以定時器/計數(shù)器1進行外部時間計數(shù),每計數(shù)1000個脈沖后,定時器/計數(shù)器1轉(zhuǎn)為定時工作方式,定時10ms后又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止。假定為6WHZ,用模式1編程。解:T1為定時器時初值:T1為計數(shù)器時初值:所以:L1:MOVTMOD,#50H;設(shè)置T1為計數(shù)方式且工作模式為1MOVTH1,#0FCH;置入計數(shù)初值MOVTL1,#18HSETBTR1;啟動T1計數(shù)器LOOP1:JBCTF1,L2;查詢計數(shù)溢出?有溢出(計數(shù)滿1000個)轉(zhuǎn)L2SJMPLOOP1;無溢出轉(zhuǎn)LOOP1,繼續(xù)查詢L2:CLRTR1;關(guān)閉T1MOVTMOD,#1OH;設(shè)置T1為定時方式且工作與模式1MOVTH1,#0ECH;置入定時10ms初值MOVTL1,#78H僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21精品好文檔,推薦學習交流SETBTR1精品好文檔,推薦學習交流SETBTR1;啟動T1定時L00P2:JBCTF1,L1;查詢10ms時間至lj?時間至lj,轉(zhuǎn)L1SJMPLOOP2;時間未到,轉(zhuǎn)LOOP2,繼續(xù)查詢9、一個定時器定時時間有限,如何實現(xiàn)兩個定時器的串行定時以滿足較長定時時間的要求?答:當一個定時器溢出時,設(shè)置另一個定時器的初值為0開始定時。10、使用一個定時器,如何通過軟硬件結(jié)合方法實現(xiàn)較長時間的定時?答:設(shè)定好定時器的定時時間,采用中斷方式用軟件設(shè)置計數(shù)次數(shù),進行溢出次數(shù)累計,從而得至較長的時間。11、89C51定時器作定時和計數(shù)時其計數(shù)脈沖分別由誰提供?答:作定時器時計數(shù)脈沖由89C51片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖提供,作計數(shù)時計數(shù)脈沖由外部信號通過引腳P3.4和P3.5提供。12、89C51定時器的門控信號GATE設(shè)置為1時定時器如何啟動?答:只有(或)引腳為高電平且由軟件使TR0(或TR1)置1時,才能啟動定時器工作。13、已知89C51單片機的fosc=6MHz,請利用T0和P1.0輸出矩形波。矩形波高電平寬504低電平寬300|js。解:T0采用模式2作為50“定時時的初值:所以作300“定時時的初值:所以MOVTMOD,#02H;設(shè)置定時器T0工作于模式2L2:CLRP1.0;P1.0輸出低電平MOVTH0,#6AH;置入定時300^s初值精品好文檔,推薦學習交流MOVTL0,#6AHSETBTR0;啟動T0LOOP1:JBCTFO,L1渣詢3OOys時間到?時間到,轉(zhuǎn)L1SJMPLOOP1;時間未到,轉(zhuǎn)LOOP1,繼續(xù)查詢L1:SETBP1.0;P1.0輸出高電平CLRTR0;關(guān)閉T0MOVTH0,#0E7H;置入定時3OO|js初值MOVTL0,#0E7HSETBTR0;啟動T0LOOP2:JBCTF0,L2渣詢50^s時間到?時間到,轉(zhuǎn)L2SJMPLOOP2;時間未到,轉(zhuǎn)LOOP2,繼續(xù)查詢14、已知89C51單片機的fosc=12MHz,用T1定時。試編程由P1.0和P1.1引腳分別輸出周期為2ms和500|js的方波。解:采用模式0作定時初值所以MOVR2,#04H;R2為“250^s”計數(shù)器,置入初值4CLRP1.0;P1.0輸出低電平CLRP1.1;P1.1輸出低電平MOVTMOD,#00HL2:MOVTH1,#0F8H;置入定時250^s初值MOVTL1,#06HSETBTR1;啟動T1LOOP:JBCTF1,L1渣詢250^s時間到?時間到,轉(zhuǎn)L1SJMPLOOP;時間未到,轉(zhuǎn)LOOP,繼續(xù)查詢精品好文檔,推薦學習交流L1:CPLPl.l;P1.1輸出取反,形成周期為500“CLRTR1;關(guān)閉T1DJNZR2,L2;“250us”計數(shù)器減1,到1ms嗎?未到轉(zhuǎn)L2CPLP1.0;P1.0輸出取反,形成周期為2ms方波MOVR2,#04H蓮置“250^s”計數(shù)器初值4LJMPL2;重復循環(huán)15、單片機8031的時鐘頻率為6MHz,若要求定時值分別為0.1ms,1ms,10ms,定時器0工作在模式0、模式1和模式2時,其定時器初值各應(yīng)是多少?解:(1)0.1ms模式0:T0低5位01110B=0EHT0高8位:11111110B=FEH模式1:模式2:(2)1ms模式0:T0低5位01100B=0CHT0高8位:11110000B=F0H模式1:模式2:在此情況下最長定時為512^s,無法一次實現(xiàn)定時1ms,可用0.1ms循環(huán)10次精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21(3)10ms模式0:TO低5位11000B=18HTO高8位:01100011B=63H模式1:模式2:在此情況下最長定時為512“,無法一次實現(xiàn)定時10ms,可用0.1ms循環(huán)100次16、89C51單片機的定時器在何種設(shè)置下可提供三個8位計數(shù)器定時器?這時,定時器1可作為串行口波特率發(fā)生器。若波特率按9600b/s,4800b/s,2400b/s,1200b/s,600b/s,100b/s來考慮,則此時可選用的波特率是多少(允許存在一定誤差)?設(shè)fosc=12MHz。解:當T0為模式3,T1為模式2時,可提供3個8位定時器。可選100b/s17、試編制一段程序,功能為:當P1.2引腳的電平上跳時,對P1.1的輸入脈沖進行計數(shù);當P1.2引腳的電平下跳時,停止計數(shù),并將計數(shù)值寫入R6,R7。解:MOVTMOD,#05H;T0為計數(shù)方式且工作于模式1JNBP1.2,$;等待P1.2引腳電平上跳MOVTH0,#00H;P1.2電平上跳,置入計數(shù)初值MOVTL0,#00HSETBTR0;啟動T0JBP1.2,$;等待P1.2引腳電平下跳CLRTR0;電平下跳,關(guān)閉T0MOVR7,TH0;計數(shù)初值寫入R7,R6MOVR6,TL0精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流18、設(shè)fosc=12MHz。試編制一段程序,功能為:對定時器TO初始化,使之工作在模式產(chǎn)生200“定時,并用查詢T0溢出標志的方法,控制P1.0輸出周期為2ms的方波。解:TO作定時器時初值:所以程序1:CLRP1.0;P1.0輸出低電平MOVR2,#05H;R2為“200|js”計數(shù)器,置入初值5,計1msMOVTMOD,#02H;設(shè)定時器T0工作于模式2L2:MOVTH0,#38H;置入定時初值MOVTL0,#38HSETBTR0;啟動T0LOOP:JBCTF0,L1渣詢200ys時間到?時間到,轉(zhuǎn)L1SJMPLOOP;時間未到,轉(zhuǎn)LOOP,繼續(xù)查詢L1:CLRTR0;關(guān)閉T0DJNZR2,L2;“200^s”計數(shù)器減1,到1ms嗎?未到,轉(zhuǎn)L2CPLP1.0;到1ms,P1.0取反,形成周期為2ms的方波MOVR2,#05H蓮置“200^s”計數(shù)器初值LJMPL2;重復循環(huán)程序2:MAIN:MOVTMOD,#02H;設(shè)定時器T0工作于模式2CLRP1.0;P1.0輸出低電平LOOP1:MOVR2,#05H;R2為“200|js”計數(shù)器,置入初值5,計1msLOOP:MOVTH0,#38H;置入定時初值MOVTL0,#38H僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝僅供學習與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除謝謝21SETBTR0;啟動T0JNBTFO,$渣詢200“時間到?時間到,繼續(xù)查詢CLRTR0;關(guān)閉T0DJNZR2,LOOP;“200^s”計數(shù)器減1到1ms嗎?未到,轉(zhuǎn)LOOPCPLP1.0;到1ms,P1.0取反,形成周期為2ms的方波SJMPLOOP1;重復循環(huán)19、以中斷方法設(shè)計單片機秒、分脈沖發(fā)生器。假定P1.0每秒產(chǎn)生1個機器周期的正脈沖,P1.1每分產(chǎn)生1個周期的正脈沖。參考書上例題6-6第七章第7章習題1、什么是串行異步通信,它有哪些作用?答:在異步串行通信中,數(shù)據(jù)是一幀一幀(包括一個字符代碼或一字節(jié)數(shù)據(jù))傳送的,每一幀的數(shù)據(jù)格式參考書。通信采用幀格式,無需同步字符。存在空閑位也是異步通信的特征之一。2、89C51單片機的串行口由哪些功能部件組成?各有什么作用?答:89C51單片機的串行接口由發(fā)送緩沖期SBUF,接收緩沖期SBUF、輸入移位寄存器、串行接口控制器SCON、定時器T1構(gòu)成的波特率發(fā)生器等部件組成。由發(fā)送緩沖期SBUF發(fā)送數(shù)據(jù),接收緩沖期SBUF接收數(shù)據(jù)。串行接口通信的工作方式選擇、接收和發(fā)送控制及狀態(tài)等均由串行接口控制寄存器SCON控制和指示。定時器T1產(chǎn)生串行通信所需的波特率。3、簡述串行口接收和發(fā)送數(shù)據(jù)的過程。答:串行接口的接收和發(fā)送是對同一地址(99H)兩個物理空間的特殊功能寄存器SBUF進行讀和寫的。當向SBUF發(fā)寫”命令時(執(zhí)行“MOVSBUF,A”),即向緩沖期SBUF裝載并開始TXD引腳向外發(fā)送一幀數(shù)據(jù),發(fā)送完便使發(fā)送中斷標志位TI=1。在滿足串行接口接收中斷標志位RI(SCON.O)=0的條件下,置允許接收位REN(SCON.4)=1,就會接收一幀數(shù)據(jù)進入移位寄存器,并裝載到接收SBUF中,同時使RI=1O當發(fā)讀SBUF命令時(執(zhí)行“MOVA,SBUF”),便由接收緩沖期SBUF取出信息通過89C51內(nèi)部總線送CPUo4、89C51串行口有幾種工作方式?有幾種幀格式?各工作方式的波特率如何確定?答:89C51串行口有4種工作方式:方式0(8位同步移位寄存器),方式1(10位異步收發(fā)),方式2(11位異步收發(fā)),方式3(11位異步收發(fā))。有2種幀格式:10位,11位方式0:方式0的波特率蘭fosc/12(波特率固定為振蕩頻率1/12)方式2:方式2波特率蘭2SMOD/64xfosc方式1和方式3:方式1和方式3波特率蘭2SMOD/32x(T1溢出速率)如果T1采用模式2則:5、若異步通信接口按方式3傳送,已知其每分鐘傳送3600個字符,其波特率是多少?答:已知每分鐘傳送3600個字符,方式3每個字符11位,則:波特率=(11b/字符)x(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB&RB8有何作用?答:89c51SCON的SM2是多機通信控制位,主要用于方式2和方式3?若置SM2=1,則允許多機通信TB8是發(fā)送數(shù)據(jù)的第9位,在方式2或方式3中,根據(jù)發(fā)送數(shù)據(jù)的需要由軟件置位或復位。它在許多通信協(xié)議中可用作奇偶校驗位;在多機通信中作為發(fā)送地址幀或數(shù)據(jù)幀的標志位。RB8是接收數(shù)據(jù)的第9位,在方式2或方式3中接收到的第9位數(shù)據(jù)放在RB8位。它或是約定的奇偶校驗位,或是約定的地址/數(shù)據(jù)標示位。7、設(shè)fosc二11.059MHz,試編寫一段程序,其功能為對串行口初始化,使之工作與方式1,波特率為1200b/s;并用查詢串行口狀態(tài)的方法,讀出接收緩沖器的數(shù)據(jù)并回送到發(fā)送緩沖器。解:START:MOVSCON,#40H;串行接口工作于方式1MOVTMOD,#20H;定時器T1工作于模式2MOVTH1,#0E8H;賦定時器計數(shù)初值MOVTL1,#0E8HSETBTR1;啟動定時器T1MOVA,SBUF;讀出接收緩沖器數(shù)據(jù)MOVSBUF,A;啟動發(fā)送過程JNBTI,$;等待發(fā)送完CLRTI;清TI標志SJMP$;結(jié)束8、若晶振為11.0592MHz,串行口工作與方式1,波特率為4800b/s。寫出用T1作為波特率發(fā)生器的方式字和計數(shù)初值。解:MOVTMOD,#20H;定時器T1工作于模式2精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流精品好文檔,推薦學習交流MOVTH1,#0FAH;賦定時器計數(shù)初值MOVTL1,#0FAH9、為什么定時器T1用作串行口波特率發(fā)生器時,常選用工作模式2?若已知系統(tǒng)時鐘頻率和通信用的波特率,如何計算其初值?答:因為工作模式2是自動重裝初值定時器,編程時無需重裝時間參數(shù)(計數(shù)初值),比較使用。若選用工作模式0或工作模式1,當定時器T1溢出時,需在中斷服務(wù)程序中重裝初值。已知系統(tǒng)時鐘頻率fosc和通信用的波特率fbaud,可得出定時器T1模式2的初值10、若定時器T1設(shè)置成模式2作波特率發(fā)生器,已知fosc=6MHz。求可能產(chǎn)生的最高和最低的波特率。解:最高波特率為T1定時最小值時,此時初值為255,并且SM0D=1,有:最高波特率為T1定時最大值時,此時初值為0,并且SMOD=0,有:11、串行通信的總線標準是什么?有哪些內(nèi)容?答:美國電子工業(yè)協(xié)會(EIA)正式公布的串行總線接口標準有RS-232C,RS-4

溫馨提示

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

評論

0/150

提交評論