單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)--楊加國(guó)主編-完整版答案_第1頁(yè)
單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)--楊加國(guó)主編-完整版答案_第2頁(yè)
單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)--楊加國(guó)主編-完整版答案_第3頁(yè)
單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)--楊加國(guó)主編-完整版答案_第4頁(yè)
單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)--楊加國(guó)主編-完整版答案_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1單片機(jī)原理與應(yīng)用及C51程序設(shè) 計(jì)-楊加國(guó)主編-完整版答案單片機(jī)原理與應(yīng)用及C51程序設(shè)計(jì)第一章 酗岀下F瘤特*t1廉磁、ff (t計(jì)算機(jī)才長(zhǎng)曲£低)*+15-89-6+112-:÷451 -ODIOl)01. -00L0 IDl.(+45 1 b-D010 ) I LdEPJ -IIo)IOOl. L P門(mén)嵐 IOlOallOH SeJ i-ooo-61-10OOOli 0.( -61 J-l 1 IIIOoIt C -fi hi IIlIelO+L12) DlllooGof t-4iJ K-OllIoQoOf +J3 *1- 011100002 脂昭下列#持忒訶斯機(jī)旳

2、爭(zhēng)時(shí)表示海式*AfiEN dfJ F mdM匚S-5l片杠式娥/1牛部錄曲歲F甞:MCS 單姑機(jī)圭妥由禍下部-fej :吋種電密、中J¾lf(CPU),存儲(chǔ)器(E.AMR.OM),定計(jì)藪 器,并行養(yǎng)口 r串行援口、中斷蘇軌矗一些特硃勵(lì)離窈存器飾FJ0 MCS-51-!tH YiW 舍罠是件也 了 MCS-SIa4JS卑存8PSWl ijj5DT D< D D Ce 皿 D】 DG-C-I AC Fo RSL RSO OVPX* 下 iCCPSW.') n&ft.ACiPSW鞘到t&或催位可標(biāo)志輕rccr&w <);用戶(hù)標(biāo)芯C, f,5戶(hù)直己

3、九罠的標(biāo)忑匕EI5】.RSOCPSW.4, PSWJ)I酋存崙渥選擇應(yīng).可用執(zhí)柞習(xí)應(yīng)盛睛再.煒于從匹Sa王作寄申褂中選龍當(dāng)前的工作奇 存轄第.OV(PSW.2)満岀際盂弧 在加柱或減袪運(yùn)算時(shí)”如話昇的結(jié)睪趣出述二進(jìn)制的艷風(fēng) 則X置1標(biāo)走満出, 否理Qf淆芋P(PSW D)I奇儻標(biāo)志祗.用于記錄抬夸執(zhí)行右霜初養(yǎng)A中1的牛J的奇偶性"若黑加器ARl質(zhì)牛栽為奇. WP置 若遐訓(xùn)謂入中1的小獻(xiàn)詵.刪P畢零.; P<W 1 p 可誼帀產(chǎn)礎(chǔ)申 E051的需4旳壞欽t存穗盎耳汨沖尤個(gè)區(qū)域J各礙什么特質(zhì)片內(nèi)救第埠尋蕃牲駒能可此務(wù)庶且-卜部洽匸丁乍奇存蓉自區(qū)、赴尋址氏、-ramE和徉蘇功 區(qū).其

4、中HKo工件奮存器蟲(chóng)區(qū),GOH-IFn單元.可RCR7ffi÷問(wèn),檢尋址區(qū).2ftH-2TH單 7t,可按悅方式訪1引-般RAMAr 3OH-7FH單孫 tl<j 0S到廿單口 將駅瓦勰需存器區(qū)桂于切H-FFH單 元”4 M亡咅-幻單+嘰耐用枉此理過(guò)胖:堆祐是舷噸入茹出*后扎先出的康則進(jìn)稈營(yíng)理附一農(nóng)存轄區(qū)L CS-51單片機(jī)的堆桂是向上空煤型的*存入麴 據(jù)是從地MIK端向高端延悻.取出t據(jù)是從地址高端向低端延憚<入tfffiftlL字節(jié)為單竝的.ftf SPtf 前內(nèi)容免自S加1,矮捂再把匏據(jù)1SP計(jì)霸?xún)沾袔臟出能時(shí),ftSPRl單元的叢帯耽出,爵后再把客P楕 針佻內(nèi)C

5、E1- 120# 41H 73H 45H 4EH 64H 66H 4AH "H 6DH 64H 73H 76H 31H 32H 30H3 ? t7 .是把徹坐討畀機(jī)申的鍛妣理筋-護(hù)健軾To越口、足附如訶StJT f rfo h tf < S!-電踣芯片上爵威柏撤愛(ài)計(jì)莽atttt *KLa4. K U*A件玄?諄】主藍(lán)特點(diǎn)如"F,)左再儲(chǔ)舉話構(gòu)上,草片機(jī)的存艦器用用pffiIlam話構(gòu):) 吃芯月引上.丸常井呆用井鬥蔦坤技卞-) 衽內(nèi)IP資梯訪冋上”不同存殊或龍需存尋(課陽(yáng)的形式4)在16令貝班上,禾用直網(wǎng)擔(dān)雄的杓令廉紙5J 內(nèi)部Ijti舊卑眾一個(gè)寶颶工的厲行援口時(shí)也片

