版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第1章習(xí)題參考答案1- 1什么是單片機(jī)?它與一般微型計(jì)算機(jī)在結(jié)構(gòu)上何區(qū)別?答:?jiǎn)纹⑿陀?jì)算機(jī)簡(jiǎn)稱為單片機(jī)(Single Chip Computer), 乂稱為微控制器(MCU 即Micro-Controller Unit)。它是在一塊芯片上集成了中央處理器(CPU)、存儲(chǔ)器 (RAM、ROM)、定時(shí)器/計(jì)數(shù)器、中斷控制、各種輸入/輸出(I/O)接口(如并行I/O 口、申行I/O 口和A/D轉(zhuǎn)換器)等為一體的器件。微型計(jì)算機(jī)的基本結(jié)構(gòu)由CPU (運(yùn)算器、控制器)、存儲(chǔ)器、輸入設(shè)備和輸 出設(shè)備五大部分組成,各部分通過外部總線連接而成為一體。單片機(jī)的結(jié)構(gòu)是在 一塊芯片上集成了中央處理器(CPU)、存
2、儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、中斷控制、各 種輸入/輸出接口(如并行I/O 口、申行I/O 口和A/D轉(zhuǎn)換器)等,它們通過單 片機(jī)內(nèi)部部總線連接而成為一體。1-2 MCS-51系列單片機(jī)內(nèi)部資源配置如何?試舉例說明8051與51兼容的單片機(jī)的異同。答:MCS-51系列單片機(jī)內(nèi)部資源配置型號(hào)程序存儲(chǔ) 器片內(nèi)RAM定時(shí)/計(jì) 數(shù)器并行I/O口串行口中斷源/中斷優(yōu)先 級(jí)8031/80C31無128B2X 164X 815/28051/80C514KB ROM128B2X 164X 815/28751/87C514KBEPROM128B2X 164X 815/28032/80C32無256B3X 164X 81
3、6/28052/80C524KB ROM256B3X 164X 816/28051與51兼容的單片機(jī)的異同J商型號(hào)程序存儲(chǔ)器片內(nèi)RAM定時(shí)/ 計(jì)數(shù) 器并行I/O口串 行 口中斷源/ 優(yōu)先級(jí)其它特點(diǎn)Intel8051/80C514KB ROM1128B2X 164X 815/2ATMELAT89C20512KBFlashROM128B2X 161516/2直接驅(qū)動(dòng)LED輸出,片 上模擬比較器AT89S5312KBFlashROM256B3X 163219/2SPI, WDT 2個(gè)數(shù)據(jù)指針W77E5832KBFlashROM256B+1024B3X 1636212/2擴(kuò)展了 4位I/O 口,雙 數(shù)
4、據(jù)指針,WDTAnalogDevicesADuC8128KBEEPROM256B+640B2X 163219/2WDT SPI ,8 通道 12 位 ADC 2通道12位DAC 片上DM臘制器。.飛利浦80C552無256B3X 1648115/4CMOS1 10 位 ADC 捕捉/比較單元,PWM83/87C5528KBEEPROM256B3X 1648115/4CMOS1 10 位 ADC 捕捉/比較單元,PWM83/89CE55832KBEEPROM256B+1024B3X 1640115/48通道10位ADC捕捉/ 比較單元,PWM雙數(shù)據(jù) 指針,I 2C總線,PLL(32kHz)。83
5、C59216KBEEPROM256B+256B3X 1648215/2CMOS1 CAN!控制器SSTSST89E55432KB+8KBFlashROM1KB3X 163228/440MHz SPI ,雙數(shù)據(jù)指 針,WDTTIMSC1210Y24KB+2KBFlashROM1280B3X 163222132位累加器,WDTSPI, 低電壓檢測(cè),16位PWM英特爾87C5416KBEPROM256B3X 163217/4具有幀錯(cuò)誤檢測(cè)的可編 程串口。83/87C51GB8KBEPROM256B3X 1648115/4PWM WDT 8通道8位ADC具有幀檢測(cè)和識(shí)別 的串口。1- 3簡(jiǎn)述單片機(jī)的仿
6、真調(diào)試方式。答:1)通過仿真器調(diào)試,這種方式下,通過 PC機(jī),編寫源程序,匯編后 如無錯(cuò)誤,則下載到仿真器中,通過調(diào)試,如斷點(diǎn)、單步等調(diào)試功能,可以利用 各種窗口,觀察程序的執(zhí)行情況,同時(shí),觀察用戶板上相應(yīng)的硬件變化。這種方 式的優(yōu)點(diǎn)是,調(diào)試時(shí),程序在仿真器內(nèi)部 RAM中,可以無限次寫入而不會(huì)損壞 仿真器,缺點(diǎn)是仿真器價(jià)格一般較貴。2)利用下載板調(diào)試,通過單片機(jī)內(nèi)部的 FLASH,使用ISP方式,稱在 片上編程系統(tǒng),即In System Program,直接把編好的程序?qū)懭雴纹瑱C(jī)內(nèi)步的 Flash ROM或E2PROM中,直接在用戶版上調(diào)試。這種方式的優(yōu)點(diǎn)是,調(diào)試時(shí), 程序直接下載到單片機(jī)內(nèi)部
7、的程序存儲(chǔ)器中,無需仿真器,下載板價(jià)格低廉,缺點(diǎn)是需要專用的內(nèi)部帶程序存儲(chǔ)器的單片機(jī),如AT89S51、AT89S52系列的單片機(jī),下載的次數(shù)也有限制,另外,下載板也會(huì)占用單片機(jī)的若干個(gè)I/O 口資源。第2章習(xí)題參考答案2-1 MCS-51系列單片機(jī)內(nèi)部有哪些主要的邏輯部件?答:一個(gè)8位CPU; 一個(gè)片內(nèi)振蕩器及時(shí)鐘電路;4K字節(jié)ROM程序存儲(chǔ)器; 128字節(jié)RAM數(shù)據(jù)存儲(chǔ)器;兩個(gè)16位定時(shí)器/計(jì)數(shù)器;可尋址64K外部數(shù)據(jù)存 儲(chǔ)器和64K外部程序存儲(chǔ)器空間的控制電路;32條可編程的I/O線(四個(gè)8位 并行I/O端口); 一個(gè)可編程全雙工申行口;具有五個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套 中斷結(jié)構(gòu)2-2 M
8、CS-51設(shè)有4個(gè)8位端口(32條I/O線),實(shí)際應(yīng)用中8位數(shù)據(jù)信息由哪 一個(gè)端口傳送? 16位地址線怎樣形成? P3 口有何功能?答:實(shí)際應(yīng)用中8位數(shù)據(jù)信息由P1 口傳送。16位地址線由P0 口輸出低8位地 址A7A0 P2 口輸出高8位地址A15A8 P3 口是一個(gè)多用途的端口,也是一個(gè) 準(zhǔn)雙向口,作為第一功能使用時(shí),其功能同P1 口;當(dāng)作第二功能使用時(shí),P3.0一RX腳行輸入(數(shù)據(jù)接收)口,P3.1 TXD申行輸出(數(shù)據(jù)發(fā)送)口,P3.2 INT0 外部中斷0輸入線,P3.3 "外部中斷1輸入線,P3.4 T0定時(shí)器0外部輸入, P3.5 T1定時(shí)器1外部輸入,P3.6柯外部數(shù)
9、據(jù)存儲(chǔ)器寫選通信號(hào)輸出,P3.7 一頑外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸入。2- 3 MCS-51的存儲(chǔ)器結(jié)構(gòu)與一般的微型計(jì)算機(jī)有何不同?程序存儲(chǔ)器和數(shù)據(jù)存 儲(chǔ)器各有何作用?答:MCS-51存儲(chǔ)器結(jié)構(gòu)與常見的微型計(jì)算機(jī)的配置方式不同,它把程序存儲(chǔ)器 和數(shù)據(jù)存儲(chǔ)器分開,各有自已的尋址系統(tǒng)、控制信號(hào)和功能。程序存儲(chǔ)器用來存放程序和始終要保留的常數(shù),如經(jīng)匯編后所編程序的機(jī)器碼。數(shù)據(jù)存儲(chǔ)器通常用來存放程序運(yùn)行中所需要的常數(shù)或變量,例如模/數(shù)轉(zhuǎn)換時(shí)實(shí)時(shí)采集的數(shù)據(jù)等。2-4 MCS-51內(nèi)部RAM區(qū)功能結(jié)構(gòu)如何分配? 4組工作寄存器使用時(shí)如何選 用?位尋址區(qū)域的字節(jié)地址范圍是多少?答:MCS-51系列單片機(jī)內(nèi)部數(shù)
10、據(jù)存儲(chǔ)器:00H 7FH單元組成的低128字節(jié)地 址空間的RAM區(qū),乂分為為工作寄存器區(qū)(00H1FH)、位尋址區(qū)(20H2FH) 和數(shù)據(jù)緩沖區(qū)(30H7FH)。80H FFH (128 255)單元組成的高128字節(jié)地址空間的特殊功能寄存器(乂稱 SFR)區(qū)。對(duì)丁 8032、8052、8752的單片機(jī)還 有80HFFH單元組成的高128字節(jié)地址空間的 RAM區(qū)。4組工作寄存區(qū)是由程序狀態(tài)字 PSW(特殊功能寄存器,字節(jié)地址為0D0H) 中的D4、D3位(RS1和RS0)來決定的。PSW.4PSW.3當(dāng)前使用的工作寄存器區(qū)(RS1)(RS0)R0 R7000區(qū)(00 07H)011區(qū)(08 0
11、FH)102區(qū)(10 17H)113區(qū)(18 1FH)位尋址區(qū)域的字節(jié)地址范圍是 20H2FH (對(duì)應(yīng)的位地址范圍是 00H7FH)。2- 5特殊功能寄存器中哪些寄存器可以位尋址?它們的字節(jié)地址是什么?答:P0字節(jié)地址80H,TCON字節(jié)地址88H,P1字節(jié)地址90H,SCON字節(jié)地址 98H,P2字節(jié)地址 A0H,IE字節(jié)地址A8H,P3字節(jié)地址B0H,IP字節(jié)地址B8H,PSW 字節(jié)地址D0H,ACC字節(jié)地址E0H, B字節(jié)地址F0H。2- 6簡(jiǎn)述程序狀態(tài)字PSW中各位的含義。答:CY (PSW7)進(jìn)位標(biāo)志,AC (PSW6)輔助進(jìn)位標(biāo)志,F(xiàn)0 (PSW5)用戶標(biāo) 志位RS1、RS0 (P
12、SW4、PSW3)寄存器區(qū)選擇控制位,OV (PSW2)溢出標(biāo) 志,P (PSW. 0)奇偶標(biāo)志,每個(gè)指令周期都由硬件來置位或活 “0;以表示累 加器A中1的位數(shù)的奇偶數(shù)2- 7 一個(gè)時(shí)鐘頻率為6MHz的單片機(jī)應(yīng)用系統(tǒng),它的時(shí)鐘周期、機(jī)器周期、指令周期分別是多少?答:時(shí)鐘周期=1/3us、機(jī)器周期=2us、指令周期=2us。2- 8單片機(jī)有幾種主要的工作方式?其特點(diǎn)各是什么?答:有復(fù)位、程序執(zhí)行、低功耗三種主要工作方式。復(fù)位操作是單片機(jī)的初始化操作,單片機(jī)在進(jìn)入運(yùn)行前和在運(yùn)行過程中程序 出錯(cuò)或操作失誤使系統(tǒng)不能正常運(yùn)行時(shí),需要進(jìn)行復(fù)位操作,復(fù)位操作后,程序?qū)?000H開始重新執(zhí)行。單片機(jī)的程
13、序的執(zhí)行過程分為取指令、譯碼、執(zhí)行三個(gè)過程。待機(jī)方式,也稱為空閑工作。系統(tǒng)進(jìn)入待機(jī)工作方式時(shí),振蕩器繼續(xù)工作,中斷系統(tǒng)、申行口以及定時(shí)器模塊由時(shí)鐘驅(qū)動(dòng)繼續(xù)工作,但時(shí)鐘不提供給CPU。單片機(jī)進(jìn)入掉電工作方式,只有內(nèi)部 RAM單元的內(nèi)容被保存,其它一切工作都 停止。2-9堆棧有何功能?堆棧指針的作用是什么?二者的關(guān)系?為什么在程序設(shè)計(jì) 時(shí),要對(duì)SP重新賦值?答:堆棧的主要功能:保護(hù)斷點(diǎn)和程序現(xiàn)場(chǎng),保存用戶數(shù)據(jù)。堆棧指針的作用是:堆棧指針 SP是一個(gè)8位特殊功能寄存器,指示出堆棧 頂部在內(nèi)部RAM中的位置。兩者的關(guān)系:堆棧指針SP給定當(dāng)前的棧頂,SP的初始值越小,堆棧深度就 越潦。系統(tǒng)復(fù)位后,SP初
14、始化為07H,使得堆棧事實(shí)上由08H單元開始??紤]到 08H-1FH單元分屆于工作寄存器區(qū)13,若程序設(shè)計(jì)中要用到這些區(qū),則最好把 SP值改置為1FH或更大的值如60H , SP的初始值越小,堆棧深度就越深,堆棧 指針的值可以由軟件改變,因此堆棧在內(nèi)部RAM中的位置比較靈活。第3章習(xí)題參考答案3-1設(shè)內(nèi)部RAM中59H單元的內(nèi)容為50H,寫出當(dāng)執(zhí)行下列程序段后寄存器A , R0和內(nèi)部RAM中 50H,51H單元的內(nèi)容為何值?MOVA , 59H;A=50HMOVR0, A;R0=50HMOVA , #00H;A=00HMOVR0 A;50H=00HMOVA , #25H;A=25HMOV51H
15、 , A;51H=25HMOV52H , #70H; 52H=70HA=25HR0=50H50H=00H51H=25H3- 2訪問外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器可以用哪些指令來實(shí)現(xiàn)?舉例說明。答:訪問外部數(shù)據(jù)存儲(chǔ)器指令有:MOVX DPTR, AMOV DPTR,#0100HMOV DPTR,AMOVX A, DPTRMOV DPTR,#0200HMOV A,DPTRMOVX A, RiMOVX A,R0PUSH30H;61H=24HPUSH31H;62H=10HSP=62HPOPDPL;DPL=10HPOPDPH;DPH=24H SP=60HMOV30H, #00H;30H=00HMOV31H,
16、 #0FFH; 31H=0FFH3-4 設(shè)(A) =40H,(R1) =23H,(40H) =05H。執(zhí)行下列兩條指令后,累加MOVX Ri, A訪問程序存儲(chǔ)器指令有:MOVC A, A+PCA, A+PCMOVC A, A+DPTR3-3設(shè)堆棧指針SP中的內(nèi)容為60H, 執(zhí)行下列程序段后,MOVX R1,A分別為24H和10H,中的內(nèi)容將有何變化?內(nèi)部RAM中30H和31H單元的內(nèi)容 61H, 62H,30H, 31H, DPTR 及 SPXCH XCHD器A和R1以及內(nèi)部RAM中40H單元的內(nèi)容各為何值?A, R1; A=23HA, R1; A=25HR1=40H40H=03H50H, 5
17、1H 和 52H , 53H,和存放在54H, 55H3- 5兩個(gè)四位BCD碼數(shù)相加,被加數(shù)和加數(shù)分別存于 單元中(千位、白位在低地址中,十位、個(gè)位在高地址中) 和56H中(56H用來存放最高位的進(jìn)位),試編寫加法程序。ORG LJMPORG START:0000HSTART0100HMOV A,53HADD A,51HDA AMOV MOV ADDC DA MOVSJMP $ END3-6 設(shè)(A) =01010101B,55H,AA,52HA,50HA56H,C(R5) =10101010B,ANL A , R5 ;00000000BORL A , R5 ;11111111BXRL A ,
18、 R5 ;11111111B3-7 指令 SJMP rel 中,分別寫出執(zhí)行下列指令后結(jié)果。設(shè)rel=60H,并假設(shè)該指令存放在2114H和2115H單元中。當(dāng)該條指令執(zhí)行后,程序?qū)⑻D(zhuǎn)到何地址?答: 2116H+60H=2176H3- 8 簡(jiǎn)述轉(zhuǎn)移指令 AJMP addr11、SJMP rel、 LJMP addr16 及 JMP A+DPTR的應(yīng)用場(chǎng)合。答:AJMP addrll為2K字節(jié)范圍內(nèi)的無條件轉(zhuǎn)跳指令,把程序的執(zhí)行轉(zhuǎn)移 到指定的地址。SJMP rel是無條件轉(zhuǎn)跳指令,執(zhí)行時(shí)在 PC加2后,把指令中補(bǔ) 碼形式的偏移量值加到PC上,并計(jì)算出轉(zhuǎn)向目標(biāo)地址。轉(zhuǎn)向的目標(biāo)地址可以在 這條指令
19、前128字節(jié)到后127字節(jié)之間。LJMP addr16執(zhí)行這條指令時(shí)把指令的第二和第三字節(jié)分別裝入 PC的高位 和低位字節(jié)中,無條件地轉(zhuǎn)向指定地址。轉(zhuǎn)移的目標(biāo)地址可以在 64K程序存儲(chǔ) 器地址空間的任何地方,不影響任何標(biāo)志。JMP A+DPTR 指令的功能是把累加器中8位無符號(hào)數(shù)與數(shù)據(jù)指針DPTR中的16位數(shù)相加,將結(jié)果作為下條指令地址送入 PC,利用這條指令能實(shí) 現(xiàn)程序的散轉(zhuǎn)。3- 9試分析下歹0程序段,當(dāng)程序執(zhí)行后,位地址 00H , 01H中的內(nèi)容將為何 值? P1 口的8條I/O線為何狀態(tài)?LOOP1:LOOP2:CLRMOVJCCPLSETB ORL JBCLRMOVSJMPCA,
20、#66HLOOP1C01HC, ACC.0ACC.2, LOOP2 ;00H;CY=0; A=66HCY=1;20H.1=1; CY=1P1, $;P1=01100110B20H.0=020H.1=1P1=66H3- 10查指令表,寫出下列兩條指令的機(jī)器碼,并比較一下機(jī)器碼中操作數(shù)排列 次序的特點(diǎn)。MOV 58H, 80H85(80)(58)直接尋址字節(jié)送直接尋址字節(jié):匯編時(shí)源操作數(shù)在目標(biāo)操作數(shù)之前。MOV 58H, #80H75(58)(80)立即數(shù)送直接尋址字節(jié):匯編時(shí)目標(biāo)操作數(shù)在原操作數(shù)之前。第4章習(xí)題參考答案4- 1什么是單片機(jī)的程序設(shè)計(jì)語言。答:?jiǎn)纹瑱C(jī)的程序設(shè)計(jì)語言是指計(jì)算機(jī)能理解和
21、執(zhí)行的語言,人與CPU、MCU交流的語言。MCS-51系列單片機(jī)的程序設(shè)計(jì)語言,按照語言的結(jié)構(gòu)及其功能可 以分為三種:機(jī)器語言、匯編語言、高級(jí)語言。4- 2單片機(jī)的程序設(shè)計(jì)包括哪幾個(gè)步驟。答:程序設(shè)計(jì)步驟如下:(1) 分析問題。即仔細(xì)分析任務(wù)書中要實(shí)現(xiàn)的功能和性能指標(biāo)。(2)(3)(4)(5)(6)(7)(8)確定算法。即找到解決I可題思路、方法。分配內(nèi)存單元。即確定數(shù)據(jù)結(jié)構(gòu)。這一步往往與算法同時(shí)考慮。根據(jù)算法和數(shù)據(jù)結(jié)構(gòu),畫出程序流程圖。根據(jù)流程圖編寫匯編語言源程序。編輯錄入,保存為 *.ASM文件。匯編。排除語法錯(cuò)誤調(diào)試(DEBUG )。找出錯(cuò)誤并更正,再調(diào)試,直至通過。編寫相關(guān)說明文檔順序
22、結(jié)構(gòu)流程圖4- 3畫出單片機(jī)的三種基本程序結(jié)構(gòu)。流程圖4- 4單片機(jī)的分支結(jié)構(gòu)程序指令有哪幾條?答:分支結(jié)構(gòu)程序指令有 JB、JNB、JC、JNC、JZ、JNZ、CJNE、JBC4- 5什么是單片機(jī)的程序嵌套?生活中有哪些現(xiàn)象與單片機(jī)的嵌套類似?答:一個(gè)程序中還會(huì)調(diào)用別的程序,這稱為程序嵌套。生活例子:在學(xué)習(xí),有電話了,去接電話,水開了,放下電話去關(guān)掉電水壺, 接著打電話,打完電話,接著學(xué)習(xí)4-6能否從一個(gè)子程序內(nèi)部使用轉(zhuǎn)移指令直接跳轉(zhuǎn)到另一個(gè)子程序執(zhí)行?答:可以,為了保證正確地從子程序 2返回子程序1,再?gòu)?返回主程序,每次 調(diào)用子程序時(shí)必須將下條指令地址保存起來, 返回時(shí)按后進(jìn)先出原則依次
23、取出舊 PC值。4-7能否使用轉(zhuǎn)移指令從主程序跳到子程序?答:不可以,當(dāng)主程序需要執(zhí)行某子程序的功能時(shí),只需執(zhí)行一條調(diào)用指令。而 并非使用轉(zhuǎn)移指令4-8能否使用轉(zhuǎn)移指令從子程序跳到主程序?答:不可以,子程序的最后一條指令應(yīng)該是返回指令 RET或RETI,以確保子程 序能夠正確返回主程序。執(zhí)行 RET指令時(shí)單片機(jī)將原來存在堆棧中的斷點(diǎn)地址 彈出給PC,保證子程序返回主程序中調(diào)用子程序的地方繼續(xù)執(zhí)行主程序。子程序從子程序的標(biāo)號(hào)開始,到 RET或RETI指令結(jié)束。ZERET指令是一股子程序的返回指令。RETI指令是中斷服務(wù)子程序的返回指令。4-9圓出主程序的一般流程圖。答:主程序流程圖4- 10畫出
24、子程序的一般流程圖 答:子程序流程圖4- 11子程序的規(guī)范化設(shè)計(jì)包括那幾個(gè)部分?答:子程序的規(guī)范化設(shè)計(jì)包括:(1) 子程序名稱。給子程序起名字,起名的原則是子程序名能夠反映子程序功 能,該名字就是子程序的入口地址標(biāo)識(shí)符。(2) 子程序功能,對(duì)子程序的功能給予簡(jiǎn)要的描述。(3) 入口參數(shù),子程序所要運(yùn)算或處理的數(shù)據(jù)(加工前的原料),在調(diào)用子程 序之前,主程序要先準(zhǔn)備好入口參數(shù)。(4) 出口參數(shù),子程序運(yùn)算或處理的結(jié)果(加工完成的數(shù)據(jù)),子程序結(jié)束之前, 最終結(jié)果(出口參數(shù))存放在約定的 RAM單元,供主程序取用。(5) 資源占用情況,指出該子程序運(yùn)行時(shí)所使用的片內(nèi)工作寄存器 (R0R7)、 SF
25、R (特殊功能寄存器)、片內(nèi)RAM單元及片外RAM單元,以便在主程序調(diào)用 該子程序之前,考慮將這些資源中的哪些字節(jié)保護(hù)入棧。4-12在片內(nèi)RAM地址40H到4FH的存儲(chǔ)單元中存有16個(gè)無符號(hào)數(shù),找出其中 的最大值,放入50H單元,請(qǐng)用“循環(huán)結(jié)構(gòu)”和“分支結(jié)構(gòu)”編程。答:流程圖:源程序:ORG 0000HLJMP MAINORG 0100HMAIN:MOV R2,#0FHMOV R0,#40HMOV A,R0SUB:INC R0MOV B,R0CJNE A,B,NEXT NEXT:JC NEXT1DJNZ R2,SUBJMP LASTNEXT1:MOV A,BDJNZ R2,SUBJMP LAS
26、TLAST:MOV 50H,ASJMP $4- 13將片內(nèi)若干個(gè)RAM單元的內(nèi)容復(fù)制到片外RAM單元,請(qǐng)用“主程序”調(diào) 用“子程序”編程,要求子程序入口參數(shù)為:R0存放片內(nèi)RAM起始地址,DPTR 存放片外RAM起始地址,R1存放字節(jié)數(shù)。請(qǐng)分別編寫主程序和子程序。答:流程圖源程序:主程序子程序ORG 0000HLJMP MAINORG 0100HMAIN:MOV R1,#10HMOV R0,#40HMOV DPTR,#0000HLCALL COPYSJMP $COPY:NEXT: MOV A,R0MOVX DPTR,AINC R0INC DPLDJNZ R1,NEXTRET第5章習(xí)題參考答案5
27、- 1簡(jiǎn)述中斷、中斷源、中斷源的優(yōu)先級(jí)及中斷嵌套的含義。答:當(dāng)CPU正在處理某項(xiàng)事件的時(shí),如果外界或內(nèi)部發(fā)生了緊急情況,要求CPU 暫停正在處理的工作轉(zhuǎn)而去處理這個(gè)緊急情況, 待處理完以后再回到原來被中斷 的地方,繼續(xù)執(zhí)行原來被中斷了的程序,這樣的過程稱為中斷。向CPU提出中斷請(qǐng)求的源稱為中斷源。當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而 CPU在一 個(gè)時(shí)刻只能響應(yīng)并處理中斷優(yōu)先高的請(qǐng)求。在實(shí)際應(yīng)用系統(tǒng)中,當(dāng)CPU正在處理某個(gè)中斷源,即正在執(zhí)行中斷服務(wù)程序時(shí), 會(huì)出現(xiàn)優(yōu)先級(jí)更高的中斷源申請(qǐng)中斷。為了使更緊急的級(jí)別高的中斷源及時(shí)得到 服務(wù),需要暫時(shí)中斷(掛起)當(dāng)前正在執(zhí)行的級(jí)別
28、較低的中斷服務(wù)程序,去處理 級(jí)別更高的中斷源,待處理完以后,再返回到被中斷了的中斷服務(wù)程序繼續(xù)執(zhí)行, 但級(jí)別相同或級(jí)別低的中斷源不能中斷級(jí)別高的中斷服務(wù),這就是所謂的中斷嵌套。5- 2 MCS-51單片機(jī)能提供幾個(gè)中斷源?幾個(gè)中斷優(yōu)先級(jí)?各個(gè)中斷的源的優(yōu)先 級(jí)怎樣確定?在同一優(yōu)先級(jí)中各個(gè)中斷源的優(yōu)先級(jí)怎樣確定?答:MCS-51單片機(jī)能提供五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。中斷優(yōu)先級(jí)是由 片內(nèi)的中斷優(yōu)先級(jí)寄存器IP (特殊功能寄存器)控制的。PS:申行口中斷優(yōu)先級(jí)控制位。PS=1,申行口定義為高優(yōu)先級(jí)中斷源;PS=0, 申行口定義為低優(yōu)先級(jí)中斷源。PT1: T1中斷優(yōu)先級(jí)控制位。PT1=1,定時(shí)器/計(jì)
29、數(shù)器1定義為高優(yōu)先級(jí)中斷 源;PT1=0,定時(shí)器/計(jì)數(shù)器1定義為低優(yōu)先級(jí)中斷源。PX1:外部中斷1中斷優(yōu)先級(jí)控制位。PX1=1,夕卜中斷1定義為高優(yōu)先級(jí)中 斷源;PX1=0,夕卜中斷1定義為低優(yōu)先級(jí)中斷源。PT0:定時(shí)器/計(jì)數(shù)器0 (T0)中斷優(yōu)先級(jí)控制位,功能同 PT1。PX0:外部中斷0中斷優(yōu)先級(jí)控制位,功能同 PX1。在同一優(yōu)先級(jí)中,循環(huán)輪流排隊(duì)。不分級(jí)別高低,所有中斷源優(yōu)先級(jí)都一律 平等,CPU輪流響應(yīng)各個(gè)中斷源的中斷請(qǐng)求。5-3簡(jiǎn)述MCS-5仰片機(jī)中斷響應(yīng)過程。答:CPU在每個(gè)機(jī)器周期的S5P2時(shí)刻采樣中斷標(biāo)志,而在下一個(gè)機(jī)器周期對(duì)采 樣到的中斷進(jìn)行查詢。如果在前一個(gè)機(jī)器周期的 S5
30、P2有中斷標(biāo)志,則在查詢周 期內(nèi)便會(huì)查詢到并按優(yōu)先級(jí)高低進(jìn)行中斷處理, 中斷系統(tǒng)將控制程序轉(zhuǎn)入相應(yīng)的 中斷服務(wù)程序。5- 4 MCS-51單片機(jī)外部中斷有哪兩種觸發(fā)方式?如何選擇?對(duì)外部中斷源的觸 發(fā)脈沖或電平有何要求?答:MCS-51單片機(jī)外部中斷有:負(fù)邊沿觸發(fā)方式和電平觸發(fā)方式。外部中斷1(INT1)觸發(fā)方式控制位。如果IT1為1,則外中斷1為負(fù)邊沿觸發(fā)方式(CPU在每個(gè)機(jī)器周期的S5P2采樣INTi腳的輸入電平,如果在一個(gè)周期中采樣到高電平, 在下個(gè)周期中采樣到低電平,則硬件使 IE1置1,向CPU請(qǐng)求中斷);如果IT1 為0,則外中斷1為電平觸發(fā)方式。采用電平觸發(fā)時(shí),輸入到 而 的外部
31、中斷源 必須保持低電平有效,直到該中斷被響應(yīng)。同時(shí)在中斷返回前必須使電平變高, 否則將會(huì)再次產(chǎn)生中斷。5- 5在MCS-5仰片機(jī)的應(yīng)用系統(tǒng)中,如果有多個(gè)外部中斷源,怎樣進(jìn)行處理? 答:當(dāng)系統(tǒng)有多個(gè)中斷源時(shí),就可能出現(xiàn)同時(shí)有幾個(gè)中斷源申請(qǐng)中斷,而CPU在一個(gè)時(shí)刻只能響應(yīng)并處理一個(gè)中斷請(qǐng)求,為此,要進(jìn)行排隊(duì)。排隊(duì)的方 式有:(1) 按優(yōu)先級(jí)排隊(duì)。(2) 循環(huán)輪流排隊(duì)。MCS-51單片機(jī)優(yōu)先級(jí)比較簡(jiǎn)單,只有兩級(jí),可以通過優(yōu)先級(jí)控制寄存器設(shè)置不同的優(yōu)先級(jí)。當(dāng)優(yōu)先級(jí)相同時(shí),約定有5個(gè)中斷源優(yōu)先級(jí)順序由高到低分別為:外部中斷 0、定時(shí)器/計(jì)數(shù)器0溢出、外部中斷1、定時(shí) 器/計(jì)數(shù)器1溢出、申行口中斷。5-
32、6 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?各有什么特點(diǎn)?答:1)利用定時(shí)器作為外部中斷使用特點(diǎn):把MCS-51的兩個(gè)定時(shí)器/計(jì)數(shù)器(T0和T1)選擇為計(jì)數(shù)器方式,每 當(dāng)P3.4 (T0)或P3.5 (T1)引腳上發(fā)生負(fù)跳變時(shí),T0和T1的計(jì)數(shù)器加1??梢?把P3.4和P3.5引腳作為外部中斷請(qǐng)求輸入線,而定時(shí)器的溢出中斷作為外部中 斷請(qǐng)求標(biāo)志。2)采用中斷和查詢相結(jié)合的方法擴(kuò)充外部中斷源特點(diǎn):這種方法是把系統(tǒng)中多個(gè)外部中斷源經(jīng)過與門連接到一個(gè)外部中斷輸 入端(例如而T1),并同時(shí)還接到一個(gè)I/O 口,中斷請(qǐng)求由硬件電路產(chǎn)生,而中 斷源的識(shí)別由程序查詢來處理,查詢順序決定了中斷源的優(yōu)先級(jí)。5
33、-7 MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對(duì)外部中斷請(qǐng)求的響應(yīng)?答:響應(yīng)外部中斷的典型時(shí)間是至少需要 3個(gè)完整的機(jī)器周期。1、外部中斷INT0和INT1的電平在每個(gè)機(jī)器周期的 S5P2時(shí)被采樣并鎖存到IE0和IE1中,這個(gè)置入到IE0和IE1的狀態(tài)在下一個(gè)機(jī)器周期才被其內(nèi)部的查詢電路查 詢,未產(chǎn)生了一個(gè)中斷請(qǐng)求。2、沒有滿足響應(yīng)的條件,CPU沒有響應(yīng)中斷。3、沒有由硬件生成一條長(zhǎng)調(diào)用指令轉(zhuǎn)到相應(yīng)的服務(wù)程序入口第6章習(xí)題參考答案6- 1 8051單片機(jī)內(nèi)設(shè)有幾個(gè)可編程的定時(shí)器/計(jì)數(shù)器?它們可以有4種工作方式, 如何選擇和設(shè)定?各有什么特點(diǎn)?答:MCS-51單
34、片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1M1 M0 :定時(shí)器/計(jì)數(shù)器四種工作方式選擇M1M0方式特點(diǎn)00013位定時(shí)器/計(jì)數(shù)器01116位定時(shí)器/計(jì)數(shù)器102自動(dòng)裝入時(shí)間常數(shù)的8位定時(shí)器/計(jì)數(shù)器113對(duì)T0分為兩個(gè)8位獨(dú)立計(jì)數(shù)器;對(duì)T1置方式3時(shí)停止 工作(無中斷重裝 8位計(jì)數(shù)器)6-2 8051單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器T0、T1工作在模式3時(shí),有何不同?答:方式3對(duì)定時(shí)器T0和定時(shí)器T1是不相同的。若T1設(shè)置為方式3,貝停止 工作。方式3只適用丁 T0。當(dāng)T0設(shè)置為方式3時(shí),將使TL0和TH0成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器,TL0 利用了 T0本身的一些控制方式,它的
35、操作與方式0和方式1類似。而TH0被規(guī) 定為用作定時(shí)器功能,對(duì)機(jī)器周期計(jì)數(shù),并借用了 T1的控制位TR1和TF1。在 這種情況下TH0控制了 T1的中斷。6-3已知單片機(jī)時(shí)鐘振蕩頻率為6MHz ,利用T0定時(shí)器,在P1.1引腳上輸出連 續(xù)方波,波形如下:100 g150(SP1.1計(jì)算定時(shí)常數(shù):100us 方式0150us 方式0Tc=FE0E;Tc=FD15;方式1方式1Tc=FFCE;方式 2 Tc=CETc=FFB5; 方式 2 Tc=B5方法一:采用方式一,定時(shí)器中斷0源程序:ORG 0000HLJMP STARTORG 000BHLJMP TINT0ORG 0100HSTART:MO
36、V TMOD,#01HMOV TL0,#0CEHMOV TH0,#0FFHSETB TR0SETB EASETB ET0SETB 20H.0SETB P1.1SJMP $TINT0:JNB 20H.0,NEXTMOV TL0,#0B5HMOV TH0,#0FFHCLR P1.1CPL 20H.0SJMP LASTNEXT:MOV TL0,#0CEHMOV TH0,#0FFHSETB P1.1CPL 20H.0LAST:RETI方法二:采用方式2定時(shí)器中斷加延時(shí)程序源程序:ORG 0000HLJMP STARTORG 000BHLJMP TINT0ORG 0100HSTART:MOV TMOD,
37、#02HMOV TL0,#0CEHMOV TH0,#0CEHSETB TR0SETB EASETB ET0SETB 20H.0SETB P1.1SJMP $TINT0:JNB 20H.0,NEXTCLR TR0CLR P1.1LCALL DELAYCPL 20H.0SETB TR0SJMP LASTNEXT:SETB P1.1CPL 20H.0LAST:RETIDELAY: MOV R7,#8DELAY1:DJNZ R7,DELAY1RET中斷子程序流程圖主程序流程圖6- 4定時(shí)器/計(jì)數(shù)器的工作方式2有什么特點(diǎn)?適用丁什么應(yīng)用場(chǎng)合?答:方式2把TL0配置成一個(gè)可以自動(dòng)恢復(fù)初值的 8位計(jì)數(shù)器,T
38、H0作為 常數(shù)緩沖器,TH0由軟件預(yù)置值。當(dāng)TL0產(chǎn)生溢出時(shí),一方面使溢出標(biāo)志 TF0 置1,同時(shí)把TH0中的8位數(shù)據(jù)重新裝入TL0中。方式2常用丁定時(shí)控制,作申行口波特率發(fā)生器。6- 5定時(shí)器/計(jì)數(shù)器測(cè)量某正單脈沖的寬度,采用何種方式可得到最大量程?若 時(shí)鐘頻率為6MHz,求允許測(cè)量的最大脈沖寬度是多少?答:采用方式1可得到最大量程。最大脈寬=2usX 655366- 6定時(shí)器/計(jì)數(shù)器作為外部中斷源使用時(shí),需要如何初始化,以 T0為例通過 程序說明。答:初始化MOV TMOD,#06HMOV TL0,#0FFHMOV TH0,#0FEHSETB TR0SETB EASETB ET0第7章習(xí)題
39、參考答案7- 1波特率的含義是什么?答:所謂波特率是每秒鐘傳送信號(hào)的數(shù)量,單位為波特( Baud )。7- 2什么是申行異步通信?它有哪些特征?答:通信時(shí)接收器和發(fā)送器有各自的時(shí)鐘。特征:異步通信的優(yōu)點(diǎn)是不需要傳送同步脈沖,可靠性高,所需設(shè)備簡(jiǎn)單, 缺點(diǎn)是字符幀中因包含有起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率7- 3單片機(jī)的申行接口由哪些功能部件組成?各有什么作用?答:MCS-51單片機(jī)申行口主要由兩個(gè)物理上獨(dú)立的申行數(shù)據(jù)緩沖寄存器SBUF、發(fā)送控制器、接收控制器、輸入移位寄存器和輸出控制門組成。作用:SBUF為申行口的收發(fā)緩沖寄存器,它是可尋址的專用寄存器,其中 包含了發(fā)送寄存器SBUF
40、(發(fā)送)和接收寄存器SBUF (接收),可以實(shí)現(xiàn)全雙 工通信。7- 4簡(jiǎn)述申行接口接收和發(fā)送數(shù)據(jù)的過程。答:發(fā)送:發(fā)送操作是在TI=0下進(jìn)行的,此時(shí)發(fā)送緩沖寄存器“ SBUF (發(fā)送)” 相當(dāng)丁一個(gè)并入申出的移位寄存器。 CPU通過指令MOV SBUF , A ,將數(shù)據(jù)寫 入“SBUF(發(fā)送)”,立即啟動(dòng)發(fā)送,將8位數(shù)據(jù)以設(shè)定波特率從 RXD輸出, 低位在前,高位在后。發(fā)送完一幀數(shù)據(jù)后,發(fā)送中斷標(biāo)志 TI由硬件置位,并可 向CPU發(fā)出中斷請(qǐng)求。接收:接收過程是在RI=0且REN=1條件下啟動(dòng)的,此時(shí)接收緩沖寄存器“SBUF (接收)”相當(dāng)丁一個(gè)申入并出的移位寄存器。接收時(shí),先置位允許接收控制位
41、REN,此時(shí),RXD為申行數(shù)據(jù)輸入端。當(dāng)RI=0和REN=1同時(shí)滿足時(shí),開始接 收。當(dāng)接收到第8位數(shù)據(jù)時(shí),將數(shù)據(jù)移入接收緩沖寄存器“ SBUF (接收)”, 并由硬件置位RI ,同時(shí)向CPU發(fā)出中斷請(qǐng)求。CPU查到RI=1或響應(yīng)中斷后, 通過指令MOV A , SBUF,將“ SBUF (接收)”接收到的數(shù)據(jù)讀入累加器 A。7-5 8051申行接口有幾種工作方式?有幾種幀格式?各工作方式的波特率如何 確定?答:方式0、1、2、3.8幀10幀11幀 三種格式。波特率: 方式0的波特率固定為系統(tǒng)晶振頻率的1/12,其值為fosc/12。其中,fosc 為系統(tǒng)主機(jī)晶振頻率。 方式2的波特率由PCON
42、中的選擇位SMOD來決定,可由下式表示:波特率 日 2SMOD/64 ) X fosc即:當(dāng)SMOD =l時(shí),波特率為fosc/32;當(dāng)腳SMOD=0時(shí),波特率為fosc/64。 方式1和方式3的波特率由定時(shí)器Tl的溢出率控制。因而波特率是可變的。定時(shí)器TI作為波特率發(fā)生器,相應(yīng)公式如下:SMOD波特率=(J)X定時(shí)器T1溢出率32T1溢出率=T1計(jì)數(shù)率/產(chǎn)生溢出所需的周期數(shù)-(fosc /12) /(2 k _TC )式中K:定時(shí)器T1的位數(shù),K的值等丁 8、13、16;TC:定時(shí)器T1的預(yù)置初值。第8章習(xí)題參考答案8-1 MCS-51單片機(jī)外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器地址范圍都是0000HF
43、FFFH在實(shí)際使用時(shí)如何區(qū)分?答:訪問(讀)ROM寸(程序存儲(chǔ)器),通過PSEN引腳有效選中程序存儲(chǔ)器,PC指針指向程序存儲(chǔ)器的地址指針。 訪問外部RAM數(shù)據(jù)存儲(chǔ)器),通過rd、WR 引腳有效選中數(shù)據(jù)存儲(chǔ)器(DPT對(duì)外部RAMff儲(chǔ)器的地址指針)8- 2 訪問8051片外數(shù)據(jù)存儲(chǔ)器MOV蠟令采用的是 尋址方式。訪 問片外程序存儲(chǔ)器MOV®令采用的是尋址方式。8-3 MCS-51單片機(jī)可以外接64KB的程序存儲(chǔ)器和64KB數(shù)據(jù)存儲(chǔ)器。這兩種片 外存儲(chǔ)器地址重疊而不發(fā)生總線沖突,主要依靠單片機(jī)引腳上的那些信號(hào)來區(qū) 分?答:同8-1.8-4 給8031單片機(jī)擴(kuò)展一片2716和6116,請(qǐng)畫
44、出系統(tǒng)連接圖。方法一:地址自定:(其中一種解法如下)設(shè) 2716 地址:0000H07FFH6116 地址:0000H07FFH(不用譯碼器)P2.0P2.28051P0.0P0.7ALEEAPSENWRRDG2A方法二:采用部分譯碼如:2716的地址0000H07FFH6116 的地址 0800H08FFHP0.0P0.7RDP2.0 P2.28051地址鎖存器GALERDWRP2.5P2.4P2.3CBAG2AG2T74LS 墓PSENOEA8-A10 ce-A8A10 ceA0A76116D0D7"WE-OE-方法三:采用全譯碼如:2716的地址0000H07FFH6116的地
45、址0800HP2.5P2.4P2.3P2.0-P28051P0.0P0.7ALEPSENRD+5V GG2AG2T74LS138Y0Y1地址鎖存器GA8-A10 ceA0A72716D0D7OEA8A10 CEA0A76116D0D7WE-OE08FFH8-5試畫出MCS-51系列8051最小應(yīng)用系統(tǒng)的原理結(jié)構(gòu)圖。答:8051最小應(yīng)用系統(tǒng)如圖所示。這種最小應(yīng)用系統(tǒng)只要將單片機(jī)的時(shí)鐘電路和復(fù)位電路接上,同時(shí)EA接高電平, 作一些小型的控制單元。其應(yīng)用特點(diǎn)是:系統(tǒng)就可以工作。止:遍S用系統(tǒng)只能用"J_ T 8051 lp0 位三 P1-C1=C28751XTAL2(1) 全部I/O 口線
46、均可供用戶用。了=|(2) 內(nèi)部存儲(chǔ)器容量有限(只有4KEM址琴仙)o1(3) 應(yīng)用系統(tǒng)開發(fā)具有特殊性。8-6如何構(gòu)造MCS-51單片機(jī)擴(kuò)展的系統(tǒng)總線?RESETP2P3<=>見課本P129-P130第9章習(xí)題參考答案9-1設(shè)計(jì)用P1、P2 口擴(kuò)展4X4矩陣鍵盤、4位共陰極LED硬件電路8°51P14P15P16P17 _ +5VV V Y V V Y i°Kx 4 -DElin daa1 g f e d c b a dp gLED1K P13P1167 /以列3 yP12P1°P2°P21P22P23P24P25P26P279- 2已知一單片機(jī)應(yīng)用
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)業(yè)技術(shù)合作免責(zé)責(zé)任書4篇
- 通信協(xié)議基礎(chǔ)課程設(shè)計(jì)
- 年度掘進(jìn)機(jī)市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2024裝飾工程監(jiān)工質(zhì)量保障合同模板版
- 二零二五版電子商務(wù)平臺(tái)合作協(xié)議補(bǔ)充協(xié)議3篇
- 2025年度高品質(zhì)社區(qū)門窗安裝與物業(yè)綜合服務(wù)協(xié)議3篇
- 2025年度綜合能源服務(wù)項(xiàng)目承包工程合同范本4篇
- 2024投資融資咨詢服務(wù)合同范本兩
- 扶壁碼頭胸墻施工方案
- 汀步的施工方案
- 《藥品招商營(yíng)銷概論》課件
- 2025年病案編碼員資格證試題庫(含答案)
- 2025新譯林版英語七年級(jí)下單詞表
- 新疆2024年中考數(shù)學(xué)試卷(含答案)
- 2024-2030年中國(guó)連續(xù)性腎臟替代治療(CRRT)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- 跨學(xué)科主題學(xué)習(xí):實(shí)施策略、設(shè)計(jì)要素與評(píng)價(jià)方式(附案例)
- 場(chǎng)地委托授權(quán)
- 2024年四川省成都市龍泉驛區(qū)中考數(shù)學(xué)二診試卷(含答案)
- 項(xiàng)目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論