




已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用實(shí)例 習(xí) 題 集 數(shù)控教研室第一章緒論1. 什么是單片微型計(jì)算機(jī)?它與典型的微型計(jì)算機(jī)在結(jié)構(gòu)上有什么區(qū)別?答:單片機(jī)型計(jì)算機(jī)是將CPU,RAM,ROM,定時器,計(jì)數(shù)器,輸入輸出,接口電路,中斷,串行通信接口等主要計(jì)算機(jī)部件集成在一塊大規(guī)模的集成電路芯片上。2. 單片機(jī)具有哪些突出的優(yōu)點(diǎn)?(1) 片內(nèi)存儲容量越來越大。 (2)抗干擾性好,可靠性高。(3)芯片引線齊全,容易擴(kuò)展。(4) 運(yùn)行速度高,控制功能強(qiáng)。(5) 單片機(jī)內(nèi)部的數(shù)據(jù)信息保存時間很長,有的芯片可以達(dá)到100年以上3. 你對單片機(jī)的應(yīng)用知道多少?答:單片機(jī)在智能儀器和過程控制、E-HOME、INTERNET中具有廣泛的應(yīng)用。(詳見書8-9頁)4、什么是微處理器、CPU、微機(jī)和單片機(jī)?微處理器本身不是計(jì)算機(jī),它是小型計(jì)算機(jī)或微型計(jì)算機(jī)的控制和處理部分。CPU是中央處理單元(Central Processing Unit)的縮寫,它可以被簡稱做微處理器(Microprocessor),不過經(jīng)常被人們直接稱為處理器(processor)。CPU是計(jì)算機(jī)的核心,其重要性好比大腦對于人一樣,因?yàn)樗?fù)責(zé)處理、運(yùn)算計(jì)算機(jī)內(nèi)部的所有數(shù)據(jù),而主板芯片組則更像是心臟,它控制著數(shù)據(jù)的交換。CPU的種類決定了操作系統(tǒng)和相應(yīng)的軟件。CPU主要由運(yùn)算器、控制器、寄存器組和內(nèi)部總線等構(gòu)成,是PC的核心,再配上儲存器、輸入/輸出接口和系統(tǒng)總線組成為完整的PC(個人電腦)微機(jī)則是具有完整運(yùn)算及控制功能的計(jì)算機(jī),除了包括微處理器,還包括存儲器、接口適配器以及輸入/輸出設(shè)備。單片機(jī)是將微處理器、一定容量的RAM和ROM以及I/O口、定時器等電路集成在一塊芯片上,構(gòu)成單片微型計(jì)算機(jī)。5.微型計(jì)算機(jī)怎樣執(zhí)行一個程序?通過CPU指令,提到內(nèi)存當(dāng)中,再逐一執(zhí)行6.將下列各二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)和十六進(jìn)制數(shù)。(1)11010B (2)110100B(3)10101011B(4)11111B答:11010B=26D=1AH 110100B=52D=34H 10101011B=171D=ABH 11111B=31D=1FH7.將下列各數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)及ASCII碼。129D 253D 01000011BCD 00101001BCD答:129D=81H=(31H32H39H)ASCII 253D=FDH=(32H35H33H)ASCII01000011BCD=2BH=(34H33H)ASCII 00101001BCD=1DH=(32H39H)ASCII8.將下列十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)和十進(jìn)制數(shù)。(1)5AH (2)0AE7.D2H (3)12BEH (4)0A85.6EH5AH=90D=0101 1010B 0AE7.D2H=2791.8203125D=1010 1110 0111.1101 0010B12BEH=4798D=0001 0010 1011 1110B 0A85.6EH=2693.4296875D=1010 1000 0101.0110 1110B9.將下列十進(jìn)制數(shù)轉(zhuǎn)換成8421BCD碼。(1)22 (2)986.71 (3)1234 (4)678.9522=0010 0010BCD 968.71=1001 1000 0110.0111 0001BCD1234=0001 0010 0011 0100BCD 678.95=0110 0111 1000.1001 0101BCD10.什么叫原碼、反碼及補(bǔ)碼?答:計(jì)算機(jī)中的帶符號數(shù)有三種表示法,即:原碼、反碼和補(bǔ)碼。正數(shù)的符號位用0表示,負(fù)數(shù)的符號位用1表示。這種表示法稱為原碼。反碼可由原碼得到::如果是正數(shù),則其反碼和原碼相同;如果是負(fù)數(shù),則其反碼除符號為1外,其他各數(shù)位凡是1轉(zhuǎn)換為0,凡是0轉(zhuǎn)換為1。這種表示法稱為反碼。補(bǔ)碼可由反碼得到:如果是正數(shù),則其補(bǔ)碼和反碼相同;如果是負(fù)數(shù),則其補(bǔ)碼為反碼加1。這種表示法稱為補(bǔ)碼11.已知原碼如下,寫出其補(bǔ)碼和反碼(其最高位為符號位)。(1) X原=01011001(2)X原=00111110(3)X原=11011011(4)X原=11111100(1)(2)原碼補(bǔ)碼反碼相同(3)X反=1010 0100 X補(bǔ)=1010 0101(4)X反=1000 0011 X補(bǔ)=1000 010012.當(dāng)微機(jī)把下列數(shù)看成無符號數(shù)時,它們相應(yīng)的十進(jìn)制數(shù)為多少?若把它們看成是補(bǔ)碼,最高位為無符號位,那么相應(yīng)的十進(jìn)制數(shù)是多少?(1)10001110 (2)10110000 (3)00010001 (4)01110101答:把的數(shù)看成無符號數(shù)時,它們相應(yīng)的十進(jìn)制數(shù)如下:10001110=142 10110000=176 00010001=17 01110101=117若把它們看成是補(bǔ)碼,最高位為符號位,那么它們相應(yīng)的十進(jìn)制數(shù)如下:10001110= -114 10110000=-80 00010001=17 01110101=11713.什么是嵌入式系統(tǒng)?它有哪些類型?為什么說單片機(jī)是典型的嵌入式系統(tǒng)?嵌入式系統(tǒng)是“控制、監(jiān)視或者輔助裝置、機(jī)器和設(shè)備運(yùn)行的裝置”(1) 嵌入式微處理器(2)嵌入式微控制器(3)嵌入式DSP處理器(4)嵌入式片上系統(tǒng)嵌入式系統(tǒng)源于計(jì)算機(jī)的嵌入式應(yīng)用,早期嵌入式系統(tǒng)為通用計(jì)算機(jī)經(jīng)改裝后嵌入到對象體系中的各種電子系統(tǒng),如艦船的自動駕駛儀,輪機(jī)監(jiān)測系統(tǒng)等。嵌入式系統(tǒng)首先是一個計(jì)算機(jī)系統(tǒng),其次它被嵌入到對象體系中、在對象體系中實(shí)現(xiàn)對象要求的數(shù)據(jù)采集、處理、狀態(tài)顯示、輸出控制等功能,由于嵌入在對象體系中,嵌入式系統(tǒng)的計(jì)算機(jī)沒有計(jì)算機(jī)的獨(dú)立形式及功能。單片機(jī)完全是按照嵌入式系統(tǒng)要求設(shè)計(jì)的,因此單片機(jī)是最典型的嵌入式系統(tǒng)。早期的單片機(jī)只是按嵌入式應(yīng)用技術(shù)要求設(shè)計(jì)的計(jì)算機(jī)單芯片集成,故名單片機(jī)。14、1985 = 1000+900+80+5 = 1103+9102+8101+510015、對于整數(shù), 1001B=123+022+021+120 = 9D 對于小數(shù), 0.101B = 12(-1) + 02(-2) + 12(-3 )= 0.625D16、327 H = 3162+2161+7160= 807D 3AB . 11H = 3162+A161+B160+116(-1)+116(-2 )=939 . 0664 D 17、111.101B =122+12 1+12 0 +1 2 (-1) +0 2 (-2 )+1 2 (3) =4+2+1+0.5+0.125 =7.625D18、將十進(jìn)制數(shù)45轉(zhuǎn)換成二進(jìn)制數(shù)。(101101)19:0.6875轉(zhuǎn)換為二進(jìn)制: 0.101120:已知 X=52 Y=38 求X-Y 方法1: 減法: X-Y = 52-38 =14 0 0 1 1 0 1 0 0 -) 0 0 1 0 0 1 1 0 0 0 0 0 1 1 1 0 方法2: 加法 X-Y = X-Y補(bǔ)補(bǔ) = X補(bǔ)+-Y補(bǔ)補(bǔ) = 52補(bǔ)+ -38補(bǔ)補(bǔ) = 14 補(bǔ) =14 52補(bǔ): 0 0 1 1 0 1 0 0 -38補(bǔ):+) 1 1 0 1 1 0 1 0 1 0 0 0 0 1 1 1 0 21: 98補(bǔ): 0 1 1 0 0 0 1 0 25補(bǔ):+) 0 0 0 1 1 0 0 1 123補(bǔ) 0 0 1 1 1 1 0 1 1 未溢出 0 0 Cs+1 Cs(未溢出) 85補(bǔ): 0 1 0 1 0 1 0 1 47補(bǔ):+) 0 0 1 0 1 1 1 1 132補(bǔ): 1 0 0 0 0 1 0 0 溢出 0 1 Cs+1 Cs (溢出)錯:兩個正數(shù)相加和為負(fù)數(shù)。 - 85補(bǔ): 1 0 1 0 1 0 1 1 - 47補(bǔ):+) 1 1 0 1 0 0 0 1 - 132補(bǔ):1 0 1 1 1 1 1 0 0 溢出 1 0 Cs+1 Cs 錯:兩個負(fù)數(shù)相加和為正數(shù)。 - 19補(bǔ): 0 1 0 1 0 1 0 1 - 79補(bǔ):+) 1 0 1 1 0 0 0 1 - 98補(bǔ): 1 1 0 0 1 1 1 1 未溢出 1 1 Cs+1 Cs 錯:兩個負(fù)數(shù)相加和為正數(shù)??傊航Y(jié)果正確(無溢出)時,Cs+1 = Cs 結(jié)果錯誤(溢出)時,Cs+1 Cs 溢出判斷:溢出 = Cs+1Cs(即結(jié)果是0為無溢出;1為有溢出)第二章MCS-51單片機(jī)的結(jié)構(gòu)和工作原理1. MCS-51單片機(jī)中,一個機(jī)器周期時間為1us,接入的晶振頻率是多少?答:12MHZ2. 片內(nèi)RAM 00H1FH地址范圍,是在哪個區(qū)?答:在工作寄存器區(qū)3. 特殊功能寄存器PSW中,執(zhí)行運(yùn)算指令產(chǎn)生借位時,哪位被置1?答:執(zhí)行運(yùn)算產(chǎn)生借位時CY或AC會被置一,當(dāng)高半字節(jié)與低半字節(jié)有借位時AC=14. MCS-51復(fù)位后,SP單元的內(nèi)容是什么?答:SP=07H5. 改變工作寄存器區(qū),使用PSW寄存器中的哪兩位?答:使用RS1、RS0位6. MOV PSW,#10H是將MCS-51的工作寄存器置為第幾組?答:是將工作寄存器置為第二組7. NCS-51單片機(jī)中,串行口中斷服務(wù)程序入口地址是多少?答:0023H8. 8031單片機(jī)的端口中,擴(kuò)展外部總線的端口是哪兩個?答:端口是P0和P2口9. 當(dāng)CPU響應(yīng)外部INT1中斷時,中斷服務(wù)程序的入口地址是多少?答:入口地址是0013H10. DPTR由幾個特殊功能寄存器組成?答:是DPH和DPL組成11. MCS-51單片機(jī)可以外部擴(kuò)展ROM的容量是多少?答:容量為64KB12. MCS-51系列單片機(jī)中,不能進(jìn)行位尋址的寄存器是哪些?答:程序存儲器ROM、以及那些地址不可以被8整除的寄存器單元13. 使用MCS-51,EA引腳接GND,CPU讀取指令的讀取指令存儲器是哪個?答:是片外程序存儲器14. MCS-51有四個I/O口,可由用戶無條件用作普通I/0接口的是哪一個?答:是P1口15.89C51單片機(jī)內(nèi)包含哪些主要邏輯功能部件?答:80C51系列單片機(jī)在片內(nèi)集成了以下主要邏輯功能部件: (l)CPU(中央處理器):8位 (2)片內(nèi)RAM:128B (3)特殊功能寄存器:21個 (4)程序存儲器:4KB (5)并行I/O口:8位,4個 (6)串行接口:全雙工,1個 (7)定時器/計(jì)數(shù)器:16位,2個(8)片內(nèi)時鐘電路:1個16.89C51的EA端有何用途?答:/EA端接高電平時,CPU只訪問片內(nèi)并執(zhí)行內(nèi)部程序,存儲器。/EA端接低電平時,CPU只訪問外部ROM,并執(zhí)行片外程序存儲器中的指令。/EA端保持高電平時,CPU執(zhí)行內(nèi)部存儲器中的指令。17. 89C51的存儲器分哪幾個空間?如何區(qū)別不同空間的尋址?答:ROM(片內(nèi)ROM和片外ROM統(tǒng)一編址)(使用MOVC)(數(shù)據(jù)傳送指令)(16bits地址)(64KB) 片外RAM(MOVX)(16bits地址)(64KB) 片內(nèi)RAM(MOV)(8bits地址)(256B)18. 簡述89C51片內(nèi)RAM的空間分配。答:片內(nèi)RAM有256B 低128B是真正的RAM區(qū) 高128B是SFR(特殊功能寄存器)區(qū) 19. 簡述布爾處理存儲器的空間分配,片內(nèi)RAM中包含哪些可位尋址單元。答:片內(nèi)RAM區(qū)從00HFFH(256B) 其中20H2FH(字節(jié)地址)是位尋址區(qū) 對應(yīng)的位地址是00H7FH20. 如何簡捷地判斷89C51正在工作?答:用示波器觀察8051的XTAL2端是否有脈沖信號輸出(判斷震蕩電路工作是否正常?) ALE(地址鎖存允許)(Address Latch Enable)輸出是fosc的6分頻 用示波器觀察ALE是否有脈沖輸出(判斷 8051芯片的好壞?) 觀察PSEN(判斷8051能夠到EPROM 或ROM中讀取指令碼?) 因?yàn)?PSEN接外部EPROM(ROM)的/OE端子 OE=Output Enable(輸出允許) 21. 89C51如何確定和改變當(dāng)前工作寄存器組?答:PSW(程序狀態(tài)字)(Program Status Word)中的RS1和RS0 可以給出4中組合 用來從4組工作寄存器組中進(jìn)行選擇 PSW屬于SFR(Special Function Register)(特殊功能寄存器) 22. 89C51 P0口用作通用/口輸入時,若通過TTL“OC”門輸入數(shù)據(jù),應(yīng)注意什么?為什么?答:23. 讀端口鎖存器和“讀引腳”有何不同?各使用哪種指令?答:讀鎖存器(ANL P0,A)就是相當(dāng)于從存儲器中拿數(shù)據(jù),而讀引腳是從外部拿數(shù)據(jù)(如MOV A,P1 這條指令就是讀引腳的,意思就是把端口p1輸入數(shù)據(jù)送給A) 傳送類MOV,判位轉(zhuǎn)移JB、JNB、這些都屬于讀引腳,平時實(shí)驗(yàn)時經(jīng)常用這些指令于外部通信,判斷外部鍵盤等;字節(jié)交換XCH、XCHD算術(shù)及邏輯運(yùn)算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制轉(zhuǎn)移CJNE、DJNZ都屬于讀鎖存器。24. 89C51 P0P3口結(jié)構(gòu)有何不同?用作通用/口輸入數(shù)據(jù)時,應(yīng)注意什么?答:P0口內(nèi)部沒有上拉電阻,可以用做16位地址的低8位;P3有第二功能;P2口可以用做16位地址的高8位;需要上拉電阻。OC門電路無法輸出高低電平,只有靠上拉電阻才能實(shí)現(xiàn)25. 89C51單片機(jī)的信號有何功能?在使用8031時,信號引腳應(yīng)如何處理?答:(1)80C51單片機(jī)的EA信號的功能 EA為片外程序存儲器訪問允許信號,低電平有效;在編程時,其上施加21V的編程電壓 EA引腳接高電平時,程序從片內(nèi)程序存儲器開始執(zhí)行,即訪問片內(nèi)存儲器;EA引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。 (2)在使用80C31時,EA信號引腳的處理方法因?yàn)?0C31沒有片內(nèi)的程序存儲器,所以在使用它時必定要有外部的程序存儲器,EA 信號引腳應(yīng)接低電平。26. 89C51單片機(jī)有哪些信號需要芯片引腳以第2功能的方式提供?答: 第一功能 第二功能 串行口: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) 中斷: P3.2 INT0外部中斷0 P3.3 INT1外部中斷1 定時器/計(jì)數(shù)器(T0、T1): P3.4 T0(定時器/計(jì)數(shù)器0的外部輸入) P3.5 T1(定時器/計(jì)數(shù)器1的外部輸入) 數(shù)據(jù)存儲器選通: P3.6 WR(外部存儲器寫選通,低電平有效,輸出) P3.7 RD(外部存儲器讀選通,低電平有效,輸出) 定時器/計(jì)數(shù)器(T2): P1.0 T2(定時器T2的計(jì)數(shù)端) P1.1 T2EX(定時器T2的外部輸入端)27. 內(nèi)部RAM低128字節(jié)單元劃分為哪3個主要部分?各部分主要功能是什么?答:片內(nèi)RAM低128單元的劃分及主要功能: (l)工作寄存器組(00HlFH) 這是一個用寄存器直接尋址的區(qū)域,內(nèi)部數(shù)據(jù)RAM區(qū)的031(00HlFH),共32個單元。它是4個通用工作寄存器組,每個組包含8個8位寄存器,編號為R0R7。 (2)位尋址區(qū)(20H2FH) 從內(nèi)部數(shù)據(jù)RAM區(qū)的3247(20H2FH)的16個字節(jié)單元,共包含128位,是可位尋址的RAM區(qū)。這16個字節(jié)單元,既可進(jìn)行字節(jié)尋址,又可實(shí)現(xiàn)位尋址。 (3)字節(jié)尋址區(qū)(30H7FH) 從內(nèi)部數(shù)據(jù)RAM區(qū)的48127(30H7FH),共80個字節(jié)單元,可以采用間接字節(jié)尋址的方法訪問。 28. 使單片機(jī)復(fù)位有幾種方法?復(fù)位后機(jī)器的初始狀態(tài)如何?答:(1)單片機(jī)復(fù)位方法 單片機(jī)復(fù)位方法有:上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖三種方式,如題圖2-1所示。 題圖2-1(2)復(fù)位后的初始狀態(tài)復(fù)位后機(jī)器的初始狀態(tài),即各寄存器的狀態(tài):PC之外,復(fù)位操作還對其他一些特殊功能寄存器有影響,它們的復(fù)位狀態(tài)如題表2-1所例29. 開機(jī)復(fù)位后,CPU使用的是哪組工作寄存器?它們的地址是什么?CPU如何確定和改變當(dāng)前工作寄存器組?答:一般開機(jī)復(fù)位后都是選擇第一組通用工作寄存器作為工作寄存器的,一共有4組,分別為連續(xù)位于00h到1FH地址,然后在機(jī)器中有個程序狀態(tài)字PSW,它的第四和第三位RS1,RS0是用來選擇工作寄存器組的,可能不同機(jī)器地址稍有不同。他們倆的值和寄存器組的關(guān)系:RS1/RS0 0/0 0/1 1/0 1/1使用的工作寄存器 0 1 2 3地址 00-07 08-0F 10-17 18-1F寫程序的時候就是通過定義程序狀態(tài)字來選擇使用不同的寄存器組。也可以直接對RS1和RS0賦值。(最后一問同題7)30. 程序狀態(tài)寄存器PSW的作用是什么?常用標(biāo)志有哪些位?作用是什么?答:PSW是一個SFR(特殊功能寄存器) 位于片內(nèi)RAM的高128B 具體地址D0H(00HFFH)(片內(nèi)RAM的編址)(8bits編址方法) PSW=Program Status Word(程序狀態(tài)字) PSW的常用標(biāo)志位有哪些? CY=Carry(進(jìn)位標(biāo)志位) AC=Auxiliary Carry(輔助進(jìn)位標(biāo)志位)(半進(jìn)位標(biāo)志位) F0用戶標(biāo)志位 RS1,RS0,用來選擇當(dāng)前工作寄存器組(R0R7)(4選1) OV=Overflow(溢出標(biāo)志位) P=Parity(奇偶校驗(yàn)位) 31. 位地址7CH與字節(jié)地址7CH如何區(qū)別?位地址7CH具體在片內(nèi)RAM中的什么位置?答:用不同的尋址方式來加以區(qū)分,即訪問128個位地址用位尋址方式,訪問低128字節(jié)單元用字節(jié)尋址和間接尋址。 具體地址為2F的第五位,即為7C。32. 89C51單片機(jī)的時鐘周期與振蕩周期之間有什么關(guān)系?什么叫機(jī)器周期和指令周期?答:時鐘信號的周期稱為機(jī)器狀態(tài)周期,是振蕩周期的兩倍。一個機(jī)器周期是指CPU訪問存儲器一次所需的時間。指令周期是執(zhí)行一條指令所需的時間。33. 一個機(jī)器周期的時序如何劃分?答:一個機(jī)器周期=12個震蕩周期=6個時鐘周期(狀態(tài)周期) S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P2 其中s=state(狀態(tài)),p=phase(相位) 34. 什么叫堆棧?堆棧指針SP的作用是什么?89C51單片機(jī)堆棧的容量不能超過多少字節(jié)?答:堆棧都是一種數(shù)據(jù)項(xiàng)按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top)對數(shù)據(jù)項(xiàng)進(jìn)行插入和刪除。要點(diǎn):堆:順序隨意棧:后進(jìn)先出(Last-In/First-Out) 在調(diào)用子程序時需要保存調(diào)用函數(shù)的CPU寄存器PC指針,PC指針是被CALL指令自動壓入SP所指向的片內(nèi)存儲器,CPU寄存器要由用戶用PUSH指令自行保存,因此SP的作用就是一個指針,當(dāng)進(jìn)行中斷調(diào)用,子函數(shù)調(diào)用時將現(xiàn)場數(shù)據(jù)壓入SP所指向的存儲器,SP自動增加1或2,當(dāng)中斷結(jié)束RETI,調(diào)用返回RET,POP時將SP數(shù)據(jù)彈出,SP自動減1或,28051最大為128字節(jié)的片內(nèi)存儲器,0X20以上理論都可以做堆棧用96字節(jié),8052為256字節(jié)224字節(jié)可用,但這樣便沒有其它空間可用于數(shù)據(jù)存儲現(xiàn)在的單片機(jī)的程序一般都能用C51來,不用關(guān)心堆棧大小與SP寄存器35. 89C51有幾種低功耗方式?如何實(shí)現(xiàn)?答:空閑方式和掉電方式 空閑方式和掉電方式是通過對SFR中的PCON(地址87H)相應(yīng)位置1而啟動的。當(dāng)CPU執(zhí)行完置IDL=1(PCON.1)的指令后,系統(tǒng)進(jìn)入空閑工作方式。這時,內(nèi)部時鐘不向CPU提供,而只供給中斷、串行口、定時器部分。CPU的內(nèi)部狀態(tài)維持,即包括堆棧指針SP、程序計(jì)數(shù)器PC、程序狀態(tài)字PSW、累加器ACC所有的內(nèi)容保持不變,端口狀態(tài)也保持不變。ALE和PSEN保持邏輯高電平。當(dāng)CPU執(zhí)行一條置PCON.1位(PD)為1的指令后,系統(tǒng)進(jìn)入掉電工作方式。在這種工作方式下,內(nèi)部振蕩器停止工作。由于沒有振蕩時鐘,因此,所有的功能部件都停止工作。但內(nèi)部RAM區(qū)和特殊功能寄存器的內(nèi)容被保留,而端口的輸出狀態(tài)值都保存在對應(yīng)的SFR中,ALE和PSEN都為低電平。36. PC與DPTR各有哪些特點(diǎn)?有何異同?答:(1)程序計(jì)數(shù)器PC作為不可尋址寄存器的特點(diǎn)程序計(jì)數(shù)器PC是中央控制器申最基本的寄存器,是一個獨(dú)立的計(jì)數(shù)器,存放著下一條將程序存儲器中取出的指令的地址。程序計(jì)數(shù)器PC變化的軌跡決定程序的流程。程序計(jì)數(shù)器的寬度決定了程序存儲器可以尋址的范圍。 程序計(jì)數(shù)器PC的基本工作方式有: 程序計(jì)數(shù)器PC自動加1。這是最基本的工作方式,也是這個專用寄存器被稱為計(jì)數(shù)器的原因。 執(zhí)行條件或無條件轉(zhuǎn)移指令時,程序計(jì)數(shù)器將被置入新的數(shù)值,程序的流向發(fā)生變化。變化的方式有下列幾種:帶符號的相對跳轉(zhuǎn)SJMP、短跳轉(zhuǎn)AJMP、長跳轉(zhuǎn)LJMP及JMP A+DPTR等。 在執(zhí)行調(diào)用指令或響應(yīng)中斷時: PC的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護(hù); 將子程序的入口地址或者中斷矢量地址送入PC,程序流向發(fā)生變化,執(zhí)行子程序或中斷服務(wù)程序; 子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令RET或RETI時,將棧頂?shù)膬?nèi)容送到PC寄存器中,程序流程又返回到原來的地方,繼續(xù)執(zhí)行。 (2)地址指針DPTR的特點(diǎn) 地址指針DPTR的特點(diǎn)是,它作為片外數(shù)據(jù)存儲器尋址用的地址寄存器(間接尋址)。 (3)地址指針DPTR與程序計(jì)數(shù)器PC的異同 相同之處: 兩者都是與地址有關(guān)的、16位的寄存器。其中,PC與程序存儲器的地址有關(guān),而 DPTR與數(shù)據(jù)存儲器的地址有關(guān)。 作為地址寄存器使用時,PC與DPTR都是通過P0和P2口(作為16位地址總線)輸 出的。但是,PC的輸出與ALE及PSEN有關(guān);DPTR的輸出,則與ALE、RD及WR相聯(lián)系。 不同之處: PC只能作為16位寄存器對待,由于有自動加1的功能,故又稱為計(jì)數(shù)器; DPTR可以作為16位寄存器對待,也可以作為兩個8位寄存器對待。 PC是不可以訪問的,有自己獨(dú)特的變化方式,它的變化軌跡決定了程序執(zhí)行的流程; DPTR是可以訪問的,如MOV DPTR,#XXXXH,INC DPTP。37. 89C51端口鎖存器的“讀修改寫”操作與“讀引腳”操作有何區(qū)別?答:指令系統(tǒng)中有些指令讀鎖存器的值, 有些指令則讀引腳上的值。讀鎖存器指令是從鎖存器中讀取一個值并進(jìn)行處理, 把處理后的值(原值或已修改后的值)重新寫入鎖存器中。這類指令稱為讀-修改-寫指令。 對于讀-修改-寫指令。直接讀鎖存器而不是讀端口引腳, 是因?yàn)閺囊_上讀出的數(shù)據(jù)不一定能真正反映鎖存器的狀態(tài)。第3章 MCS-51單片機(jī)指令系統(tǒng)與程序設(shè)計(jì)1. 簡述下列基本概念:指令、指令系統(tǒng)、機(jī)器語言、匯編語言、高級語言。 指令:CPU根據(jù)人的意圖來執(zhí)行某種操作的命令指令系統(tǒng):一臺計(jì)算機(jī)所能執(zhí)行的全部指令集合機(jī)器語言:用二進(jìn)制編碼表示,計(jì)算機(jī)能直接識別和執(zhí)行的語言匯編語言:用助記符、符號和數(shù)字來表示指令的程序語言高級語言:獨(dú)立于機(jī)器的,在編程時不需要對機(jī)器結(jié)構(gòu)及其指令系統(tǒng)有深入了解的通用性語言2. 什么是計(jì)算機(jī)的指令和指令系統(tǒng)?指令:CPU根據(jù)人的意圖來執(zhí)行某種操作的命令指令系統(tǒng):一臺計(jì)算機(jī)所能執(zhí)行的全部指令集合3. 簡述89C51匯編指令格式。 操作碼 目的操作數(shù) ,源操作數(shù)4、簡述89C51的尋址方式和所涉及的尋址空間。51的尋址方式和所能涉及的尋址空間。 尋址方式尋址空間立即數(shù)尋址程序存儲器ROM直接尋址片內(nèi)RAM低128B、特殊功能寄存器寄存器尋址工作寄存器R0-R7、A、B、C、DPTR寄存器間接尋址片內(nèi)RAM低128B、片外RAM變址尋址程序存儲器(A+PC,A+DPTR)相對尋址程序存儲器256B范圍(PC+偏移量)位尋址片內(nèi)RAM的20H-2FH字節(jié)地址、部分SFR5、 要訪問特殊功能寄存器和片外數(shù)據(jù)存儲器,應(yīng)采用哪些尋址方式? SFR:直接尋址,位尋址,寄存器尋址;片外RAM:寄存器間接尋址6、 在89C51片內(nèi)RAM中,已知(30H)=38H,(38)H=40H,(40H)=48H,(48H)=90H.請分析下面各是什么指令,說明源操作數(shù)的尋址方式以及按順序執(zhí)行每條指令后的結(jié)果 MOV A,40H ;直接尋址 (40H)A MOV R0,A ;寄存器尋址 (A)R0 MOV P1,#0F0H ;立即數(shù)尋址 0F0P1 MOV R0,30H ;直接尋址 (30H) (R0) MOV DPTR,#3848H ;立即數(shù)尋址 3848HDPTR MOV 40H,38H ;直接尋址 (38H) 40H MOV R0,30H ;直接尋址 (30H) R0 MOV P0,R0 ;寄存器尋址 ( R0 )P0 MOV 18H,#30H ;立即數(shù)尋址 30H18H MOV A,R0 ;寄存器間接尋址 (R0) A MOV P2,P1 ;直接尋址 (P1)P2最后結(jié)果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:左邊是內(nèi)容,右邊是單元7、 對89C51片內(nèi)RAM的高128字節(jié)的尋址空間尋址要注意什么?用直接尋址,位尋址,寄存器尋址8、指出下列指令的本質(zhì)區(qū)別? MOV A,DATA ;直接尋址2字節(jié)1周期MOV A,#DATA ;立即數(shù)尋址2字節(jié)1周期MOV DATA1,DATA2 ;直接尋址3字節(jié)2周期MOV 74H,#78H ;立即數(shù)尋址3字節(jié)2周期如果想查某一指令的機(jī)器碼,字節(jié)數(shù)或周期數(shù)可查閱書本后面的附錄A9、設(shè)R0的內(nèi)容為32H,A的內(nèi)容為48H,片內(nèi)RAM的32H單元內(nèi)容為80H,40H單元的內(nèi)容為08H。請指出在下列程序斷后上述各單元內(nèi)容的變化MOVA,R0 ;(R0)=80HAMOVR0,40H ;(40H)=08H(R0)MOV40H,A ;(A)=8040HMOVR0,#35H ;35HR0最后結(jié)果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H7. 如何訪問SFR,可使用哪些尋址方式?用直接尋址,位尋址,寄存器尋址11、如何訪問片外RAM單元,可使用哪些尋址方式?只能采用寄存器間接尋址(用MOVX指令)12、如何訪問片內(nèi)RAM單元,可使用哪些尋址方式?低128字節(jié):直接尋址,位尋址,寄存器間接尋址,寄存器尋址(R0R7)高128字節(jié):直接尋址,位尋址,寄存器尋址13、如何訪問片內(nèi)外程序存儲器,可使用哪些尋址方式?采用變址尋址(用MOVC指令)14、說明十進(jìn)制調(diào)整的原因和方法。壓縮BCD碼在進(jìn)行加法運(yùn)算時應(yīng)逢十進(jìn)一,而計(jì)算機(jī)只將其當(dāng)作十六進(jìn)制數(shù)處理,此時得到的結(jié)果不正確。用DA A指令調(diào)整(加06H,60H,66H)4. 說明89C51的布爾處理機(jī)功能。用來進(jìn)行位操作16、已知(A)=83H,(R0)=17H,(17H)=34H。請寫出執(zhí)行完下列程序斷后A的內(nèi)容。ANL A,#17H ;83H17H=03HAORL 17H,A ;34H03H=37H17HXRL A,R0 ;03H37H=34HCPL A ;34H求反等于CBH所以(A)=CBH17、 使用位操作指令實(shí)現(xiàn)下列邏輯操作。要求不得改變未涉及位的內(nèi)容。1) 使ACC.0置1SETB ACC.0或SETB E0H ;E0H是累加器的地址(2)清楚累加器高4位 CLR ACC.7 CLR ACC.6 CLR ACC.5 CLR ACC.4(3)清楚ACC.3,ACC.4,ACC.5,ACC.6。 CLR ACC.6 CLR ACC.5 CLR ACC.4 CLR ACC.3 18、編程實(shí)現(xiàn)把內(nèi)部RAMR0R7的內(nèi)容傳遞到20H27H單元。MOV 27H,R7MOV 26H,R6MOV 25H,R5MOV 24H,R4MOV 23H,R3MOV 22H,R2MOV 21H,R1MOV 20H,R019、使編寫程序,把內(nèi)部RAM的20H、21H和22H三個連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH中。 MOV 2FH,20 MOV 2EH,21 MOV 2DH,2220、編寫程序,進(jìn)行兩個16位數(shù)的減法:6F5DH-13B4H,結(jié)果存入內(nèi)部RAM的30H和31H單元,30H存儲低8位CLR CMOV A,#5DH ;被減數(shù)的低8位AMOV R2,#B4H ;減數(shù)低8位R2SUBB A,R2 ;被減數(shù)減去減數(shù),差A(yù)MOV 30H,A ;低8位結(jié)果30HMOV A,#6FH ;被減數(shù)的高8位AMOV R2,#13H ;減數(shù)高8位R2SUBB A,R2 ;被減數(shù)減去減數(shù),差A(yù)MOV 31H,A ;高8位結(jié)果30H注意:如果在你的程序中用到了進(jìn)位位,在程序開始的時候要記得清0進(jìn)位位21、編寫程序,若累加器A的內(nèi)容分別滿足下列條件,則程序轉(zhuǎn)至LABEL存儲單元,設(shè)A中存的是無符號數(shù)。(1)A10CJNE A,#0AH,L1 ;(A)與10比較,不等轉(zhuǎn)L1LJMP LABEL ;相等轉(zhuǎn)LABELL1:JNC LABEL ;(A)大于10,轉(zhuǎn)LABEL或者:CLR CSUBB A,#0AHJNC LABEL(2)A10CJNE A,#0AH,L1 ;(A)與10比較,不等轉(zhuǎn)L1RET ;相等結(jié)束L1:JNC LABEL ;(A)大于10,轉(zhuǎn)LABEL RET ;(A)小于10,結(jié)束或者:CLR CSUBB A,#0AHJNC L1RETL1:JNZ LABELRET(3)A10CJNE A,#0AH,L1 ;(A)與10比較,不等轉(zhuǎn)L1L2:LJMP LABEL ;相等轉(zhuǎn)LABELL1:JC L2 ;(A)小于10,轉(zhuǎn)L2RET或者:CLR CSUBB A,#0AHJC LABELJZ LABELRET22、已知(SP)=25H,(PC)2345H,(24H)=12H,(25H)=34H,(26H)=56H,問此時執(zhí)行“RET”指令后,(SP)|=?(PC)=?(SP)=23H,(PC)=3412H參看書上80頁第4章 若(SP)=25H,(PC)2345H,標(biāo)號LABEL所在的地址為3456H。問執(zhí)行長調(diào)用指令“LCALL LABFL”后,堆棧指針和堆棧的內(nèi)容發(fā)生什么變化?PC的值等于什么?(SP)=27H,(26H)=48H,(27H)=23H,(PC)=3456H參看書上79頁24、上題中的LCALL指令能否直接換成ACALL指令,為什么?如果使用ACALL指令,則可調(diào)用的地址范圍是什么?不能。ACALL是短轉(zhuǎn)指令,可調(diào)用的地址范圍是2KB。在看這個題的時候同時看一下AJMP指令。同時考慮調(diào)用指令A(yù)CALL和LCALL指令和RET指令的關(guān)系。25、試編寫程序,查找在內(nèi)部RAM的20H50H單元中是否有0AAH這一數(shù)據(jù)。若有,則將51H單元置為01H;若未找到,則將51H單元清0。 MOV R2,#31H ;數(shù)據(jù)塊長度R2 MOV R0,#20H ;數(shù)據(jù)塊首地址R0LOOP:MOV A,R0 ;待查找的數(shù)據(jù)A CLR C ;清進(jìn)位位 SUBB A,#0AAH ;待查找的數(shù)據(jù)是0AAH嗎 JZ L1 ;是,轉(zhuǎn)L1 INC R0 ;不是,地址增1,指向下一個待查數(shù)據(jù) DJNZ R2,LOOP ;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找 MOV 51H,#00H ;等于0,未找到,00H51H RET L1:MOV 51H,#01H ;找到,01H51H RET26、試編寫程序,查找在內(nèi)部RAM的20H50H單元中出現(xiàn)00H的次數(shù),并將查找的結(jié)果存入51H單元。 MOV R2,#31H ;數(shù)據(jù)塊長度R2 MOV R0,#20H ;數(shù)據(jù)塊首地址R0 LOOP:MOV A,R0 ;待查找的數(shù)據(jù)A JNZ L1 ;不為0,轉(zhuǎn)L1 INC 51H ;為0,00H個數(shù)增1 L1:INC R0 ;地址增1,指向下一個待查數(shù)據(jù) DJNZ R2,LOOP ;數(shù)據(jù)塊長度減1,不等于0,繼續(xù)查找 RET27、外部數(shù)據(jù)RAM中有一個數(shù)據(jù)塊,存有若干字符、數(shù)字,首地址為SOURCE。要求將該數(shù)據(jù)塊傳送到內(nèi)部RAM以DIST開始的區(qū)域,直到遇到字符“$”時候結(jié)束(“$”也要傳送,它的ASCII碼為24H)。 MOV DPTR,#SOURCE ;源首地址DPTR MOV R0,#DIST ;目的首地址R0 LOOP:MOVX A,DPTR ;傳送一個字符 MOV R0,A INC DPTR ;指向下一個字符 INC R0 CJNE A,#24H,LOOP ;傳送的是“$”字符嗎?不是,傳送下一個字符 RET28、已知R3和R4中存有一個16位的二進(jìn)制數(shù),高位在R3中,低位在R4中。請編程將其求補(bǔ),并存回原處。 MOV A,R3 ;取該數(shù)高8位A ANL A,#80H ;取出該數(shù)符號判斷 JZ L1 ;是正數(shù),轉(zhuǎn)L1 MOV A,R4 ;是負(fù)數(shù),將該數(shù)低8位A CPL A ;低8位取反 ADD A,#01H ;加1 MOV R4,A ;低8位取反加1后R4 MOV A,R3 ;將該數(shù)高8位A CPL A ;高8位取反 ADDC A,#00H ;加上低8位加1時可能產(chǎn)生的進(jìn)位 MOV R3,A ;高8位取反加1后R3 L1: RET29、已知30H和31H中存有一個16位的二進(jìn)制數(shù),高位在前,低位在后,請編程將它們乘以2,再存回原處。 CLR C ;清進(jìn)位位C MOV A,31H ;取該數(shù)低8位A RLC A ;帶進(jìn)位位左移1位 MOV 31H,A ;結(jié)果存回31H
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC TR 24716:2007 EN Information technology - Programming languages,their environment and system software interfaces - Native COBOL Syntax for XML Support
- 【正版授權(quán)】 IEC TR 63162:2025 EN Electric components - Reliability - Failure rates at reference conditions
- 2025至2030中國電腦式微波爐行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評估報(bào)告
- 2025至2030中國電影院行業(yè)市場發(fā)展分析及競爭格局與投資發(fā)展報(bào)告
- 2025至2030中國電子煙與抽氣行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國電子臨床試驗(yàn)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國玉米剝殼機(jī)行業(yè)市場深度研究及發(fā)展前景投資可行性分析報(bào)告
- 專業(yè)安全知識培訓(xùn)課件
- 教育大數(shù)據(jù)分析中的倫理與隱私問題探討
- 消防中級培訓(xùn)課件下載
- 全國各省市縣-一覽表
- 暑假假期安全教育 家長會課件
- 四川省成都市泡桐樹小學(xué)六年級小升初語文測試卷(8套試卷帶答案解析)
- 2023-2024年全科醫(yī)學(xué)(正高)考試高頻題庫(歷年考點(diǎn)版)帶答案解析
- YY/T 0870.2-2019醫(yī)療器械遺傳毒性試驗(yàn)第2部分:體外哺乳動物細(xì)胞染色體畸變試驗(yàn)
- JJG 40-2011X射線探傷機(jī)
- GB/T 8923.1-2011涂覆涂料前鋼材表面處理表面清潔度的目視評定第1部分:未涂覆過的鋼材表面和全面清除原有涂層后的鋼材表面的銹蝕等級和處理等級
- GB/T 7778-2017制冷劑編號方法和安全性分類
- GB/T 4169.4-2006塑料注射模零件第4部分:帶頭導(dǎo)柱
- 天津2023年天津銀行信息技術(shù)崗招聘黑鉆模擬III試題3套含答案詳解
- 01-TOC約束理論(瓶頸管理)八講 作業(yè)
評論
0/150
提交評論