微機(jī)原理與接口技術(shù)作業(yè)(含答案)剖析_第1頁
微機(jī)原理與接口技術(shù)作業(yè)(含答案)剖析_第2頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

浙江大學(xué)遠(yuǎn)程教育學(xué)院微機(jī)原理與接口技術(shù)》課程作業(yè)姓名:學(xué)號年級:學(xué)習(xí)中心:第2章P522.80C51單片機(jī)引腳有哪些第二功能?第一功能第二功能P0.0?P0.7地址總線Ao?A7/數(shù)據(jù)總線D0~D7P2.0?P2.7地址總線A8~A15P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO外部中斷0)P3.3IINT1(外部中斷1)P3.4TO(定時器/計數(shù)器0的外部輸入)P3.5T1(定時器/計數(shù)器0的外部輸出)P3.6WR(外部數(shù)據(jù)存儲器或I/O的寫選通)P3.7RD外部數(shù)據(jù)存儲器或I/O的讀選通)4.80C51單片機(jī)的存儲器在結(jié)構(gòu)上有何特點(diǎn)?在物理上和邏輯上各有哪幾種地址空間?訪問片內(nèi)RAM和片外RAM的指令格式有何區(qū)別?1、80C5l單片機(jī)采用哈佛結(jié)構(gòu),即將程序存儲器和數(shù)據(jù)存儲器截然分開,分別進(jìn)行尋址。不僅在片內(nèi)駐留一定容量的程序存儲器和數(shù)據(jù)存儲器及眾多的特殊功能寄存器,而且還具有較強(qiáng)的外部存儲器擴(kuò)展能力,擴(kuò)展的程序存儲器和數(shù)據(jù)存儲器尋址范圍都可達(dá)64KB。2、在物理上設(shè)有4個存儲器空間?片內(nèi)程序存儲器;?片外程序存儲器;?片內(nèi)數(shù)據(jù)存儲器;?片外數(shù)據(jù)存儲器。在邏輯上設(shè)有3個存儲器地址空間片內(nèi)、片外統(tǒng)一的64KB程序存儲器地址空間。片內(nèi)256字節(jié)(80C52為384字節(jié))數(shù)據(jù)存儲器地址空間。片內(nèi)數(shù)據(jù)存儲器空間在物理上又包含兩部分:對于80C51型單片機(jī),0?127字節(jié)為片內(nèi)數(shù)據(jù)存儲器空間;128?255字節(jié)為特殊功能寄存器(SFR)空間(實際僅占用了20多個字節(jié))。對于80C52型單片機(jī),O?127字節(jié)為片內(nèi)數(shù)據(jù)存儲器空間;128?255字節(jié)共128個字節(jié)是數(shù)據(jù)存儲器和特殊功能寄存器地址重疊空間。片外64KB的數(shù)據(jù)存儲器地址空間。3、在訪問3個不同的邏輯空間時,應(yīng)采用不同形式的指令,以產(chǎn)生不同存儲空間的選通信號。訪問片內(nèi)RAM采用MOV指令,訪問片外RAM則一定要采用MOVX指令,因為MOVX指令會產(chǎn)生控制信號RD或WR,用來訪問片外RAM。訪問程序存儲器地址空間,則應(yīng)采用MOVC指令。6.80C51單片機(jī)片內(nèi)RAM低128個存儲單元劃分為哪3個主要部分?各部分主要功能是什么?80C51片內(nèi)RAM的低128個存儲單元劃分為3個主要部分:1、寄存器區(qū)。共4組寄存器,每組8個存儲單元,各組以R0?R7作為單元編號。常用于保存操作數(shù)及中間結(jié)果等。:R0?R7也稱為“通用工作寄存器”占用00H?1FH共32個單元地址。2、位尋址區(qū)。單元地址為20H~2FH,既可作為一般RAM單元使用,按字節(jié)進(jìn)行操作,也可對單元中的每一位進(jìn)行位操作。因此,稱為“位尋址區(qū)”尋址區(qū)共有16個RAM單元,共計128位,位地址為OOH?7FH。3、用戶RAM區(qū)。在內(nèi)部RAM低128單元中,除去前面兩個區(qū),剩下80個單元,單元地址為30H?7FH。在用戶RAM區(qū)內(nèi)可以設(shè)置堆棧區(qū)。程序存儲器指令地址、堆棧地址和外接數(shù)據(jù)存儲器地址各使用什么指針?為什么?1、程序存儲器指令地址使用程序計數(shù)器PC指針,PC中存放的是下一條將要從程序存儲器中取出的指令的地址。程序計數(shù)器PC變化的軌跡決定程序的流程。PC最基本的工作方式是自動加1。在執(zhí)行條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時,將轉(zhuǎn)移的目的地址送入程序計數(shù)器,程序流向發(fā)生變化。在執(zhí)行調(diào)用指令或響應(yīng)中斷時,將子程序的入口地址或者中斷矢量地址送人PC,程序流向發(fā)生變化。2、堆棧地址使用堆棧指針.SP。SP在80C51中存放當(dāng)前的堆棧棧頂所指存儲單元地址,是一個8位寄存器,對數(shù)據(jù)按照“先進(jìn)后出”原則進(jìn)行管理。外接數(shù)據(jù)存儲器地址使用數(shù)據(jù)指針DPTR。DPTR是一個16位特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲器或1/0尋址用的地址寄存器,這時會產(chǎn)生RD或wR控制信號,用于單片機(jī)對外擴(kuò)的數(shù)據(jù)存儲器或1/0的控制。3、數(shù)據(jù)指針DPTR也可以作為訪問程序存儲器時的基址寄存器,此時是尋址程序存儲器中的表格、常數(shù)等單元,而不是尋址指令。第3章P939.MOV、MOVC、MOVX指令有什么區(qū)別,分別用于那些場合,為什么?MOV指令用于對內(nèi)部RAM的訪問。MOVC指令用于對程序存儲器的訪問,從程序存儲器中讀取數(shù)據(jù)(如表格、常數(shù)等)。MOVX指令采用間接尋址方式訪問外部數(shù)據(jù)存儲器.有Ri和DPTR兩種間接尋址方式。執(zhí)行MOVX指令時,在P3.7引腳上輸出RD有效信號.或在P3.6引腳上輸出WR有效信號,可以用做外部數(shù)據(jù)存儲器或I/O的讀/寫選通信號,與單片機(jī)擴(kuò)展電路有關(guān)。15.已知(R1)=20H,(20H)=AAH,請寫出執(zhí)行完下列程序段后A的內(nèi)容。MOVA,#55HANLA,#0FFHORL20H,AXRLA,@R1CPLA各指令的執(zhí)行結(jié)果如下:

M0VA,#55H;(A)=55HANLA,#0FFH;(A)=55H0RL20H,A;(20H)=FFHXRLA,@R1;(A)=AAHCPLA;(A)=55H執(zhí)行完程序段后,A的內(nèi)容為55H16.閱讀下列程序,說明其功能。MOVR0,#30HMOVA,@R0RLAMOVR1,ARLARLAADDA,R1MOV@R0,A;功能:將30H中的數(shù)乘以10以后再存回30H中。條件:30H中的數(shù)不能大于25,25X10=250仍為一個字節(jié)。若30H中的數(shù)大于25,則應(yīng)考慮進(jìn)位。21.讀下列程序,請完成下列任務(wù):畫出P1.0?P1.3引腳上的波形圖,并標(biāo)出電壓V—時間t坐標(biāo)。對源程序加以注釋。ORGSTART:MOVORGSTART:MOVMOVMOVMLP0:ACALLMOVCJNEMOVMOVMLP2:MOVMOVCMOVSJMPMLP1:INCSJMPITAB:DB0,DB8,D50ms:…RET0000HSP,#20H30H,#01HP1,#01HD50msA,30HA,#08H,MLP1A,#01HDPTR,#ITAB30H,AA,@A+DPTRP1,AMLP0AMLP21,2,4,84,2,1P1.0?P1.3引腳上的波形圖如圖所示。P1.0Pl.2P1.0Pl.2注釋說明:判斷表格中數(shù)據(jù)是否取完?取完,從表頭開始取給出表格首地址取表格中數(shù)據(jù)表格中數(shù)據(jù)未取完,準(zhǔn)備取下一個軟件延時50ms子程序第4章P13210.把長度為10H的字符串從內(nèi)部RAM的輸入緩沖區(qū)INBUF向設(shè)在外部RAM的輸出緩沖區(qū)OUTBUF進(jìn)行傳送,一直進(jìn)行到遇見字符“CR”時停止,如字符串中無字符“CR”,則整個字符串全部傳送。加上必要的偽指令,并對源程序加以注釋。程序如下:ORG0000HAJMPMAINORG0030HMAIN:MOVR7,#10H;數(shù)據(jù)長度MOVR0,#INBUF;源數(shù)據(jù)首地址MOVDPTR,#OUTBUF;目的數(shù)據(jù)首地址LOOP:MOVA,@R0;把源數(shù)據(jù)的值賦給ACJNEA,#0DH,LOOPl;判斷是否為“CR”(ASCII碼值為0DH)SJMPENDl;是“CR〃,則結(jié)束傳送LOOPl:MOVX@DPTR,A;把A的值賦給目的數(shù)據(jù)INCR0;源數(shù)據(jù)下一個地址值INCDPTR;目的數(shù)據(jù)下一個地址值DJNZR7,L00P;判斷數(shù)據(jù)傳送是否完畢ENDI:SJMPENDIEND80C51單片機(jī)從內(nèi)部RAM的31H單元開始存放一組8位帶符號數(shù),字節(jié)個數(shù)在30H中。請編寫程序統(tǒng)計出其中正數(shù)、零和負(fù)數(shù)的數(shù)目,并把統(tǒng)計結(jié)果分別存入20H、21H和22H三個單元中。加上必要的偽指令,并對源程序加以注釋。程序如下:LENGTHEQU30H;數(shù)據(jù)長度DATA_ADREQU31H;數(shù)據(jù)首地址POS_NUMEQU20H;正數(shù)個數(shù)ZERO_NUMEQU21H;0個數(shù)NEG_NUMEQU22H;負(fù)數(shù)個數(shù)ORG0000HAJMPMAIN,ORG0030HMAIN:MOVPOS_NUM,#0;計數(shù)單元初始化為0MOVZERO_NUM,#0MOVNEG_NUM,#0MOVR1,#LENGTH;數(shù)據(jù)長度MOVR0,#DATA_ADR;數(shù)據(jù)首地址LOOP:MOVA,@R0.JBACC.7,INC_NEG;符號位為1,該數(shù)為負(fù)數(shù),跳轉(zhuǎn)加1CJNEA,#0,INC_POSINCZERO_NUM;該數(shù)為0,0個數(shù)加1AJMPL00P1INCNEG:INCNE~_NUM;負(fù)數(shù)個數(shù)加1AJMPLOOPl.INC_POS:INCPOS_NUM;該數(shù)為正數(shù),正數(shù)個數(shù)加1LOOPl:INCR0;判斷統(tǒng)計是否結(jié)束DJNZR1,LOOPEND兩個10位的無符號二一進(jìn)制數(shù),分別從內(nèi)部RAM的40H單元和50H單元開始存放。請編程計算該兩個數(shù)的和,并從內(nèi)部RAM的60H單元開始存放。加上必要的偽指令,并對源程序加以注釋。10位的無符號二?十進(jìn)制數(shù),占5字節(jié),每個字節(jié)存放一個壓縮BCD碼(2位)。ORG0000HAJMPMAIN0Re0030HMAIN:MOVR7,#05H;十位(5字節(jié))計數(shù)MOVR0,#40H;被加數(shù)首址MOVR1,#50H;加數(shù)首址MOVR2,#60H;和數(shù)首址CLRC;清C標(biāo)志位ADDB:MOVA,@R0ADDCA,@R1DAA;'十進(jìn)制調(diào)整MOVB,R0;保護(hù)被加數(shù)地址MOV20H,R2MOVR0,20HMOV@R0A;存和MOVR2,20H;恢復(fù)和數(shù)地址MOVR0,B;恢復(fù)被加數(shù)地址INCR0;三個地址指針均加1INCR1INCR2DJNZR7,ADDB;多字節(jié)加未結(jié)束,則循環(huán)HERE:SJMPHEREEND第6章P1774.請編程實現(xiàn)80C51單片機(jī)產(chǎn)生頻率為100kHz等寬矩形波(定時器/計數(shù)器TO,方式0,定時器中斷),假定80C51的晶振頻率為12MHz。加上必要的偽指令,并對源程序加以注釋。100kHz等寬矩形波,周期為10us,定時周期為5us,機(jī)器周期為1s。計算:TC=2i3—(12X106X5X106)三12=8187=1FFBH方式0:定時常數(shù)TCH=FFH,TCL=1BH。?程序如下:ORG0000H00000130AJMPMAINORG000BH定時器TO中斷矢量000B0141AJMPINTER‘ORG0030H0030758900MAIN:MOVTMOD,#00H;寫控制字,設(shè)TO為定時器,方式O0033758CFFMOVTH0,#OFFH;寫定時常數(shù),定時為5“0036758AIBMOVTL0,#IBH0039D28cSETBTR0;開啟定時器T0003BD2A9SETBET0;開定時器T0中斷'003DD2AFSETBEA;開中斷003F013FAJMP$;中斷等待‘定時器T0中斷‘0041758CFFINTER:MOVTH0,#0FFH;重寫定時常數(shù)0044758AIBMOVTL0,#IBH0047B290CPLP1.0;P1口作為輸出端,P1.0變反輸出004932RETI;中斷返回END第8章P2792、如何構(gòu)造80C51單片機(jī)并行擴(kuò)展的系統(tǒng)總線?總線有:1、片內(nèi)總線;2、片總線(又稱元件級總線或局部總線).3、內(nèi)總線(又稱微型機(jī)總線或板級總一般稱為系統(tǒng)總線)4、外總線(又稱通信總線).總線的類型:1、地址總線.是微機(jī)用來傳送地址的信號線.2、數(shù)據(jù)總線.傳送數(shù)據(jù)和代碼的總一般為雙向信號線,3、控制總線.傳送控制信號的總線,用來實現(xiàn)命令,狀態(tài)傳送,中斷,儲器傳送的請求與控制信號傳送,以及提供系統(tǒng)使用的時鐘和復(fù)位信號等.