6、機(jī)有惺坐旳外帶擴(kuò)展憐才5<.tl*) ± JSJfI.¾單機(jī)Ml DT業(yè)自J 2) 龍儀器儻褻* 3)計(jì)鼻機(jī)>b¾接口 4)露舅包器 t用.陰能彌故系統(tǒng)、并行爭(zhēng)利處理茶妍和局詡陽(yáng)堪殺妊。第二章iU< ! OjX 機(jī)射外啣總或 計(jì)二關(guān) WT齧;MCS-51+XM-32POit 由Po口經(jīng)地址招供低砸(A2A臥 PgSAI5S)IJ.數(shù)據(jù)鼠寬 :.IPDBUL T2J由第二功離棗東下的卩口翻聊只獨(dú)立的控制S* EA. ALnPSENt6 什名是機(jī)雅周 MCS-51U -4Ufe÷*+W?:機(jī)裁周期機(jī)尋周期單斤機(jī)的亙且拽作周期.趙個(gè)機(jī)器周期S

7、1. “、- 566狀怎.毎牛式恚包含鬲拍P-P2.煜一拍為一心町怦匡軀龐葯周期h因此* -牛機(jī)疇貝期尅言門(mén)牛時(shí)神胃期F丹炭軒忖-囿”*1賞碩辛為門(mén)MH卄 胖工ALE信專(zhuān)施頻呼為多PY磐:2MIIZ第三章1. 在MCS-51單片機(jī)中,尋址方式有幾種?其中對(duì)片內(nèi) RAM可以用哪幾種尋址方式?對(duì)片外 RAM可以用哪幾種尋址方式?答:尋址方式可分為數(shù)的尋址和指令尋址,數(shù)的尋址有:常數(shù)尋址(立即尋址)、寄存器數(shù)尋址(寄存器尋址)、存儲(chǔ)器數(shù)尋址(直接 尋址方式、寄存器間接尋址方式、變址尋址方式)和位尋址,指令的 尋址有絕對(duì)尋址和相對(duì)尋址。片內(nèi)RAM尋址有:寄存器尋址、直接尋 址方式和寄存器間接尋址方式。

8、片外RAM尋址有:寄存器間接尋址方 式。2. 在對(duì)片外RAM單元尋址中,用Ri間接尋址與用DPTR可接尋址有什么區(qū)別?答:片外數(shù)據(jù)存儲(chǔ)器尋址中,用 Ri間接尋址只能訪問(wèn)低端的256字節(jié)單元,而用DPTR乍指針間接訪問(wèn)可訪問(wèn)整個(gè) 64K字節(jié)。3. 在位處理中,位地址的表示方式有哪幾種?答:1.直接位地址(00H0FF) 例如:20H2. 字節(jié)地址帶位號(hào)。例如:20H.3表示20H單元的3位。3. 特殊功能寄存器名帶位號(hào)。例如:P0.1表示P0 口的1位。4. 位符號(hào)地址。例如:TRo是定時(shí)/計(jì)數(shù)器T0的啟動(dòng)位。4. 寫(xiě)出完成下列操作的指令(1) Ro的內(nèi)容送到R1中。MoV A R0MoV R1

9、 A(2) 片內(nèi)RAM勺20H單元內(nèi)容送到片內(nèi) RAM勺40H單元中。MOV 40H 20H(3) 片內(nèi)RAM勺30H單元內(nèi)容送到片外 RAM勺50H單元中。MOV A 30HMOV R0 #50HMOVX R0A(4) 片內(nèi)RAM勺50H單元內(nèi)容送到片外 RAM勺3000H單元中。MOV A 50HMOV DPTR #3000HMOVX DPTFA(5) 片外RAM勺2000H單元內(nèi)容送到片內(nèi) RAM的20H單元中。MOV DPTR #2000HMOVX A DPTRMOV 20H A(6) 片外RAM勺1000H單元內(nèi)容送到片外 RAM的4000H單元中MOV DPTR #1000HMOV

10、X A DPTRMOV DPTR #4000HMOV DPTRA(7) RoM勺1000H單元內(nèi)容送到片內(nèi) RAM勺50H單元中。MOV A #0MOV DPTR #1000HMOVC A A+DPTRMOV 50H A(8) ROM勺1000H單元內(nèi)容送到片外 RAM勺1000H單元中。MOV A #0MOV DPTR #1000HMOVC A A+DPTRMOVX DPTFA5. 區(qū)分下列指令有什么不同?(1) MOV A 20H和 MOV A #20H答:前者源操作數(shù)是直接尋址,后者源操作數(shù)立即尋址。(2) MOV A 只和 MOVX A R1答:前者源操作數(shù)是訪問(wèn)片內(nèi)數(shù)據(jù)存儲(chǔ)器,后者源

