單片機(jī)原理及應(yīng)用張毅剛習(xí)題與解答_第1頁
單片機(jī)原理及應(yīng)用張毅剛習(xí)題與解答_第2頁
單片機(jī)原理及應(yīng)用張毅剛習(xí)題與解答_第3頁
單片機(jī)原理及應(yīng)用張毅剛習(xí)題與解答_第4頁
單片機(jī)原理及應(yīng)用張毅剛習(xí)題與解答_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

“單片機(jī)原理及應(yīng)用”課程習(xí)題與解答參照教材:張毅剛主編,單片機(jī)原理及應(yīng)用,一般高等教育“十五”國(guó)家級(jí)規(guī)劃教材,高等教育第一版社,2004年1月第一章1-3:?jiǎn)纹瑱C(jī)與一般計(jì)算機(jī)的不一樣之處在于其將()()和()三部分集成于一塊芯片上。答:CPU、儲(chǔ)存器、I/O口1-8:8051與8751的差別是:A、內(nèi)部數(shù)據(jù)儲(chǔ)存但也數(shù)量的不一樣B、內(nèi)部數(shù)據(jù)儲(chǔ)存器的種類不一樣C、內(nèi)部程序儲(chǔ)存器的種類不一樣D、內(nèi)部的寄存器的數(shù)量不一樣答:C第二章2-4:在MCS-51單片機(jī)中,假如采納6MHz晶振,1個(gè)機(jī)器周期為()。答:2us。析:機(jī)器周期為振蕩周期的1/6。2-6:內(nèi)部RAM中,位地點(diǎn)為30H的位,該位所在字節(jié)的字節(jié)地點(diǎn)為()。答:26H2-7:若A中的內(nèi)容為63H,那么,P標(biāo)記位的值為()。答:0析:P為偶校驗(yàn)位,因?yàn)锳中1的個(gè)數(shù)為偶數(shù),所以P=0。2-8:判斷以下說法能否正確:A、8031的CPU是由RAM和EPROM所構(gòu)成。B、區(qū)分片外程序儲(chǔ)存器和片外數(shù)據(jù)儲(chǔ)存器的最靠譜的方法是看其位于地點(diǎn)范圍的低端仍是高端。C、在MCS-51中,為使準(zhǔn)雙向的I/O口工作在輸入方式,一定保證它被早先預(yù)置為1。D、PC能夠當(dāng)作使程序儲(chǔ)存器的地點(diǎn)指針。答:錯(cuò)、錯(cuò)、對(duì)、對(duì)2-9:8031單片機(jī)復(fù)位后,R4所對(duì)應(yīng)的儲(chǔ)存單元的地點(diǎn)為(),因上電時(shí)PSW=()。這時(shí)目前的工作寄存器區(qū)是()組工作寄存器區(qū)。答:04H、00H、02-11:判斷以下相關(guān)PC和DPTR的結(jié)論能否正確?A、DPTR是能夠接見的,而PC不可以接見。B、它們都是16位的儲(chǔ)存器C、它們都有加1的功能。D、DPTR能夠分為兩個(gè)8位的寄存器使用,但PC不可以。答:對(duì)、對(duì)、對(duì)、對(duì)2-13:使用8031芯片刻,需將/EA引腳接()電平,因?yàn)槠淦瑑?nèi)無()儲(chǔ)存器。答:低、程序2-14:片內(nèi)RAM低128個(gè)單元區(qū)分為哪3個(gè)主要部分?各部分的主要功能是什么?答:工作寄存器區(qū)、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)2-15:判斷以下說法能否正確A、程序計(jì)數(shù)器PC不可以為用戶編程時(shí)直接使用,因?yàn)樗鼪]有地點(diǎn)。B、內(nèi)部RAM的位尋址區(qū),只好供位尋址使用,而不可以供字節(jié)尋址使用。C、8031共有21個(gè)特別功能寄存器,它們的位都是能夠用軟件設(shè)置的,所以,是能夠進(jìn)行位尋址的。答:對(duì)、錯(cuò)、錯(cuò)2-16:PC的值是A、目前正在履行指令的前一條指令的地點(diǎn)B、目前正在履行指令的地點(diǎn)C、目前正在履行指令的下一條指令的地點(diǎn)D、控制器中指令寄存器的地點(diǎn)答:C2-17:經(jīng)過貨倉(cāng)操作實(shí)現(xiàn)子程序調(diào)用,第一就要把()的內(nèi)容入棧,以進(jìn)行斷點(diǎn)保護(hù)。調(diào)用返回時(shí),再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到()。答:PC、PC2-19:MCS-51單片機(jī)程序儲(chǔ)存器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)所決定的,因?yàn)镸CS-51的PC是16位的,所以其尋址的范圍為()KB。答:642-20:當(dāng)MCS-51單片機(jī)運(yùn)轉(zhuǎn)犯錯(cuò)或程序墮入死循環(huán)時(shí),怎樣來掙脫窘境?答:軟件圈套、復(fù)位2-21:判斷以下說法能否正確?A、PC是1個(gè)不行尋址的特別功能寄存器。B、單片機(jī)的主頻越高,其運(yùn)算速度越快。C、在MCS-51單片機(jī)中,1個(gè)機(jī)器周期等于1us。D、特別功能寄存器SP內(nèi)裝的是棧頂首地點(diǎn)單元的內(nèi)容。答:錯(cuò)、對(duì)、錯(cuò)、錯(cuò)2-22:假如手中僅有一臺(tái)示波器,可經(jīng)過察看哪個(gè)引腳的狀態(tài),來大概判斷MCS-51單片機(jī)正在工作?答:ALE析:因?yàn)閱纹瑱C(jī)正常工作時(shí),ALE腳輸出時(shí)鐘頻次為振蕩周期的1/6。第三章3-1:判斷以下指令的正誤:1)MOV28H,@R22)DECDPTR3)INCDPTR4)CLRR05)CPLR56)MOVR0,R17)PUSHDPTR8)MOVF0,C9)MOVF0,ACC.310)MOVXA,@R111)MOVC,30H12)RLCR0答:錯(cuò)、錯(cuò)、對(duì)、錯(cuò)錯(cuò)、錯(cuò)、錯(cuò)、對(duì)錯(cuò)、對(duì)、對(duì)、錯(cuò)3-2:判斷以下說法能否正確。A、立刻尋址方式是被操作的數(shù)據(jù)自己在指令中,而不是它的地點(diǎn)在指令中。B、指令周期是履行一條指令的時(shí)間。C、指令中直接給出的操作數(shù)稱為直接尋址。答:對(duì)、對(duì)、錯(cuò)3-3:在基址加變址尋址方式中,以()作變址寄存器,以()或()作基址寄存器。答:累加器A,DPTR、PC3-7:指令格式是由()和()所構(gòu)成,也可能僅由()構(gòu)成。答:操作碼、操作數(shù)、操作碼3-8:假定累加器A中的內(nèi)容為30H,履行指令1000H:MOVCA,@A+PC后,把程序儲(chǔ)存器()單元的內(nèi)容送入累加器A中。答:1031H3-9:在MCS-51中,PC和DPTR都用于供給地點(diǎn),但PC是為接見()儲(chǔ)存器供給地址,而DPTR是為接見()儲(chǔ)存器供給地點(diǎn)。答:程序、數(shù)據(jù)3-10:在寄存器間接尋址方式中,其“間接”表此刻指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的()。答:地點(diǎn)3-11:以下程序段的功能是什么?PUSHAPUSHBPOPAPOPB答:交換A、B的內(nèi)容3-12:已知程序履行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下述程序履行后:POPDPHPOPDPLMOVDPTR,#4000HRLAMOVB,AMOVCA,@A+DPTRPUSHAMOVA,BINCAMOVCA,@A+DPTRRETORG4000HDB10H,80H,30H,50H,30H,50H請(qǐng)問:A=(),SP=(),(51H)=(),(52H)=(),PC=()。答:A=50H,SP=50H,(51H)=30H,(52H)=50H,PC=5030H3-14:假定A=83H,(R0)=17H,(17H)=34H,履行以下指令:ANLA,#17HORL17H,AXRLA,@R0CPLA后,A的內(nèi)容為()。答:0CBH3-15:假定A=55H,R3=0AAH,在履行指令A(yù)NLA,R3后,A=(),R3=()。答:0、0AAH3-16:假如DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行以下指令后:POPDPHPOPDPLPOPSP則:DPH=(),DPL=(),SP=()答:DPH=3CH,DPL=5FH,SP=4FH3-17:假定,SP=60H,A=30H,B=70H,履行以下指令:PUSHAPUSHB后,SP的內(nèi)容為(),61H單元的內(nèi)容為(),62H單元的內(nèi)容為()。答:62H,30H,70H第四章4-6:試編寫1個(gè)程序,將內(nèi)部RAM中45H單元的高4位清0,低4地點(diǎn)1。答:MOV