8.外接程序存儲器的讀信號為_沁,外接數(shù)據(jù)存儲器的讀信號14.已知可編程I/O接口芯片8255A的控制寄存器的地址為BFFFH,要求設(shè)定A口為基本輸入,B口為基本輸出,C口為輸入方式。請編寫從C口讀入數(shù)據(jù)后,再從B口輸出的程序段。并根據(jù)要求畫出80C51與8255A連接的邏輯原理圖。加上必要的偽指令,并對源程序加以注釋。ORG0000HAJMPMAINORG0030HMAIN:MOVDPTR,#2000HMOVB,20HMOVXA,@DPTRCLRCSUBBA,BJNCLOWERMOVMOVB,20HMOVXA,@DPTRCLRCSUBBA,BJNCLOWERMOVB,20HMOVXA,@DPTRCLRCSUBBA,BJCHIGHSJMPMAINLOWER:CLRP1.0SJMPMAINHIGH:SETBP1.0SJMPMAINEND2.答:ORG0000HMOVDPTR,#2000HMOVR1,#10DMOV40H,#00HSTEP:MOVXA,@DPTRCJNEA,40H,STEP1SJMPNEXTSTEP1:JCNEXTMOV40H,ANEXT:INCDPTRDJNZR1,STEPSJMP$END;設(shè)定的溫度值送B;取實測溫度值實測溫度值〉設(shè)定溫度值,P1.0輸出低電平;取設(shè)定的溫度值;取實測溫度值實測溫度值〈設(shè)定溫度值,P1.0輸出高電平;實測溫度值二設(shè)定溫度值,P1.0輸出不變;無符號數(shù)存放單元首址;無符號數(shù)長度;最大值存放單元預(yù)置為最小值;取數(shù);比較大小;(A)=(40H),不交換;(A)V(40H),不交換;(A)>(40H),則較大值存入40H中22.利用ADC0809芯片設(shè)計以80C51為控制器的巡回檢測系統(tǒng)。請畫出電路連接圖,并編寫進(jìn)行某一路模擬量轉(zhuǎn)換的源程序。加上必要的偽指令,并對源程序加以注釋。巡回檢測系統(tǒng)連接如圖所示:ADC0809的IN0通道地址為7FF8H。計算:ORG0000HSJMPMAINORG0030HMAIN:LOOP:MOVDPTR,#7FF8HMOVR0,#20HMAIN:LOOP:MOVDPTR,#7FF8HMOVR0,#20HMOVX@DPTR,ALCALLD128》sMOVXA,@DPTRMOV@R0,AD128ps:…RETEND;A/D通道0地址;數(shù)據(jù)存入地址;啟動A/D轉(zhuǎn)換;A/D轉(zhuǎn)換等待;讀入A/D轉(zhuǎn)換后的數(shù)據(jù);存入內(nèi)部RAM;中斷返回;延時子程序(可以直接調(diào)用)微機(jī)原理與接口技術(shù)》實驗作業(yè)[第一部分簡答題]1.80C51單片微機(jī)內(nèi)部有哪幾個常用的地址指針,它們各有什么用處。80C51單片微機(jī)內(nèi)部有三個常用的指針,即PC-程序計數(shù)器,存放下一條將要從程序存儲器取出的指令的地址。SP-堆棧指示器,指向堆棧棧頂。DPTR-數(shù)據(jù)指針,作為外部數(shù)據(jù)存儲器或I/O的地址指針。簡述80C51的程序狀態(tài)字PSW的主要功能。PSW的主要部分是算術(shù)邏輯運(yùn)算單元ALU的輸出。有些位根據(jù)指令運(yùn)算結(jié)果,由硬件自動生成。如OV為溢出標(biāo)志位,用于指示8位帶符號數(shù)運(yùn)算后有否超出8位帶符號數(shù)允許范圍。C標(biāo)志為進(jìn)位/借位標(biāo)志位。多倍精度的加減法運(yùn)算。80C51訪問片內(nèi)外不同存儲空間時采用哪3類傳送指令。MOV傳送指令用于訪問片內(nèi)數(shù)據(jù)存儲器。MOVC傳送指令用于對程序存儲器內(nèi)的表格進(jìn)行查表操作。MOVX傳送指令用于訪問片外數(shù)據(jù)存儲器或I/O,因為執(zhí)行MOVX指令時會產(chǎn)生控制信號rd或WR。簡述80C51單片微機(jī)內(nèi)部RAM低128字節(jié)4個主要區(qū)域的特點(diǎn)。寄存器區(qū):共4組寄存器,每組8個存儲單元,以R0?R7作為單元編號。位尋址區(qū):20H?2FH中的每一位進(jìn)行位操作。堆棧區(qū):設(shè)置在用戶RAM區(qū)內(nèi),數(shù)據(jù)先進(jìn)后出。用戶RAM區(qū):除去前面3個區(qū),剩下的所有單元。簡述80C51單片微機(jī)的并行擴(kuò)展三總線(AB、DB和CB)如何構(gòu)成及應(yīng)用。AB共16位,由P0口經(jīng)鎖存后得到A0-A7、P2口構(gòu)成A8-A15。作地址總線。DB由P0口分時構(gòu)成。作數(shù)據(jù)總線。CB主要有ALE、/RD、/WR、/PSEN等。作控制總線。為什么要進(jìn)行低功耗設(shè)計?實現(xiàn)綠色電子,節(jié)約能源。某些場合(如野外)要求便攜并由電池供電,要求功耗小。能提高應(yīng)用系統(tǒng)可靠性,因為在低功耗下,單片微機(jī)對干擾不敏感說明80C51單片微機(jī)的復(fù)位方式主要有哪幾種。主要有上電復(fù)位方式、按鍵電平復(fù)位方式和外脈沖復(fù)位方式

80C51芯片內(nèi)部主要集成邏輯功能部件有哪些?有中央處理器、存儲器、定時器/計數(shù)器、I/O口等80C51的程序存儲器中有幾個特定地址。0000H為復(fù)位后PC初始值,0003H為外部中斷0中斷矢量地址,000BH為TO中斷矢量地址,0013H為外部中斷1中斷矢量地址,001BH為T1中斷矢量地址和0023H為串行口中斷矢量地址請簡述如何在實驗室完成實驗任務(wù),使用哪些資源?仿真軟件由WAVE的編輯軟件及MICETEK公司的EasyProbe8052F仿真軟件組成,源程序在PC上進(jìn)行編輯、編譯,將編譯通過后所生成的后綴名為HEX的機(jī)器碼文件,通過RS—232串行口下載給仿真器,仿真器采用MICETEK公司的EasyProbe8052F仿真器。在仿真器

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論