11、操作數(shù)訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器低256字節(jié)。(3) MOV A R1 和 MOV A R1答:前者源操作數(shù)是寄存器尋址,后者源操作數(shù)寄存器間接尋址。(4) MOVX A Rft MOVX A DPTR答:前者源操作數(shù)是訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器低256字節(jié),后者源操作數(shù)訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器整個(gè) 64K字節(jié)。(5) MOVX A DPT和 MOVC A A+DPTR答:前者源操作數(shù)是訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器,后者源操作數(shù)訪問(wèn)程 序數(shù)據(jù)存儲(chǔ)器。6. 設(shè)片內(nèi) RAM勺(20H) =40H (40H) =10H (10H) =50H, (P1) =OCAH分析下列指令執(zhí)行后片內(nèi) RAM勺20H 40H 10H單元以及P1、

12、P2的內(nèi)容。MOV R0 #20H;R0=20HMOV A R0;A=40HMOV R1, A;R仁40HMOV A R1;A=10HMOV R0 P1;(40H) =0CAHMOV P2 P1;P2=0CAHMOV 10H A;(10H) =10HMOV 20H 10H;(20H) =10H結(jié)果:(20H) =10IH (10H) =10H (40H) =0CAH P2=0CAI和 P1=0CAH7. 已知(A) =02H, ( R1) =7FH) (DPTR =2FFCH 片內(nèi) RAM( 7FH) =70H 片外 RAM( 2FFEH =11H RO(2FFEH =64H 試分別寫(xiě)出以 下

13、各條指令執(zhí)行后目標(biāo)單元的內(nèi)容。(1)MoV A R1 結(jié)果:累加器 A等于70H(2)MoVX DPTFA 結(jié)果:片外 RAM(2FFCH單元等于02H(3)MOVC A A+DPTR結(jié)果: 累加器A等于64H(4)XCHD A R1 結(jié)果:累加器 A等于00H,片內(nèi)RAM(7FH)單元等于72H8 已知:(A) =78H (R1) =78H, (B) =04H CY=I 片內(nèi) RAM( 78H) =ODDH (80H) =6CH試分別寫(xiě)出下列指令執(zhí)行后目標(biāo)單元的結(jié)果和相應(yīng)標(biāo)志位的值。(1) ADD A, R1;累加器A等于55H,CY等 于 1(2) SUBB A,#77H;累加器A等于00

14、H,CY等 于 0(3) MUL AB;累加器A等于EOHB寄存器等于01H, CY等于1,OV等于0(4) DIV AB;累加器A等于1EH B寄存器等于00H, CYOV等于0(5) ANL 78H,#78H;片內(nèi)RAM(78H)單元等于58H(6) ORL A,#0FH;累加器A等于7FH(7) XRL 80H,A;片內(nèi)RAM(80H)等于14H9 .設(shè)(A) =83H (R0)= 17H, (17H) =34H,分析當(dāng)執(zhí)行完下面指令段后累加器A、Ra 17H單元的內(nèi)容。ANL A, #17H;A=03HORL 17H, A;(17H) =37HXRL A, R0;A=34HCPL A;

15、A=CBH結(jié)果:A=CBH (R0) =17H (17H) =37H10.寫(xiě)出完成下列要求的指令。(1) 累加器A的低2位清零,其余位不變。ANL A, #11111100B(2) 累加器A的高2位置“ 1”,其余位不變ORL A, #1100OoooB(3) 累加器的高4位取反,其余位不變。XRL A, #11110000B(4) 累加器第0位、2位、4位、6位取反,其余位不變。XRL A, #01010101B 11.說(shuō)明LJMP指令與AJMP指令的區(qū)別?答:LJMP指令后面提供的是16位目標(biāo)地址,所以可以轉(zhuǎn)移到64KB 程序存儲(chǔ)器的任意位置,缺點(diǎn)是:執(zhí)行時(shí)間長(zhǎng),字節(jié)數(shù)多。AJMP指令后帶

16、的是11位直接地址,執(zhí)行時(shí),先將程序指針PC的值加2(該指令長(zhǎng)度為2字節(jié)),然后把指令中的11位地址addr11 送給程序指針PC的低11位,而程序指針的高5位不變,只能在當(dāng)前2K范圍內(nèi)轉(zhuǎn)移。12.設(shè)當(dāng)前指令 CJNE A,#12H, 10H的地址是0FFEH若累加器 A的值為10H,則該指令執(zhí)行后的PC值為多少?若累加器A的值為12H 呢?答:指令執(zhí)行后的PC值為1011H若累加器A的值為12H貝S指 令執(zhí)行后的PC值為1001H13 .用位處理指令實(shí)現(xiàn) P1.4=P1.0( P1.1 P1.2 )/P1.3的邏輯功厶匕 能。程序:MOV C, P1.1ORL C, P1.2ANL C, P

17、1.0ORL C, /P1.3MOV P1.4, C14. 下列程序段匯編后,從1000H單元開(kāi)始的單元內(nèi)容是什么?ORG 1000HTAB DB 12H , 34HDS 3DW 5567H) 87H答:(1000H) =12H, (1001H) =34H, (1002H) =OolH (1003H) =00, (1004H) =00, (1005H) =67IH ( 1006H) =55H, (1007H) =87IH (1008H) =00H15. 試編一段程序,將片內(nèi)RAM勺20H 21H 22H單元的內(nèi)容依次存 入片外RAM的20H 21H 22H中。程序:MOV R0, #20HMO

