版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《單片機(jī)原理(yuMT)及應(yīng)用》期終考試(kdoshi)的復(fù)習(xí)(fCix。題庫
1、單片機(jī)與普通(pEOng)計(jì)算機(jī)的不同之處在于其將rCPU)F&存器)和
(I/On)三部分集成于一塊(yiku汕芯片上。
2、8051與8751的區(qū)別是:(C)
A、內(nèi)部數(shù)據(jù)存儲但乜數(shù)目的不同B、內(nèi)部數(shù)據(jù)存儲器的類型不同
C、內(nèi)部程序存儲器的類型不同D、內(nèi)部的寄存器的數(shù)目不同
3、在MCS-51單片機(jī)中,如果采用6MHz晶振頻率,一個機(jī)器周期為2u
4、內(nèi)部RAM中,位地址為30H的位,該位所在字節(jié)的字節(jié)地址為26H
5、若A中的內(nèi)容為63H,那么,P標(biāo)志位的值為0。
分析:P為偶校驗(yàn)位,因?yàn)锳中1的個數(shù)為偶數(shù),所以P=0。
6、判斷下列說法是否正確:
A、8031的CPU是由RAM和EPROM所組成。錯
B、區(qū)分片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法是看其位于地址范
圍的低端還是高端。錯
C、在MCS-51中,為使準(zhǔn)雙向的I/O口工作在輸入方式,必須保證它被事先預(yù)
置為1。對
D、PC可以看成使程序存儲器的地址指針。對
7、8031單片機(jī)復(fù)位后,R4所對應(yīng)的存儲單元的地址為(04H),因上電時
PSW=(OOF)o這時當(dāng)前的工作寄存器區(qū)是(0)組工作寄存器區(qū)。
8、判斷以下有關(guān)PC和DPTR的結(jié)論正確的是(ABCD)
A、DPTR是可以訪問的,而PC不能訪問。B、它們都是16位的存儲
器
C、它們都有加1的功能。D、DPTR可以分為兩個8位的寄存器使用,但
PC不能。
9、使用8031芯片時,需將/EA引腳接(低)電平,因?yàn)槠淦瑑?nèi)無(程序)存
儲器。
1()、片內(nèi)RAM低128個單元劃分為哪3個主要部分?各部分的主要功能是什
么?
答:工作寄存器區(qū)、位尋址區(qū)和通用RAM區(qū)(或用戶RAM區(qū))或(數(shù)據(jù)緩
沖區(qū))
11、判斷下列說法是否正確
A、程序計(jì)數(shù)器PC不能為用戶編程時直接使用,因?yàn)樗鼪]有地址。對
B、內(nèi)部RAM的位尋址區(qū),只能供位尋址使用,而不能供字節(jié)尋址使用。錯
C、8031共有21個特殊功能寄存器,它們的位都是可以用軟件設(shè)置的,因
此,是可以進(jìn)行位尋址的。錯
12、PC的值是、當(dāng)前正在執(zhí)行指令的下一條指令的地址
13、通過堆棧操作實(shí)現(xiàn)子程序調(diào)用,首先就要把(PC)的內(nèi)容入棧,以進(jìn)行斷
點(diǎn)保護(hù)
o調(diào)用返回時,再進(jìn)行出棧保護(hù),把保護(hù)的斷點(diǎn)送回到(PC)。
14、MCS-51單片機(jī)程序存儲器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)所決定
的
,因?yàn)镸CS-51的PC是16位的,因此其尋址的范圍為(64)KB。
15、當(dāng)MCS-51單片機(jī)運(yùn)行(yUnxing)出錯或程序陷入死循環(huán)時,如何來擺脫困
境?
答:軟件(ni件ji*n)陷阱、復(fù)位
16、判斷下列說法(shuGfm)正確的是(B)
A、PC是1個不可(b泳?尋址的特殊功能寄存器。錯
B、單片機(jī)的主頻越高,其運(yùn)算(yMs3n)速度越快。對
C、在MCS-51單片機(jī)中,1個機(jī)器周期等于lus。錯
D、特殊功能寄存器SP內(nèi)裝的是棧頂首地址單元的內(nèi)容。錯
17、如果手中僅有一臺示波器,可通過觀察哪個引腳的狀態(tài),來大致判斷MCS
-51單片機(jī)正在工作?ALE
分析:因?yàn)閱纹瑱C(jī)正常工作時,ALE腳輸出時鐘頻率為振蕩周期的1/6。
18、判斷下列指令的正誤:
I)MOV28H,@R22)DECDPTR3)INCDPTR4)CLRRO錯、
錯、對、錯
5)CPLR56)MOVRO,RI7)PUSHDPTR8)MOVFO,C錯、錯、
錯、對
9)MOVF0,ACC.310)MOVXA,@R111)MOVC,30H12)RLCRO
錯、對、對、錯
19、判斷下列說法不正確的是(C)
A、立即尋址方式是被操作的數(shù)據(jù)本身在指令中,而不是它的地址在指令中。
對
B、指令周期是執(zhí)行一條指令的時間。對
C、指令中直接給出的操作數(shù)稱為直接尋址。錯
20、在基址加變址尋址方式中,以(累加器A)作變址寄存器,以(DPTR)
或(PC)作基址寄存器。
21、指令格式是由(操作碼)和(操作數(shù))所組成,也可能僅由(操作碼)
組成。
22、假定累加器A中的內(nèi)容為30H,執(zhí)行指令
1000H:MOVCA,@A+PC后,把程序存儲器(1031H)單元的內(nèi)容送入累加
器A中。
23、在MCS-51中,PC和DPTR都用于提供地址,但PC是為訪問(程序)
存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。
24、在寄存器間接尋址方式中,其“間接”體現(xiàn)在(指令中寄存器的內(nèi)容不是操
作數(shù),而是操作數(shù)的(地址))o
25、下列程序段的功能是什么?交換A、B的內(nèi)容
PUSHAPUSHB
POPAPOPB
26、已知程序執(zhí)行前有A=02H,SP=52Ht(51H)=FFH,(52H)=FFH。下述程
序執(zhí)行后:
POPDPHPOPDPL
MOVDPTR,#4000HRLA
MOVB,A
MOVCA,@A+DPTRPUSHAMOVA,BINCAMOVCA,@A+DPTRPUSH
ARET
ORG4000H
DB10H,80H,30H,50H,30H,50H
請問(qingw6n):A=(50H),SP=(50H),(51H)=(30H),(52H)=
(50H),PC=(5030H)。
27、假定A=83H,(RO)=17H,(17H)=34H,執(zhí)行以下(yix訪)指令:
ANLA,#17HORL17H,AXRLA,@R0CPLA后,A的內(nèi)容(*irdrng)為
(OCBH)。
28、假定A=55H,R3=0AAH,在執(zhí)行(zh僅1g)指令A(yù)NLA,R3后,A=(0),
R3=(OAAH)o
29、如果DPTR=5()7BH,SP=32H,(30H)=5()H,(31H)=5FH,(32H)
=3CH,則執(zhí)行下列(x詒1論)指令后:
POPDPHPOPDPL
POPSP
則:DPH=(3CH),DPL=(5FH),SP=(4FH)
30、假定,SP=60H,A=30H,B=70H,執(zhí)行下列指令:
PUSHA
PUSHB后,SP的內(nèi)容為(62H),61H單元的內(nèi)容為(30H),62H單元的
內(nèi)容為(70H)。
31、試編寫1個程序,將內(nèi)部RAM中45H單元的高4位清0,低4位置1。
答:MOVA,45H
ANLA,#()FH
ORLA,#0FH
MOV45H,A
32、已知程序執(zhí)行前有A=02H,SPM2H,(41H)=FFH,(42H)=FFH。下述程
序執(zhí)行后:
POPDPH
POPDPL
MOVDPTR,#3000H
RLA
MOVB,A
MOVCA,@A+DPTR
PUSHA
MOVA,B
INCA
MOVCA,@A+DPTR
PUSHA
RET
ORG3000H
DB10H,80H,30H,80H,50H,80H
請問:A=(80H),SP=(40H),(51H)=(50H),(52H)=(80H),
PC=(8050H)o
33、計(jì)算下面子程序中指令的偏移量和程序執(zhí)行的時間(晶振頻率為
12MHz)o
MOVR3,#15H;1個機(jī)器周期
DLkMOVR4,#255;1個機(jī)器周期
DL2:MOVP1,R3;2個機(jī)器(jiq〕)周期
DJNZR4,DL2;2個機(jī)器(jiqi)周期
DJNZR3,DL1;2個機(jī)器(jiqi)周期
RET;2個機(jī)器(jiqi)周期答:15348ns分析、((2+2)X255+1+2)xl5
+1+2=15348us
34、假定(jiMng)A=83H,(RO)=17H,(17H)=34H,執(zhí)行以下指令:
ANLA,#17H
ORL17H,A
XRLA,@R()
CPLA后,A的內(nèi)容為(OCBH)o
35、試編寫程序,查找在內(nèi)部RAM的30H~50H單元中是否有OAAH這一數(shù)
據(jù)。若有,則將51H單元置為“01H”;若未找到,則將51H單元置為
“00H”。
答:START:MOVRO,#30H
MOVR2,#20H
LOOP:MOVA,@R0
CJNEA,#0AAH,NEXT
MOV51H,#()1H
LJMPEXIT
NEXT:INCRO
DJNZR2,LOOP
MOV51H,#OOH
EXIT:RET
36、試編寫程序,查找在內(nèi)部RAM的20H~40H單元中出現(xiàn)“00H”這一數(shù)據(jù)
的次數(shù)。并將查找到的結(jié)果存入41H單元。
答:START:MOV41H,#()
MOVR0,#20H
MOVR2,#20H
LOOP:MOVA,@R0
JNZNEXT
INC41H
NEXT:INCRO
DJNZR2,LOOP
RET
37、若SP=60H,標(biāo)號LABEL所在的地址為3456H。LCALL指令的地址為
2000H,執(zhí)行指令如下:
20()0HLCALLLABEL后,堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?PC的
值等于什么?如果將指令LCALL直接換成ACALL是否可以?如果換成
ACALL指令,可調(diào)用的地址范圍是什么?
答:1)SP=SP+1=61H(61H尸PC的低字節(jié)=03H
SP=SP+1=62H(62H)=PC的高字節(jié)二20H
2)PC=3456H
3)可以
4)2KB=2048Byte
38、外部(\吟出口)中斷1所對應(yīng)的中斷入口地址為(0013H)Ho
39、下列說法(shudfm)錯誤的是:(ABC)
A、各中斷(zhOngduan)發(fā)出的中斷請求信號,都會標(biāo)記在MCS-51系統(tǒng)的IE
寄存器中。
B、各中斷發(fā)出的中斷請求信號(xin2o),都會標(biāo)記在MCS-51系統(tǒng)的TMOD
寄存器中。
C、各中斷發(fā)出債chU)的中斷請求信號,都會標(biāo)記在MCS-51系統(tǒng)的IP寄存
器中。
D、各中斷發(fā)出的中斷請求信號,都會標(biāo)記在MCS-5I系統(tǒng)的TCON與
SCON寄存器中。
40、中斷查詢確認(rèn)后,在下列各種8031單片機(jī)運(yùn)行情況中,能立即進(jìn)行響應(yīng)的
是:(D)
A、當(dāng)前正在執(zhí)行高優(yōu)先級中斷處理
B、當(dāng)前正在執(zhí)行RETI指令
C、當(dāng)前指令是DIV指令,且正處于取指令的機(jī)器周期
D、當(dāng)前指令是MOVA,R3
41、8031單片機(jī)響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL,執(zhí)行該指令的過程包
括:首先把(PC)的內(nèi)容壓入堆棧,以進(jìn)行斷點(diǎn)保護(hù),然后把長調(diào)用指令的16
位地址送(PC),使程序執(zhí)行轉(zhuǎn)向(程序存儲器)中的中斷地址區(qū)。
42、編寫出外部中斷1為跳沿觸發(fā)的中斷初始化程序。
答:SETBIT1
SETBEX1
SETBEA
43、在MCS-51中,需要外加電路實(shí)現(xiàn)中斷撤除的是:(D)
A、定時中斷B、脈沖方式的外部中斷
C、外部串行中斷D、電平方式的外部中斷
44、下列說法正確的是:(ACD)
A、同一級別的中斷請求按時間的先后順序響應(yīng)。
B、同一時間同一級別的多中斷請求,將形成阻塞,系統(tǒng)無法響應(yīng)。
C、低優(yōu)先級中斷請求不能中斷高優(yōu)先級中斷請求,但是高優(yōu)先級中斷請求
能中斷低優(yōu)先級中斷請求。
D、同級中斷不能嵌套。
45、中斷服務(wù)子程序返回指令RETI和普通子程序返回指令RET有什么區(qū)別?
答:RETI指令在返回的同時清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷
46、某系統(tǒng)有3個外部中斷源1、2、3,當(dāng)某一中斷源變?yōu)榈碗娖綍r,便要求
CPU進(jìn)行處理,它們的優(yōu)先處理次序由高到低依次為3、2、1,中斷處理程序
的入口地址分別為10(X)H,1100H,1200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)
至相應(yīng)的中斷處理程序的入口即可)。
答:若僅在/INTO引腳接3個外部中斷源.
ORG0000H
LJMPMAIN
ORG0003H
LJMPINT_EX0
ORG0030H
MAIN:CLRITO;采用低電平有效(yduxgo)中斷
SETBEXO;允許(yMx⑴外部中斷0
SETBEA;插入(ch白2)用戶程序
WAIT:MOVPCON,#01H;單片機(jī)進(jìn)入休眠方式等待(旄ngd消中斷
NOP
LJMPWAIT;以下為外部中斷(zhCngd%n)O服務(wù)子程序
INT_EXO:JNBP1ANEXT1;判斷是不是1號中斷
LJMPINTJR1;跳轉(zhuǎn)到1號中斷處理程序
NEXT1:JNBP1.1,NEXT2;判斷是不是2號中斷
LJMPINTJR2;跳轉(zhuǎn)到2號中斷處理程序
NEXT2:UMPINT.IR3;跳轉(zhuǎn)到3號中斷處理程序
ORG1000H
INT」R1:;插入相應(yīng)中斷處理程序
RETI;中斷返回
ORG1100H
INT」R2:;插入相應(yīng)中斷處理程序
RETI;中斷返回
ORG1200H
INT」R3:;插入相應(yīng)中斷處理程序
RETI;中斷返回
47、如果采用晶振的頻率為3MHz,定時器/計(jì)數(shù)器工作方式0、1、2下,其最
大的定時時間為多少?解答:因?yàn)闄C(jī)器周期,所以定時器/計(jì)數(shù)器工作方式0
下,其最大定時時間為;
同樣可以求得方式1下的最大定時時間為262.144ms;方式2下的最大定時時間
為1024mso
48、定時/計(jì)數(shù)器用作定時器時,其計(jì)數(shù)脈沖由譙提供?定時時間與哪些因素有
關(guān)?
答:定時/計(jì)數(shù)器作定時時,其計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時鐘信號12
分頻后提供。定時時間與時鐘頻率和定時初值有關(guān)。
49、定時/計(jì)數(shù)器用作定時器時,對外界計(jì)數(shù)頻率有何限制?
答:由于確認(rèn)1次負(fù)跳變要花2個機(jī)器周期,即24個振蕩周期,因此外部輸入
的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。
50、采用定時器/計(jì)數(shù)器T0對外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)100個脈沖后,T0轉(zhuǎn)
為定時工作方式。定時1ms后,又轉(zhuǎn)為計(jì)數(shù)方式,如此循環(huán)不止。假定MCS-
51單片機(jī)的晶體振蕩器的頻率為6MHz,請使用方式1實(shí)現(xiàn),要求編寫出程
序。
解答:定時器/計(jì)數(shù)器TO在計(jì)數(shù)和定時工作完成后,均采用中斷方式工作。除
了第一次計(jì)數(shù)工作方式設(shè)置在主程序完成外,后面的定時或計(jì)數(shù)工作方式分別
在中斷程序完成,用一標(biāo)志位識別下一輪定時器/計(jì)數(shù)器T0的工作方式。編寫
程序如下:
ORG0000H
LJMPMAIN
ORG000BH
LJMPITOP
MAIN:MOVTMOD,#06H;定時器/計(jì)數(shù)(jishCi)器TO為計(jì)數(shù)方式2
MOVTL0,#156;計(jì)數(shù)(jishCj)lOO個脈沖的初值賦值
MOVTH0,#156
SETBGATE;打開(加kGi)計(jì)數(shù)門
SETBTRO;啟動(qiddng)TO,開始計(jì)數(shù)
SETBETO;允許(yCinxCOTO中斷
SETBEA;CPU開中斷
CLRF0;設(shè)置下一輪為定時方式的標(biāo)志位
WAIT:AJMPWAIT
ITOP:CLREA;關(guān)中斷
JBF0,COUNT;F0=l,轉(zhuǎn)計(jì)數(shù)方式設(shè)置
MOVTMOD,#OOH;定時器/計(jì)數(shù)器TO為定時方式0
MOVTH0,#0FEH;定時1ms初值賦值
MOVTLO,#OCH
SETBEA
RETI
COUNT:MOVTMOD,#06H
MOVTL0,#156
SETBEA
RETI
51、定時器/計(jì)數(shù)器的工作方式2有什么特點(diǎn)?適用于哪些應(yīng)用場合?
答:定時器/計(jì)數(shù)器的工作方式2具有自動恢復(fù)初值的特點(diǎn),適用于精確定時,
比如波特率的產(chǎn)生。
52、編寫程序,要求使用TO,采用方式2定時,在P1.0輸出周期為4()()臚,占
空比為1():1的矩形脈沖。
解答:根據(jù)題意,從PLO輸出的矩形脈沖的高低電平的時間為10:1,則高低電
平的時間分別為363.63口和36.372。如果系統(tǒng)采用6MHz晶振的話,,因此
高低電平輸出取整,則約為364口和36口。編寫程序如下:
ORG0000H
LJMPMAIN
ORG000BH
LJMPITOP
MAIN:MOVTMOD,#()2H;定時器/計(jì)數(shù)器TO為定時方式2
MOVTL0,#4AH;定時364Hs初值賦值
SETBTRO;啟動TO,開始計(jì)數(shù)
SETBETO;允許TO中斷
SETBEA;CPU開中斷
SETBP1.0
WAIT:AJMPWAIT
ITOP:CLREA
CLRP1.0;關(guān)中斷
MOVR0,#9
DLY:DJNZR0,DLY;延時26ns
MOVTL0,#4AH;定時(dingshi)364Hs初值賦值
SETBP1.0
SETBEA
RETI
53、一個定時器的定時時間有限,如何實(shí)現(xiàn)(shix匕n)兩個定時器的串行定時,
來實(shí)現(xiàn)較長時間的定時?
答:方式(危儂的一,在第一個定時器的中斷(zhGngduM程序里關(guān)閉本定時器
的中斷程序,設(shè)置和打開另一個定時器;在另一個定時器的中斷程序中關(guān)閉本
定時中斷,設(shè)置和打開另一個定時器。這種方式的定時時間為兩個定時器定時
時間的和。
方式最呻喻二、一個作為定時器,在定時中斷后產(chǎn)生一個外部計(jì)數(shù)脈沖(比
如由P1.0接INTO產(chǎn)生),另一個定時器工作在計(jì)數(shù)方式。這樣兩個定時器的
定時時間為一個定時器的定時時間乘以另一個定時器的計(jì)數(shù)值。
54、當(dāng)定時器T0用于方式3時,應(yīng)該如何控制定時器T1的啟動和關(guān)閉?
答:由T1(P3.5)口控制定時器T1的啟動和關(guān)閉。
55、定時器/計(jì)數(shù)器測量某正單脈沖的寬度,采用何種方式可得到最大量程,若
時鐘頻率為6MH7,求允許測量的最大脈沖寬度是多少2
答:采用方式1定時工作方式。最大脈沖寬度為131.072ms。
56、編寫一段程序,功能要求為:當(dāng)PLO引腳的電平正跳變時,對PL1的瑜入
脈沖進(jìn)行計(jì)數(shù);當(dāng)PL2引腳的電平負(fù)跳變時,停止計(jì)數(shù),并將計(jì)數(shù)值寫入
RO、R1(高位存R1,低位存R0)。
解答:將PL1的輸入脈沖接入INTO,即使用TO計(jì)數(shù)器完成對Pl.1口的脈沖計(jì)
數(shù)。編寫程序如下:
ORG0000H
LJMPMAIN
ORG000BH
LJMPITOP
MAIN:JNBP1.0,MAIN
MOVTMODJ05H;定時器/計(jì)數(shù)器TO為計(jì)數(shù)方式1
SETBTRO;啟動TO,開始計(jì)數(shù)
SETBETO;允許TO中斷
SETBEA;CPU開中斷
WAIT:JBPl.2,WAIT
CLREA
CLRTRO
MOVR1,THO
MOVRO,TLO
AJMP$
ITOP:INCR2
RETI
57、THX與TLX(X=O,1)是普通寄存器還是計(jì)數(shù)器?其內(nèi)容可以隨時用指令更
改嗎?更改后的新值是立即刷新還是等當(dāng)前計(jì)數(shù)器計(jì)滿后才能刷新?
答:THX與TLX(X=()/)是由特殊功能寄存器構(gòu)成的計(jì)數(shù)器,其內(nèi)容可以隨時
用指令更改,更改后的新值是立即刷新。但在讀(z*idO)THX、TLX的值時,應(yīng)
該先讀THX值,后讀TLX,再讀THX。若兩次讀得THX相同,則可確定讀得
的內(nèi)容正確。若前后兩次讀得的THX有變化,再重復(fù)上述過程。
58、判斷下列的說法(shuGfm)是否正確?
⑴特殊功能寄存器SCON,與定時器/計(jì)數(shù)器的控制(kdmgzhi)無關(guān)。(對)
⑵特殊功能寄存器TCON,與定時器/計(jì)數(shù)器的控制(k6ngzhi)無關(guān)。(錯)
⑶特殊(SshCi)功能寄存器IE,與定時器/計(jì)數(shù)器的控制無關(guān)。(錯)
(4)特殊功能寄存器TMOD,與定時器/計(jì)數(shù)器的控制無關(guān)。(錯)
59、串行數(shù)據(jù)傳送的主要優(yōu)點(diǎn)和用途是什么?
答:優(yōu)點(diǎn):串行數(shù)據(jù)傳送的主要優(yōu)點(diǎn)是硬件接口簡單,接口端口少(2個)。
用途:主要用于多個單片機(jī)系統(tǒng)之間的數(shù)據(jù)通信。
60、簡述串行口接收和發(fā)送數(shù)據(jù)的過程。
答:以方式一為例。發(fā)送:數(shù)據(jù)位由TXT端輸出,發(fā)送1幀信息為1()為,當(dāng)
CPU執(zhí)行1條數(shù)據(jù)寫發(fā)送緩沖器SBUF的指令,就啟動發(fā)送。發(fā)送開始時,內(nèi)
部發(fā)送控制信號/SEND變?yōu)橛行?,將起始位想TXD輸出,此后,每經(jīng)過1個
TX時鐘周期,便產(chǎn)生1個移位脈沖,并由TXD輸出1個數(shù)據(jù)位。8位數(shù)據(jù)位
全部完畢后,置1中斷標(biāo)志位TI,然后/SEND信號失效。接收:當(dāng)檢測到起始
位的負(fù)跳變時,則開始接收。接受時,定時控制信號有2種,一種是位檢測器
采樣脈沖,它的頻率是RX時鐘的16倍。也就是在1位數(shù)據(jù)期間,有16個采
樣脈沖,以波特率的16倍的速率采樣RXD引腳狀態(tài),當(dāng)采樣到RXD端從1到
0的跳變時就啟動檢測器,接收的值是3次連續(xù)采樣,取其中2次相同的值,以
確認(rèn)是否是真正的起始位的開始,這樣能較好地消除干擾引起的影響,以保證
可靠無誤的開始接受數(shù)據(jù)。
61、幀格式為1個起始位,8個數(shù)據(jù)位和1個停止位的異步串行通信方式是方
式⑴。
62、串行口有幾種工作方式?有幾種幀格式?各種工作方式的波特率如何確
定?
答:串行口有3種工作方式:方式0、方式1、方式2、方式3;有3種幀格
式,方式2和3具有相同的幀格式;方式0的發(fā)送和接收都以fosc/12為固定波
特率,
方式1的波特率=2SMOD/32x定時器T1的溢出率
方式2的波特率=2SMOD/64xfosc
方式3的波特率=2SMOD/32x定時器T1的溢出率
63、假定串行口串行發(fā)送的字符格式為1個起始位,8個數(shù)據(jù)位,1個奇校驗(yàn)
位,1個停止位,請畫出傳送字符“A”的幀格式。
答:起始位01000000校驗(yàn)位停止位
64、判斷下列說法是否正確:
(1)串行口通信的第9數(shù)據(jù)位的功能可由用戶定義。(對)
(2)發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的內(nèi)容在SCON寄存器的TB8位預(yù)先準(zhǔn)備好的。
(對)
(3)串行通訊發(fā)送時,指令把TB8位的狀態(tài)送入發(fā)送SBUF。(錯)
(4)串行通訊接收到的第9位數(shù)據(jù)送SCON寄存器的RB8中保存。(對)
(5)串行口方式(的ngsh〕)l的波特率是可變的,通過定時器/計(jì)數(shù)器T1的溢出
設(shè)定。(對)
65、通過(tdnggi心)串行口發(fā)送或接收數(shù)據(jù)時,在程序中應(yīng)使用:(選(3))
(1)MOVC指令(zhlUng)(2)MOVX指令(3)MOV指令(4)XCHD指
令
66、為什么定時器/計(jì)數(shù)器T1用做串行口波特率發(fā)生器時,采用3iy6ng)方式
2?若已知時鐘頻率、通訊波特率,如何計(jì)算其初值?
解答5兔臺):因?yàn)槎〞r器/計(jì)數(shù)器在方式2下,初值可以自動重裝,這樣在做串
口波特率發(fā)生器設(shè)置時,就避免了重裝參數(shù)的操作。
已知時鐘頻率、通訊波特率,根據(jù)公式:,計(jì)算出初值。
67、串行口工作方式1的波特率是:(3)
(1)固定的,為。
(2)固定的,為。
(3)可變的,通過定時器/計(jì)數(shù)器T1的溢出率設(shè)定。
(4)固定的,為。
68、在串行通訊中,收發(fā)雙方對波特率的設(shè)定應(yīng)該是(相等)的。
69、若晶體振蕩器為11.0592MHz,串行口工作于方式1,波特率為4800b/s,
寫出用T1作為波特率發(fā)生器的方式控制字和計(jì)數(shù)初值。
解答:初值計(jì)算:查閱P148表7-2可得,F(xiàn)AH
控制字:ANLTMOD,#OFOH
ORLTMOD,#20H
MOVTH1,#OFAH
MOVTL1,#OFAH
MOVSCON,#40H
70、簡述利用串行口進(jìn)行多機(jī)通訊的原理。
解答:參考P146頁。
71、使用3031的串行口按工作方式1進(jìn)行串行數(shù)據(jù)通訊,假定波特率為
2400b/s,以中斷方式傳送數(shù)據(jù),請編寫全雙工通訊程序。
解答:自己解答
72、使用8031的串行口按工作方式3進(jìn)行串行數(shù)據(jù)通訊,假定波特率為
1200b/s,第9數(shù)據(jù)位作奇偶校驗(yàn)位,以中斷方式傳送數(shù)據(jù),請編寫通訊程序。
解答:自己解答
73、某8031串行口,傳送數(shù)據(jù)的幀格式為1個起始位(0),7個數(shù)據(jù)位,1個
偶校驗(yàn)位和1個停止位(1)組成。當(dāng)該串行口每分鐘傳送1800個字符時,試
計(jì)算出波特率。
解答:串口每秒鐘傳送的字符為:18()()/6()=3()個字符/秒
所以波特率為:3()個字符/秒xl()位/個字符=30()b/s
74、為什么MCS-51串行口的方式。幀格式?jīng)]有起始位(0)和停止位(1)?
解答:串行口的方式0為同步移位寄存器輸入輸出方式,常用于外接移位寄存
器,以擴(kuò)展并行I/O口,一般不用于兩個MCS-51之間的串行通信。該方式以
fosc/12的固定波特率從低為位到高位發(fā)送或接受數(shù)據(jù)。
75、單片機(jī)存儲器的主要功能是存儲(程序)和(數(shù)據(jù))。
76、試編寫一個程序i例如將05H和06H拼為56H),設(shè)原始數(shù)據(jù)放在片外數(shù)
據(jù)區(qū)2001H單元和2002H單元中,按順序拼裝后的單字節(jié)數(shù)放入2002H。
解:本題主要考察了對外部存儲器的讀、寫操作,同學(xué)們只要記住正確使用
MOVX指令(zhiMg)就可以了。編程思路:首先讀取2001H的值,保存在寄存
器A中,將寄存器A的高四位和低四位互換,再屏蔽掉低四位然后將寄存器A
的值保存到30H中,然后再讀取2002H的值,保存在寄存器A中,屏蔽掉高四
位,然后將寄存器A的值與30H進(jìn)行或運(yùn)算,將運(yùn)算后的結(jié)果保存在2002H
中。
ORG0000H
MAIN:MOVDPTR,#2001H;設(shè)置數(shù)據(jù)(shCijCj)指針的初值
MOVXA,@DPTR;讀取2001H的值
SWAPA
ANLA,#OFOH;屏蔽掉低四位(siw4i)
MOV30H,A;保存(bmocUn)A
INCDPTR;指針指向(zhixi/ng)下一個
MOVXA,@DPTR;讀取2002H的值
ANLA,#()FH;屏蔽掉高四位
ORLA,30H;進(jìn)行拼裝
MOVX@DPTR,A;保存到2002H
END
77、假設(shè)外部數(shù)據(jù)存儲器2000H單元的內(nèi)容為8QH,執(zhí)行下列指令后:
MOVP2,#2()H
MOVRO,#()()H
MOVXA,@R0
累加器A中的內(nèi)容為(80H)。
78、編寫程序,將外部數(shù)據(jù)存儲器中的4000H一0FFH單元全部清零“
解:本題主要考察了對外部數(shù)據(jù)塊的寫操作;編程時只要注意循環(huán)次數(shù)和
MOVX指令的使用就可以了。
ORG0000H
MAIN:MOVA,#0;送預(yù)置數(shù)給A
MOVRO,#0FFH;設(shè)置循環(huán)次數(shù)
MOVDPTR,#4000H;設(shè)置數(shù)據(jù)指針的初值
LOOP:MOVX@DPTR,A;當(dāng)前單元清零
INCDPTR;指向下一個單元
DJNZRO,LOOP;是否結(jié)束
END
79、在MCS-51單片機(jī)系統(tǒng)中,外接程序存儲器和數(shù)據(jù)存儲器共16位地址線和
8位數(shù)據(jù)線,為何不會發(fā)生沖突?
解:因?yàn)榭刂菩盘柧€的不同:
外擴(kuò)的RAM芯片既能讀出又能寫入,所以通常都有讀寫控制引腳,記為0E和
WE。外擴(kuò)RAM的讀、寫控制引腳分別與MCS-51的RD和WR引腳相連。
外擴(kuò)的EPROM在正常使用中只能讀出,不能寫入,故EPROM芯片沒有寫入
控制引腳,只有讀出引腳,記為OE,該引腳與MCS-51單片機(jī)的PSEN相連。
80、區(qū)分MCS-51單片機(jī)片外程序存儲器和片外數(shù)據(jù)存儲器的最可靠的方法
是:(3,4)
(1)看其位于地址范圍的低端還是高段
(2)看其離MCS-51芯片(xlnp論n)的遠(yuǎn)近
(3)看其芯片的型號(xingh^o)是ROM還是RAM
(4)看其是與RD信號連接。的nji@)還是與PSEN信號連接
81、在存儲器擴(kuò)展(ku6zh*n)中,無論是線選法還是譯碼法,最終都是為了擴(kuò)展
芯片的(片選)端提供?gdng)信號。
82、請寫出圖8-18中4片程序存儲器27128各自所占的地址空間。
解:圖中采用了譯碼法。4片地址分別為0000H-3FFFH、4000H-7FFFH.
8000H-BFFFH、C000H-FFFFHo
83、起止范圍為0000H-3FFFH的存儲器的容量是(16)KB。
解:本題屬于常識題,在第十一題時將有解答。
84、在MCS-51中,PC和DPTR都用于提供地址,但PC是為了訪問(程序)
存儲器提供地址,而DPTR是為訪問(數(shù)據(jù))存儲器提供地址。
85、11根地址線可選(2KB)個存儲單元,16KB存儲單元需要(14)根地址
線。
解:通過總結(jié)所學(xué)知識,我們得到以下幾個信息:2KB的存儲器需要11根地址
線,地址為0000H-07FFH;4KB的存儲器需要12根地址線,地址為0000H-
OFFFH;
8KB的存儲器需要13根地址線,地址為0000H-1FFFH;16KB的存儲器需要14
根地址線,地址為0000H-3FFFH;32KB的存儲器需要15根地址線,地址為
0000H-7FFFH;64KB的存儲器需要16根地址線,地址為OOOOH-FFFFH(以上
存儲器的首地址均默認(rèn)為0000H)。
86、32KBRAM存儲器的首地址若為2000H,則末地址為(9FFF)Ho
解:由上題總結(jié)得出,32KBRAM存儲器的大小為0000H-7FFFH,所以只要在
后面加上2000H即得到正確答案。
87、I/O接口和I/O端口有什么區(qū)別?I/O接口的功能是什么?
解:I/O端口簡稱I/O口,常指I/O接口電路中具有端口地址的寄存器或緩沖
器。I/O接口是指單片機(jī)與外設(shè)間的I/O接口芯片。
I/O接口功能:一.實(shí)現(xiàn)和不同外設(shè)的速度匹配;二.輸出數(shù)據(jù)緩存;三.輸入數(shù)據(jù)
三態(tài)緩沖。
88.常用的I/。接口編址有哪兩種方式?它們各有什么特點(diǎn)?MCS-51的I/。端
口編址采用的是哪種方式?
解:一.獨(dú)立編址方式:獨(dú)立編址方式就是I/O地址空間和存儲器地址空間分開
編址。獨(dú)立編址的優(yōu)點(diǎn)是I/O地址空間和存儲器地址空間相互獨(dú)立,界限分
明。但是,卻需要設(shè)置一套專門的讀寫I/O的指令和控制信號。二.統(tǒng)一編址方
式:這種編址方式是把I/O端口的寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一進(jìn)
行編址。統(tǒng)一編址的優(yōu)點(diǎn)是不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器
的指令進(jìn)行I/O操作,簡單、方便且功能強(qiáng)大。MCS-51單片機(jī)使用的是I/O和
外部數(shù)據(jù)存儲器RAM統(tǒng)一編址的方式。
89、I/O數(shù)據(jù)傳送有哪幾種傳送方式?分別在哪些場合下使用?
解:一?同步傳送方式:同步傳送又稱為有條件傳送。當(dāng)外設(shè)速度可與單片機(jī)速
度相比擬時,常常采用同步傳送方式,最典型的同步傳送就是單片機(jī)和外部數(shù)
據(jù)存儲器之間的數(shù)據(jù)傳送。二.查詢傳送方式:查詢傳送方式又稱為有條件傳
送,也稱異步傳送。單片機(jī)通過查詢得知外設(shè)準(zhǔn)備好后,再進(jìn)行數(shù)據(jù)傳送。異
步傳送的優(yōu)點(diǎ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ù)完成后又返
回主程序繼續(xù)執(zhí)行。因此,采用中斷方式可以大大提高單片機(jī)的工作效率。
90、編寫程序,采用8255A的C口按位置位/復(fù)位控制(kdngzhi)字,將PC7置
0,PC4置1,(已知8255A各端口的地址為7FFCH-7FFFH)。
解:本題主要考察(k^och分對8255A的C口的操作。其方式控制字的高位為0
時,低四位對C口進(jìn)行置位。由題目我們得到了方式控制字的地址為7FFFH。
ORG0000H
MAIN:MOVDPTR,#7FFFH;控制(kbngzhi)字寄存器地址送DPTR
MOVA,#0EH;將PC7置0
MOVX@DPTR,A
MOVA,#09H;將PC4置1
MOVX@DPTR,A
END
91、8255A的方式控制字和C口按位置位/復(fù)位控制字都可以(k?T)寫入8255A
的同一控制寄存器,8255A是如何區(qū)分這兩個控制字的?
解:8255A通過它們的最高位來進(jìn)行判斷,最高位為1時,這時8255A認(rèn)為這
是方式控制(kbngzhi)字,否則認(rèn)為是C口按位置,立/復(fù)位控制字
92、8155H的端口都有哪些?哪些引腳決定端口的地址?引腳T1MERIN和
TIMEROUT的作用是什么?
解:8155H的端口有以下幾種:命令/狀態(tài)寄存器、A口、B口、C口、計(jì)數(shù)器和
RAM單元。引腳IO/M、A2、Al、A0決定端口地址。TIMERIN是計(jì)數(shù)器輸入
線,輸入的脈沖上跳沿用于對8155H片內(nèi)的14位計(jì)數(shù)器減一。TIMEROUT為
計(jì)數(shù)器輸入線。當(dāng)14位計(jì)數(shù)器減為()時就可以在該引線上輸出脈沖或方波,輸
出的信號的形狀與所選的計(jì)數(shù)器工作方式有關(guān)。
93、判斷下列說法是否正確,為什么?
(1)由于8155H不具有地址鎖存功能,因此在與8031的接口電路中必須加地
址鎖存器。
(2)在8155H芯片中,決定端口和RAM單元編址的信號線是AD7-AD0和
WR。
(3)8255A具有三態(tài)緩沖器,因此可以直接掛在系統(tǒng)的數(shù)據(jù)總線上。
(4)8255A的B口可以設(shè)置成方式2。
解:(1)8155H具有地址鎖存功能;
(2)引腳IO/M、A2、Al、A0決定端口地址和RAM單元編址;
(3)8255A不具有三態(tài)緩沖器;
(4)8255A的B口只可以設(shè)置成方式0和方式1。
94、現(xiàn)有一片8031,擴(kuò)展了一片8255A,若把8255A的B口用做輸入,B口的
每一位接一個開關(guān),A口用作輸出,每一位接一個發(fā)光二極管,請畫出電路原
理圖,并編寫出B口某一位接高電平時,A口相應(yīng)位發(fā)光二極管被點(diǎn)亮的程
序。
解:由于電路圖比較簡單,在這里就畫了,大家可以參考圖9-10,A口每一位
接二極管的正極,二極管的負(fù)極接低。B口每一位接一開關(guān),開關(guān)直接接地。
這樣我們只需要將讀到的B口的值送給A口就可以滿足題目(UmCi)要求了。
ORG0000H
MIAN:MOVA,#1000001OB;A口出,B口入
MOVDPTR,#OFF7FH;控制(kbngzhl)地址送DPTR
MOVX@DPTR,A;送方式(侑ngshi)控制字
MOVDPTR,#0FF7DH;B口地址(dizhD送DPTR
MOVXA,@DPTR;讀開關(guān)(k睡嗚n)信息
MOVDPTR,#()FF7CH;AD地址送DPTR
MOVX@DPTR,A;將信息反潰到二極管
END
95、假設(shè)X155H的TIMERTN引腳輸入的頻率為4MH7?問X155H的最大定時
時間是多少?
解:8155H記數(shù)器的初值范圍是:3FFFH-2H。當(dāng)頻率為4MHz,初值為3FFFH
時,最大定時時間為:I6383/4E+6=0.00409575S
96、MCS-51的并行接口的擴(kuò)展有多種方式,在什么情況下,采用擴(kuò)展8155H
比較合適?什么情況下,采用擴(kuò)展8255A比較適合?
解:8255A具有3個8位的并行I/O口,3種工作方式,可通過編程改變其功
能,因而使用靈活方便,通用性強(qiáng),可作為單片機(jī)與多種外圍設(shè)備連接時的中
間接口電路。8155H芯片內(nèi)包含有256B的RAM存儲器(靜態(tài)),2個可編程
的八位并行口PA和PB,1個可編程的6位并行口PC,以及1個14位減法定
時器/計(jì)數(shù)器。所以它經(jīng)常用于單片機(jī)的外圍接口芯片。
97、假設(shè)8155H的TIMERIN引腳輸入的脈沖頻率為1MHz,請編寫出在8155H
的TIMEROUT引腳上輸出周期為10ms的方波的程序。
解:將1MHz的脈沖改變?yōu)?0ms的方波,這就讓我們想到了在數(shù)字電路里面
學(xué)到的分頻器。計(jì)算得出分頻前后頻率之比為10000:1,這樣我們只要將定時器
初值設(shè)置為64H就可以了。(假設(shè)I/O口地址為7F00H-7F05H)
START:MOVDPTR#7F04H;指針指向定時器低8位
MOVA,#64H;送初值給A
MOVX@DPTR,A;初值送給低8位
INCDPTR;指向高8位
MOVA,#40H;定時器方波輸出
MOVX@DPTF,A
MOVDPTR,#7F00H;指向命令/狀態(tài)口
MOVA,#()C2H;設(shè)定控制字
MOVX@DPTE,A;啟動定時器
END
98、為什么要消除按鍵的機(jī)械抖動?消除按鍵的機(jī)械抖動的方法有哪幾種?原
理是什么?
解:在按鍵的閉合和斷開過程中,由于開關(guān)的機(jī)械特性,導(dǎo)致了按鍵抖動的產(chǎn)
生。如果不消除按鍵的機(jī)械抖動,按鍵的狀態(tài)讀取將有可能出現(xiàn)(chQxijn)錯
誤。消除按鍵抖動一般是采用軟件或硬件去抖。軟件去抖的原理:在第一次檢
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年科學(xué)育兒知識與實(shí)操指南培訓(xùn)
- 2026年工程地質(zhì)勘察報(bào)告中的地質(zhì)模型構(gòu)建
- 2025年保倫筆試面試及答案
- 2025年高中語文人才引進(jìn)筆試及答案
- 2026年如何加強(qiáng)市場分析以提升投資決策
- 2025年內(nèi)蒙古烏海人事考試及答案
- 2025年重慶長壽區(qū)事業(yè)單位考試及答案
- 2025年自貢事業(yè)單位考試題目及答案
- 2025年云陽外國語筆試真題及答案
- 2026年數(shù)字資產(chǎn)安全防護(hù)指南培訓(xùn)
- 2025-2026學(xué)年人教版(新教材)小學(xué)數(shù)學(xué)二年級下冊(全冊)教學(xué)設(shè)計(jì)(附教材目錄P161)
- 委托市場調(diào)研合同范本
- 畜牧安全培訓(xùn)資料課件
- 2025年度黨支部書記述職報(bào)告
- 2026四川省引大濟(jì)岷水資源開發(fā)限公司公開招聘易考易錯模擬試題(共500題)試卷后附參考答案
- 2026年安徽糧食工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性考試備考試題及答案詳解
- 內(nèi)科學(xué)總論小兒遺傳代謝病課件
- 雨課堂學(xué)堂在線學(xué)堂云《中國電影經(jīng)典影片鑒賞(北京師范大學(xué))》單元測試考核答案
- 核電站防地震應(yīng)急方案
- 2025江西江新造船有限公司招聘70人模擬筆試試題及答案解析
- 重慶市豐都縣2025屆九年級上學(xué)期1月期末考試英語試卷(不含聽力原文及音頻答案不全)
評論
0/150
提交評論