A,45HANL

A,#0FHORL

A,#0FHMOV

45H,A4-7:已知程序履行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序履行后:POPDPHPOPDPLMOVDPTR,#3000HRLAMOVB,AMOVCA,@A+DPTRPUSHAMOVA,BINCAMOVCA,@A+DPTRPUSHARETORG3000HDB10H,80H,30H,80H,50H,80H請(qǐng)問:A=(),SP=(),(51H)=(),(52H)=(),PC=()。答:A=80H,SP=40H,(51H)=50H,(52H)=80H,PC=8050H4-8:計(jì)算下邊子程序中指令的偏移量和程序履行的時(shí)間(晶振頻次為12MHz)。MOVR3,#15H;1個(gè)機(jī)器周期DL1:MOVR4,#255;1個(gè)機(jī)器周期DL2:MOVP1,R3;2個(gè)機(jī)器周期DJNZR4,DL2;2個(gè)機(jī)器周期DJNZR3,DL1;2個(gè)機(jī)器周期RET;2個(gè)機(jī)器周期答:15348us析:((2+2)×255+1+2)×15+1+2=15348us4-9:假定A=83H,(R0)=17H,(17H)=34H,履行以下指令:ANLA,#17HORL17H,AXRLA,@R0CPLA后,A的內(nèi)容為()。答:0CBH4-10:試編寫程序,查找在內(nèi)部RAM的30H~50H單元中能否有0AAH這一數(shù)據(jù)。如有,則將51H單元置為“01H”;若未找到,則將51H單元置為“00H”。答:START:MOVR0,#30HMOVR2,#20HLOOP:MOVA,@R0CJNEA,#0AAH,NEXTMOV51H,#01HLJMPEXITNEXT:INCR0DJNZR2,LOOPMOV51H,#00HEXIT:RET4-11:試編寫程序,查找在內(nèi)部RAM的20H~40H單元中出現(xiàn)“00H”這一數(shù)據(jù)的次數(shù)。并將查找到的結(jié)果存入41H單元。答:START:MOV41H,#0MOVR0,#20HMOVR2,#20HLOOP:MOVA,@R0JNZNEXTINC41HNEXT:INCR0DJNZR2,LOOPRET4-12:若SP=60H,標(biāo)號(hào)LABEL所在的地點(diǎn)為3456H。LCALL指令的地點(diǎn)為2000H,執(zhí)行指令以下:2000HLCALLLABEL后,貨倉(cāng)指針SP和貨倉(cāng)內(nèi)容發(fā)生了什么變化?PC的值等于什么?假如將指令LCALL直接換成ACALL能否能夠?假如換成ACALL指令,可調(diào)用的地點(diǎn)范圍是什么?答:1)SP=SP+1=61H(61H)=PC的低字節(jié)=03HSP=SP+1=62H(62H)=PC的高字節(jié)=20H2)PC=3456H3)能夠4)2KB=2048Byte第五章5-4:外面中止1所對(duì)應(yīng)的中止進(jìn)口地點(diǎn)為()H。答:0013H5-5:以下說法錯(cuò)誤的選項(xiàng)是:A、各中止發(fā)出的中止懇求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的IE寄存器中。B、各中止發(fā)出的中止懇求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的TMOD寄存器中。C、各中止發(fā)出的中止懇求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的IP寄存器中。D、各中止發(fā)出的中止懇求信號(hào),都會(huì)標(biāo)記在MCS-51系統(tǒng)的TCON與SCON寄存器中。答:ABC5-7:中止查問確認(rèn)后,在以下各種8031單片機(jī)運(yùn)轉(zhuǎn)狀況中,能立刻進(jìn)行響應(yīng)的是:A、目前正在履行高優(yōu)先級(jí)中止辦理B、目前正在履行RETI指令C、目前指令是DIV指令,且正處于取指令的機(jī)器周期D、目前指令是MOVA,R3答:D5-8:8031單片機(jī)響應(yīng)中止后,產(chǎn)生長(zhǎng)調(diào)用指令LCALL,履行該指令的過程包含:第一把()的內(nèi)容壓入貨倉(cāng),以進(jìn)行斷點(diǎn)保護(hù),而后把長(zhǎng)調(diào)用指令的16位地點(diǎn)送(),使程序履行轉(zhuǎn)向()中的中止地點(diǎn)區(qū)。答:PC、PC、程序儲(chǔ)存器5-9:編寫出外面中止1為跳沿觸發(fā)的中止初始化程序。答:SETBIT1SETBEX1SETBEA5-10:在MCS-51中,需要外加電路實(shí)現(xiàn)中止撤掉的是:A、準(zhǔn)時(shí)中止B、脈沖方式的外面中止C、外面串行中止D、電平方式的外面中止答:D5-12:以下說法正確的選項(xiàng)是:A、同一級(jí)其余中止懇求準(zhǔn)時(shí)間的先后次序響應(yīng)。B、同一時(shí)間同一級(jí)其余多中止懇求,將形成堵塞,系統(tǒng)沒法響應(yīng)。C、低優(yōu)先級(jí)中止懇求不可以中止高優(yōu)先級(jí)中止懇求,可是高優(yōu)先級(jí)中止懇求能中止低優(yōu)先級(jí)中止懇求。D、同級(jí)中止不可以嵌套。答:ACD5-13:中止服務(wù)子程序返回指令RETI和一般子程序返回指令RET有什么差別?答:RETI指令在返回的同時(shí)除去相應(yīng)的優(yōu)先級(jí)觸發(fā)器,以同意下次中止5-14:某系統(tǒng)有3個(gè)外面中止源1、2、3,當(dāng)某一中止源變?yōu)榈碗娖匠?,便要求CPU進(jìn)行辦理,它們的優(yōu)先辦理序次由高到低挨次為3、2、1,中止辦理程序的進(jìn)口地點(diǎn)分別為1000H,1100H,1200H。試編寫主程序及中止服務(wù)程序(轉(zhuǎn)至相應(yīng)的中止辦理程序的入口即可)。答:若僅在/INT0引腳接3個(gè)外面中止源,電路如圖5-10(P115)ORG0000HLJMPMAINORG0003HLJMPINT_EX0ORG0030HMAIN:CLRIT0;采納低電平有效中止SETBEX0;同不測(cè)面中止0SETBEA插入用戶程序WAIT:MOVPCON,#01H;單片機(jī)進(jìn)入休眠方式等候中止NOPLJMPWAIT;以下為外面中止0服務(wù)子程序INT_EX0:JNBP1.0,NEXT1;判斷是不是1號(hào)中止LJMPINT_IR1;跳轉(zhuǎn)到1號(hào)中止辦理程序NEXT1:JNBP1.1,NEXT2;判斷是不是2號(hào)中止LJMPINT_IR2;跳轉(zhuǎn)到2號(hào)中止辦理程序NEXT2:LJMPINT_IR3;跳轉(zhuǎn)到3號(hào)中止辦理程序ORG1000HINT_IR1:;插入相應(yīng)中止辦理程序RETI;中止返回ORG1100HINT_IR2:;插入相應(yīng)中止辦理程序RETI;中止返回ORG1200HINT_IR3:;插入相應(yīng)中止辦理程序RETI;中止返回第六章MCS-51的準(zhǔn)時(shí)/計(jì)數(shù)器1.假如采納晶振的頻次為3MHz,準(zhǔn)時(shí)器/計(jì)數(shù)器工作方式0、1、2下,其最大的準(zhǔn)不時(shí)間為多少?解答:因?yàn)闄C(jī)器周期12124(s),Tcy3106fOSC所以準(zhǔn)時(shí)器/計(jì)數(shù)器工作方式0下,其最大準(zhǔn)不時(shí)間為TMAX213TC21341068.192(ms);相同能夠求得方式1下的最大準(zhǔn)不時(shí)間為262.144ms;方式2下的最大準(zhǔn)不時(shí)間為1024ms。2.準(zhǔn)時(shí)/計(jì)數(shù)器用作準(zhǔn)時(shí)器時(shí),其計(jì)數(shù)脈沖由誰供給?準(zhǔn)不時(shí)間與哪些要素相關(guān)?答:準(zhǔn)時(shí)/計(jì)數(shù)器作準(zhǔn)不時(shí),其計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時(shí)鐘信號(hào)12分頻后供給。準(zhǔn)不時(shí)間與時(shí)鐘頻次和準(zhǔn)時(shí)初值相關(guān)。3.準(zhǔn)時(shí)/計(jì)數(shù)器用作準(zhǔn)時(shí)器時(shí),對(duì)外界計(jì)數(shù)頻次有何限制?答:因?yàn)榇_認(rèn)1次負(fù)跳變要花2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因其余部輸入的計(jì)數(shù)脈沖的最高頻次為系統(tǒng)振蕩器頻次的1/24。4.采納準(zhǔn)時(shí)器/計(jì)數(shù)器T0對(duì)外面脈沖入行計(jì)數(shù),每計(jì)數(shù)100個(gè)脈沖后,T0轉(zhuǎn)為準(zhǔn)時(shí)工作方式。準(zhǔn)時(shí)1ms后,又轉(zhuǎn)為計(jì)數(shù)方式,這樣循環(huán)不只。假定MCS-51單片機(jī)的晶體振蕩器的頻次為6MHz,請(qǐng)使用方式1實(shí)現(xiàn),要求編寫出程序。解答:準(zhǔn)時(shí)器/計(jì)數(shù)器T0在計(jì)數(shù)和準(zhǔn)時(shí)工作達(dá)成后,均采納中止方式工作。除了第一次計(jì)數(shù)工作方式設(shè)置在主程序達(dá)成外,后邊的準(zhǔn)時(shí)或計(jì)數(shù)工作方式分別在中止程序達(dá)成,用一標(biāo)記位辨別下一輪準(zhǔn)時(shí)器/計(jì)數(shù)器T0的工作方式。編寫程序以下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:MOVTMOD,#06H;準(zhǔn)時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式2MOVTL0,#156;計(jì)數(shù)100個(gè)脈沖的初值賦值MOVTH0,#156SETBGATE;翻開計(jì)數(shù)門SETBTR0;啟動(dòng)T0,開始計(jì)數(shù)SETBET0;同意T0中止SETBEA;CPU開中止CLRF0;設(shè)置下一輪為準(zhǔn)時(shí)方式的標(biāo)記位WAIT:AJMPWAITIT0P:CLREA;關(guān)中止JBF0,COUNT;F0=1,轉(zhuǎn)計(jì)數(shù)方式設(shè)置MOVTMOD,#00H;準(zhǔn)時(shí)器/計(jì)數(shù)器T0為準(zhǔn)時(shí)方式0MOVTH0,#0FEH;準(zhǔn)時(shí)1ms初值賦值MOVTL0,#0CHSETBEARETICOUNT:MOVTMOD,#06HMOVTL0,#156SETBEARETI準(zhǔn)時(shí)器/計(jì)數(shù)器的工作方式2有什么特色?合用于哪些應(yīng)用處合?答:準(zhǔn)時(shí)器/計(jì)數(shù)器的工作方式2擁有自動(dòng)恢復(fù)初值的特色,合用于精準(zhǔn)準(zhǔn)時(shí),比方波特率的產(chǎn)生。編寫程序,要求使用T0,采納方式2準(zhǔn)時(shí),在P1.0輸出周期為400μs,占空比為10:1的矩形脈沖。解答:依據(jù)題意,從P1.0輸出的矩形脈沖的高低電平的時(shí)間為10:1,則高低電平的時(shí)間分別為363.63μs和36.37μs。假如系統(tǒng)采納6MHz晶振的話,Tcy2s,所以高低電平輸出取整,則約為364μs和36μs。編寫程序以下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:MOVTMOD,#02H;準(zhǔn)時(shí)器/計(jì)數(shù)器T0為準(zhǔn)時(shí)方式2MOVTL0,#4AH;準(zhǔn)時(shí)364μs初值賦值SETBTR0;啟動(dòng)T0,開始計(jì)數(shù)SETBET0;同意T0中止SETBEA;CPU開中止SETBP1.0WAIT:AJMPWAITIT0P:CLREACLRP1.0;關(guān)中止MOVR0,#9DLY:DJNZR0,DLY;延時(shí)26μsMOVTL0,#4AH;準(zhǔn)時(shí)364μs初值賦值SETBP1.0SETBEARETI一個(gè)準(zhǔn)時(shí)器的準(zhǔn)不時(shí)間有限,怎樣實(shí)現(xiàn)兩個(gè)準(zhǔn)時(shí)器的串行準(zhǔn)時(shí),來實(shí)現(xiàn)較長(zhǎng)時(shí)間的準(zhǔn)時(shí)?答:方式一,在第一個(gè)準(zhǔn)時(shí)器的中止程序里封閉本準(zhǔn)時(shí)器的中止程序,設(shè)置和翻開另一個(gè)準(zhǔn)時(shí)器;在另一個(gè)準(zhǔn)時(shí)器的中止程序中封閉本準(zhǔn)時(shí)中止,設(shè)置和翻開另一個(gè)準(zhǔn)時(shí)器。這類方式的準(zhǔn)不時(shí)間為兩個(gè)準(zhǔn)時(shí)器準(zhǔn)不時(shí)間的和。方式二,一個(gè)作為準(zhǔn)時(shí)器,在準(zhǔn)時(shí)中止后產(chǎn)生一個(gè)外面計(jì)數(shù)脈沖(比方由P1.0接INT0產(chǎn)生),另一個(gè)準(zhǔn)時(shí)器工作在計(jì)數(shù)方式。這樣兩個(gè)準(zhǔn)時(shí)器的準(zhǔn)不時(shí)間為一個(gè)準(zhǔn)時(shí)器的準(zhǔn)時(shí)時(shí)間乘以另一個(gè)準(zhǔn)時(shí)器的計(jì)數(shù)值。當(dāng)準(zhǔn)時(shí)器T0用于方式3時(shí),應(yīng)當(dāng)怎樣控?cái)M訂時(shí)器T1的啟動(dòng)和封閉?答:由T1(P3.5)口控?cái)M訂時(shí)器T1的啟動(dòng)和封閉。準(zhǔn)時(shí)器/計(jì)數(shù)器丈量某正單脈沖的寬度,采納何種方式可獲得最大批程?若時(shí)鐘頻次為6MHz,求同意丈量的最大脈沖寬度是多少?答:采納方式1準(zhǔn)時(shí)工作方式。最大脈沖寬度為131.072ms。編寫一段程序,功能要求為:當(dāng)P1.0引腳的電公正跳變時(shí),對(duì)P1.1的輸入脈沖入行計(jì)數(shù);當(dāng)P1.2引腳的電平負(fù)跳變時(shí),停止計(jì)數(shù),并將計(jì)數(shù)值寫入R0、R1(高位存R1,低位存R0)。解答:將P1.1的輸入脈沖接入INT0,即便用T0計(jì)數(shù)器達(dá)成對(duì)P1.1口的脈沖計(jì)數(shù)。編寫程序以下:ORG0000HLJMPMAINORG000BHLJMPIT0PMAIN:JNBP1.0,MAINMOVTMOD,#05H;準(zhǔn)時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式1SETBTR0;啟動(dòng)T0,開始計(jì)數(shù)SETBET0;同意T0中止SETBEA;CPU開中止WAIT:JBP1.2,WAITCLREACLRTR0MOVR1,TH0MOVR0,TL0AJMP$IT0P:INCR2RETITHX與TLX(X=0,1)是一般寄存器仍是計(jì)數(shù)器?其內(nèi)容能夠隨時(shí)用指令改正嗎?改正后的新值是立刻刷新仍是等目前計(jì)數(shù)器計(jì)滿后才能刷新?答:THX與TLX(X=0,1)是由特別功能寄存器構(gòu)成的計(jì)數(shù)器,其內(nèi)容能夠隨時(shí)用指令改正,改正后的新值是立刻刷新。但在讀THX、TLX的值時(shí),應(yīng)當(dāng)先讀THX值,后讀TLX,再讀THX。若兩次讀得THX相同,則可確立讀得的內(nèi)容正確。若前后兩次讀得的THX有變化,再重復(fù)上述過程。判斷以下的說法能否正確?特別功能寄存器SCON,與準(zhǔn)時(shí)器/計(jì)數(shù)器的控制沒關(guān)。(對(duì))特別功能寄存器TCON,與準(zhǔn)時(shí)器/計(jì)數(shù)器的控制沒關(guān)。(錯(cuò))(3)特別功能寄存器IE,與準(zhǔn)時(shí)器/計(jì)數(shù)器的控制沒關(guān)。(錯(cuò))特別功能寄存器TMOD,與準(zhǔn)時(shí)器/計(jì)數(shù)器的控制沒關(guān)。(錯(cuò))第七章MCS-51的串行口1.串行數(shù)據(jù)傳遞的主要長(zhǎng)處和用途是什么?答:串行數(shù)據(jù)傳遞的主要長(zhǎng)處是硬件接口簡(jiǎn)單,接口端口少(2個(gè))。主要用于多個(gè)單片機(jī)系統(tǒng)之間的數(shù)據(jù)通信。2.簡(jiǎn)述串行口接收和發(fā)送數(shù)據(jù)的過程。答:以方式一為例。發(fā)送:數(shù)據(jù)位由TXT端輸出,發(fā)送1幀信息為10為,當(dāng)CPU履行1條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動(dòng)發(fā)送。發(fā)送開始時(shí),內(nèi)部發(fā)送控制信號(hào)/SEND變?yōu)橛行В瑢㈤_端位想TXD輸出,今后,每經(jīng)過1個(gè)TX時(shí)鐘周期,便產(chǎn)生1個(gè)移位脈沖,并由TXD輸出1個(gè)數(shù)據(jù)位。8位數(shù)據(jù)位所有完成后,置1中止標(biāo)記位TI,而后/SEND信號(hào)無效。接收:當(dāng)檢測(cè)到開端位的負(fù)跳變時(shí),則開始接收。接受時(shí),準(zhǔn)時(shí)控制信號(hào)有2種,一種是位檢測(cè)器采樣脈沖,它的頻次是RX時(shí)鐘的16倍。也就是在1位數(shù)據(jù)時(shí)期,有16個(gè)采樣脈沖,以波特率的16倍的速率采樣RXD引腳狀態(tài),當(dāng)采樣到RXD端從1到0的跳變時(shí)就啟動(dòng)檢測(cè)器,接收的值是3次連續(xù)采樣,取此中2次相同的值,以確認(rèn)是不是真正的開端位的開始,這樣能較好地除去擾亂惹起的影響,以保證靠譜無誤的開始接受數(shù)據(jù)。3.幀格式為1個(gè)開端位,8個(gè)數(shù)據(jù)位和1個(gè)停止位的異步串行通信方式是方式(1)。4.串行口有幾種工作方式?有幾種幀格式?各種工作方式的波特率怎樣確立?答:串行口有3種工作方式:方式0、方式1、方式2、方式3;有3種幀格式,方式2和3擁有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為固定波特率,方式1的波特率=2SMOD/32×準(zhǔn)時(shí)器T1的溢出率方式2的波特率=2SMOD/64×fosc方式3的波特率=2SMOD/32×準(zhǔn)時(shí)器T1的溢出率5.假定串行口串行發(fā)送的字符格式為1個(gè)開端位,8個(gè)數(shù)據(jù)位,1個(gè)奇校驗(yàn)位,1個(gè)停止位,請(qǐng)畫出傳遞字符“A”的幀格式。開端位01000000校驗(yàn)位停止位6.判斷以下說法能否正確:1)串行口通信的第9數(shù)據(jù)位的功能可由用戶定義。(對(duì))2)發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的內(nèi)容在SCON寄存器的TB8位早先準(zhǔn)備好的。(對(duì))3)串行通信發(fā)送時(shí),指令把TB8位的狀態(tài)送入發(fā)送SBUF。(錯(cuò))4)串行通信接收到的第9位數(shù)據(jù)送SCON寄存器的RB8中保留。(對(duì))5)串行口方式1的波特率是可變的,經(jīng)過準(zhǔn)時(shí)器/計(jì)數(shù)器T1的溢出設(shè)定。(對(duì))7.經(jīng)過串行口發(fā)送或接收數(shù)據(jù)時(shí),在程序中應(yīng)使用:(選(3))1)MOVC指令(2)MOVX指令(3)MOV指令(4)XCHD指令8.為何準(zhǔn)時(shí)器/計(jì)數(shù)器T1用做串行口波特率發(fā)生器時(shí),采納方式2?若已知時(shí)鐘頻次、通信波特率,怎樣計(jì)算其初值?解答:因?yàn)闇?zhǔn)時(shí)器/計(jì)數(shù)器在方式2下,初值能夠自動(dòng)重裝,這樣在做串口波特率發(fā)生器設(shè)置時(shí),就防止了重裝參數(shù)的操作。已知時(shí)鐘頻次、通信波特率,依據(jù)公式:2SMODfOSC,計(jì)算出初波特率=12(256X)32值。9.串行口工作方式1的波特率是:(3)1)固定的,為fOSC/32。2)固定的,為fOSC/16。3)可變的,經(jīng)過準(zhǔn)時(shí)器/計(jì)數(shù)器T1的溢出率設(shè)定。4)固定的,為fOSC/64。10.在串行通信中,收發(fā)兩方對(duì)波特率的設(shè)定應(yīng)當(dāng)是(相等)的。11.若晶體振蕩器為11.0592MHz,串行口工作于方式1,波特率為4800b/s,寫出用T1作為波特率發(fā)生器的方式控制字和計(jì)數(shù)初值。解答:初值計(jì)算:查閱P148表7-2可得,F(xiàn)AH控制字:ANLTMOD,#0F0HORLTMOD,#20HMOVTH1,#0FAHMOVTL1,#0FAHMOVSCON,#40H12.簡(jiǎn)述利用串行口進(jìn)行多機(jī)通信的原理。解答:參照P146頁。13.使用8031的串行口按工作方式1進(jìn)行串行數(shù)據(jù)通信,假定波特率為2400b/s,以中止方式傳遞數(shù)據(jù),請(qǐng)編寫全雙工通信程序。解答:略14.使用8031的串行口按工作方式3進(jìn)行串行數(shù)據(jù)通信,假定波特率為1200b/s,第9數(shù)據(jù)位作奇偶校驗(yàn)位,以中止方式傳遞數(shù)據(jù),請(qǐng)編寫通信程序。解答:略15.某8031串行口,傳遞數(shù)據(jù)的幀格式為1個(gè)開端位(0),7個(gè)數(shù)據(jù)位,1個(gè)偶校驗(yàn)位和1個(gè)停止位(1)構(gòu)成。當(dāng)該串行口每分鐘傳遞1800個(gè)字符時(shí),試計(jì)算出波特率。解答:串口每秒鐘傳遞的字符為:1800/60=30個(gè)字符/秒所以波特率為:30個(gè)字符/秒×10位/個(gè)字符=300b/s16.為何MCS-51串行口的方式0幀格式?jīng)]有開端位(0)和停止位(1)?解答:串行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存器,以擴(kuò)展并行I/O口,一般不用于兩個(gè)MCS-51之間的串行通信。該方式以fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。第八章習(xí)題解答1.單片機(jī)儲(chǔ)存器的主要功能是儲(chǔ)存(程序)和(數(shù)據(jù))。2.試編寫一個(gè)程序(比如將05H和06H拼為56H),設(shè)原始數(shù)據(jù)放在片外數(shù)據(jù)區(qū)2001H單元和2002H單元中,按次序拼裝后的單字節(jié)數(shù)放入2002H。解:此題主要觀察了對(duì)外面儲(chǔ)存器的讀、寫操作,同學(xué)們只需記著正確使用MOVX指令就能夠了。編程思路:第一讀取2001H的值,保留在寄存器A中,將寄存器A的高四位和低四位交換,再障蔽掉低四位而后將寄存器A的值保留到30H中,而后再讀取2002H的值,保留在寄存器A中,障蔽掉高四位,而后將寄存器A的值與30H進(jìn)行或運(yùn)算,將運(yùn)算后的結(jié)果保留在2002H中。ORG0000HMAIN:MOVDPTR,#2001H;設(shè)置數(shù)據(jù)指針的初值MOVXA,@DPTR;讀取2001H的值SWAPAANLA,#0F0H;障蔽掉低四位MOV30H,A;保留AINCDPTR;指針指向下一個(gè)MOVXA,@DPTR;讀取2002H的值A(chǔ)NLA,#0FH;障蔽掉高四位ORLA,30H;進(jìn)行拼裝MOVX@DPTR,A;保留到2002HEND3.假定外面數(shù)據(jù)儲(chǔ)存器2000H單元的內(nèi)容為80H,履行以下指令后:MOVP2,#20HMOVR0,#00HMOVXA,@R0累加器A中的內(nèi)容為(80H)。4.編寫程序,將外面數(shù)據(jù)儲(chǔ)存器中的4000H—40FFH單元所有清零。解:此題主要觀察了對(duì)外面數(shù)據(jù)塊的寫操作;編程時(shí)只需注意循環(huán)次數(shù)和MOVX指令的使用就能夠了。ORG0000HMAIN:MOVA,#0;送預(yù)置數(shù)給AMOVR0,#0FFH;設(shè)置循環(huán)次數(shù)MOVDPTR,#4000H;設(shè)置數(shù)據(jù)指針的初值LOOP:MOVX@DPTR,A;目前單元清零INCDPTR;指向下一個(gè)單元DJNZR0,LOOP;能否結(jié)束END5.在MCS-51單片機(jī)系統(tǒng)中,外接程序儲(chǔ)存器和數(shù)據(jù)儲(chǔ)存器共16位地點(diǎn)線和8位數(shù)據(jù)線,為何不會(huì)發(fā)生矛盾?解:因?yàn)榭刂菩盘?hào)線的不一樣:外擴(kuò)的RAM芯片既能讀出又能寫入,所以往常都有讀寫控制引腳,記為OE和WE。外擴(kuò)RAM的讀、寫控制引腳分別與MCS-51的RD和WR引腳相連。外擴(kuò)的EPROM在正常使用中只好讀出,不可以寫入,故EPROM芯片沒有寫入控制引腳,只有讀出引腳,記為OE,該引腳與MCS-51單片機(jī)的PSEN相連。6.區(qū)分MCS-51單片機(jī)片外程序儲(chǔ)存器和片外數(shù)據(jù)儲(chǔ)存器的最靠譜的方法是:1)看其位于地點(diǎn)范圍的低端仍是高段2)看其離MCS-51芯片的遠(yuǎn)近3)看其芯片的型號(hào)是ROM仍是RAM4)看其是與RD信號(hào)連結(jié)仍是與PSEN信號(hào)連結(jié)解:此題的答案是3,4。7.在儲(chǔ)存器擴(kuò)展中,不論是線選法仍是譯碼法,最后都是為了擴(kuò)展芯片的(片選)端供給信號(hào)。8.請(qǐng)寫出圖8-18中4片程序儲(chǔ)存器27128各自所占的地點(diǎn)空間。解:圖中采納了譯碼法。4片地點(diǎn)分別為0000H-3FFFH、4000H-7FFFH、8000H-BFFFH、C000H-FFFFH。9.起止范圍為0000H-3FFFH的儲(chǔ)存器的容量是(16)KB。解:此題屬于知識(shí)題,在第十一題時(shí)將有解答。10.在MCS-51中,PC和DPTR都用于供給地點(diǎn),但PC是為了接見(程序)儲(chǔ)存器供給地址,而DPTR是為接見(數(shù)據(jù))儲(chǔ)存器供給地點(diǎn)。11.11根地點(diǎn)線可選(2KB)個(gè)儲(chǔ)存單元,16KB儲(chǔ)存單元需要(14)根地點(diǎn)線。解:經(jīng)過總結(jié)所學(xué)知識(shí),我們獲得以下幾個(gè)信息:2KB的儲(chǔ)存器需要11根地點(diǎn)線,地點(diǎn)為0000H-07FFH;4KB的儲(chǔ)存器需要12根地點(diǎn)線,地點(diǎn)為0000H-0FFFH;8KB的儲(chǔ)存器需要13根地點(diǎn)線,地點(diǎn)為0000H-1FFFH;16KB的儲(chǔ)存器需要14根地點(diǎn)線,地點(diǎn)為0000H-3FFFH;32KB的儲(chǔ)存器需要15根地點(diǎn)線,地點(diǎn)為0000H-7FFFH;64KB的儲(chǔ)存器需要16根地點(diǎn)線,地點(diǎn)為0000H-FFFFH(以上儲(chǔ)存器的首地點(diǎn)均默以為0000H)。12.32KBRAM儲(chǔ)存器的首地點(diǎn)若為2000H,則末地點(diǎn)為(9FFF)H。解:由上題總結(jié)得出,32KBRAM儲(chǔ)存器的大小為0000H-7FFFH,所以只需在后邊加上2000H即獲得正確答案。13.現(xiàn)有8031單片機(jī)、74LS373鎖存器、1片2764EPROM和2片6116RAM,請(qǐng)使用他們組成一個(gè)單片機(jī)系統(tǒng),要求:1)畫出硬件電路連線圖,并標(biāo)明主要引腳;2)指出該應(yīng)用系統(tǒng)程序儲(chǔ)存器空間和數(shù)據(jù)儲(chǔ)存器空間各自的地點(diǎn)范圍。解:(1)電路圖以下所示:2)2764的地點(diǎn)為C000H-DFFFH;第一個(gè)6116的地點(diǎn)為A000H-A7FFH;第二個(gè)6116的地點(diǎn)為6000H-67FFH;事實(shí)上,因?yàn)椴杉{的是線選法,致使了地點(diǎn)不連續(xù),地點(diǎn)空間利用不充分。建議在實(shí)質(zhì)工作中要詳細(xì)狀況詳細(xì)剖析。在兩種地點(diǎn)分派中選一種較好的來應(yīng)用。14.使用89C51芯片外擴(kuò)一片E2PROM2864,要求2864兼作程序儲(chǔ)存器和數(shù)據(jù)儲(chǔ)存器,且首地點(diǎn)為8000H。要求:1)確立2864芯片的末地點(diǎn);2)畫出2864片選端的地點(diǎn)譯碼電路;3)畫出該應(yīng)用系統(tǒng)的硬件連結(jié)圖。解:(1)2864為8KB的儲(chǔ)存器,假如首地點(diǎn)為8000H,則其末地點(diǎn)為9FFFH,原因參照第題;2)電路圖以下所示:3)電路圖以下所示:第九章習(xí)題解答1.I/O接口和I/O端口有什么差別?I/O接口的功能是什么?解:I/O端口簡(jiǎn)稱I/O口,常指I/O接口電路中擁有端口地點(diǎn)的寄存器或緩沖器。I/O接口是指單片機(jī)與外設(shè)間的I/O接口芯片。I/O接口功能:一.實(shí)現(xiàn)和不一樣外設(shè)的速度般配;二.輸出數(shù)據(jù)緩存;三.輸入數(shù)據(jù)三態(tài)緩沖。2.常用的I/O接口編址有哪兩種方式?它們各有什么特色?MCS-51的I/O端口編址采納的是哪一種方式?解:一.獨(dú)立編址方式:獨(dú)立編址方式就是I/O地點(diǎn)空間和儲(chǔ)存器地點(diǎn)空間分開編址。獨(dú)立編址的長(zhǎng)處是I/O地點(diǎn)空間和儲(chǔ)存器地點(diǎn)空間互相獨(dú)立,界線分明。可是,卻需要設(shè)置一套特意的讀寫I/O的指令和控制信號(hào)。二.一致編址方式:這類編址方式是把I/O端口的寄存器與數(shù)據(jù)儲(chǔ)存器單元相同對(duì)待,一致進(jìn)行編址。一致編址的長(zhǎng)處是不需要特意的I/O指令,直接使用接見數(shù)據(jù)儲(chǔ)存器的指令進(jìn)行I/O操作,簡(jiǎn)單、方便且功能強(qiáng)盛。MCS-51單片機(jī)使用的是I/O和外面數(shù)據(jù)儲(chǔ)存器RAM一致編址的方式。3.I/O數(shù)據(jù)傳遞有哪幾種傳遞方式?分別在哪些場(chǎng)合下使用?解:一.同步傳遞方式:同步傳遞又稱為有條件傳遞。當(dāng)外設(shè)速度可與單片機(jī)速度對(duì)比較時(shí),常常采納同步傳遞方式,最典型的同步傳遞就是單片機(jī)和外面數(shù)據(jù)儲(chǔ)存器之間的數(shù)據(jù)傳送。二.查問傳遞方式:查問傳遞方式又稱為有條件傳遞,也稱異步傳遞。單片機(jī)經(jīng)過查問得悉外設(shè)準(zhǔn)備好后,再進(jìn)行數(shù)據(jù)傳遞。異步傳遞的長(zhǎng)處是通用性好,硬件連線和查問程序十分簡(jiǎn)單,可是效率不高。為了提升單片機(jī)的工作效率,往常采納中止方式。三.中止傳遞方式:中止傳遞方式是利用MCS-51自己的中止功能和I/O接口的中止功能來實(shí)現(xiàn)I./O數(shù)據(jù)的傳遞。單片機(jī)只有在外設(shè)準(zhǔn)備好后,發(fā)出數(shù)據(jù)傳遞懇求,才中止主程序,而進(jìn)入與外設(shè)進(jìn)行數(shù)據(jù)傳遞的中止服務(wù)程序,進(jìn)行數(shù)據(jù)的傳遞。中止服務(wù)達(dá)成后又返回主程序持續(xù)執(zhí)行。所以,采納中止方式能夠大大提升單片機(jī)的工作效率。4.編寫程序,采納8255A的C口按地點(diǎn)位/復(fù)位控制字,將PC7置0,PC4置1,(已知8255A各端口的地點(diǎn)為7FFCH-7FFFH)。解:此題主要觀察對(duì)8255A的C口的操作。其方式控制字的高位為0時(shí),低四位對(duì)C口進(jìn)行置位。由題目我們獲得了方式控制字的地點(diǎn)為7FFFH。ORG0000HMAIN:MOVDPTR,#7FFFH;控制字寄存器地點(diǎn)送DPTRMOVA,#0EH;將PC7置0MOVX@DPTR,AMOVA,#09H;將PC4置1MOVX@DPTR,AEND5.8255A的方式控制字和C口按地點(diǎn)位/復(fù)位控制字都能夠?qū)懭?255A的同一控制寄存器,8255A是怎樣區(qū)分這兩個(gè)控制字的?解:8255A經(jīng)過它們的最高位來進(jìn)行判斷,最高位為1時(shí),這時(shí)8255A以為這是方式控制字,不然以為是C口按地點(diǎn)位/復(fù)位控制字6.由圖9-6來說明8255A的A口在方式1的選通輸入方式下的工作過程。解:當(dāng)外設(shè)輸入一個(gè)數(shù)據(jù)并送到PA7-PA0上時(shí),輸入設(shè)施自動(dòng)在選通輸入線STBA向8255A發(fā)送一個(gè)低電平選通信號(hào)。8255A收到選通信號(hào)后:第一把PA7-PA0上輸入的數(shù)據(jù)存入A口的輸入數(shù)據(jù)緩沖/鎖存器;而后使輸入緩沖器輸出線IBFA變?yōu)楦唠娖?,以通知輸入設(shè)施,8255A的A口已收到它送來的輸入數(shù)據(jù)。8255A檢測(cè)到聯(lián)系線STBA由低電平變成了高電平、IBFA為1狀態(tài)和中止同意觸發(fā)器INTEA為1時(shí),使輸出線INTRA(PC3)變?yōu)楦唠娖?,?031發(fā)出中止懇求。(INTEA的狀態(tài)可由用戶經(jīng)過對(duì)PC4的置位/復(fù)位來控制。8031相應(yīng)中止后,能夠經(jīng)過中止服務(wù)程序從A口的輸入數(shù)據(jù)緩沖/鎖存器讀取外設(shè)發(fā)來的輸入數(shù)據(jù)。當(dāng)輸入數(shù)據(jù)被CPU讀走后,8255A撤掉INTRA上的中止懇求,并使IBFA變?yōu)榈碗娖?,以通知輸入外設(shè)能夠送下一個(gè)輸入數(shù)據(jù)。7.8155H的端口都有哪些?哪些引腳決定端口的地點(diǎn)?引腳TIMERIN和TIMEROUT的作用是什么?解:8155H的端口有以下幾種:命令/狀態(tài)寄存器、A口、B口、C口、計(jì)數(shù)器和RAM單元。引腳IO/M、A2、A1、A0決定端口地點(diǎn)。TIMERIN是計(jì)數(shù)器輸入線,輸入的脈沖上跳沿用于對(duì)8155H片內(nèi)的14位計(jì)數(shù)器減一。TIMEROUT為計(jì)數(shù)器輸入線。當(dāng)14位計(jì)數(shù)器減為0時(shí)就能夠在該引線上輸出脈沖或方波,輸出的信號(hào)的形狀與所選的計(jì)數(shù)器工作方式相關(guān)。8.判斷以下說法能否正確,為何?1)因?yàn)?155H不擁有地點(diǎn)鎖存功能,所以在與8031的接口電路中一定加地點(diǎn)鎖存器。2)在8155H芯片中,決定端口和RAM單元編址的信號(hào)線是AD7-AD0和WR。(3)8255A擁有三態(tài)緩沖器,所以能夠直接掛在系統(tǒng)的數(shù)據(jù)總線上。4)8255A的B口能夠設(shè)置成方式2。解:(1)8155H擁有地點(diǎn)鎖存功能;2)引腳IO/M、A2、A1、A0決定端口地點(diǎn)和RAM單元編址;3)8255A不擁有三態(tài)緩沖器;4)8255A的B口只好夠設(shè)置成方式0和方式1。9.現(xiàn)有一片8031,擴(kuò)展了一片8255A,若把8255A的B口用做輸入,B口的每一位接一個(gè)開關(guān),A口用作輸出,每一位接一個(gè)發(fā)光二極管,請(qǐng)畫出電路原理圖,并編寫出B口某一位接高電平常,A口相應(yīng)位發(fā)光二極管被點(diǎn)亮的程序。解:因?yàn)殡娐穲D比較簡(jiǎn)單,在這里就畫了,大家能夠參照?qǐng)D9-10,A口每一位接二極管的正極,二極管的負(fù)極接低。B口每一位接一開關(guān),開關(guān)直接接地。這樣我們只需要將讀到的B口的值送給A口就能夠知足題目要求了。ORG0000HMIAN:MOVA,#10000010B;A口出,B口入MOVDPTR,#0FF7FH;控制地點(diǎn)送DPTRMOVX@DPTR,A;送方式控制字MOVDPTR,#0FF7DH;B口地點(diǎn)送DPTRMOVXA,@DPTR;讀開關(guān)信息MOVDPTR,#0FF7CH;A口地點(diǎn)送DPTRMOVX@DPTR,A;將信息反潰到二極管END10.假定8155H的TIMERIN引腳輸入的頻次為4MHz?問8155H的最大準(zhǔn)不時(shí)間是多少?解:8155H記數(shù)器的初值范圍是:3FFFH-2H。當(dāng)頻次為4MHz,初值為3FFFH時(shí),最大準(zhǔn)不時(shí)間為:16383/4E+6=0.00409575S11.MCS-51的并行接口的擴(kuò)展有多種方式,在什么狀況下,采納擴(kuò)展8155H比較適合?什么狀況下,采納擴(kuò)展8255A比較適合?解:8255A擁有3個(gè)8位的并行I/O口,3種工作方式,可經(jīng)過編程改變其功能,因此使用靈巧方便,通用性強(qiáng),可作為單片機(jī)與多種外頭設(shè)施連結(jié)時(shí)的中間接口電路。8155H芯片內(nèi)包含有256B的RAM儲(chǔ)存器(靜態(tài)),2個(gè)可編程的八位并行口PA和PB,1個(gè)可編程的6位并行口PC,以及1個(gè)14位減法準(zhǔn)時(shí)器/計(jì)數(shù)器。所以它常常用于單片機(jī)的外頭接口芯片。12.假定8155H的TIMERIN引腳輸入的脈沖頻次為1MHz,請(qǐng)編寫出在8155H的TIMEROUT引腳上輸出周期為10ms的方波的程序。解:將1MHz的脈沖改變?yōu)?0ms的方波,這就讓我們想到了在數(shù)字電路里面學(xué)到的分頻器。計(jì)算得出分頻前后頻次之比為10000:1,這樣我們只需將準(zhǔn)時(shí)器初值設(shè)置為64H便可以了。(假定I/O口地點(diǎn)為7F00H-7F05H)START:MOVDPTR,#7F04H;指針指向準(zhǔn)時(shí)器低8位MOVA,#64H;送初值給AMOVX@DPTR,A;初值送給低8位INCDPTR;指向高8位MOVA,#40H;準(zhǔn)時(shí)器方波輸出MOVX@DPTE,AMOVDPTR,#7F00H;指向命令/狀態(tài)口MOVA,#0C2H;設(shè)定控制字MOVX@DPTE,A;啟動(dòng)準(zhǔn)時(shí)器END第十章習(xí)題解答為何要除去按鍵的機(jī)械顫動(dòng)?除去按鍵的機(jī)械顫動(dòng)的方法有哪幾種?原理是什么?解:在按鍵的閉合和斷開過程中,因?yàn)殚_關(guān)的機(jī)械特征,致使了按鍵顫動(dòng)的產(chǎn)生。假如不除去按鍵的機(jī)械顫動(dòng),按鍵的狀態(tài)讀取將有可能出現(xiàn)錯(cuò)誤。除去按鍵顫動(dòng)一般是采納軟件或硬件去抖。軟件去抖的原理:在第一次檢測(cè)到有鍵按下時(shí),該鍵所對(duì)應(yīng)的航線是為低電平,履行一端延時(shí)10ms的子程序后,確認(rèn)該行線電平能否仍舊為低電平,假如仍為低電平,則確以為該行的確有鍵按下。判斷以下說法能否正確?1)8279是一個(gè)用于鍵盤和LED(LCD)顯示器的專用芯片。2)在單片機(jī)與微型打印機(jī)的接口中,打印機(jī)的BUSY信號(hào)可作為查問信號(hào)或中止懇求信號(hào)使用。(3)為給予掃描發(fā)方式工作的8*8鍵盤供給接口電路,在接口電路中只需要供給2個(gè)輸進(jìn)口和1個(gè)輸出口。4)LED的字型碼是固定不變的。解:(1)正確;2)正確3)錯(cuò)誤4)錯(cuò)誤3.LED的靜態(tài)顯示方式于動(dòng)向顯示方式有何差別?各有什么優(yōu)弊端?解:靜態(tài)顯示時(shí),數(shù)據(jù)是分開送到每一位LED上的。而動(dòng)向顯示則是數(shù)據(jù)是送到每一個(gè)LED上,再依據(jù)位選線來確立是哪一位LED被顯示。靜態(tài)顯示亮度很高,但口線占用許多。動(dòng)態(tài)顯示則好一點(diǎn),適合用在顯示位數(shù)許多的場(chǎng)合。寫出表10-1中僅顯示小數(shù)點(diǎn)“.”的段碼。解:80H(共陰極);7FH(共陽極)說明矩陣式鍵盤按鍵按下的辨別原理。解:按鍵設(shè)置內(nèi)行、列線交點(diǎn)上,行、列線分別連結(jié)到按鍵開關(guān)的兩頭。行線經(jīng)過上拉電阻接到+5V上,無按鍵按下時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平假如為低,則行線電平為低;列線的電平假如為高,則行線的電平亦為高。將行、列線信號(hào)配合起來并做適合的辦理,才能確立閉合鍵的地點(diǎn)。關(guān)于圖10-11的鍵盤,采納線反轉(zhuǎn)法原理來編寫辨別某一按鍵按下并獲得其鍵號(hào)的程序。解:先對(duì)P1口高四位送低電平,讀取P1口低四位的值;再對(duì)P1口低四位送低電平,讀取P1口高四位的值,將兩次讀到的值組合在一同就獲得了按鍵的特色碼,在依據(jù)特色碼查找鍵值。KEYIN:MOVP1,#0FH;反轉(zhuǎn)讀鍵MOVA,P1ANLA,#0FHMOVB,AMOVP1,#0F0HMOVA,P1ANLA,#0F0HORLA,BCJNEA,#0FFH,KEYIN1RET;未按鍵KEYIN1:MOVB,A;暫存特色碼MOVDPTR,#KEYCOD;指向碼表MOVR3,#0FFH;次序碼初始化KEYIN2:INCR3MOVA,R3MOVCA,@A+DPTRCJNEA,B,KEYIN3MOVA,R3;找到,取次序碼RETKEYIN3:CJNEA,#0FFH,KEYIN2;未完,再查RET;已查完,未找到,以未按鍵辦理KEYCOD:DB0E7H,0EBH,0EDH,0EEHDB0D7H,0DBH,0DDH,0DEHDB0B7H,0BBH,0BDH,0BEHDB77H,7BH,7DH,7EH鍵盤有哪3種工作方式,它們各自的工作原理及特色是什么?解:一.編程掃描方式:當(dāng)單片機(jī)安閑時(shí),才調(diào)用鍵盤掃描子程序,頻頻的掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),來響應(yīng)鍵盤的輸入懇求。二.準(zhǔn)時(shí)掃描工作方式:?jiǎn)纹瑱C(jī)對(duì)鍵盤的掃描也可用準(zhǔn)時(shí)掃描方式,即每隔必定的時(shí)間對(duì)鍵盤掃描一次。三.中止工作方式:只有在鍵盤有鍵按下時(shí),才履行鍵盤掃描程序并履行該按鍵功能程序,假如無鍵按下,單片機(jī)將不搭理鍵盤。依據(jù)圖10-14的電路,編寫在6個(gè)LED顯示器上輪番顯示“1,2,3,4,5,6”的顯示程序。解:本電路圖采納的是動(dòng)向顯示。程序以下DIR:MOVR0,#79H;從79H開始里面寄存著MOVR3,#01H;1,2,3,4,5,6MOVA,R3LD0:MOVDPTR,#7F01H;位選碼MOV@DPTR,AINCDPTRMOVA,@R0ADDA,#0DHMOVCA,@A+PC;取到筆形碼DIR1:MOVX@DPTR,A;送出顯示ACALLDL1MSINCROMOVR3JBACC.5,LD1;能否到最右側(cè)的LEDRLAMOVR3,A;保留位選碼AJMPLD0LD1:RETDSEG:DB3FH,06H,5BH,4FH,66H,6DH,7DH;0,1,2,3,4,5,6DL1MS:MOVR7,#02HDL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET依據(jù)圖10-17的接口電路編寫在8個(gè)LED上輪番顯示“1,2,3,4,5,6,7,8”的顯示程序,比較一下與上一題顯示程序的差別。解:本電路圖采納的是靜態(tài)顯示。程序以下:DIR:SETBP3.3;同意顯示MOVSCON,#0;工作方式一MOVDPTR,#TAB;筆形碼MOVR7,#08H;初值為8CALLOUT;8DECR7CALLOUT;7DECR7CALLOUT;6DECR7CALLOUT;5DECR7CALLOUT;4DECR7CALLOUT;3DECR7CALLOUT;2DECR7;1OUT:MOVA,R7MOVCA,@A+DPTR;找到對(duì)應(yīng)的筆形碼MOVSBUF,A;送出顯示JNBTI,$CLRTIRETTAB:DB0COH,0F9H,0A4H,0B0H,99H;0,1,2,3,4DB92H,B2H,0F8H,80H;5,6,7,810.8279中掃描計(jì)數(shù)器有兩種工作方式,這2種工作方式各應(yīng)用在什么場(chǎng)合?解:按編碼方式工作時(shí),計(jì)數(shù)器作二進(jìn)制計(jì)數(shù)。4位計(jì)數(shù)狀態(tài)從掃描線SL0-SL3輸出,經(jīng)外面譯碼器4線-16線譯碼后,為鍵盤和顯示器供給16中取1的掃描線。按譯碼方式工作時(shí),掃描計(jì)數(shù)器的最低2位在8279內(nèi)部被譯碼后,從SL0-SL3輸出,為鍵盤和顯示器直接供給了4中取1的掃描線。11.簡(jiǎn)述TpuP-40A/16A微型打印機(jī)的Centronics接口的主要信號(hào)線的功能。與MCS-51單片機(jī)相連結(jié)時(shí),怎樣連結(jié)這幾條控制線?解:DB0-DB7:數(shù)據(jù)線,單向傳輸,由單片機(jī)輸入給打印機(jī)。STB(STROBE):數(shù)據(jù)選通信號(hào)。在該信號(hào)的上漲沿,數(shù)據(jù)線上的8位并行數(shù)據(jù)被打印機(jī)讀入機(jī)內(nèi)鎖存。BUSY:打印機(jī)忙狀態(tài)信號(hào)。當(dāng)該信號(hào)有效(高電平)時(shí),表示打印機(jī)正忙于辦理數(shù)據(jù)。此時(shí),單片機(jī)不得使STB信號(hào)有效,向打印機(jī)送入新的數(shù)據(jù)。ACK:打印機(jī)的應(yīng)答信號(hào)。低電平有效,表示打印機(jī)已取走數(shù)據(jù)線上的數(shù)據(jù)。ERR:犯錯(cuò)信號(hào)。當(dāng)送入打印機(jī)的命令格式犯錯(cuò)時(shí),打印機(jī)立刻打印1行犯錯(cuò)信息,提示犯錯(cuò)。在打印犯錯(cuò)信息以前。該信號(hào)線出現(xiàn)一個(gè)負(fù)脈沖,脈沖寬度為30us。用一根地點(diǎn)線來控制寫選通信號(hào)STB和讀取BUSY引腳狀態(tài)。12.假如把圖10-30中打印機(jī)的BUSY線斷開,而后與8031的INTO線相接,請(qǐng)簡(jiǎn)述電路的工作原理并編寫把以20H為開端地點(diǎn)的連續(xù)20個(gè)內(nèi)存單元中的內(nèi)容輸出打印的程序。解:本程序采納外面中止來進(jìn)行數(shù)據(jù)打印,先打印一個(gè)數(shù)據(jù),當(dāng)BUSY線從高電平變?yōu)榈碗娖匠?,在打印下一個(gè)數(shù)據(jù)ORG0000HLJMPMAINORG0003HLJMPINORG0030HMAIN:SETBEX0;同不測(cè)面中止SETBIT0SETBEAMOVR0,#7FH;控制口地點(diǎn)MOVA,#81H;控制字MOVX@R0,AMOVR1,#20H;數(shù)據(jù)區(qū)首地點(diǎn)MOVR2,#19;計(jì)數(shù)器MOVA,@R1;打印內(nèi)容MOVR0,#7CH;A口地點(diǎn)MOVX@R0,AMOVR0,#7FHMOVA,#0EHMOVX@RO,A;PC7=0MOVA,#0FHMOVX@R0,A;PC7=1SJMP$IN:DJNZR2,EX;20個(gè)數(shù)據(jù)都結(jié)束了嗎?INCR1;指向下一個(gè)數(shù)據(jù)MOVA,@R1MOVR0,#7CHMOVX@R0,AMOVR0,#7FHMOVA,#0EHMOVX@RO,AMOVA,#0FHMOVX@R0,AEX:RETI13.依據(jù)圖10-14,8155H與32鍵的鍵盤相連結(jié),編寫程序?qū)崿F(xiàn)以下功能:用8155H的定時(shí)器準(zhǔn)時(shí),每隔1S讀1次鍵,并將其讀入的鍵值存入片內(nèi)RAM中30H開始的單元中。解:14.采納8279芯片的鍵盤/顯示器接口方案,與本章介紹的其余鍵盤/顯示器的接口方案相比,有什么特色?解:8279芯片的擁有不停掃描,自動(dòng)消抖,自動(dòng)辨別出閉合的鍵并獲得鍵號(hào),能對(duì)雙鍵或鍵同時(shí)按下進(jìn)行辦理。第11章1、由運(yùn)算放大器構(gòu)成的電流/電壓變換電路2、D/A變換器的主要指標(biāo)以下:分辨率D/A變換器的分辨率指輸入的單位數(shù)字量變化惹起的模擬量輸出的變化,是對(duì)輸入量變化敏感程度的描繪。成即刻間成即刻間是描繪D/A變換速度快慢的一個(gè)參數(shù),用于表示變換速度。其值為從輸入數(shù)字量到輸出達(dá)到終位偏差±(1/2)GB(最低有效位)時(shí)所需的時(shí)間。變換精度理想狀況下,精度與分辨率基本一致,位數(shù)越多精度越高。嚴(yán)格講精度與分辨率其實(shí)不完整一致。只需位數(shù)相同,分辨率則相同.但相同位數(shù)的不一樣變換器精度會(huì)有所不同。當(dāng)DAC為二進(jìn)制12位,滿量程輸出電壓為5V時(shí),分辨率為1.22mV3、DAC用作程控放大器,其電壓放大倍數(shù)可由CPU經(jīng)過程序設(shè)定。由圖可見,需要放大的電壓Vin和反應(yīng)輸入端Rfb相接。運(yùn)算放大器輸出Vout還作為DAC的基準(zhǔn)電壓VREF,數(shù)字量由CPU送來,其余以下圖。DAC0832內(nèi)部Iout一邊和T型電阻網(wǎng)絡(luò)相連,另一邊又經(jīng)過反應(yīng)電阻Rfb和Vin相通,可得以下方程組:解上述方程組可得選R=R6,則上式變?yōu)樗裕瑥淖詈笫阶涌芍?,輸出電壓的放大倍?shù)受B控制。4、同步Vout256VinB5、二種方式單緩沖方式。其特色是DAC0832內(nèi)部的兩個(gè)數(shù)據(jù)緩沖器有一個(gè)處于直通方式,另一個(gè)處于受MCS—51控制的鎖存方式。合用于只有一路模擬量輸出,或雖是多路模擬量輸出但其實(shí)不要求多路輸出同步的狀況下。雙緩沖方式。其特色是數(shù)字量的輸入鎖存和D/A變換輸出是分兩步達(dá)成的。合用于在多路D/A變換中,要求同步進(jìn)行D/A變換輸出的狀況下。6、A/D變換器的兩個(gè)最重要指標(biāo):變換時(shí)間和變換速率變換時(shí)間A/D達(dá)成一次變換所需要的時(shí)間。變換時(shí)間的倒數(shù)為變換速率。(2)分辨率A/D變換器的分辨率習(xí)慣上用輸出二進(jìn)制位數(shù)或BCD碼位數(shù)表示。7、量化偏差是因?yàn)橛邢尬粩?shù)字且對(duì)模擬量進(jìn)行量化而惹起的;0.195%;8、目前應(yīng)用較寬泛的主要有以下幾種種類:逐次迫近式變換器、雙積分式變換器、∑—△式A/D變換器和V/F變換器。逐次迫近型A/D變換器:在精度、速度和價(jià)錢上都適中,是最常用的A/D變換器件。雙積分A/D變換器:擁有精度高、抗擾亂性好、價(jià)錢便宜等長(zhǎng)處,但變換速度慢,最近幾年來在單片機(jī)應(yīng)用領(lǐng)域中也獲得寬泛應(yīng)用。∑—△式A/D變換器:它擁有積分式與逐次迫近式ADC的兩重長(zhǎng)處,它對(duì)工業(yè)現(xiàn)場(chǎng)的串模擾亂擁有較強(qiáng)的克制能力,不亞于雙積分ADC,它比雙積分ADC有較高的變換速度。與逐次迫近式ADC對(duì)比,有較高的信噪比,分辨率高,線性度好,不需要采樣保持電路。9、對(duì)DAC來說,分辨率反應(yīng)了輸出模擬電壓的最小變化量。而關(guān)于ADC來說,分辨率表示輸出數(shù)字量變化一個(gè)相鄰數(shù)碼所需輸入模擬電壓的變化量。量化偏差是由ADC的有限分辨率而惹起的偏差,但量化偏差只合用于ADC,不合用于DAC。精度與分辨率基本一致,位數(shù)越多精度越高。嚴(yán)格講精度與分辨率其實(shí)不完整一致。只需位數(shù)相同,分辨率則相同,但相同位數(shù)的不一樣變換器精度會(huì)有所不一樣。10、程序以下:MAIN:MOVR0,#20HMOVR1,#00HMOVR2,#00HMOVR3,#50MOVR8,#08HLOOP:MOVDPTR,#7FF8HLOOP1:MOVX@DPTR,AMOVR6,#0AHDELAY:NOPNOPNOPDJNZR6,DELAYMOVXA,@DPTRINCDPTRMOVR2,DPLMOVDPH,R0MOVDPL,R1MOVX@DPTR,AINCDPTRMOVR0,DPHMOVR1,DPLMOVDPH,#7FHMOVDPL,R2DJNZR7,LOOP1LCALLDELAY1M;延時(shí)1分鐘DJNZR3,LOOP11、程序以下:MIAN:MOVR1,#10MOVR2,#40HMOVR0,#7CHMOVX