18、V R2, #03HLOOP MOV A R0MOVX R0 AINC R0DJNZ R2, LOOPSJMP $16.編程實(shí)現(xiàn)將片外RAM的2000H2030H單元的內(nèi)容,全部搬到片內(nèi)RAM勺20H單元開(kāi)始位置,并將源位置清零。程序:MoV RO, #20HMoV DPTR #2000HMOV R2, #31HLOOPMOVX A,DPTRMOV ROAMOV A,#00MOVX DPTRAINCDPTRINCR0DJNZ R2, LOOPSJMP $17.編程將片外RAM的1000H單元開(kāi)始的100個(gè)字節(jié)數(shù)據(jù)相加,結(jié)果放于R7R6中。程序:MOV DPTR #1000HMOV R2, #1

19、00MOV R7, #00MOV R6, #00LOOPMOVX A, DPTRADD A, R6MoV R6, AMoV A, R7ADDC A, #0MOV R7, AINC DPTRDJNZ R2, LOOPSJMP $18.編程實(shí)現(xiàn)R4R3R2,結(jié)果放于R7R6R5K程序:ORG 0100HMUL1 MOV A R2MOV B R3MUL AB; R2 R3,結(jié)果的低字節(jié)直接存入積的R5MOV R5 A ;結(jié)果的高字節(jié)存入 R6中暫存起來(lái)MOV R6 BMUL2 MOV A R2MOV B R4MUL AB; R2 R4,結(jié)果的低字節(jié)與 R6相加后,再存入R6中ADD A,R6MoV

20、R6 A;結(jié)果的高字節(jié)加上進(jìn)位位后存入 R7MOV A B中ADDC A #00 MOV R7 A SJMP $19.編程實(shí)現(xiàn)把片內(nèi)RAM的20H單元的0位、1位,21H單元的2位、 3位,22H單元的4位、5位,23H單元的6位、7位,按原位置關(guān)系 拼裝在一起放于R2中。程序:MOVC20H.0MOVA.0,CMOVC20H.1MOVA.1,CMOVC21H.2MOVA.2,CMOVC21H.3MOVA.3,CMOVC22H.4MOVA.4,CMOVC22H.5MOV A.5,CMoVC, 23H.6MOVA.6, CMOVC, 23H.7MOV A.7 , CMOV R2 A20.用查表的

21、方法實(shí)現(xiàn)一位十六進(jìn)制數(shù)轉(zhuǎn)換成ASCIIO程序:(設(shè)一位十六進(jìn)制數(shù)放在 R2中,輪換的ASCII也放于R2中)C16STASCMOV DPTR #TABMOV A R2MOVC A A+DPTRMOVR2 ARETTAB DB30H, 31H, 32H, 33H, 34H, 35H, 36H, 37HDB 38H, 391H, 411H 42H, 43H, 44H, 45H, 46H21.編程統(tǒng)計(jì)從片外RAM2000開(kāi)始的100個(gè)單元中“0”的個(gè)數(shù)放于R2中。程序:MOVDPTR #2000HMOVR3, #100MOVR2, #00LOOPMOVX A , DPTRJNZNEXTINC R2N

22、EXT INC DPTRDJNZ R3, LooPSJMP $第四章4-2有哪里些數(shù)據(jù)類(lèi)型是MCS-51系列單片機(jī)直接支持的?答:見(jiàn)P89,基本類(lèi)型:字符型,整型,長(zhǎng)整型,浮點(diǎn)型,特殊功能 寄存器;構(gòu)造類(lèi)型:數(shù)組類(lèi)型,結(jié)構(gòu)體類(lèi)型,共用體,枚舉指針類(lèi)型空類(lèi)型4-3 C51特有的數(shù)據(jù)結(jié)構(gòu)類(lèi)型有哪些?答:特殊功能寄存器,位類(lèi)型4-4 C51的存儲(chǔ)類(lèi)型有幾種?它們分別表示的存儲(chǔ)器區(qū)域是什么?答:見(jiàn) P94頁(yè):存儲(chǔ)器類(lèi)型有:data, bdata,idata,pdata,xdata4-5 C51中bit位與Sbit位有什么區(qū)別?答:bit是定義一個(gè)一般的位變量;而使用 Sbit定義可位尋址字 節(jié)或是特殊

