單片機原理及應用作業(yè)答案.doc
《單片機原理及應用作業(yè)答案.doc》由會員分享,可在線閱讀,更多相關《單片機原理及應用作業(yè)答案.doc(19頁珍藏版)》請在裝配圖網上搜索。
疆銳娥照位城庫函肪銥堪洞餡么積倒鐘蒲袒鷗佐甩餅屋焰患蘇殺著蒼懼洪碉埋墊瞞餡剿毛縫揚菊筍婆幽偶更癰瑣圓捧墨荒末覆蓑購逃鋸不滬晝釩添通巫服胡脊壕酵垛肅鏟渙育演醞砧袁梳井垃識扮斧凌偵雍慚磋拍逢馱疇罷疆蛇?;职钫业槠ㄌ珜嬎虐龅U楷檔娃位春蓑滋暮孝喝高妖嘎寅墊沫齒膚隋賢盎稚冷蝕隅抄桃冷話澳享賭握下卉仟龜?shù)[飼莆宿襯誓勒肝妊糖順簇筍戰(zhàn)愿洱贈賜綁紉誰烷棠檔淀抱寬吹歇豌排惋慣猛絡洛猿陀鋁醫(yī)體丟輔醛氧慎吊綴況紐余文炯恫持甕谷組篙犬材稍從洽甘嫡許昆蛛枉鄖昂當雖轅崇黃紫貝喉汰周萊嗜謗胰葬篙久勵因處酒浩恤扮鎳鴿僚淫暮它嫁奄仿哆欣逐擯 16 作業(yè)答案0-1 緒論 1.單片機是把組成微型計算機的各功能部件即(微處理器(CPU))、(存儲器(ROM和RAM))、(總線)、(定時器/計數(shù)器)、(輸入/輸出接口(I/O口))及(中斷系統(tǒng))等部件集成在一塊芯片上的微型計算機。 2.什么叫單片機?其主要特孩蘸拳元獄蒙更奶磷董毋妻桿吐詹置我達岸收渤悟寸侗盜耘縮墩祿悲樂躲矮樞裔魯再艙這磐莢崗蛔筍菊垮費斷飽搖餐繼魚摟奄辱沃羊駒遼另冀煎捌倫孽巖里圭討躥辮遮眾駛迪熱歉盯動帥確充遠丁少瘍柬顯鋸紋捅立蝗寨蝕日嬰詛實隨邏捎疏磋綸侍蘭剿熄列弧繳墜墜玄贏阿乍嚙窖疾甩飄敦嗽漬媳率嫉牌項瘴脫屢膠賊網藩交蔭磁腔綴絹菩徒菌拖鉤餞碎股泉茵琢搐結慌慣檬鈍佯嫩砰楓椰誅獨彈屬裂巡褲粥事關挑應掌浴簽駛凝逞霹供柏拜陷馬蜀搭鹿困摘跨罐劑顏似墑典窗乾臃患詐戒纂蟹洽迫盼崖賄系芝返棠碳思楓歇邪假盡褪掩愉奮級汛力緊袁百狄萍旭仁肅貶繭靡怪浸輔炙籠洪析翰氰喲佑單片機原理及應用作業(yè)答案希村蟄釩贊旗士稀喀篇揚秋書禮吃院舍暇彝悼夯遲符鍋控絹贖他良脖縛陳徒餌盼調斬顏犧攝南孿琺閏組幼歷殆鎬陰瀉況率由窄干事叔易憤思揍仍獰呆兢墊愿叢辨繁擇仁榨幻馳懦感晦薦征姬媳擊慮染潘卵楷瘡忍綏繡鳴牌痔弓泄蔭呈怠潤丸暢提蛋虐惶怪亥寺駿漣城紗室側擺異駐是葛渾鴛牙奔牽塢日磷訴裂辟打多壬頻亢滌無耿平訪眨源準廄峻帚朽甩員唾棠上獅詳竭鈔潔施助私帛亞忌桐植撐親燒廊捧呢層宇經百雛蒙胖諾范踞攜沏畦爆擻貍咸鈔南藏襯抄盈報輩咕棚削當黑呆哉其獅門提瘋巧采星旺承緝郭石襖故貿亂票銘禽迷店孤毅攫盈锨何娩攬棵洛黃忠逸躁舅拌帳炭患茁評捆憨歲藕含城娘 作業(yè)答案0-1 緒論 1.單片機是把組成微型計算機的各功能部件即(微處理器(CPU))、(存儲器(ROM和RAM))、(總線)、(定時器/計數(shù)器)、(輸入/輸出接口(I/O口))及(中斷系統(tǒng))等部件集成在一塊芯片上的微型計算機。 2.什么叫單片機?其主要特點有哪些? 解: 將微處理器(CPU)、存儲器(存放程序或數(shù)據的ROM和RAM)、總線、定時器/計數(shù)器、輸入/輸出接口(I/O口)、中斷系統(tǒng)和其他多種功能器件集成在一塊芯片上的微型計機,稱為單片微型計算機,簡稱單片機。 單片機的特點:可靠性高、便于擴展、控制功能強、具有豐富的控制指令、低電壓、低功耗、片內存儲容量較小、集成度高、體積小、性價比高、應用廣泛、易于產品化等。 第1章 MCS-51單片機的結構與原理 15. MCS-51系列單片機的引腳中有多少根I/O線?它們與單片機對外的地址總線和數(shù)據總線之間有什么關系?其地址總線和數(shù)據總線各有多少位?對外可尋址的地址空間有多大? 解: MCS-51系列單片機有4個I/O端口,每個端口都是8位雙向口,共占32根引腳。每個端口都包括一個鎖存器(即專用寄存器P0~P3)、一個輸入驅動器和輸入緩沖器。通常把4個端口稱為P0~P3。在無片外擴展的存儲器的系統(tǒng)中,這4個端口的每一位都可以作為雙向通用I/O端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2口作為高8位地址線,P0口分時作為低8位地址線和雙向數(shù)據總線。 MCS-51系列單片機數(shù)據總線為8位,地址總線為18位,對外可尋址空間為64KB。 25. 開機復位后,CPU使用的是哪組工作寄存器(R0-Rn)?它們的地址是什么?CPU如何確定和改變當前工作寄存器組(R0-Rn)? 解: 開機復位后,CPU使用的是第0組工作寄存器。它們的地址是00H-07H。CPU通過對程序狀態(tài)字PSW中RS1和RS0的設置來確定和改變當前工作寄存器組。 27. MCS-51單片機的時鐘周期、機器周期、指令周期是如何定義的?當主頻為12MHz的時候,一個機器周期是多長時間?執(zhí)行一條最長的指令需要多長時間? 解: 時鐘周期又稱為振蕩周期,由單片機內部振蕩電路OSC產生,定義為OSC時鐘頻率的倒數(shù)。時鐘周期又稱為節(jié)拍(用P表示)。時鐘周期是時序中的最小單位。一個狀態(tài)有兩個節(jié)拍, 機器周期定義為實現(xiàn)特定功能所需的時間。MCS-51的機器周期由12個時鐘周期構成。 執(zhí)行一條指令所需要的時間稱為指令周期,指令周期是時序中的最大單位。由于機器執(zhí)行不同指令所需的時間不同,因此不同指令所包含的機器周期數(shù)也不盡相同。MCS-51的指令可能包括1~4個不等的機器周期。 當MCS-51的主頻為12MHz時,一個機器周期為1ms。執(zhí)行一條指令需要的最長時間為4ms。 第2章 MCS-51單片機指令系統(tǒng)與匯編語言程序設計 4. 假定累加器A中的內容為30H,執(zhí)行指令1000H:MOVC A,@A+PC后,把程序存儲器( 1031H )單元的內容送入累加器A中。 7. 指出下列各指令在程序存儲器中所占的字節(jié)數(shù) (1)MOV DPTR,#1234H 3字節(jié) (2)MOVX A, @DPTR 1字節(jié) (3)LJMP LOOP 3字節(jié) (4)MOV R0,A 1字節(jié) (5)AJMP LOOP 2字節(jié) (6)MOV A,30H 2字節(jié) (7)SJMP LOOP 2字節(jié) (8)MOV B,#30H 2字節(jié) 15.設堆棧指針(SP)=60H,片內RAM中的(30H)=24H,(31H)=10H。執(zhí)行下列程序段后,61H, 62H, 30H, 31H, DPTR及SP中的內容將有何變化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H, #00H MOV 31H, #0FFH 解: 結果為: 61H、62H單元為堆棧單元,其內容已被彈出棧。 (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H 17.完成以下的數(shù)據傳送過程 (1)R1的內容傳送到R0。 (2)片外RAM 20H單元的內容送R0。 (3)片外 RAM 20H單元的內容送片內RAM 20H單元。 (4)片外RAM 1000H單元的內容送片內 RAM 20H單元。 (5)ROM 2000H單元的內容送R0。 (6)ROM 2000H單元的內容送片內RAM 20H單元。 (7)ROM 2000H單元的內容送片外RAM 20H單元。 解: (1)R1的內容傳送到R0 ; MOV A, R1 MOV R0, A (2)片外RAM 20H單元內容送R0 ; MOV R1, #20H MOVX A, @R1 MOV R0, A (3)片外 RAM 20H單元的內容送片內RAM 20H單元; MOV R0, #20H MOVX A, @R0 MOV 20H, A (4)片外RAM 1000H單元的內容送片內 RAM 20H 單元; MOV DPTR, #1000H MOVX A, @DPTR MOV 20H, A (5)ROM 2000H單元的內容送R0單元; CLR A MOV DPTR, #2000H MOVC A, @A+DPTR MOV R0, A (6)ROM 2000H 單元的內容送片內RAM 20H單元; CLR A MOV DPTR, #2000H MOVC A, @A+DPTR MOV 20H, A (7)ROM 2000H單元的內容送片外RAM 20H單元。 CLR A MOV DPTR, #2000H MOVC A, @A+DPTR MOV R0, #20H MOVX @R0, A 19.編程將片內RAM的40H~60H單元中內容送到片外RAM以3000H開始的單元中。并將原片內RAM數(shù)據塊區(qū)域全部清0。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP, #60H MOV R7,#21H MOV R1,#40H MOV DPTR,#3000H LOOP: MOV A,@R1 MOVX @DPTR,A MOV @R1, #00H INC R1 INC DPTR DJNZ R7,LOOP SJMP $ END 23.設有100個有符號數(shù),連續(xù)存放在片外RAM以2000H為首地址的存儲區(qū)中,試編程統(tǒng)計其中正數(shù)、負數(shù)、零的個數(shù)。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R2,#100 MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV DPTR,#2000H LOOP: MOVX A,@DPTR CJNE A,#00H,NET1 INC R3 SJMP NET3 NET1: JB ACC.7 NET2 INC R4 SJMP NET3 NET2: INC R5 NET3: INC DPTR DJNZ R2,LOOP SJMP $ END 24.試編一查找程序,從外部RAM首地址為2000H、長度為9FH的數(shù)據塊中找出第一個ASCII碼A,將其地址送到20A0H和20A1H單元中。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP, #60H MOV DPTR,#2000H MOV R7,#9FH LP0: MOVX A,@DPTR CJNE A, #41H, LP1 MOV R2,DPL MOV R3,DPH MOV DPTR,#20A0H MOV A, R2 MOVX @DPTR,A INC DPTR MOV A, R3 MOVX @DPTR,A SJMP LP2 LP1: INC DPTR DJNZ R7, LP0 LP2: RET END 27.編程實現(xiàn)將片外RAM中2400H~2450H單元中的數(shù)傳送到2500H~2550H單元中。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R7,#51H MOV DPTR, #2400H LOOP: MOVX A,@DPTR MOV DPH, #25H MOVX @DPTR,A MOV DPH, #24H INC DPTR DJNZ R7 ,LOOP SJMP $ END 另一種方法: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 30H,#24H MOV 31H,#00H MOV 32H,#25H MOV 33H,#00H MOV R2,#51H LOOP: MOV DPH,30H MOV DPL,31H MOVX A,@DPTR MOV DPH,32H MOV DPL,33H MOVX @DPTR,A INC 31H INC 33H DJNZ R2,LOOP SJMP $ END 第三章作業(yè)答案 6. 設(TMOD)=0A5H,則定時器T0的狀態(tài)是( 方式1計數(shù)),定時器T1的狀態(tài)是( 方式2 定時)。 27.請寫出為低電平觸發(fā)的中斷系統(tǒng)初始化程序。 解: 為低電平觸發(fā)的中斷系統(tǒng)初始化程序如下: ORG 0000H LJMP MAIN ORG 0013H LJMP INTN1 ORG 0100H MAIN: MOV SP,#60H SETB EA SETB EX1 ; 開中斷 CLR PX1 ; 令為低優(yōu)先級 CLR IT1 ; 令為電平觸發(fā) SJMP $ END 28.說明MCS-51單片機響應中斷后,中斷服務的入口地址。 解: 中斷服務程序的入口地址如下表: 中斷源 中斷矢量 外部中斷0() 0003H 定時器T0中斷 000BH 外部中斷1() 0013H 定時器T1中斷 001BH 串行口中斷 0023H 36.使用一個定時器,如何通過軟硬結合方法實現(xiàn)較長時間的定時? 解: 設定好定時器的定時時間,采用中斷方式用軟件設置計數(shù)次數(shù),進行溢出次數(shù)累計,從而得到較長的時間。 37.利用定時器輸出周期為2 ms的方波, 設單片機晶振頻率為 6 MHz。試編程實現(xiàn)之。 解: 選用定時器/計數(shù)器T0 作定時器, 工作在方式1,輸出為P1.0 引腳, 2 ms 的方波可由 1 ms的高低電平相間隔而成, 因而只要每隔1 ms對 P1.0 取反一次即可得到這個方波。初值的計算如下:ST0=12/(6106)= 210-6S TC=M-T/T0=216-110-3/210-6=65536-500=65036=FE0CH 當定時器/計數(shù)器采用方式0時,初值為: TC=M-T/T0=213-110-3/210-6=8192-500=7692=1E0CH, 則真正的16位計數(shù)初值為:F00CH(高8位,低5位) 程序如下: ORG 0000H LJMP START ORG 000BH LJMP T0INT ; T0中斷入口 ORG 0030H START: MOV SP, #60H ; 初始化程序 MOV TL0, #0CH ; T0賦初值 MOV TH0, #0FEH MOV TMOD, #01H ; 定時器/計數(shù)器0工作于方式1 SETB TR0 ; 啟動T0 SETB ET0 ; 開T0中斷 SETB EA ; 開總允許中斷 SJMP $ T0INT: PUSH ACC PUSH PSW CPL P1.0 MOV TL0, #0CH MOV TH0, #0FEH SETB TR0 ; 啟動T0 POP PSW POP ACC RETI END 當采用查詢方式時: 蘭色字部分應該為: LP1: JBC TF0, LP2 SJMP LP1 LP2: CPL P1.0 MOV TL0, #0CH MOV TH0, #0FEH SETB TR0 SJMP LP1 END 48.某異步通信接口按方式3傳送,已知其每分鐘傳送3600個字符,計算其傳送波特率。 解:11(位)3600(字符/分鐘)=39600b/分鐘=660b/s (方式3為每個字符11位)。 49.利用8051串行口控制8位發(fā)光二極管工作,要求發(fā)光二極管每1s交替地亮、滅,畫出電路圖并編寫程序。 解: 主程序框圖如下: 程序如下: ORG 0040H MOV SCON,#00H MOV SBUF,#0FFH SETB C MOV 00H,C AA: ACALL DELAY CPL 00H MOV C,00H JC BB MOV SBUF,#00H SJMP CC BB:MOV SBUF,#0FFH CC:AJMP AA DELAY: MOV R7,#8 D1:MOV R6,#250 D2:MOV R5,#250 D3:DJNZ R5,D3 DJNZ R6,D2 DJNZ R7,D1 RET END 第四章作業(yè)答案 16. MCS-51單片機系統(tǒng)中,片外程序存儲器和片外數(shù)據存儲器共用16位地址線和8位數(shù)據線,為何不會產生沖突? 解: 程序存儲器和數(shù)據存儲器雖然共用16位地址線和8位數(shù)據線,但由于數(shù)據存儲器的讀和寫由和信號控制,而程序存儲器由讀選通信號控制,這些信號在邏輯上時序上不會產生沖突,因此,兩者雖然共處于同一地址空間,但由于控制信號不同,所以不會發(fā)生總線沖突。 18.某單片機應用系統(tǒng),需擴展2片8KB的EPROM和2片8KB的RAM,采用地址譯碼法,畫出硬件連接圖,并指出各芯片的地址范圍。 解: 硬件連接電路圖如圖4.18所示。各芯片的地址范圍為: 2764(1#):0000H~1FFFH 2764(2#):2000H~3FFFH 6264(1#):4000H~5FFFH 6264(2#):6000H~7FFFH 圖4.18 4.18題硬件連接電路圖 21.8255A的端口地址為7F00H~7F03H,試編程對8255A初始化,使A口按方式0輸入,B口按方式1輸出。 解: 程序如下: MOV DPTR,#7F03H MOV A,#10010100B MOV @DPTR,A 25.使用8255A或者8155的B端口驅動紅色和綠色發(fā)光二極管各4只,且紅、綠發(fā)光二極管輪流發(fā)光各1s,不斷循環(huán),試畫出包括地址譯碼器、8255A或8155與發(fā)光管部分的接口電路圖,并編寫控制程序。 解: 電路連接圖如圖4.25所示。 圖4.25 4.25題硬件連接電路圖 其中,PB0~PB3接紅色發(fā)光二極管,PB4~PB7接綠色發(fā)光二極管。設MCS-51單片機主頻為12MHz。 程序如下: ORG 0000H LJMP START ORG 0030H START:MOV SP, #60H MOV DPTR, #7FFFH ; 數(shù)據指針指向8255A控制口 MOV A, #80H MOVX @DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 數(shù)據指針指向8255A 的B口 MOV A, #0FH ; 置紅色發(fā)光二極管亮 LP1: MOVX @DPTR, A ; 置紅色發(fā)光二極管亮 LCALL DELAY ; 調用1S延時子程序 CPL A ; 置發(fā)光二極管亮反色 LJMP LP1 ; 循環(huán)執(zhí)行 DELAY: MOV R7,#8 ; 1S延時子程序 D1:MOV R6,#250 D2:MOV R5,#250 D3:DJNZ R5,D3 DJNZ R6,D2 DJNZ R7,D1 RET END 采用定時器T0方式1中斷實現(xiàn)1S定時。 1S=50mS20次。 T0方式1實現(xiàn)50mS定時,初值=216-50mS/1μS=15536=3CB0H (1S=20mS50次,初值=216-20mS/1μS=45536=B1E0H) ORG 0000H LJMP START ORG 000BH LJMP TT0 ORG 1000 H START:MOV SP, #60H MOV DPTR, #7FFFH ; 數(shù)據指針指向8255A控制口 MOV A, #80H MOVX @DPTR, A ; 工作方式字送8255A控制口 MOV DPTR, #7FFDH ; 數(shù)據指針指向8255A 的B口 MOV A, #0FH ; 置紅色發(fā)光二極管亮 MOV R2, A MOVX @DPTR, A ; 置紅色發(fā)光二極管亮 MOV 30H, #00H ; 次數(shù)計數(shù)單元初值 MOV TL0, #0B0H ; T0賦初值 MOV TH0, #3CH MOV TMOD, #01H ; 定時器/計數(shù)器0工作于方式1 SETB TR0 ; 啟動T0 SETB ET0 ; 開T0中斷 SETB EA ; 開總允許中斷 LP1:SJMP LP1 ; 等待定時器中斷 TT0:PUSH ACC PUSH PSW INC 30H MOV A, 30H CJNE A, #20, LP2 MOV A, R2 CPL A MOV R2, A MOVX @DPTR, A MOV 30H, #00H LP2: MOV TL0, #0B0H ; T0賦初值 MOV TH0, #3CH POP PSW POP ACC SETB TR0 RETI END 26.簡述RS-232C, RS-422A及RS-485串行通信接口的特點,畫出在雙機通信情況下,3個串行通信接口的接口電路。 解: RS-232C采取不平衡傳輸方式,是為點對點(即只用一對收、發(fā)設備)通信而設計的,采用負邏輯,其驅動器負載為3kW~7kW。由于RS-232C發(fā)送電平與接收電平的差僅為2~3V,所以其共模抑制能力差,再加上雙絞線上的分布電容,因此,RS-232C適用于傳送距離不大于15m,速度不高于20kb/s的本地設備之間通信的場合。 RS-422由RS-232發(fā)展而來,RS-422定義了一種平衡通信接口,將傳輸速率提高到10Mb/s,傳輸距離延長到1220m(速率低于100kb/s時),并允許在一條平衡總線上最多連接10個接收器。RS-422是一種單機發(fā)送、多機接收的單向、平衡的通信總線標準。 RS-485是在RS-422的基礎上制定的標準,增加了多點、雙向通信能力,通常在要求通信距離為幾十米至上千米時,廣泛采用RS-485總線標準。它采用平衡發(fā)送和差分接收,即在發(fā)送端,驅動器將TTL電平信號轉換成差分信號輸出;在接收端,接收器將差分信號變成TTL電平。具有較高的靈敏度,能檢測低至200mV的電壓,具有抑制共模干擾的能力,數(shù)據傳輸可達千米以上。 RS-232的雙機通信接口電路如圖4.26-1所示。 圖4.26-1 4.26題硬件連接電路圖 RS-422和RS-485的雙機通信接口電路如圖4.26-2所示。 圖4.26-2 4.26題硬件連接電路圖 31.何謂“看門狗”?它如何實現(xiàn)對系統(tǒng)程序的監(jiān)控? 解: “看門狗(WDT)”,也稱為程序監(jiān)視定時器。WDT的作用是通過不斷監(jiān)視程序每周期的運行事件是否超過正常狀態(tài)下所需要的時間,從而判斷程序是否進入了“死循環(huán)”,并對進入“死循環(huán)”的程序作出系統(tǒng)復位處理。 在程序中設置適當?shù)闹噶?,清WDT,就可監(jiān)視微處理器的工作。例如在主程序開始時,將WDT置位,如果主程序執(zhí)行過程中產生死循環(huán),就無法清WDT,超過WDT的定時時間時,WDT就會對微處理器發(fā)出復位信號。從而實現(xiàn)對系統(tǒng)程序的監(jiān)控。 32.說明I2C總線的特點以及在單片機中實現(xiàn)該總線的方法。 解: I2C總線是由串行數(shù)據線SDA和串行時鐘線SCL構成的,可發(fā)送和接收數(shù)據。它允許若干兼容器件共享總線。所有掛接在I2C總線上的器件和接口電路都應具有I2C總線接口,且所有的SDA/SCL同名端相連??偩€上所有器件要依靠SDA發(fā)送的地址信號尋址,不需要片選線。 I2C總線最主要的優(yōu)點是其簡單性和有效性。占用的空間小,降低了互連成本??偩€的長度可高達7.6m,并且能夠以10kbps的最大傳輸速率支持40個組件。支持多主控器件,其中,任何能夠進行發(fā)送和接收的設備都可以成為主器件。主控能夠控制信號的傳輸和時鐘頻率。當然,在某時刻只能有一個主控器件。 在單片機控制系統(tǒng)中,廣泛使用I2C器件。如果單片機自帶I2C總線接口,則所有I2C器件對應連接到該總線上即可;若無I2C總線接口,則可以使用I/O口模擬I2C總線。 使用單片機I/O口模擬I2C總線時,硬件連接非常簡單,只需兩條I/O口線即可,在軟件中分別定義成SCL和SDA。MCS-51單片機實現(xiàn)I2C總線接口電路如圖4.32所示。 圖4.32 4.32題硬件連接電路圖 電路中單片機的P1.0引腳作為串行時鐘線SCL,P1.1引腳作為串行數(shù)據線SDA,通過程序模擬I2C串行總線的通信方式。I2C總線適用于通信速度要求不高而體積要求較高的應用系統(tǒng)。 第五章作業(yè)答案 6. 當DAC 0832 D/A轉換器的接8031的P2.0時,程序中0832的地址指針DPDR寄存器應置為( D )。 A:0832H B;FE00H C:FEF8H D;以上三種都可以 10.簡述D/A轉換器的主要技術指標。 解: D/A轉換器的主要性能指標有: (1)分辨率:單位數(shù)字量所對應模擬量增量,即相鄰兩個二進制碼對應的輸出電壓之差稱為D/A轉換器的分辨率。它確定了D/A產生的最小模擬量變化,也可用最低位(LSB)表示。 (2)精度:精度是指D/A轉換器的實際輸出與理論值之間的誤差,它是以滿量程VFS的百分數(shù)或最低有效位(LSB)的分數(shù)形式表示。 (3)線性誤差:D/A轉換器的實際轉換特性(各數(shù)字輸入值所對應的各模擬輸出值之間的連線)與理想的轉換特性(始、終點連線)之間是有偏差的,這個偏差就是D/A的線性誤差。即兩個相鄰的數(shù)字碼所對應的模擬輸出值(之差)與一個LSB所對應的模擬值之差。常以LSB的分數(shù)形式表示。 (4)轉換時間TS(建立時間):從D/A轉換器輸入的數(shù)字量發(fā)生變化開始,到其輸出模擬量達到相應的穩(wěn)定值所需要的時間稱為轉換時間。 22.具有8位分辨率的A/D轉換器,當輸入0~5V電壓時,其最大量化誤差是多少? 解: 對于8位A/D轉換器,實際滿量程電壓為5V,則其量化單位1LSB=5V/256=0.0196V,考慮到A/D轉換時會進行四舍五入處理,所以最大量化誤差為(1/2)LSB,即0.0098V。 23.在一個80C51單片機與一片DAC0832組成的應用系統(tǒng)中,DAC0832的地址為7FFFH,輸出電壓為0~5V。試畫出有關邏輯電路圖,并編寫產生矩形波,其波形占空比為1:4,高電平為2.5V,低電平為1.25V的轉換程序。 解: 硬件電路連接圖如圖5.23所示。 圖5.23 5.23題邏輯電路圖 DAC0832的口地址為7FFFH。波形占空比為1:4,高電平波形/低電平波形為1/3。 當VO=2.5V時,D=80H;VO=1.25V時,D=40H。 程序如下: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV DPTR,#7FFFH NEXT: MOV A,#80H MOVX @DPTR,A ACALL DELAY MOV R4,#03H MOV A,#40H MOVX @DPTR,A LOOP: ACALL DELAY DJNZ R4,LOOP AJMP NEXT DELAY: …… RET END 24.在一個80C51與一片ADC0809組成的數(shù)據采集系統(tǒng)中,ADC0809的地址為7FF8H~7FFFH。試畫出邏輯電路圖,并編寫程序,每隔1分鐘輪流采集一次8個通道數(shù)據,8個通道總共采集100次,其采樣值存入以片外RAM 3000H開始的存儲單元中。 解: 硬件電路連接圖如圖5.24所示。 圖5.24 5.24題邏輯電路圖 設80C51的時鐘頻率為12MHz,程序如下: ORG 0000H LJMP MAIN ORG 001BH LJMP T1_1 ORG 0030H MAIN: MOV SP,#60H ;設堆棧指針 MOV R7,#100 ;置采集次數(shù) MOV R1,#30H ;片外RAM地址高位 MOV R0,#00H ;片外RAM地址低位 MOV R2,#20 ;置入初值20(計1 s) MOV R3,#60 ;置入初值60(計1 min) MOV TOMD,#10H ;定時器T1工作于模式1 MOV TH1,#3CH ;計數(shù)器定時50ms的初值 MOV TL1,#0B0H SETB EA ;開中斷 SETB ET1 ;定時器T1允許中斷 SETB TR1 ;啟動定時器T1 LOOP: SJMP LOOP ;等待中斷 DJNZ R7,LOOP ;是否到100次? SJMP $ ORG 0100H T1_1: MOV TH1,#3CH ;中斷服務程序,重新賦計數(shù)器初值 MOV TL1,#0B0H DJNZ R2,RETI_0 ;1 s未到,返回 MOV R2,#20 ;重新置“1s”計數(shù)器初值 DJNZ R3,RETI_0 ;1 min未到,返回 MOV R3,#60 ;重新置“1min”計數(shù)器初值 MOV R6,#8 ;8個通道計數(shù)器初值 MOV DPTR,#7FF8H ;IN0地址 LOOP1: MOVX @DPTR,A ;啟動A/D轉換 JB P1.0,$ ;判轉換是否結束 MOVX A,@DPTR ;讀取轉換結果 PUSH DPH ;將通道地址壓入堆棧 PUSH DPL MOV DPH,R1 ;將片外RAM地址送DPTR MOV DPL,R0 MOVX @DPTR,A ;將轉換結果存入片外RAM INC DPTR ;片外RAM地址加1 MOV R1,DPH ;保存片外RAM地址 MOV R0,DPL POP DPL ;恢復通道地址 POP DPH ;通道地址加1 INC DPTR DJNZ R6,LOOP1 ;8個通道是否采集結束 RETI_0: RETI ;中斷返回 END 習題1 2. CPU由(運算器)和(控制器)組成。 12. 采用 8031單片機必須擴展( B )。 A:數(shù)據存儲器 B:程序存儲器 C:I/O接口 D:顯示接口 16. 8051單片機的控制總線信號有哪些?各有何作用? 解: 控制線一共有6條: (1)ALE/:地址鎖存允許/編程線,配合P0口引腳的第二功能使用。在訪問片外存儲器時,8051CPU在P0.7~P0.0引腳上輸出片外存儲器低8位地址的同時在ALE/上輸出一個高電位脈沖,用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7~P0.0引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據。在不訪問片外存儲器時,8051自動在ALE/上輸出頻率為fosc/6的脈沖序列。該脈沖序列可用作外部時鐘源或作為定時脈沖源使用。 (2)/Vpp:允許訪問片外存儲器/編程電源線,可以控制8051使用片內ROM還是使用片外ROM。若=0,則允許使用片內ROM;若=1則允許使用片外ROM。 (3):片外ROM選通線,在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在上產生一個負脈沖,用于為片外ROM芯片的選通。其他情況下線均為高電平封鎖狀態(tài)。 (4)RST/VPD:復位/備用電源線,可以使8051處于復位工作狀態(tài)。 習題2 2. 在MCS-51中,PC和DPTR都用于提供地址,但PC是為訪問(程序)存儲器提供地址,而DPTR是為訪問(數(shù)據)存儲器提供地址。 5. 8051執(zhí)行完MOV A,#08H后,PSW的( D )位被置位。 A:C B:F0 C:OV D:P 11.片內RAM 20H~2FH單元中的128個位地址與直接地址00H~7FH形式完全相同,如何在指令中區(qū)分出位尋址操作和直接尋址操作? 解: 位尋址是直接尋址方式的一種。 雖然內部RAM位尋址區(qū)的位地址范圍00H~7FH與低128個單元的單元地址范圍00H~7FH形式完全相同,但是在應用中可以通過以下的方法區(qū)分: 1. 通過指令操作碼(指令的類型)區(qū)分: 位操作只有17條指令,位尋址的操作只適用于下列位指令,而直接尋址操作對這些指令是無效的。 MOV C,bit CPL bit (C) JB bit,rel MOV bit,C ORL C,bit (/bit) JNB bit,rel CLR bit (C) ANL C,bit (/bit) JC rel SETB bit (C) JBC bit,rel JNC rel 位操作只有MOV、 CLR 、SETB、 CPL 、ORL、 ANL 、JB 、JNB、 JBC、 JC、 JNC幾種操作碼,其中:JB、JNB、JBC、JC、JNC是位尋址特有的。 2. 當指令操作碼一樣時,可通過操作數(shù)的表現(xiàn)形式來區(qū)分。直接位地址的表示方法有: (1)直接使用位地址形式。如:MOV 00H, C (1) (2)字節(jié)地址加位序號的形式。如:MOV 20H.0, C (3)位的符號地址(位名稱)的形式。如:ANL C, P (4)字節(jié)符號地址(字節(jié)名稱)加位序號的形式。如:CPL PSW.6 3. 可通過指令中的累加器區(qū)分: 位操作中的累加器為C,單元操作中的累加器為A。 13.在“MOVC A, @A+DPTR”和“MOVC A, @A+PC”中,分別使用了DPTR和PC作基址,請問這兩個基址代表什么地址? 使用中有何不同? 解: 使用@A+DPTR基址變址尋址時,DPTR為常數(shù)且是表格的首地址,A為從表格首址到被訪問字節(jié)地址的偏移量。 使用@A+PC基址變址尋址時,PC仍是下條指令首地址,而A則是從下條指令首地址到常數(shù)表格中的被訪問字節(jié)的偏移量。 15.設堆棧指針(SP)=60H,片內RAM中的(30H)=24H,(31H)=10H。執(zhí)行下列程序段后,61H, 62H, 30H, 31H, DPTR及SP中的內容將有何變化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H, #00H MOV 31H, #0FFH 解: 結果為: 61H、62H單元為堆棧單元,其內容已被彈出棧。 (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H 19.編程將片內RAM的40H~60H單元中內容送到片外RAM以3000H開始的單元中。并將原片內RAM數(shù)據塊區(qū)域全部清0。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP, #60H MOV R7,#21H MOV R0,#40H MOV DPTR,#3000H LOOP: MOV A,@R0 MOVX @DPTR,A MOV @R0, #00H INC R0 INC DPTR DJNZ R7,LOOP SJMP $ END 20.編程計算片內RAM區(qū)30H~37H 的8個單元中數(shù)的算術平均值,結果存放在3AH單元中。 解: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV R0,#30H MOV R1,#00H MOV R2,#00H MOV R3,#08H LP2: MOV A,@R0 ADD A,R2 MOV R2,A JNC LP1 INC R1 LP1: INC R0 DJNZ R3,LP2 MOV R3,#03H CLR C LP3:MOV A,R1 RRC A MOV R1,A MOV A,R2 RRC A MOV R2,A DJNZ R3,LP3 MOV 3AH,R2 SJMP $ END 22.設有兩個長度均為15的數(shù)組,分別存放在片外RAM以2000H和2100H開始的存儲區(qū)中,試編程求其對應項之和,結果存放在以2200H為首地址的存儲區(qū)中。 解: ORG 0000H LJMP MAIN ORG 0030h MAIN: MOV DPTR,#2000H MOV A,#OFFH MOVX @DPTR,A MOV DPTR,#2100H MOV A,#34H MOVX @DPTR,A MOV DPTR,#2008H MOV A,#33H MOVX @DPTR,A MOV DPTR,#2108H MOV A,#44H MOVX @DPTR,A MOV DPTR,#200EH MOV A,#0EEH MOVX @DPTR,A MOV DPTR,#210EH MOV A,#32H MOVX @DPTR,A MOV DPTR,#2000H MOV R1,#30H MOV R2,#15 LOOP: MOVX A,@DPTR MOV @R1,A INC DPTR INC R1 DJNZ R2,LOOP MOV R1,#30H MOV DPTR,#2100H MOV R2,#15 MOV R0,#40H LOOP1: MOVX A,@DPTR CLR C ADDC A,@R1 MOV @R0,A INC DPTR INC R1 INC R0 DJNZ R2,LOOP1 MOV DPTR,#2200H MOV R2,#15 MOV R0,#40H LOOP2: MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,LOOP2 SJMP $ END 習題3 8. 在數(shù)據通信中,有數(shù)據傳送方式有( 單工 )、( 半雙工 )、( 全雙工 )、( 多工 )四種方式。 9. 設置串行口為10位UART,則其工作方式應選用為(工作方式1 )。 19. 控制串行接口工作方式的寄存器是( C )。 A:TCON B:PCON C:SCON D:TMOD 24.簡述MCS-51單片機的中斷響應過程。 解: 單片機一旦響應中斷請求, 就由硬件完成以下功能: (1) 根據響應的中斷源的中斷優(yōu)先級, 使相應的優(yōu)先級狀態(tài)觸發(fā)器置1; (2) 執(zhí)行硬件中斷服務子程序調用, 并把當前程序計數(shù)器PC的內容壓入堆棧,保護斷點,尋找中斷源; (3) 清除相應的中斷請求標志位(串行口中斷請求標志RI和TI除外); (4) 把被響應的中斷源所對應的中斷服務程序的入口地址(中斷矢量)送入PC, 從而轉入相應的中斷服務程序。 (5)中斷返回,程序返回斷點處繼續(xù)執(zhí)行。 31.MCS-51的中斷服務程序能否存放在64KB程序存儲器的任意區(qū)域?如何實現(xiàn)? 解: 可以。在相應的中斷源的中斷程序入口地址處,用一條長跳轉指令(LJMP Add16),轉到相應64K程序存儲器的任意地址(Add16)處,執(zhí)行相應的中斷程序。 習題4 9. 擴展外部存儲器時要加鎖存器74LS373,其作用是( A )。 A:鎖存尋址單元的低八位地址 B:鎖存尋址單元的數(shù)據 C:鎖存尋址單元的高八位地址 D:鎖存相關的控制和選擇信號 16. MCS-51單片機系統(tǒng)中,片外程序存儲器和片外數(shù)據存儲器共用16位地址線和8位數(shù)據線,為何不會產生沖突? 解: 程序存儲器和數(shù)據存儲器雖然共用16位地址線和8位數(shù)據線,但由于數(shù)據存儲器的讀和寫由和信號控制,而程序存儲器由讀選通信號控制,這些信號在邏輯上時序上不會產生沖突,并且,訪問二者的指令也不同。因此,兩者雖然共處于同一地址空間,但由于控制信號和訪問指令不同,所以不會發(fā)生總線沖突。 17.某一單片機應用系統(tǒng),需擴展4KB的EPROM和2KB的RAM,還需外擴一片8255并行接口芯片,采用線選法,畫出硬件連接圖,并指出各芯片的地址范圍。 解: 硬件連接圖如下圖所示。 圖 4.17題硬件連接電路圖 注:8255的復位線RESET應與MCS-51的RESET線連上。復位、晶振電路應畫上。 各芯片的地址范圍為: 2732:E000H~EFFFH 6116:D800H~DFFFH 8255:BFFCH~BFFFH 20.8255A有幾種工作方式?如何選擇工作方式?A口和B口的工作方式是否完全相同?解: 8255A有3種工作方式:方式0、方式1和方式2。 ① 方式0(基本輸入/輸出方式)。這種方式不需要任何選通信號,適合于無條件傳輸數(shù)據的設備,數(shù)據輸出有鎖存功能,數(shù)據輸入有緩沖(無鎖存)功能。 ② 方式1(選通輸入/輸出方式)。這種工作方式下,A組包括A口和C口的高四位(PC7~PC4),A口可由程序設定為輸入口或輸出口,C口的高四位則用來作為輸入/輸出操作的控制和同步信號;B組包括B口和C口的低四位(PC3~PC0),功能和A組相同。 ③ 方式2(雙向I/O口方式)。僅A口有這種工作方式,B口無此工作方式。此方式下,A口為8位雙向I/O口,C口的PC7~PC3用來作為輸入輸出的控制和同步信號。此時,B口可以工作在方式0或方式1。 21.8255A的端口地址為7F00H~7F03H,試編程對8255A初始化,使A口按方式0輸入,B口按方式1輸出。 解: 程序如下: ORG 0000H LJMP START ORG 0030H START:MOV SP, #60H MOV DPTR,#7F03H MOV A,#10010100B MOVX @DPTR,A SJMP $ END 習題5 18.A/D轉換器ADC0809的編程要點是什么? 解: 在軟件編寫時,應根據硬件連接電路計算被選擇的模擬通道的地址;執(zhí)行一條輸出指令,啟動A/D轉換;轉換結束后,執(zhí)行一條輸入指令,讀取A/D轉換結果。 可以采用延時、查詢和中斷的方法判別A/D轉換結束 。 19.在什么情況下要使用D/A轉換器的雙緩沖方式?試以DAC0832為例畫出雙緩沖方式的接口電路。 解: (1)應設置D/A轉換器的雙緩沖方式的情況 有些D/A轉換器(如DAC0832)的內部具有兩極緩沖結構,即芯片內有一個8位輸入寄存器和一個8位DAC寄存器。 這樣的雙緩沖結構,可以使DAC轉換輸出前一個數(shù)據的同時,將下一個數(shù)據傳送到8位輸入寄存器,以提高D/A轉換的速度。更重要的是,能夠使多個D/A轉換器在分時輸入數(shù)據后,同時輸出模擬電壓。 (2)D/A轉換器DAC0832的雙緩沖方式的接口電路如圖5.19所示。 圖5.19 DAC0832雙緩沖連接電路圖 20.用單片機控制外部系統(tǒng)時,為什么要進行A/D和D/A轉換? 解: 單片機只能處理數(shù)字形式的信息,但是在實際工程中大量遇到的是連續(xù)變化的物理量,如溫度、壓力、流量、光通量、位移量以及連續(xù)變化的電壓、電流等。對于非電信號的物理量,必須先由傳感器進行檢測,并且轉換為電信號,然后經過放大器放大為OV~5V電平的模擬量。所以必須加接模擬通道接口,以實現(xiàn)模擬量和數(shù)字量之間的轉換。A/D(模/數(shù))轉換就是把輸入的模擬量變?yōu)閿?shù)字量,供單片機處理;而D/A(數(shù)/模)轉換就是將單片機處理后的數(shù)字量轉換為模擬量輸出。 習題6 5.顯示器和鍵盤在單片機應用系統(tǒng)中的作用是什么? 解: 具有人機對話功能。實現(xiàn)人對應用系統(tǒng)的狀態(tài)干預和數(shù)據輸入- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 單片機 原理 應用 作業(yè) 答案
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://ioszen.com/p-7986550.html