@R0,ALOOP:

NOPLOOP1:

NOPJB

P3.2,LOOP1MOVX

A,@R0MOVINC

@R2,AR2MOV

R0,#7DHMOVX

A,@R0MOVINC

@R2,AR2DJNZ

R1,LOOP12、(A)×(B)√(C)×(D)√第12章1、P0口的每位可驅(qū)動(dòng)8個(gè)LSTTL輸人,P1、P2、P3口的每一位只好驅(qū)動(dòng)4個(gè)LSTTL輸人;低電平;2、在MCS—51單片機(jī)應(yīng)用系統(tǒng)中.當(dāng)需用單片機(jī)控制各種各種的高壓、大電流負(fù)載,這些大功率負(fù)載如電動(dòng)機(jī)、電磁鐵、繼電器、燈泡等,則不可以用單片機(jī)的I/O線來直接驅(qū)動(dòng).而一定經(jīng)過各種驅(qū)動(dòng)電路和開關(guān)電路來驅(qū)動(dòng)。其余,為了隔絕和抗擾亂,有時(shí)需加接光電耦合器。3、常用的開關(guān)型驅(qū)動(dòng)器件有光電耦合器、繼電器、晶閘管、功率MOS管、集成功率電子開關(guān)、固態(tài)繼電器等。4、常用電子開關(guān)有功率MOS管、晶閘管、集成功宰電子開關(guān)、固態(tài)繼電器等等;電子開關(guān)器件的通病是存在通態(tài)壓降

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論