23、功能寄存器的的位,定義時(shí)必指定其位地址,其存儲(chǔ)空間 為內(nèi)部RAM中的位尋址區(qū)20H-2FH(位地址為:OoFH7F),4-6在C51通過(guò)絕對(duì)地址來(lái)訪問(wèn)的存儲(chǔ)器有幾種方式?答:使用C51運(yùn)行庫(kù)中預(yù)定義宏,通過(guò)指針訪問(wèn),使用C51擴(kuò)展關(guān)鍵字_at_4-7在C51中,中斷函數(shù)與一般函數(shù)有什么不同?答:見(jiàn)P112頁(yè):7點(diǎn)4-8按指定存儲(chǔ)器類(lèi)型和數(shù)據(jù)類(lèi)型,寫(xiě)出下列變量的說(shuō)明形式答:(1)在 data 定義字符變量 var11 : Char data var11(2) 在 idata 定義整型變量 var12 : Char idata var12(3) 在Xdata定義無(wú)符號(hào)字符數(shù)組 var114 : U

24、nSigned CharXdata var134(4) 在Xdata 定義一個(gè)指向無(wú)符號(hào)字符的指針px: Un Sig nedChar xdata* PX(5) 定義可尋址位變量flag: bit flag;(6) 定義特殊功能寄存器變量 p3: Sfr p3=0xb0(7) 定義特殊功能寄存器變量 SCoN Sfr SCoN = 0x98(8) 定義16位特殊功能寄存器變量 TO: sfr16 T0=0x8a (無(wú)法真正與實(shí)際相匹配)4-9設(shè)a=3,b=4,c=5,寫(xiě)出下列關(guān)系表達(dá)式或邏輯表達(dá)式的結(jié)果答:(1) a+b>c && b=c ( False )(2) ab+

25、c&&b-c(TrUe)(3) !(a>b) && !c 1 (TrUe)(4) !(a+b)+c-1 &&b+c/2 (TrUe)4-10 break 與Continue 語(yǔ)句的區(qū)別是什么?答:見(jiàn)P110;使用break語(yǔ)句可以跳出SWitCh和循環(huán)體,提前 結(jié)束循環(huán)而接著執(zhí)行循環(huán)結(jié)構(gòu)下面的語(yǔ)句continue語(yǔ)句使用在循環(huán)體結(jié)構(gòu)中,用于結(jié)束本次循環(huán),跳過(guò)該 語(yǔ)句下面尚未執(zhí)行的語(yǔ)句,直接進(jìn)行下一否執(zhí)行循環(huán)的判斷。4-11用分支結(jié)構(gòu)編程實(shí)現(xiàn),輸入” 1”時(shí)顯示“ A”,輸入” 2”時(shí)顯 示“ B”,輸入” 3”時(shí)顯示“ C,輸入” 4”時(shí)顯

26、示“ D',輸入” 5” 時(shí)結(jié)束。答:#include <reg52.h>#i nclude <stdoi.h>#defi ne UChar Un Sig ned Char#defi ne Uint Un Sig ned intUChar I;void mai n()SCanf( “ %d ,&i);SWtCh (i)CaSe 1: Printf(“ A”),break;CaSe 2: Printf(“ B”),break;CaSe 3: Printf(“C”),break;CaSe 4: Printf(“D,),break;CaSe 5: break;

27、default: Printf(“Error! ” );While(1);4-12輸入3無(wú)符號(hào)數(shù)據(jù),要求按由大到小的順序輸出解:#include <reg52.h>#i nclude <stdoi.h>#defi ne UChar Un Sig ned Char#defi ne Uint Un Sig ned intUint a,b,c;void mai n()Ui nt max, min, med;SCanf("%d%d%d", &a , &b, &c);if (a>b && b>c) max=a

28、; med=b; min=c;else if (a>b && b<c && a>c) max=a; med=c; min=b;else if (a>b && b<c && a<c) max=c; med=a; min=b;else if (b>a && b<c) max=c; med=b; min=a;else if (b>a && b>c && a>c) max=b; med=a; min=c;else max=b;

29、 med=c; min=a;Printf("%d>%d>%dn", max, med, min);4-13用3種循環(huán)結(jié)構(gòu)編寫(xiě)程序?qū)崿F(xiàn)輸出1-10的平方和解:#include <reg52.h>#i nclude <stdio.h>#defi ne UChar Un Sig ned Char#defi ne Uint Un Sig ned intUint sum=0;void mai nUChar i,Square;for (i=1;i<=10;i+)SUm = SUm +i*i;Printf( ” sum=%d', sum)

