![單片機復習資料大全_第1頁](http://file4.renrendoc.com/view/51501964f7279e8ff4973dacde9902ac/51501964f7279e8ff4973dacde9902ac1.gif)
![單片機復習資料大全_第2頁](http://file4.renrendoc.com/view/51501964f7279e8ff4973dacde9902ac/51501964f7279e8ff4973dacde9902ac2.gif)
![單片機復習資料大全_第3頁](http://file4.renrendoc.com/view/51501964f7279e8ff4973dacde9902ac/51501964f7279e8ff4973dacde9902ac3.gif)
![單片機復習資料大全_第4頁](http://file4.renrendoc.com/view/51501964f7279e8ff4973dacde9902ac/51501964f7279e8ff4973dacde9902ac4.gif)
![單片機復習資料大全_第5頁](http://file4.renrendoc.com/view/51501964f7279e8ff4973dacde9902ac/51501964f7279e8ff4973dacde9902ac5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
一、填空題1.單片機是把中央處理器、存儲器、定期器/計數(shù)器以及I/O接口電路等重要計算機部件集成在一塊集成電路芯片上的微型計算機。2。除了單片機這一名稱之外,單片機還可稱為微控制器、嵌入式控制器。3.計算機的系統(tǒng)總線有地址總線、控制總線和數(shù)據(jù)總線。4.80C51單片機基本型內(nèi)部RAM有128個字節(jié)單元,這些單元可以分為三個用途不一樣的區(qū)域,一是工作寄存器區(qū)、二是位尋址區(qū)、三是數(shù)據(jù)緩沖區(qū)。
5.8051單片機有2個16位定期/計數(shù)器.6.單片機存儲器的重要功能是存儲程序和數(shù)據(jù)。80C51含4KB掩膜ROM。7.80C51在物理上有4個獨立的存儲器空間。8.一般、單片機上電復位時PC=0000H,SP=07H;而工作寄存器則缺省采用第00組,這組寄存器的地址范圍是從00H~07H。9.8051的堆棧是向地址的高端生成的。入棧時SP先加1,再壓入數(shù)據(jù)。10.使用8031芯片時,需將/EA引腳接低電平,由于其片內(nèi)無程序存儲器.11.MCS—51特殊功能寄存器只能采用直接尋址方式。12.匯編語言中可以使用偽指令,它們不是真正的指令,只是用來對匯編過程進行某種控制。13.半導體存儲器的最重要的兩個指標是存儲容量和存儲速度。14.當PSW4=1,PSW3=0時,工作寄存器Rn,工作在第2組。15.在8051單片機中,由2個振蕩(晶振)周期構成1個狀態(tài)(時鐘)周期,由6個狀態(tài)周期構成1個機器周期。16.假定累加器A的內(nèi)容30H,執(zhí)行指令:1000H:MOVCA,@A+PC后,把程序存儲器1031H單元的內(nèi)容送累加器A中。17.MCS-51單片機訪問外部存儲器時,運用ALE信號鎖存來自P0口的低8位地址信號。18.內(nèi)部RAM中,位地址為30H的位,該位所在字節(jié)的字節(jié)地址為26H。19.若A中的內(nèi)容為63H,那么,P標志位的值為0。20.在基址加變址尋址方式中,以累加器A作變址寄存器,以DPTR或PC作基址寄存器。21.指令格式是由操作碼和操作數(shù)所構成,也也許僅由操作碼構成。22.通過堆棧操作實現(xiàn)子程序調用,首先就要把PC的內(nèi)容入棧,以進行斷點保護。調用返回時,再進行出棧保護,把保護的斷點送回到PC.23.MCS-51單片機程序存儲器的尋址范圍是由程序計數(shù)器PC的位數(shù)所決定的,由于MCS-51的PC是16位的,因此其尋址的范圍為64KB。24.在寄存器間接尋址方式中,其“間接”體目前指令中寄存器的內(nèi)容不是操作數(shù),而是操作數(shù)的地址。25.假定累加器A中的內(nèi)容為30H,執(zhí)行指令1000H:MOVCA,@A+PC 后,把程序存儲器1031H單元的內(nèi)容送入累加器A中。26.12根地址線可尋址4KB存儲單元。27.:假定A=55H,R3=0AAH,在執(zhí)行指令ANL A,R3后,A=00H,R3=0AAH。28.MCS—51的P0口作為輸出端口時,每位能驅動8個LSTTL負載。29.MCS—51有4個并行I/O口,其中P1~P3是準雙向口,因此由輸出轉輸入時必須先寫入“1".30.MCS-51的堆棧是軟件填寫堆棧指針臨時在片內(nèi)數(shù)據(jù)存儲器內(nèi)開辟的區(qū)域.31.若不用MCS-51片內(nèi)存儲器,引腳EA必須接地。32.MCS-51在外擴ROM、RAM或I/O時,它的地址總線是P0、P2口.33.MCS-51中凡字節(jié)地址能被8整除的特殊功能寄存器均能位尋址.34.執(zhí)行目前指令后,PC內(nèi)容為下一條將要讀取的指令碼首地址.35.當串口接受到一種數(shù)據(jù),此時RI=1,當串口發(fā)送完一種數(shù)據(jù),此時TI=1。36.對于80C51無嵌套的單級中斷,響應時間至少3個機器周期,最多8個機器周期。
37..晶振的頻率為6MHz時,一種機器周期為2μS。
38。當容許定期器1工作在方式1時,控制字TMOD應為10H.39.MCS—51單片機8031中有2個16位的定期/計數(shù)器,可以被設定的工作方式有四種。40.MCS-51單片機有5個中斷源,可分為2個中斷優(yōu)先級。上電復位時外部中斷0中斷源的優(yōu)先級最高。41.用串行口擴展并行口時,串行接口的工作方式應選為方式0。42.若某8位D/A轉換器的輸出滿刻度電壓為+5V,則D/A轉換器的辨別率為5/255=0.0196V。43.在串行通訊中,收發(fā)雙方對波特率的設定應當是相等的。44.單片機復位時P0的值為0FFH、PC為0000H。45.外部中斷1所對應的中斷入口地址為0013H,T0中斷服務程序入口地址為000BH.46MCS—51系統(tǒng)中,當PSEN信號有效時,表達CPU要從程序存儲器讀取信息。47.MCS-51片內(nèi)20H~2FH范圍內(nèi)的數(shù)據(jù)存儲器,即可以字節(jié)尋址又可以位尋址。48.若用傳送指令訪問MCS—51的程序存儲器,它的操作碼助記符應為MOVC。49.MCS-51串行接口有4種工作方式,這可在初始化程序中用軟件填寫特殊功能寄存器SCON加以選擇。50.當使用慢速外設時,最佳的傳播方式是中斷.51.當定期器T0工作在方式3時,要占用定期器T1的TR1和TF1兩個控制位。53.要串口為10位UART,工作方式應選為方式1.54.用串口擴并口時,串行接口工作方式應選為方式0。55.在串行通信中,有數(shù)據(jù)傳送方向單工、半雙工、全雙工三種工作方式。56.MOVPSW,#10H是將MCS-51的工作寄存器置為第2組。57.指令DJNZR7,e操作碼所在地址為3000H,e=EFH,則它的轉移目的地址應為2FF1H。58.累加器(A)=80H,執(zhí)行完指令ADDA,#83H后,進位位C=1。執(zhí)行ANLA,#0FH指令后,累加器A的高4位=0000.59.SJMPe的指令操作碼地址為0050H,e=65H,那么它的轉移目的地址為00B7H。60.設DPTR=H,(A)=80H,則MOVCA,@A+DPTR的操作數(shù)的實際地址為2080H。61.十進制數(shù)—47用8位二進制補碼表達為11010001?!?9D的二進制補碼表達為11101101。三、判斷題3。51單片機只能做控制用,不能完畢算術運算.(x)5。判斷尋址方式(1).MOVA,11H,是直接尋址.(√)。(2).MOVA,R0,是寄存器尋址。(√)。(4).MOVA,@R0是寄存器間接尋址(√).(5).MOVA,#11H是立即數(shù)尋址(√)。6.下面幾條指令與否對的:(1)MOV@R1,80H(x)(2)INCDPTR(√)(4)MOV@R1,#80H(√)(5)ANLR1,#0FH(x)(6)ADDCA,C(x)(7)XORP1,#31H(x)7。判斷下面指令的運行成果(1)MOVA,#11HANLA,#FFH(A)=11H(√)(2)MOVA,#11HORLA,#FFH(A)=11H(X)8.累加器A中寄存著一種其值不不小于等于127的8位無符號數(shù),CY清“0"后執(zhí)行RLCA指令,則A中數(shù)變?yōu)楸緛淼?倍。(√)9.必須有中斷源發(fā)出中斷祈求,并且CPU打開中斷,CPU才也許響應中斷.(√)10。E2PROM不需紫外線能擦除,如2816在寫入時就能自動完畢擦除。(√13.指令AJMP的跳轉范圍是1KB。(x)16。A/D轉換器的作用是將模擬量轉換為數(shù)字量;D/A轉換器的作用是將數(shù)字量轉為模擬量.(Y)18.ANLR1,#0FH(x)19。MCS-51單片機的CPU能同步處理8位二進制數(shù)據(jù)。(√)21.讀內(nèi)部ROM時使用的是“MOV"指令,讀外部RAM時使用的是“MOVX”指令。(x)24。擴展I/O口占用片外數(shù)據(jù)存儲器的地址資源.(√)27.我們所說的計算機實質上是計算機的硬件系統(tǒng)與軟件系統(tǒng)的總稱.(√)28.MCS—51上電復位時,SBUF=00H.(x)。29.使用可編程接口必須初始化。(√).34.計算機中常用的碼制有原碼、反碼和補碼(√)35.若不使用MCS—51片內(nèi)存儲器,引腳EA必須接地.(√)36.十進制數(shù)-29的8位補碼表達為11100010。(x)37.MCS-51的相對轉移指令最大負跳距是127B.(x)39.MCS—51的時鐘最高頻率是18MHz。(x).42.MCS-51外擴I/O口與外RAM是統(tǒng)一編址的。(√)45。MCS-51的特殊功能寄存器分布在60H~80H地址范圍內(nèi).(x)50。MCS-51有4個并行I\O口,其中P0~P3是準雙向口,因此由輸出轉輸入時必須先寫入"0”(x)56.為了消除按鍵的抖動,常用的措施有硬件和軟件兩種措施。(√59。在MCS-51中,為使準雙向的I/O口工作在輸入方式,必須保證它被事先預置為1。(√)61.DPTR是可以訪問的,而PC不能訪問。 (√)62.DPTR和PC都是16位的存儲器.(√)63.DPTR可以分為兩個8位的寄存器使用,但PC不能.(√)64.程序計數(shù)器PC不能為顧客編程時直接使用,由于它沒有地址。(√)67.PC是1個不可尋址的特殊功能寄存器。(x)68.單片機的主頻越高,其運算速度越快。(√)71.立即尋址方式是被操作的數(shù)據(jù)自身在指令中,而不是它的地址在指令中。(√)72.指令周期是執(zhí)行一條指令的時間。(√)73.指令中直接給出的操作數(shù)稱為直接尋址.(x)74.串行口通信的第9數(shù)據(jù)位的功能可由顧客定義。(√)75.發(fā)送數(shù)據(jù)的第9數(shù)據(jù)位的內(nèi)容在SCON寄存器的TB8位預先準備好的。(√)76.串行通訊發(fā)送時,指令把TB8位的狀態(tài)送入發(fā)送SBUF。(x)77.串行通訊接受到的第9位數(shù)據(jù)送SCON寄存器的RB8中保留。(√)78.串行口方式1的波特率是可變的,通過定期器/計數(shù)器T1的溢出設定。(√)79.一臺計算機的指令系統(tǒng)就是它所能執(zhí)行的指令集合。.(√)80.以助記符形式表達的計算機指令就是它的匯編語言.。(√)81.PC、A、DPTR、PSW都能為程序存儲器提供和構成地址。(x)82.假定累加器A的內(nèi)容為30H,執(zhí)行指令:1000H:MOVCA,@A+PC后,把程序存儲器1030H單元的內(nèi)容送累加器A中。(x)簡答題部分1、什么叫堆棧?答:堆棧是在片內(nèi)RAM中專門開辟出來的一種區(qū)域,數(shù)據(jù)的存取是以"后進先出”的構造方式處理的.實質上,堆棧就是一種按照”后進先出"原則組織的一段內(nèi)存區(qū)域。2、進位和溢出?答:兩數(shù)運算的成果若沒有超過字長的表達范圍,則由此產(chǎn)生的進位是自然進位;若兩數(shù)的運算成果超過了字長的表達范圍(即成果不合理),則稱為溢出。4、什么是單片機的機器周期、狀態(tài)周期、振蕩周期和指令周期?它們之間是什么關系?答:某條指令的執(zhí)行周期由若干個機器周期(簡稱M周期)構成,一種機器周期包括6個狀態(tài)周期(又稱時鐘周期,簡稱S周期),而一種狀態(tài)周期又包括兩個振蕩周期(P1和P2,簡稱P周期)。也就是說,指令執(zhí)行周期有長有短,但一種機器周期恒等于6個狀態(tài)周期或12個振蕩周期,即1M=6S=12P.5、MCS-51單片機一般內(nèi)部包括哪些重要邏輯功能部件?答:51單片機一般由下列部件構成:一種8位CPU、一種片內(nèi)振蕩器及時鐘電路、內(nèi)部FlashRom程序存儲器、256B的RAM、2個16位的定期/計數(shù)器、可尋址64KB片外數(shù)據(jù)存儲器和64KB片外數(shù)據(jù)存儲器和64KB片外程序存儲器空間的控制電路、4個8位并行I/O端口及一種可編程全雙工串行接口.6、MCS-51單片機的存儲器從物理構造上可劃分幾種空間?答:MCS-51系列單片機的存儲器配置從物理構造上可分為:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。從邏輯上可分為:片內(nèi)外統(tǒng)一編址的64KB的程序存儲器、片內(nèi)256B的數(shù)據(jù)存儲器以及片外64KB的數(shù)據(jù)存儲器.7、存儲器中有幾種保留特殊功能的單元用做入口地址?分別作什么作用?答:MCS—51系列單片機的存儲器中有6個保留特殊功能單元,其中0000H為復位入口、0003H為外部中斷0入口、000BH為T0溢出中斷入口、0013H為外部中斷1入口、001BH為T1溢出中斷入口、0023H為串行接口中斷入口.8、MCS—51單片機片內(nèi)256B的數(shù)據(jù)存儲器可分為幾種區(qū)?分別起什么作用?答:MCS-51單片機片內(nèi)數(shù)據(jù)存儲器可分為二個區(qū):00H~7FH單元構成的低128B的片內(nèi)RAM區(qū)、80H~FFH單元構成的高128B的專用寄存器區(qū)。其中低128B的RAM區(qū)又分為:00H~1FH單元為工作寄存器區(qū)、20H~2FH單元為位尋址區(qū)、30H~7FH單元為顧客RAM區(qū)。工作寄存器區(qū)可作通用寄存器用,顧客RAM區(qū)可作堆棧和數(shù)據(jù)緩沖用。專用寄存器區(qū)又稱特殊功能寄存器,使用80H~FFH單元。8、MCS-51單片機的P0~P3四個I/O端口在構造上有何異同?使用時應注意的事項?答:MCS-51單片機的四個端口在構造上相似之處:P0~P3都是準雙向I/O口,作輸入時,必須先向對應端口的鎖存器寫入“1”。不一樣之處;P0口的輸出級與P1~P3口不相似,它無內(nèi)部上拉電阻,不能提供拉電流輸出,而P1~P3則帶內(nèi)部上拉電阻,可以提供拉電流輸出.當P0口作通用I/O口輸出使用時,需外接上拉電阻才可輸出高電平;但作地址/數(shù)據(jù)總線時,不需要外接上拉電阻。P1~P3口I/O輸出時,均無需外接上拉電阻。9、存儲器空間在物理構造上可劃分為幾種部分?答:MCS—51存儲器是采用將程序存儲器和數(shù)據(jù)存儲器分開尋址的構造,其存儲器空間在物理構造上可劃分為如下四個空間:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。10、開機復位后,CPU使用是的哪組工作寄存器?它們的地址是什么?CPU怎樣確定和變化目前工作寄存器組?答:開機復位后,CPU使用的是第0組工作寄存器。它們的地址是00H~07H。CPU通過對程序狀態(tài)字PSW中RS1、RS0的設置來確定和變化目前工作寄存器組。如:RS1、RS0為00則指向第0組;為01則指向第1組;為10則指向第2組;為11則指向第3組.11、MCS-51的時鐘周期、機器周期、指令周期的怎樣分派的?當振蕩頻率為8MHz時,一種單片機時鐘周期為多少微秒?答:MCS—51的時鐘周期是最小的定期單位,也稱為振蕩周期或節(jié)拍。一種機器周期包括12個時鐘周期或節(jié)拍.不一樣的指令其指令周期一般是不一樣的,可包具有1~4個機器周期。當振蕩頻率為8MHz時,一種單片機時鐘周期為0.125μs。12、程序狀態(tài)存儲器PSW的作用是什么?常用狀態(tài)標志有哪幾位?作用是什么?答:PSW是8位寄存器,用于作為程序運行狀態(tài)的標志,其格式如下:PSW位地址D7HD6HD5HD4HD3HD2HD1HD0H字節(jié)地址D0HCACF0RS1RS0OVF1P當CPU進行多種邏輯操作或算術運算時,為反應操作或運算成果的狀態(tài),把對應的標志位置1或清0.這些標志的狀態(tài),可由專門的指令來測試,也可通過指令來讀出。它為計算機確定程序的下一步運行方向提供根據(jù)。PSW寄存器中各位的名稱及文職如上所示,下面闡明各標志的作用.P:奇偶標志。該位一直跟蹤累加器A內(nèi)容的奇偶性。假如有奇數(shù)個“1”,則置P為1,否則置0。在MCS—51的指令系統(tǒng)中,但凡變化累加器A中內(nèi)容的指令均影響奇偶標志位P。F1:顧客標志。由顧客置位或復位。OV:溢出標志。有符號數(shù)運算時,假如發(fā)生溢出時,OV置1,否則清0。對于一種字節(jié)的有符號數(shù),假如用最高位表達正、負號,則只有7位有效位,能表達-128~~+127之間的數(shù);假如運算成果超過了這個數(shù)值范圍,就會發(fā)生溢出,此時,OV=1,否則OV=0。此外,在乘法運算中,OV=1表達乘積超過255;在除法運算中,OV=1表達除數(shù)為0.RS0、RS1:工作寄存器組選擇位,用以選擇指令目前工作的寄存器組。由顧客用軟件變化RS0和RS1的組合,以切換目前選用的工作寄存器組,其組合關系如下.RS1RS0寄存器組片內(nèi)RAM地址00第0組00H~07H01第1組08H~0FH10第2組10H~17H11第3組18H~1FH13、EA/VPP引腳有何功用?8031的引腳應怎樣處理?為何?答:EA/VPP是雙功能引腳,功能如下:EA接高電平時,在低4KB程序地址空間(0000H~0FFFH),CPU執(zhí)行片內(nèi)程序存儲器的指令,當程序地址超過低4KB空間(1000H~FFFFH)時,CPU將自動執(zhí)行片外程序存儲器的指令。EA接低電平時,CPU只能執(zhí)行外部程序存儲器的指令。8031單片機內(nèi)部無ROM,必須外接程序存儲器。因此,8031的EA引腳必須接低電平。在對8751單片機內(nèi)部的 EPROM編程時,此引腳VPP外接+12V電壓,用于固化EPROM程序。14、單片機有哪幾種特殊功能寄存器?各在單片機的哪些功能部件中?答:MCS—51單片機內(nèi)部有21個特殊功能寄存器,在物理上是分散在片內(nèi)各功能部件中,在數(shù)學上把它們組織在內(nèi)部數(shù)據(jù)存儲器地址空間80H~FFH中,以便能使用統(tǒng)一的直接尋址方式來訪問。這些特殊功能寄存器頒在如下各個功能部件中:(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH兩個8位寄存器構成);(2)中斷系統(tǒng):IP、IE;(3)定期器/計數(shù)器:TMOD、TCOM、TL0、TH0、TL1、TH1;(4)并行I/O口:P0、P1、P2、P3;(5)串行口:SCON、SBUF、PCON。16、什么叫尋址方式?MCS51有幾種尋址方式?答:尋址方式:尋址方式就是尋找指令中操作數(shù)或操作數(shù)所在地址的方式。也就是怎樣找到寄存操作數(shù)的地址,把操作數(shù)提取出來的措施。MCS51的尋址方式有:立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對對址、位尋址.17、SJMP(短轉移)指令和AJMP(絕對轉移)指令的重要區(qū)別。答:SJMP提供了以SJMP的下一條指令的起始地址為中心的256字節(jié)范圍的轉移(-128~+127),AJMP的轉移目的地址必須在與AJMP的下一條指令的第一字節(jié)相似的2KB區(qū)的程序儲存器中。短轉移以便了可重定位編碼.SJMP以便了PC可重定位編碼,但轉移范圍小。而ASJMP轉移范圍大,但存在跳區(qū)的限制,AJMP指令只能位于2KB區(qū)的最終2個字節(jié)處時,才可跳到下一種區(qū)去。因此用AJMP指令來替代SJMP指令是有條件的,也就是目的地址必須與它下面的指令寄存地址在同一種2KB區(qū)域內(nèi)。18、中斷服務子程序與一般子程序有哪些異同之處?答:相似點:都是讓CPU從主程序轉去實行子程序,執(zhí)行完畢后又返回主程序。不一樣點:中斷服務子程序是隨機執(zhí)行的,而一般子程序是預先安排好的;中斷服務子程序以RETI結束,而一般子程序以RET結束。RETI除了將短點彈回PC動作之外,還要清除對應的中斷優(yōu)先標志位(片內(nèi)不可尋址的觸發(fā)器),以便新的中斷祈求能被響應。19、MCS—51響應中斷的條件是什么?CPU響應中斷后,CPU要進行哪些操作?不一樣的中斷源的中斷入口地址是什么?答:CPU響應中斷的條件如下:①首先要有中斷源發(fā)出有效的中斷申請;②CPU中斷是開放的,即中斷總容許位EA=1,容許所有中斷源申請中斷。③申請中斷的中斷源的中斷容許位為1,即此中斷源可以向CPU申請中斷。以上是CPU響應中斷的基本條件.假如上述條件局限性,則CPU一般會影響中斷.不過,若有下列任何一種狀況存在,則中斷響應會被制止。①CPU正處在為一種同級或高級的中斷服務中。②現(xiàn)行機器周期不所執(zhí)行的指令的最終一種機器周期。作此限制的目的在與使目前指令執(zhí)行完畢后,才能進行中斷響應,以保證目前指令的完整執(zhí)行。③目前指令是返回指令(RET、RETI)或訪問IE、IP的指令。由于按MCS—51中斷系統(tǒng)的特性規(guī)定,在執(zhí)行完這些指令之后,還應在繼續(xù)執(zhí)行一條指令,然后才能影響中斷.若存在任何一種狀況,CPU將丟棄中斷查詢成果;否則,將在緊接著的下一種機器周期內(nèi)執(zhí)行中斷查詢成果,響應中斷。CPU響應中斷后,保護斷點,硬件自動將(PC)→堆棧,尋找中斷源,中斷矢量→PC,程序轉向中斷服務程序入口地址。其中,INT0=0003H,T0=000BH,INT1=0013H,T1=001BH,串行接口=0023H。20、單片機對中斷優(yōu)先級的處理原則是什么?答:⑴低級不能打斷高級,高級可以打斷低級;⑵一種中斷以被響應,同級的被嚴禁;⑶同級,按查詢次序,INT0→T0→INT1→T1→串行接口21、MCS—51的外部中斷有哪兩種觸發(fā)方式?他們對觸發(fā)脈沖或電平有什么規(guī)定?答:有電平觸發(fā)和脈沖觸發(fā)。電平方式是低電平有效。只要單片機在中斷規(guī)定引入端INT0和INT1上采樣到低電平時,就激活外部中斷。脈沖方式則是脈沖的下條沿有效.這種方式下,在兩個相鄰機器周期對中斷祈求引入端進行采樣中,如前一次為高,后一次為低,即為有效中斷祈求。因此在這兩種中斷祈求信號方式下,中斷祈求信號的高電平狀態(tài)和低電平狀態(tài)都應至少維持一種周期以保電平變化能被單片機采樣用。22、什么是中斷和中斷系統(tǒng)?其重要功能是什么?答:當CPU正在處理某件事情的時候,外部發(fā)生的某一件事情祈求CPU迅速去處理,于是,CPU臨時終止目前的工作,轉去處剪發(fā)生的事情,中斷處理完該事件后來,再回到本來被終止的地方,繼續(xù)本來的工作.這種過程稱為中斷,實現(xiàn)這種功能的部件稱為中斷系統(tǒng).功能:(1)使計算機具有實時處理功能,能對外界異步發(fā)生的事件作出及時的處理.(2)完全消除了CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率。(3)實現(xiàn)實時控制。23、MCS—51有哪些中斷源?答:MCS—51有如下中斷源:INTO:外部中斷0祈求,低電平有效(由P3。2輸入);INT1:外部中斷1祈求,低點平有效(由P3。3輸入);TO:定期器/計數(shù)器0溢出中斷祈求;T1:定期器/計數(shù)器1溢出中斷祈求;TX/RX:串行借口中斷祈求。通過對特殊功能積存器TCON、SCON、IE、IP的個位進行置位或復位等操作,可實現(xiàn)多種中斷控制功能.24、闡明外部中斷祈求的查詢和響應過程。答:當CPU執(zhí)行主程序第K條指令時,外設向CPU發(fā)出中斷祈求,CPU接到中斷祈求信號并在本條指令執(zhí)行完后,中斷主程序的執(zhí)行并保留斷點地址,然后轉去響應中斷.CPU在每一種S5P2期間次序采樣每個中斷源,CPU在下一種機器周期S6期間按優(yōu)先級次序查詢中斷標志,如查詢到某個中斷標識為1,將在接下來的機器周期S1期間按優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將對應的中斷矢量地址裝入PC,以便進入對應的中斷服務程序。中斷服務完畢后,CPU返回到主程序第K+1條指令繼續(xù)執(zhí)行。25、MCS—51響應中斷的條件?答:(1)有中斷源發(fā)出中斷祈求。(2)中斷總容許位EA=1,即CPU開中斷。(3)申請中斷的中斷源的中斷容許位為1,即中斷沒有被屏蔽.(4)無同級或更高級中斷正在服務。(5)目前指令周期已經(jīng)結束。(6)若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另一條指令已執(zhí)行完畢.26、簡述MCS—51單片機的中斷響應過程。答:CPU在每個機器周期S5P2期間次序采用每個中斷源,CPU在下一種機器周期S6期間按優(yōu)先級次序查詢中斷標志,如查詢到某個中斷標志為1,將在接下來的機器周期S1期間按優(yōu)先級進行中斷處理,中斷系統(tǒng)通過硬件自動將對應的中斷矢量地址裝入PC,以便進入對應的中斷服務程序.一旦響應中斷,MCS-51首先置位對應的中斷“優(yōu)先級生效”觸發(fā)器,然后由硬件執(zhí)行一條長調用指令,把目前的PC值壓入堆棧,以保護斷點,再將對應的中斷服務的入口地址送入PC,于是CPU接著從中斷服務程序的入口處開始執(zhí)行。對于有些中斷源,CPU在響應中斷后會自動清除中斷標志。27、在執(zhí)行某一中斷源的中斷服務程序時,假如有新的中斷祈求出現(xiàn),試問在什么狀況下可響應新的中斷祈求?在什么狀況下不能響應新的中斷祈求?答:符合如下6個條件可響應新的中斷祈求:有中斷源發(fā)出中斷祈求、中斷總容許位EA=1,即CPU開中斷、申請中斷的中斷源的中斷容許位為1,即中斷沒有被屏蔽、無同級或更高級中斷正在被服務、目前的指令周期已結束、若現(xiàn)行指令為RETI或訪問IE或IP指令時,該指令以及緊接著的另一條指令已執(zhí)行完.假如新的中斷祈求“優(yōu)先級”低于正在執(zhí)行的中斷祈求或與其同級,則不能被響應。28、MCS—51單片機外部中斷源有幾種觸發(fā)中斷祈求的措施?怎樣實現(xiàn)中斷祈求?答:有兩種方式:電平觸發(fā)和沿觸發(fā)。電平觸發(fā)方式:CPU在每個機器周期的S5P2期間采樣外部中斷引腳的輸入電平。若為低電平,使IE1(IE0)置“1”,申請中斷;若為高電平,則IE1(IE0)清零.邊緣觸發(fā)方式:CPU在每個機器周期的S5P2期間采樣外部中斷祈求引腳的輸入電平。假如在相繼的兩個機器周期采樣過程中,一種機器周期采樣到外部中斷祈求為高水平,接著下一種機器周期采樣到外部中斷祈求為低水平,則使IE1(IE0)置1,申請中斷;否則,IE1(IE0)置0。29、什么是中斷優(yōu)先級?中斷優(yōu)先級處理的原則是什么?答:一般,在系統(tǒng)中有多種中斷源,有時會出現(xiàn)兩個或更多種中斷源同步提出中斷祈求的狀況.這就規(guī)定計算機既能辨別各個中斷源的祈求,又能確定首先為哪一種中斷源服務。為了處理這一問題,一般給各中斷源規(guī)定了優(yōu)先級別,稱為優(yōu)先權或中斷優(yōu)先級。中斷優(yōu)先級處理的原則是:當兩個或者兩個以上的中斷源同步提出中斷祈求時,計算機首先為優(yōu)先權最高的中斷源服務,服務結束后,再響應級別較低的中斷源。30、中斷響應過程中,為何一般要保護現(xiàn)場?怎樣保護?答:由于一般主程序和中斷服務程序都也許會用到累加器、PSW寄存器和其他某些寄存器。CPU在進入中斷服務程序后,用到上述寄存器時,就會破壞它本來存在寄存器中的內(nèi)容;一旦中斷返回,將會導致主程序的混亂.因而在進入中斷服務程序后,一般要先保護現(xiàn)場,然后再執(zhí)行中斷處理程序,在返回主程序前再恢復現(xiàn)場.保護現(xiàn)場的一般措施是把累加器、PSW寄存器及其他某些與主程序有關的寄存器壓入堆棧。在保護現(xiàn)場和恢復現(xiàn)場時,為了不使現(xiàn)場數(shù)據(jù)受到破壞或者導致混亂,一般規(guī)定此時CPU不響應新的中斷祈求.這就規(guī)定在編寫中斷服務程序時,注意在保護現(xiàn)場前要關中斷,在恢復現(xiàn)場后要開中斷。假如在中斷處理時容許有更高級的中斷打斷它,在保護現(xiàn)場之后要再開中斷,恢復現(xiàn)場之前關中斷.31、MCS—51定期器有哪幾種工作模式?有何區(qū)別?答:有模式0,模式1,模式2,模式3。(1)模式0:選擇定期器(T0或T1)的高8位和低5位構成的一種13位定期器/計數(shù)器。TL低5位溢出時向TH進位,TH溢出時向中斷標志位TF0進位,并申請中斷.定期時間t=(213—初值)*振蕩周期*12;計數(shù)長度為213=8192個外部脈沖.(2)模式1:與模式0的唯一區(qū)別是寄存器TH與TL以所有16位參與操作。定期時間t=(216-初值)*振蕩周期*12;計數(shù)長度為216=65536個外部脈沖。(3)模式2:把TL0與TL1配置成一種可以自動重裝載的8位定期器/計數(shù)器。TL用作8位計數(shù)器,TH用以保留初值.TL計數(shù)器溢出是不僅使TF0置1,并且還自動將TH中的內(nèi)容裝載到TL中.定期時間t=(28—初值)*振蕩周期*12;計數(shù)長度為256個外部脈沖。(4)模式3:對T0和T1不大相似。若T0設為模式3,TL0和TH0被分為兩個互相獨立的8位計數(shù)器.TL0為8位計數(shù)器,功能與模式0和模式1相似,可定期可計數(shù)。TH0僅用于作簡樸的內(nèi)部定期功能,它占用了定期器T1的控制位TR1和中斷標志位TF1,啟動和關閉僅受TR1的控制。定期器T1無工作模式3,但T0在工作模式3時T1仍可設置為模式0~2.32、串行數(shù)據(jù)傳送的重要長處和用途是什么?答:串行數(shù)據(jù)傳送是將數(shù)據(jù)按位進行傳送的方式。其重要長處是所需的傳送線根數(shù)少,對于遠距離數(shù)據(jù)傳送的狀況,采用串行方式是比較經(jīng)濟的。因此竄行方式重要用于計算機與遠程終端之間的數(shù)據(jù)傳送。33、簡述串行接口接受和發(fā)送數(shù)據(jù)的過程.答:串行接口的接受和發(fā)送是對同一地址(99H)兩個物理空間的特殊功能寄存器SBUF進行讀或寫的.當向SBUF發(fā)“寫”命令時(執(zhí)行“MOVSBUF,A“指令),即向發(fā)送緩沖器SBUF裝載并開始由TXD引腳向外發(fā)送一幀數(shù)據(jù),發(fā)送完便使發(fā)送中斷標志位T1=1.在滿足串行接口接受中斷標志位RI(SCON。)=0的條件下,置容許接受位REN(SCON.4)=1,就會接受一幀數(shù)據(jù)進入移位寄存器,并裝載到接受SBUF中,同步使RI=1。當發(fā)讀SBUF命令時(執(zhí)行“MOVA,SBUF”指令),便由接受緩沖器SBUF取出信息通過MCS-51內(nèi)部總線送CPU。34、MCS-51串行接口有幾種工作方式?答:MCS—51串行接口有四種工作方式;方式0(8位同步移位寄存器),方式1(10位異步收發(fā)),方式2(11位異步收發(fā)),方式3(11位異步收發(fā))。35、MCS-51中SCON的SM2、TB8、RB8有何作用?答:MCS-51中SCON的SM2是多機通信控制位,重要用于方式2和方式3.若置SM2=1,則容許多機通信。TB8是發(fā)送數(shù)據(jù)的第9位,在方式2或方式3中,根據(jù)發(fā)送數(shù)據(jù)的需求有軟件置位或復位.它在許多通信協(xié)議中可用作奇偶校驗位;在多機通信中作為發(fā)送地址幀或數(shù)據(jù)幀的標志位。RB8是接受數(shù)據(jù)的第9位,在方式2或方式3中,接受到的第9位數(shù)據(jù)放在RB8位。它或是約定的奇/偶校驗位,或是約定的地址/數(shù)據(jù)標識位。36、簡述單片機多機通信的原理。答:當一片MCS—51主機與多片從機通信時,所有從機的SM2位置1。主機首先發(fā)送的一幀數(shù)據(jù)為地址,即某從機機號,其中第9位1,所有的接受到數(shù)據(jù)后,將其中第9位裝入RB8中.各個從機根據(jù)收到的第9位數(shù)據(jù)(RB8中)的值來決定從機可否再接受主機的信息。若(RB8)=0,闡明是數(shù)據(jù)幀,則使接受中斷標志位RI=0,信息丟失;若(RB8)=1,闡明是地址幀,數(shù)據(jù)裝入SBUF并置RI=1,中斷所有從機,只有被尋址的目的從機清除SM2(SM2=0),以接受主機發(fā)來的一幀數(shù)據(jù)(點對點通信).其他從機仍然保持SM2=1。37、串行通信的總線原則是什么?有哪些內(nèi)容?答:美國電子工業(yè)協(xié)會(EIA)正式公布的串行總線接口原則有RS—232C、RS-422、RS—423和RS-485等。在異步串行通信中應用最廣的原則總線是RS—232C。它包括了按位串行傳播的電氣和機械方面的規(guī)定,如合用范圍、信號特性、接口信號及引腳闡明等,合用于短距離(〈15m)或帶調制解調器的通信場所。采用RS—422、RS—485原則時,通信距離可達1000m。38、簡述單片機系統(tǒng)擴展的基本原則和實現(xiàn)措施。答:(1)以P0口作地址/數(shù)據(jù)總線,此地址總線是系統(tǒng)的低8位地址線.(2)以P2口的口線作高位地址線。(不固定為8位,需要幾位就從P2口引出幾條口線。)(3)控制信號線:①、使用ALE作為地址鎖存的選通信號,以實現(xiàn)低8位地址線。②、以PSEN信號作為擴展程序存儲器的讀選通信號。③、以EA信號作為外程序存儲器的選擇信號。④、以RD和WR作為擴展數(shù)據(jù)存儲器和I/O端口的讀寫選通信號,執(zhí)行MOVX指令時,這兩個信號分別自動有效。39、8255有哪幾種工作方式?怎樣選擇其工作方式?答:8255有3種工作方式,即方式0、方式1、方式2。(1)方式0(基本輸入/輸出方式):這種方式不需要任何選通信號。A口、B口及C口的高4位和低4位都可以被設定輸入或輸出。作為輸出口時,輸出的數(shù)據(jù)被封鎖;B口和C口作為輸入口時,其輸入的數(shù)據(jù)不封鎖。(2)方式1(選通輸入/輸出方式):在這種工作方式下,A、B和C三個口將分為兩組。A組包括A口和C口的高4位,A口可由編程設定為輸入口或輸出口,C口的高4位則用來作為輸入/輸出操作的控制和同步信號;B組包括B口和C口的低4位,B口可由編程設定為輸入口或輸出口,C口的低4位則用來作為輸入/輸出操作的控制和同步信號。A口和B口的輸出數(shù)據(jù)都被鎖存。(3)方式2(雙向數(shù)據(jù)傳送方式):在這種方式下,A口為8位雙向數(shù)據(jù)口,C口的PC3~PC7用來作為輸入/輸出的控制同步信號。8255的工作方式選擇是通過對控制口輸入控制字(或稱命令字)的方式實現(xiàn)的。40、8155有哪幾種工作方式?怎樣進行選擇?答:8155有3種工作方式,即通用I/O口、片外256B的RAM及定期器/計數(shù)器方式。當作為通用I/O口時,將IO/M引角置高電平,I/O工作方式選擇是通過對8155內(nèi)部命令寄存器送命令字來實現(xiàn)的。當作為片外256B的RAM時,將IO/M引角置低電平.這時8155內(nèi)部的RAM只能作片外RAM使用,其選址范圍由片選線CE(高位地址譯碼)和AD0~AD7決定,應與應用系統(tǒng)中其他數(shù)據(jù)存儲器統(tǒng)一編址。當作為定期器/計數(shù)器使用時,將IO/M引角置高電平,然后分別選擇定期器/計數(shù)器的高、低8位寄存器地址,通過對高8位的搞位的設置可定義4種輸出波形。高8位中的低6位和低8位寄存器中的8位用于放14位計數(shù)器的初值.41、什么是D/A轉換器?簡述T形電阻網(wǎng)絡轉換器的工作原理.答:在計算機控制的實時控制系統(tǒng)中,有時被控對象需要用模擬量來控制,模擬量是持續(xù)變化的電量。此時,就需要將數(shù)字量轉換為對應的模擬量,以便操縱控制對象。這一過程即為“數(shù)/模轉換"D/A(DigittoAnalog)。能實現(xiàn)D/A轉換的期間稱為D/A轉換器或DAC。一種二進制數(shù)是由各位代碼組合起來的,每位代碼均有一定的權。為了將數(shù)字量轉換成模擬量,應將每一位代碼按權大小轉換成響應的模擬輸出分量,然后根據(jù)疊加原理將各代碼對應的模擬輸出分量相加,其綜合就是與數(shù)字量成正比的模擬量,由此完畢D/A轉換。為實現(xiàn)上述D/A轉換,需要使用解碼網(wǎng)絡。解碼網(wǎng)絡的重要形式有二進制權電阻解碼網(wǎng)絡和T形電阻解碼網(wǎng)絡。T形電阻網(wǎng)絡整個電路是有相似的電路環(huán)節(jié)所構成的,每節(jié)有二個電阻(R和2R)、一種開關,相稱于二進制數(shù)的一位,開關由該位的代碼所控制.由于電阻接成T形解碼網(wǎng)絡。此電路采用了分流原理實現(xiàn)對輸入為數(shù)字量的轉換.42、波特率、比特率和數(shù)據(jù)傳送速率的含意各是什么?答:在數(shù)據(jù)通信中,描述數(shù)據(jù)傳送速度的方式有3種:(1)波特率——每秒傳送多少個信號碼元(或每秒信號碼元變換的總個數(shù)),單位是波特(Bd).(2)比特率——每秒傳送多少個二進制位(或每秒傳送二進制碼元的個數(shù)),單位是b/s.(3)數(shù)據(jù)傳送速率(或字符傳送速率)-—每秒傳送多少個字符(或單位時間內(nèi)平均數(shù)據(jù)傳移速率),單位是字符/秒。四、程序分析及編程1。設(A)=04H,(CY)=1,寫出下列各條指令的成果。RLA;(A)=08HRRA;(A)=02HRLCA;(A)=09HRRCA;(A)=82H2.設(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1,寫出下列各條指令的成果。MOVA,R0(A)=30H(R0)=30HXCHA,R0(A)=30H(R0)=30HXCHDA,@R0(A)=A5H(R0)=30H(30H)=30HADDA,#30H(A)=D5H(CY)=1ADDCA,30H(A)=06H(CY)=1SUBBA,#30H(A)=D5H(CY)=13.下列程序段的功能是什么? PUSH A PUSH B POP A POP B答:互換A、B的內(nèi)容4.已知程序執(zhí)行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH.下述程序執(zhí)行后:請問:A=(),SP=(),(51H)=(),(52H)=(),PC=(). POP DPH POP DPL MOV DPTR,#4000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 4000H DB 10H,80H,30H,50H,30H,50H 答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H5。假定A=83H,(R0)=17H,(17H)=34H,執(zhí)行如下指令后,A的內(nèi)容為()。: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 答:0CBH6.假如DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后則:DPH=(),DPL=(),SP=(): POP DPH POP DPL POP SP 答:DPH=3CH,DPL=5FH,SP=4FH7.假定,SP=60H,A=30H,B=70H,執(zhí)行下列指令后,SP的內(nèi)容為(),61H單元的內(nèi)容為(),62H單元的內(nèi)容為()。 PUSH A PUSH B 答:62H,30H,70H8.計算下面子程序中指令的偏移量和程序執(zhí)行的時間(晶振頻率為12MHz)。 MOV R3,#15H ;1個機器周期 DL1:MOV R4,#255 ;1個機器周期 DL2:MOV P1,R3 ;2個機器周期 DJNZ R4,DL2 ;2個機器周期 DJNZ R3,DL1 ;2個機器周期 RET ;2個機器周期答:15348us析:((2+2)×255+1+2)×15+1+2=15348us9.假定A=83H,(R0)=17H,(17H)=34H,執(zhí)行如下指令后,A的內(nèi)容為(). ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 答:0CBH10。假如(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,則執(zhí)行下列指令后:DPH內(nèi)容為(),DPL內(nèi)容為(),SP內(nèi)容為()。POP DPH;POP DPL;POP SP;答:(DPH)=3CH,(DPL)=5FH,(SP)=50H11。假設外部數(shù)據(jù)存儲器H單元的內(nèi)容為80H,執(zhí)行下列指令后,累加器A中的內(nèi)容為()。 MOV P2,#20H MOV R0,#00H MOVX A,@R0答:累加器A中的內(nèi)容為(80H)12.閱讀下列程序段并回答問題。(1)。該程序執(zhí)行何種操作?(2).已知初值(60H)=23H,(61H)=61H,運行程序后62H內(nèi)容()CLRCMOVA,#9AHSUBBA,60HADDA,61HDAAMOV62H,A答:1)、該程序是單字節(jié)BCD碼運算,是將(61H)—(60H)→62H2)、(62H)=38H13.試編寫1個程序,將內(nèi)部RAM中45H單元的高4位清0,低4位置1.答:MOV A,45H ANL A,#0FH ORL A,#0FH MOV 45H,A14。試編寫程序,查找在內(nèi)部RAM的30H~50H單元中與否有0AAH這一數(shù)據(jù)。若有,則將51H單元置為“01H”;若未找到,則將51H單元置為“00H”。答:START: MOV R0,#30H MOV R2,#20H LOOP: MOV A,@R0 CJNE A,#0AAH,NEXT MOV 51H,#01H LJMP EXIT NEXT: INC R0 DJNZ R2,LOOP MOV 51H,#00H EXIT: RET15。編寫程序,規(guī)定使用T0,采用方式2定期,在P1.0輸出周期為400μs,占空比為10:1的矩形脈沖.解:根據(jù)題意,從P1.0輸出的矩形脈沖的高下電平的時間為10:1,則高下電平的時間分別為363.63μs和36。37μs。假如系統(tǒng)采用6MHz晶振的話,,因此高下電平輸出取整,則約為364μs和36μs。編寫程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP IT0PMAIN: MOV TMOD,#02H ;定期器/計數(shù)器T0為定期方式2 MOV TL0,#4AH ;定期364μs初值賦值 SETB TR0 ;啟動T0,開始計數(shù) SETB ET0 ;容許T0中斷 SETB EA ;CPU開中斷 SETB P1.0WAIT: AJMP WAITIT0P: CLR EACLR P1.0 ;關中斷 MOV R0,#9DLY: DJNZ R0,DLY ;延時26μs MOV TL0,#4AH ;定期364μs初值賦值 SETB P1.0 SETB EA RETI16.設在外部RAM中有三個持續(xù)單元H,H,H,其中H和H單元中分別寄存兩個8位無符號二進制數(shù),比較這兩個數(shù)的大小,然后將大數(shù)送到H單元.COMPARE:MOVDPTR,#HMOVXA,@DPTRMOVR0,AINCDPTRMOVXA,@DPTRSUBBA,R0JNCLOOPMOVA,R0INCDPTRMOVX@DPTR,ARETLOOP:INCDPTRMOVX@DPTR,ARET17。將內(nèi)部RAM40H開始的10個單元,搬移到50H開始的10個單元中。MOVR0,#40HMOVR1,#50HMOVR2,#10LOOP1:MOVA,@R0MOV@R1,AINCR0INCR1DJNZR2,LOOP1RET18。設單片機晶振頻率為6MHz,使用定期器0,以工作方式2,在P1.5引腳輸出一種周期為200us持續(xù)方波?解:MOVTMOD,#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JBCTF0,LOOP1AJMPLOOPLOOP1:CPLP1。019.編寫一段程序,功能規(guī)定為:當P1。0引腳的電平正跳變時,對P1.1的輸入脈沖進行計數(shù);當P1.2引腳的電平負跳變時,停止計數(shù),并將計數(shù)值寫入R0、R1(高位存R1,低位存R0).答:將P1。1的輸入脈沖接入INT0,雖然用T0計數(shù)器完畢對P1.1口的脈沖計數(shù)。編寫程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP IT0PMAIN: JNB P1。0,MAINMOV TMOD,#05H ;定期器/計數(shù)器T0為計數(shù)方式1 SETB TR0 ;啟動T0,開始計數(shù) SETB ET0 ;容許T0中斷 SETB EA ;CPU開中斷WAIT: JB P1.2,WAIT CLR EA CLR TR0 MOV R1,TH0 MOV R0,TL0 AJMP $IT0P: INC R2 RETI20.試編寫一種程序(例如將05H和06H拼為56H),設原始數(shù)據(jù)放在片外數(shù)據(jù)區(qū)H單元和H單元中,按次序拼裝后的單字節(jié)數(shù)放入H。答:編程思緒:首先讀取H的值,保留在寄存器A中,將寄存器A的高四位和低四位互換,再屏蔽掉低四位然后將寄存器A的值保留到30H中,然后再讀取H的值,保留在寄存器A中,屏蔽掉高四位,然后將寄存器A的值與30H進行或運算,將運算后的成果保留在H中。 ORG0000HMAIN:MOVDPTR,#H ;設置數(shù)據(jù)指針的初值 MOVX A,@DPTR ;讀取H的值 SWAP A ANL A,#0F0H ;屏蔽掉低四位 MOV 30H,A ;保留A INC DPTR ;指針指向下一種 MOVX A,@DPTR ;讀取H的值 ANL A,#0FH ;屏蔽掉高四位 ORL A,30H ;進行拼裝 MOVX @DPTR,A ;保留到H END21。編寫程序,將外部數(shù)據(jù)存儲器中的4000H—40FFH單元所有清零.解:本題重要考察了對外部數(shù)據(jù)塊的寫操作;編程時只要注意循環(huán)次數(shù)和MOVX指令的使用就可以了。 ORG 0000HMAIN:MOV A,#0 ;送預置數(shù)給A MOV R0,#0FFH ;設置循環(huán)次數(shù) MOV DPTR,#4000H ;設置數(shù)據(jù)指針的初值LOOP:MOVX @DPTR,A ;目前單元清零 INC DPTR ;指向下一種單元 DJNZR0,LOOP ;與否結束 END22。編寫程序,采用8255A的C口按位置位/復位控制字,將PC7置0,PC4置1,(已知8255A各端口的地址為7FFCH-7FFFH)。解:本題重要考察對8255A的C口的操作.其方式控制字的高位為0時,低四位對C口進行置位。由題目我們得到了方式控制字的地址為7FFFH. ORG 0000H MAIN: MOV DPTR,#7FFFH ;控制字寄存器地址送DPTR MOV A,#0EH ;將PC7置0 MOVX@DPTR,A MOV A,#09H ;將PC4置1 MOVX@DPTR,A END23.試編寫邏輯運算程序,功能為:F=X(Y+Z);F=XYZ其中FXYZ均為位變量,依次存在以30H為首址的位尋址區(qū)中。解(1):FBIT30HXBIT31HYBIT32HZBIT33HLOG1:MOVC,Y;Y→CORLC,Z;(Y+Z)→CANLC,X;X(Y+Z)→CMOVF,C;X(Y+Z)→FRET;解(2):LOG2:MOVC,Y;Y→CANLC,Z;YZ→CANLC,/X;XYZ→CCPLC;XYZ→CMOVF,C;XYZ→FRET;24.試編寫程序,記錄內(nèi)RAM30H~50H單元中FFH的個數(shù),并將記錄成果存51H。解:編程如下:LOKF:MOV51H,#0;計數(shù)器清零MOVR0,#30H;置數(shù)據(jù)區(qū)首址LOP:MOVA,@R0;讀數(shù)據(jù)CPLA;取反JNZLP1;判FFH,非FFH,轉INC51H;FFH,計數(shù)LP1:INCRO;指向下一數(shù)據(jù)CJNER0,#51H,LOP;判循環(huán)RET25.試編寫程序,找出外RAMH~200FH數(shù)據(jù)區(qū)中的最小值,并放入R2中。解:編程如下:SECH:MOVDPTR,#H;置外RAM數(shù)據(jù)區(qū)首址MOVR2,#OFH;置外RAM數(shù)據(jù)區(qū)長度(N—1)MOVXA,@DPTR;讀第一種數(shù)據(jù)MOVB,A;假設第一種數(shù)據(jù)為最小值SLOP:INCDPTR;指向下一種數(shù)據(jù)MOVXA,@DPTR;讀下一種數(shù)據(jù)CJNEA,B,SLP1;新數(shù)據(jù)與最小值比較SLP1:JNCSLP2;新數(shù)據(jù)≥最小值,判斷循環(huán)MOVB,A;新數(shù)據(jù)<最小值,新數(shù)據(jù)→BSLP2:DJNZR2,SLOP;判循環(huán)結束否?MOVR2,B;最小值→R2RET26.已知ROM中存有0~100的平方表,首地址為TABDS,試根據(jù)累加器A(≤100)中的數(shù)值查找對應的平方值,存入內(nèi)RAM31H30H(雙字節(jié)).解:編程如下:DSQR:MOVDPTR,#TABDS;置ROM平方表首地址ADDA,Acc;A×2→AMOVCA,@A+DPTR;讀平方值高8位MOV31H,A;平方值高8位→31HINCA;指向平方值低8位MOVCA,@A+DPTR;讀平方值低8位MOV30H,A;平方值低8位→30HRETTABDS:DW0,0,0,1,0,4,0,9,0,16,0,25,…,27H,10H;0~100平方表(雙字節(jié))27.試編程實現(xiàn)3字節(jié)無符號數(shù)加法:R7R6R5+R4R3R2→@R0(3個持續(xù)單元).解:編程如下:ADD3:MOVA,R5ADDA,R2;低位加MOV@R0,A;存低位和INCR0;修改存儲單元MOVA,R6;ADDCA,R3;中位加MOV@R0,A;存中位和INCR0;修改存儲單元MOVA,R7;ADDCA,R7;高位加MOV@R0,A;存高位和RET28.試編寫程序,將外部RAMH~20FH數(shù)據(jù)塊,傳送到3000H~30FFH區(qū)域。解:編程如下:DMOV:MOVDPTR,#H;置源數(shù)據(jù)區(qū)首址MOVR2,#00H;置數(shù)據(jù)長度(256個)DLOP:MOVXA,@DPTR;讀數(shù)據(jù)MOVDPH,#30H;置目的數(shù)據(jù)區(qū)高8位地址MOVX@DPTR,A;存數(shù)據(jù)MOVDPH,#20H;置源數(shù)據(jù)區(qū)高8位地址INCDPTR;修改源數(shù)據(jù)區(qū)地址DJNZR2,DLOP;判循環(huán)結束否?RET29。從內(nèi)RAM20H單元開始存有一組帶符號數(shù)(補碼),其個數(shù)已寄存在1FH單元。規(guī)定記錄其中不小于0,等于0和不不小于0的數(shù)的個數(shù),并把記錄成果分別存入ONE,TWO,THREE3個單元。解:編程如下:ONEEQU30HTWOEQU31HTHREEEQU32HSTOR:MOVR0,#20H;置數(shù)據(jù)區(qū)首址SLOP:MOVA,@R0;讀數(shù)據(jù)JZLP1;數(shù)據(jù)=0,轉JBAcc.7,LP2;數(shù)據(jù)<0,轉INCONE;數(shù)據(jù)>0,ONE單元加1LP0:INCRO;指向下一數(shù)據(jù)DJNZ1FH,SLOP;判記錄結束否?未結束循環(huán)RET;記錄結束,TWO單元加1LP1:INCTWO;數(shù)據(jù)=0,TWO單元加1SJMPLPO;返回循環(huán)體LP2:INCTHREE;數(shù)據(jù)<0,THREE單元加1SJMPLPO;返回循環(huán)體30.設在內(nèi)部數(shù)據(jù)存儲器中寄存有20個字節(jié)數(shù)據(jù),其起始地址為M。試編寫程序,找出數(shù)0AH的寄存地址,并送入N單元.若OAH不存在,則將N單元清零.解:程序如下:MEQU30HNEQU2FHSECH:MOVR0,#MMOVR1,#20LOOP:CJNE@R0,#0AH,LP1MOVN,R0RETLP1:INCR0DJNZR1,LOOPMOVN,#0RET31.試編寫程序,求出內(nèi)RAM20H單元中“1”的個數(shù),并將成果存入21H單元。解:編程如下:LOK1:MOV21H,#OMOVR2,#08HMOVA,20HLOP:RLCAJNCLP1JNC21HLP1:DJNER2,LOPRET32。試編寫記錄數(shù)據(jù)區(qū)長度的程序,設數(shù)據(jù)區(qū)從內(nèi)RAM30H開始,該數(shù)據(jù)區(qū)以0結束,記錄成果送入2FH中。解:編程如下:ADUP:MOV2FH,#0MOVR0,#30HALOP:MOVA,@R0JNZLP1RETLP1:INC2FHINCR0SJMPALOP33。從內(nèi)RAM30H單元開始寄存著一組無符號數(shù),其個數(shù)存在21H單元中。試編寫程序,找出其中最小的數(shù),并將其存入20H單元中。解:編程如下:SECH:MOVRO,#3OHMOV20H,#FFHSLOP:MOVA,@R0CJNEA,20H,NEXTNEXT:JNCSLP1MOV20H,ASLP1:INCR0DJNZ21H,SLOPRET34。用程序實現(xiàn)c=a2+b2。設a2b2存于內(nèi)RAM,AA,BB單元;c為雙字節(jié),存于內(nèi)RAMCC,DD單元。解:該題可用于程序來實現(xiàn)。通過兩次調用查平方表子程序來得到a和b,并在主程序中完畢相加。編程如下:AAEQU40HBBEQU41HCCEQU42HDDEQU43HFUNC:MOVA,AALCALLDSQRMOVDD,AMOVCC,31HMOVA,BBLCALLDSQRADDA,DDMOVDD,AADDCA,CCMOVCC,ARET35.運用定期、計數(shù)器T1測量某正脈沖寬度,并存入內(nèi)RAM31H30H。設fosc=12MHz,脈沖從P3。3引腳輸入,寬度不不小于65536us.解:編程如下:PLUS:MOVTMOD,#90HMOVTH1,#0MOVTL1,#0JBP3.3,$SETBTR1JNBP3.3,$JBP3.3,$CLRTR1MOV31H,THOMOV30H,TLORET36.設在內(nèi)部RAM中50H開始有持續(xù)的10個單元,求這10個單元之和,成果放在60H,61H,低位放在60H,高位在61H。解:程序編寫如下:ORG0000HACALLADDTENWAIT:AJMPWAITADDTEN:MOVR0,50HMOVR1,#10MOVA,#00HMOV60H,AMOV61H,ALOOP1:ADDA,@R0INCR0MOV60H,AJCLOOP2DJNZR1,LOOP1RETLOOP2:MOVA,61H;ADDA,#01HDJNZR1,LOOP1RETEND六、綜合題1。既有8031單片機、74LS373鎖存器、1片2764EPROM和2片6116RAM,請使用他們構成一種單片機系統(tǒng),規(guī)定:(1)畫出硬件電路連線圖,并標重視要引腳;(2)指出該應用系統(tǒng)程序存儲器空間和數(shù)據(jù)存儲器空間各自的地址范圍。解:(1)電路圖如下所示:(2)2764的地址為C000H—DFFFH;第一種6116的地址為A000H—A7FFH;第二個6116的地址為6000H—67FFH;實際上,由于采用的是線選法,導致了地址不持續(xù),地址空間運用不充足.提議在實際工作中要詳細狀況詳細分析。在兩種地址分派中選一種很好的來應用。2.使用89C51芯片外擴一片E2PROM2864,規(guī)定2864兼作程序存儲器和數(shù)據(jù)存儲器,且首地址為8000H.規(guī)定:(1)確定2864芯片的末地址;(2)畫出2864片選端的地址譯碼電路;(3)畫出該應用系統(tǒng)的硬件連接圖.解:(1)2864為8KB的存儲器,假如首地址為8000H,則其末地址為9FFFH,理由參照第12題;(2)電路圖如下所示:(3)電路圖如下所示:3。畫出MCS-51系列單片機運用串行口進行1臺主機與4臺從機多機串行通訊連線圖,其中1臺從機通訊地址號為02H,請論述主機向02H從機發(fā)送一種字節(jié)數(shù)據(jù)的過程。TXDTXDRXD8031主機TXDRXD00HTXDRXD01HTXDRXD02HTXDRXD03H從機從機從機從機答:主機發(fā)送數(shù)據(jù)過程如下:將從機00~03H的REN置1,SM2=1,并使它們工作在串行口工作方式2或3。由主機向4個從機發(fā)出一幀地址址信息02H,第9位為1。從機接到信息后均發(fā)生中斷,執(zhí)行中斷服務程序,將02H與自身地址做比較。若相似,則清SM2=0,若不一樣則SM2不變?nèi)詾?。主機發(fā)送一幀數(shù)據(jù)信息,第9位為0,從機接到信息后,只有SM2=0的從機發(fā)生中斷,將數(shù)據(jù)信息收取,其他SM2=1的從機不放出中斷,信息丟失,從而實現(xiàn)主機向02H從機發(fā)送一種字節(jié)數(shù)據(jù)的功能。4。請回答:(1).下圖中外部擴展的程序存儲器和數(shù)據(jù)存儲器容量各是多少?(2).兩片存儲器芯片的地址范圍分別是多少?(地址線未用到的位填1) (3).請編寫程序,規(guī)定:(A)將內(nèi)部RAM30H~3FH中的內(nèi)容送入1#6264的前16個單元中;(B)將2#6264的前4個單元的內(nèi)容送入40H~43中;PSENPSENCEWRP2.7P2.6P2.5P2.4P2.0│8031D0-D7OED0-D7OE2764CEA8-A12A0-A7OE74LS373Q0Q7D0D7││GALEP0.7P0.0│8888855588+5VWR2#6264CSCEA8-A12A0-A7+5VWRCSA8-A12A0-A7OEOE1#6264RD58●●●●●●●●●解:(1)。外擴程序存儲器的容量是8K,外擴數(shù)據(jù)存儲器的容量是16K(2)。2764范圍:C000H~DFFFH1#范圍:A000H~BFFFH2#范圍:6000H~7FFFH(3).請編寫程序(A)MOVR1,#10HMOVDPTR,@0A000HMOVR0,#30HLOOP:MOVA,@RoMOVX@DPTR,AINCDPTRINCR0DINER1,LOOPRET(B)MOVR1,#04HMOVDPTR,#6000HMOVR0,#40HLOOP:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DTNZR1,LOOPRET5.簡述一種多外部中斷源系統(tǒng)的設計措施。(給出圖和程序)解:原理電路如圖所示程序如下:INT:PUSHPSWPUSHAJNBP1.0,IR0;掃描中斷祈求JNBP1。1,IR1JNBP1。2,IR2JNBP1。3,IR3INTIR:POPA;返回POPPSWIR0:中斷服務子程序:中斷服務AJMPINTIRIR1:中斷服務子程序AJMPINTIRIR2:中斷服務子程序AJMPINTIRIR3:中斷服務子程序AJMPINTIP6。結合原理圖,簡述行列式掃描鍵盤的工作原理。答:掃描鍵盤工作原理首先X0~X3,一直接高電平,Y0~Y3給低電平,掃描P1。0~P1。3若全為高電平,則沒有鍵按下,若有低電平,則有鍵按下。接著Y0輸出低電平,Y1~Y3輸出高平,掃描P1.0~P1。3,若全為高電平,則沒有鍵按下,若有低電平,則找出相位,得到所按的鍵.再Y1輸出低電平,Y0,Y2,Y3輸出高電平,反復第2環(huán)節(jié)作.再Y2輸出低電平,Y0,Y1,Y3輸出高電平掃描再Y3輸出低電平,Y0,Y1,Y2輸出高電平掃描根據(jù)據(jù)以上掃描,確定以上各鍵與否按下。7。MCS-51單片機外擴展一片8255,畫出系統(tǒng)電路原理圖,寫出地址分布。8255A可以直接與MCS-51單片機進行接口,其連接圖如圖所示。8255A的A0、A1分別接地址總線的A0、A1,片選端接P2.7口,因此8255APA口地址為7FFCH、PB口地址為7FFDH、PC口地址為7FFEH、控制口地址為7FFFH。8.編寫交通燈控制程序。在十字路口東西南北各設置紅、黃、綠三種信號燈,東西方向(A線)通車時,東西方
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合同翻譯常用語句
- 2025常用版地區(qū)買賣合同書
- 2025年網(wǎng)絡及通信協(xié)議處理軟件項目立項申請報告模板
- 新郎結婚講話稿(合集15篇)
- 商業(yè)銀行的資產(chǎn)證券化與風險分散
- 德育課程在提升學生綜合素質中的作用
- 現(xiàn)代展覽館的動態(tài)展位布局設計探討
- 飲食教育與學前兒童的全面發(fā)展
- 邏輯思維在辦公自動化中的實踐應用
- 新課標下的小學英語情景教學策略研究
- 國有資產(chǎn)管理法律責任與風險防控
- 未婚生子的分手協(xié)議書
- 變更監(jiān)事章程修正案范例
- 北京小客車指標租賃協(xié)議五篇
- 輸液室運用PDCA降低靜脈輸液患者外滲的發(fā)生率品管圈(QCC)活動成果
- YY/T 0681.2-2010無菌醫(yī)療器械包裝試驗方法第2部分:軟性屏障材料的密封強度
- GB/T 20472-2006硫鋁酸鹽水泥
- 煙氣管道阻力計算
- 城鄉(xiāng)環(huán)衛(wèi)一體化保潔服務迎接重大節(jié)日、活動的保障措施
- 醫(yī)院-9S管理共88張課件
- 高考作文復習:議論文論證方法課件15張
評論
0/150
提交評論