30、;i=1;while (i<=10)SUm = SUm +i*i;i+;Printf( ” sum=%d, sum);i=1;doSUm = SUm +i*i;i+;Printf( ” i%d2=%d," i,Square); while (i>10)Printf( ” sum=%d', sum); 4-14對(duì)一個(gè)5個(gè)元素的無(wú)符號(hào)字符數(shù)組按由大到小的順序輸出解:#in elude <reg52.h>#i nclude VStdio.h>#defi ne UChar Un Sig ned Char#defi ne Uint Un Sig ned i

31、ntUint i, n=5, j, m;Uint a=210,108,65,49,72;void mai n()for (i=1; i<n; i+)for (j=0; j Vn-i; j+)if (aj<aj+1)m=aj;aj=aj+1;aj+1=m;Pri ntf(" nThe SOrted in tegers:nn");for (i=0; i<n; i+)Prin tf("%6d",ai);4-15用指針實(shí)現(xiàn)輸入設(shè)備個(gè)無(wú)符號(hào)字符數(shù)據(jù)按由大到小的順序輸 出。#in elude <reg52.h>#i nclude <

32、;stdio.h>#defi ne UChar Un Sig ned Char#defi ne Uint Un Sig ned intUint i, n=5, j, m;Uint a=210,108,65,49,72;Uint *p;void mai n()P=a;for (i=1;i Vn ;i+)for (j=0;j Vn-i;j+)if (*(P+j)<*(P+j+1)m=*(p+j);*(P+j)=*(P+j+1);*(P+j+1)=m;Printf("nThe Sorted integers:nn");for (i=0; i<n; i+)Prin

33、 tf("%6d",ai);第六章1. 何為“準(zhǔn)雙向I/O接口”?在MCS-51單片機(jī)的四個(gè)并口中, 哪些是“準(zhǔn)雙向I/O接口”?答:準(zhǔn)雙向I/O接口是能實(shí)現(xiàn)輸入輸出功能,但在使用時(shí)只能從 輸入和輸出中選擇一個(gè)。MCS-51單片機(jī)的四個(gè)并口中P1、P2、P3是 準(zhǔn)雙向I/O接口。2. 80C51單片機(jī)內(nèi)部有幾個(gè)定時(shí)/計(jì)數(shù)器?它們由哪些功能寄存 器組成?怎樣實(shí)現(xiàn)定時(shí)功能和計(jì)數(shù)功能?答:80C51單片機(jī)內(nèi)部有兩個(gè) 16位的可編程定時(shí)/計(jì)數(shù)器,由THO,TLO,TH1,TL1,TMOD和TCON能寄存器組成。通過(guò)TMo中的C/T 位選擇對(duì)機(jī)器周期計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能,選擇對(duì)外部脈沖計(jì)

34、數(shù)實(shí)現(xiàn)計(jì)數(shù) 功能。3. 定時(shí)/計(jì)數(shù)器T0有幾種工作方式?各自的特點(diǎn)是什么?答:有四種工作方式,特點(diǎn)見(jiàn)下表:M1M0工作方 式方式說(shuō)明00013位定時(shí)/計(jì)數(shù)器01116位定時(shí)/計(jì)數(shù)器1028位自動(dòng)重置定時(shí)/計(jì)數(shù)器113兩個(gè)8位定時(shí)/計(jì)數(shù)器(只有T0有)4. 定時(shí)/計(jì)數(shù)器的四種工作方式各自的計(jì)數(shù)范圍是多少?如果要計(jì)10個(gè)單位,不同的方式初值應(yīng)為多少?答:有四種方式。方式O計(jì)數(shù)范圍:18192;方式1計(jì)數(shù)范圍:165536;方式2計(jì)數(shù)范圍:1256;方式3計(jì)數(shù)范圍:1256。如果計(jì)10個(gè)單位,方式0初值為:8192-10=8182;方式1初 值為:65536-10=65526;方式2初值為:256-

35、10=246;方式2初值 為:256-10=246。5. 設(shè)振蕩頻率為12MHz如果用定時(shí)/計(jì)數(shù)器T0產(chǎn)生周期為100ms 的方波,可以選擇哪幾種方式,其初值分別設(shè)為多少?答:只能選擇方式1,初值為65536-50000=15536。6何為同步通信?何為異步通信?各自的特點(diǎn)是什么?答:異步通信方式的特點(diǎn)是數(shù)據(jù)在線路上傳送時(shí)是以一個(gè)字符(字 節(jié))為單位,未傳送時(shí)線路處于空閑狀態(tài),空閑線路約定為高電平“ 1”。 特點(diǎn)是對(duì)發(fā)送時(shí)鐘和接收時(shí)鐘的要求相對(duì)不高, 線路簡(jiǎn)單,但傳送速 度較慢。同步通信方式的特點(diǎn)是數(shù)據(jù)在線路上傳送時(shí)以字符塊為單位,一 次傳送多個(gè)字符,傳送時(shí)須在前面加上一個(gè)或兩個(gè)同步字符,后面

36、加 上校驗(yàn)字符。特點(diǎn)是對(duì)發(fā)送時(shí)鐘和接收時(shí)鐘要求較高, 往往用同一個(gè) 時(shí)鐘源控制,控制線路復(fù)雜,傳送速度快。7. 單工、半雙工和全雙工有什么區(qū)別?答:?jiǎn)喂し绞街挥幸桓鶖?shù)據(jù)線,信息只能單向傳送;半雙工方式 也只有一根數(shù)據(jù)線,但信息可以分時(shí)雙向傳送;全雙工方式有兩根數(shù) 據(jù)線,在同一個(gè)時(shí)刻能夠?qū)崿F(xiàn)數(shù)據(jù)雙向傳送。8. 設(shè)某異步通信接口,每幀信息格式為 10位,當(dāng)接口每秒傳送 1000個(gè)字符時(shí),其波特率為多少?答:10000波特9. 串行口數(shù)據(jù)寄存器SBUFt什么特點(diǎn)?答:發(fā)送數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器合起用一個(gè)特殊功能寄存 器SBUF串行口數(shù)據(jù)寄存器),執(zhí)行MoV SBUF,A發(fā)送時(shí)為發(fā)送數(shù)據(jù) 寄存器,

37、執(zhí)行MOV A, SBUF接收時(shí)為接收數(shù)據(jù)寄存器。10. MCS-51單片機(jī)串行口有幾種工作方式?各自特點(diǎn)是什么?答:有四種工作方式,分別是方式 0、方式1、方式2和方式3。 其中:方式0,稱(chēng)為同步移位寄存器方式,一般用于外接移位寄存器芯 片擴(kuò)展I/O接口。方式1,稱(chēng)為8位的異步通信方式,通常用于雙機(jī)通信。方式2和方式3,稱(chēng)為9位的異步通信方式,通常用于多機(jī)通信。11. 說(shuō)明SM2在方式2和方式3對(duì)數(shù)據(jù)接收有何影響。答:通過(guò)SM2對(duì)方式2和方式3數(shù)據(jù)接收進(jìn)行控制,SM2=1,那 么只有接收的第9位為“ 1”才接收有效。女口 SM2=0接收的第9位 無(wú)論為1還是0都接收有效。12. 怎樣來(lái)實(shí)現(xiàn)利

38、用串行口擴(kuò)展并行輸入/輸出口?答:利用串行口在方式0時(shí),當(dāng)外接一個(gè)串入并出的移位寄存器, 就可以擴(kuò)展并行輸出口;當(dāng)外接一個(gè)并入串出的移位寄存器時(shí), 就可 以擴(kuò)展并行輸入口。13. 什么是中斷、中斷允許和中斷屏蔽?答:在計(jì)算機(jī)中,由于計(jì)算機(jī)內(nèi)外部的原因或軟硬件的原因,使CPU從當(dāng)前正在執(zhí)行的程序中暫停下來(lái), 而自動(dòng)轉(zhuǎn)去執(zhí)行預(yù)先安排好 的為處理該原因所對(duì)應(yīng)的服務(wù)程序。 執(zhí)行完服務(wù)程序后,再返回被暫 停的位置繼續(xù)執(zhí)行原來(lái)的程序,這個(gè)過(guò)程稱(chēng)為中斷,實(shí)現(xiàn)中斷的硬件 系統(tǒng)和軟件系統(tǒng)稱(chēng)為中斷系統(tǒng)。中斷允許是允許中斷請(qǐng)求送 CPUr生 中斷,中斷屏蔽是禁止中斷請(qǐng)求信號(hào)送 CPl產(chǎn)生中斷。14. 8051有幾個(gè)

39、中斷源?中斷請(qǐng)求如何提出?答:MCS-51單片機(jī)提供 5個(gè)硬件中斷源:兩個(gè)外部中斷源Into (P3.2)和INTT(P3.3),兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1中斷;1個(gè)串行 口中斷。外部中斷源into和INTT的中斷請(qǐng)求信號(hào)從外部引腳 P3.2和P3.3 輸入;兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1的溢出中斷TF0和TF1定時(shí)/計(jì)數(shù)器 T0(或T1)溢出時(shí)提出;串行口中斷由發(fā)送中斷標(biāo)志 T1和接收中斷標(biāo) 志R1產(chǎn)生。15. 8051的中斷源中,哪些中斷請(qǐng)求信號(hào)在中斷響應(yīng)時(shí)可以自動(dòng)清除?哪些不能自動(dòng)清除?應(yīng)如何處理?答:工作在邊沿觸發(fā)方式下的兩個(gè)外部中斷源和兩個(gè)定時(shí)/計(jì)數(shù)器中斷中斷請(qǐng)求信號(hào)在中斷響應(yīng)時(shí)可以自動(dòng)

40、清除,工作在電平觸發(fā)方式下的兩個(gè)外部中斷源和串行口中斷不能自動(dòng)清除。工作在電平觸發(fā)方式下的兩個(gè)外部中斷源的中斷請(qǐng)求信號(hào)通過(guò)外加硬件和加軟件的方 式清除,串行口中斷標(biāo)志 T1和標(biāo)志R1完全由軟件清除。16. 8051的中斷優(yōu)先級(jí)有幾級(jí)?在形成中斷嵌套時(shí)各級(jí)有何 規(guī)定?答:8051的中斷優(yōu)先級(jí)有兩級(jí);形成中斷嵌套時(shí)規(guī)定 (1)正 在 進(jìn)行的中斷過(guò)程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷,直到該中斷服務(wù)程序結(jié)束,返回了主程序且執(zhí)行了主程序中的一條指令 后,CPU才響應(yīng)新的中斷請(qǐng)求。(2)正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù)程序能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷,實(shí)現(xiàn)兩級(jí)中斷嵌套。(3)CPU同時(shí)接收到幾個(gè)中斷請(qǐng)求時(shí)

41、,首先響應(yīng)優(yōu)先級(jí)最高的中斷請(qǐng)求。17. 設(shè)8051的P1中各位接發(fā)光二極管,分別用匯編語(yǔ)言和 C 語(yǔ)言編程實(shí)現(xiàn)逐個(gè)輪流點(diǎn)亮二極管,并循環(huán)顯示。18. 8051系統(tǒng)中,已知振蕩頻率為12MHz用定時(shí)/計(jì)數(shù)器T0, 實(shí)現(xiàn)從P1.0產(chǎn)生周期為2ms的方波。要求分別用匯編語(yǔ)言和 C語(yǔ)言 進(jìn)行編程。解:分析:從P1.0輸出周期為2ms的方波,只須P1.0每1ms取 反一次則可。當(dāng)系統(tǒng)時(shí)鐘為12MHZ定時(shí)/計(jì)數(shù)器T0工作于方式1時(shí), 最大的定時(shí)時(shí)間為65.536ms,滿(mǎn)足1ms的定時(shí)要求,方式控制字應(yīng) 設(shè)定為00000001B (01H)o定時(shí)1ms計(jì)數(shù)值N為1000,初值 X=65536-1000=64

42、536,則 THO=FCH TL0=18H采用中斷處理方式:程序如下:ORG 0000HLJMP MAINORG 000BH;中斷處理程序MOV TL0, #18HCPL P1.0MOV TH0 #0FCHRETlORG 0100H;主程序MAIN MOV TMO,#01HMOV TH0 #0FCHMOV TL0, #18HSETB EASETB ET0SETB TR0SJMP $END19. 8051系統(tǒng)中,已知振蕩頻率為12MHz用定時(shí)/計(jì)數(shù)器T1, 實(shí)現(xiàn)從P1.1產(chǎn)生周期為2s的方波。要求分別用匯編語(yǔ)言和 C語(yǔ)言進(jìn) 行編程。解:從P1.1產(chǎn)生2s的方波,應(yīng)產(chǎn)生500ms的周期性的定時(shí),定

43、時(shí)到 對(duì)P1.1取反就可實(shí)現(xiàn)。由于定時(shí)時(shí)間較長(zhǎng),一個(gè)定時(shí) /計(jì)數(shù)器T1不 能直接實(shí)現(xiàn),采用定時(shí)/計(jì)數(shù)器T1產(chǎn)生周期性為10ms的定時(shí),然后 用一個(gè)寄存器R2對(duì)10ms計(jì)數(shù)100次來(lái)實(shí)現(xiàn)。系統(tǒng)時(shí)鐘為12MHZ定 時(shí)/計(jì)數(shù)器T1定時(shí)10ms計(jì)數(shù)值N為10000,只能選方式1,方式控 制字為 00010000B (10H),初值 X:X=65536-10000=55536=1101100011110000BMOV TL1, #0F0H則 TH1 = 11011000B=D8, TL1 = 1111OOOOB=FoH定時(shí)/計(jì)數(shù)器T1采用中斷處理方式。匯編程序:ORG 0000HLJMP MAlNORG

44、 001BHLJMP INTT1ORG 0100HMAIN MOV TMO,#10HMOV TH1 #0D8HMOV TL1, #0F0HMOV R2 #00HSETB EASETB ET1SETB TR1SJMP $INTT1:MOV TH1 #0D8HINC R2CJNE R2, #64H NEXTCPL P1.1MoV R2 #00HNEXT RETIEND20. 8051系統(tǒng)中,已知振蕩頻率為12MHz用定時(shí)/計(jì)數(shù)器T1, 實(shí)現(xiàn)從P1.1產(chǎn)生高電平寬度為10ms,低電平寬度為20ms的矩形波。 要求分別用匯編語(yǔ)言和 C語(yǔ)言進(jìn)行編程。解:本題處理方式有多種,這里采用對(duì)定時(shí)/計(jì)數(shù)器T1形成10ms周期 定時(shí),用R2對(duì)10ms計(jì)數(shù),當(dāng)計(jì)到1,則對(duì)P1.1置1,當(dāng)計(jì)到2和3, 則對(duì)P1.1置O來(lái)實(shí)現(xiàn)。用定時(shí)/計(jì)數(shù)器T1形成10ms周期定時(shí)見(jiàn)上題。程序如下:ORG 0000HLJMP MAINORG 001BHLJMP INTT1ORG 0100HMAIN MOV T

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論