單片及應(yīng)用技術(shù)_第1頁
單片及應(yīng)用技術(shù)_第2頁
單片及應(yīng)用技術(shù)_第3頁
單片及應(yīng)用技術(shù)_第4頁
單片及應(yīng)用技術(shù)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片及應(yīng)用技術(shù)第1頁,課件共25頁,創(chuàng)作于2023年2月一、將下列數(shù)分別轉(zhuǎn)換為二進(jìn)制、十六進(jìn)制、BCD數(shù)。1、124.625=(1111100.101)B=(7C.A)H=(000100100100.011000100101)BCD2、45279.25=(1011000011011111.01)B=(B0DF.4)H=(01000101001001111001.00100101)BCD二、用原碼、補碼表示下列十進(jìn)制數(shù)1、(127)原=011111111B,(127)補=011111111B2、(-63)原=10111111B,(-63)補=11000001B三、運算下列帶符號數(shù),并判斷是否溢出1、11000001+11110000=(10110001)沒溢出2、11001001+10000001=(01001010)溢出第2頁,課件共25頁,創(chuàng)作于2023年2月1、MCS-51單片機的信號有何功能?在使用8031時信號引腳應(yīng)如何處理?答:引腳為訪問程序存儲器控制信號。(1)當(dāng)引腳接成高電平時,CPU首先從片內(nèi)程序存儲器0000H字節(jié)單元開始取指令執(zhí)行程序。當(dāng)指令地址寄存器PC中的內(nèi)容超過0FFFH后,就自動轉(zhuǎn)向片外擴展的程序存儲器中取指令執(zhí)行。(2)當(dāng)引腳接成低電平時,復(fù)位后CPU直接從片外ROM的0000H字節(jié)單元開始取指令執(zhí)行,這時芯片內(nèi)部0000H~0FFFH的4KB單元被忽略不用。使用8031時,由于其內(nèi)部沒有程序存儲器,必須使用外部擴展程序存儲器,它的引腳應(yīng)該接成低電平,CPU直接從片外擴展的EPROM中取指令執(zhí)行。第3頁,課件共25頁,創(chuàng)作于2023年2月2、內(nèi)部RAM低128單元劃分為哪3個主要部分?說明各部分的使用特點。答:內(nèi)部RAM低128B單元,按功能特點劃分為3個不同的區(qū),分別如下:(1)工作寄存器區(qū):地址范圍為00H~1FH的32B存儲器單元,分為4個組,每組有8個字節(jié)單元,定名為R0~R7。通過改變程序狀態(tài)字特殊功能寄存器PSW中RS1、RS0兩位的內(nèi)容,每組工作寄存器均可選作CPU的當(dāng)前工作寄存器組。(2)位尋址區(qū):地址為20H~2FH的16個字節(jié)單元中共128位,每一位都有相應(yīng)的位地址,可用位尋址方式對其進(jìn)行置位、復(fù)位、內(nèi)容傳送、邏輯運算等操作。(3)一般數(shù)據(jù)存儲區(qū):地址范圍為30H~7FH的區(qū)域,可用于原始數(shù)據(jù)及運算結(jié)果的存儲。堆棧一般開在此區(qū)。第4頁,課件共25頁,創(chuàng)作于2023年2月3、堆棧的作用是什么?堆棧示器(SP)的作用是什么?在程序設(shè)計時,為什么要對SP重新賦值?答:堆棧的主要作用是暫時存放數(shù)據(jù)和地址,通常用來保護(hù)斷點和現(xiàn)場。SP始終存放堆棧頂部字節(jié)單元的地址(棧頂指針)。進(jìn)行堆棧操作有兩種方式,一種叫數(shù)據(jù)壓入(PUSH)堆棧,另一種叫數(shù)據(jù)彈出(POP)堆棧。數(shù)據(jù)壓棧時,SP首先自動加1,然后數(shù)據(jù)壓入SP內(nèi)容指示的字節(jié)單元中;而數(shù)據(jù)出棧時,SP內(nèi)容指示的字節(jié)單元中的數(shù)據(jù)彈出,然后SP自動減1,這樣SP始終指向堆棧頂部字節(jié)單元。系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實上由08H開始。因為08H~1FH單元為工作寄存器區(qū),20H~2FH為位尋址區(qū)。在程序設(shè)計中很可能要用到這些區(qū),所以用戶在編程時要對堆棧指針SP重新賦值,最好把SP初值設(shè)為2FH或更大值。第5頁,課件共25頁,創(chuàng)作于2023年2月9、什么是拍節(jié)、狀態(tài)、指令周期和機器周期?若單片機外接12MHz晶振,試分別計算拍節(jié)、狀態(tài)和機器周期

答:拍節(jié):振蕩脈沖的周期,為最小的時序單位狀態(tài)(周期)

:振蕩頻率經(jīng)單片機內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時鐘周期。因此,一個狀態(tài)周期包含2個振蕩周期。機器周期:MCS-51規(guī)定機器周期包含12個拍節(jié);指令周期:執(zhí)行一條指令所需要的時間;12MHz晶振,

狀態(tài)S=2P=2*0.088=0.1666μs機器周期=0.08812=1μs第6頁,課件共25頁,創(chuàng)作于2023年2月5、程序計數(shù)器(PC)有哪些特點?程序計數(shù)器PC存放著下一條將要從程序存儲器中取出的指令的地址。程序計數(shù)器PC的數(shù)據(jù)長度決定了程序存儲器可以直接尋址的范圍。程序計數(shù)器PC不可尋址,即不能對其賦值,其內(nèi)容變化方式有:1)自動加1,此為最基本的變化方式。2)執(zhí)行條件或無條件轉(zhuǎn)移指令時,其內(nèi)容由轉(zhuǎn)移指令直接修改,改變原程序執(zhí)行方向。3)執(zhí)行調(diào)用指令或響應(yīng)中斷時,PC的內(nèi)容變化過程如下:PC的當(dāng)前值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護(hù);將子程序的入口地址或者中斷矢量地址送入PC,改變原程序執(zhí)行方向,執(zhí)行子程序或中斷服務(wù)程序;子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令RET或RETI時,將棧頂?shù)膬?nèi)容送到PC中,程序又返回到原來的地方,繼續(xù)執(zhí)行主程序。第7頁,課件共25頁,創(chuàng)作于2023年2月若要完成以下數(shù)據(jù)傳送,如何應(yīng)用80C51指令予以實現(xiàn)?(1)R1的內(nèi)容傳送到R0:MOVA,R1MOVR0,A(2)外部RAM20H單元的內(nèi)容送入R0:MOVR1,#20HMOVXA,@R1MOVR0,A(3)外部RAM0020H單元內(nèi)容送內(nèi)部RAM20H單元:MOVR0,#20HMOVXA,@R0MOV20H,A第8頁,課件共25頁,創(chuàng)作于2023年2月(4)外部RAM1000H單元內(nèi)容送內(nèi)部RAM20H單元:MOVDPTR,#1000HMOVXA,@DPTRMOV20H,A5)外部ROM2000H單元內(nèi)容送R0:MOVA,#00HMOVDPTR,#2000HMOVCA,@A+DPTRMOVR0,A第9頁,課件共25頁,創(chuàng)作于2023年2月(6)外部ROM2000H單元內(nèi)容送內(nèi)部RAM20H單元:MOVA,#00HMOVDPTR,#2000HMOVCA,@A+DPTRMOV20H,A(7)外部ROM2000H單元內(nèi)容送外部RAM0020H單元:MOVA,#00HMOVR0,#20HMOVDPTR,#2000HMOVCA,@A+DPTRMOVX@R0,A

第10頁,課件共25頁,創(chuàng)作于2023年2月(8)外部RAM2000H單元內(nèi)容送外部RAM3000H單元:MOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#3000HMOVX@DPTR,A第11頁,課件共25頁,創(chuàng)作于2023年2月1、把長度為10H的字符串從內(nèi)部RAM起始地址為40H的單元輸出到外部RAM起始地址為5000H的單元中。MOVR0,#40HMOVDPTR,#5000HMOVR2,#10HLOOP:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR2,LOOPSJMP$第12頁,課件共25頁,創(chuàng)作于2023年2月2、三字節(jié)無符號數(shù)相加,被加數(shù)在內(nèi)部RAM的50H、51H、52H單元中,加數(shù)在內(nèi)部RAM的53H、54H、55H單元中,要求把相加之和存放在50H、51H、中52H單元中,進(jìn)位存放在位尋址區(qū)的00H位中。MOVA,50HADDA,53HMOV50H,AMOVA,51HADDCA,54HMOV51H,AMOVA,52HADDCA,55HMOV52H,AMOV00H,C第13頁,課件共25頁,創(chuàng)作于2023年2月3、拆字。將片內(nèi)RAM20H單元的內(nèi)容拆成兩段,每段四位。并將它們分別存入21H與22H單元中。 MOVA,20H ANLA,#0FH MOV21H,A MOVA,20H SWAPA ANLA,#0FH MOV22H,A第14頁,課件共25頁,創(chuàng)作于2023年2月 MOVR0,#INBUFF MOVDPTR,#OUTBUFF MOVR1,#10HLOOP:MOVA,@R0 CLRC SUBBA,#0DH JZLOOP1 MOVA,@R0 MOVX@DPTR,A INCR0 INCDPTR DJNZR1,LOOPLOOP1:SJMP$P97(二):1、把長度為10H的字符串從內(nèi)部RAM的輸入緩沖區(qū)inbuf向位于外部RAM的輸出緩沖區(qū)outbuf傳送,一直進(jìn)行到遇見回車符CR或整個字符串傳送完畢。第15頁,課件共25頁,創(chuàng)作于2023年2月4、MOVDPTR,#buf MOVA,byte MOVR2,#08HLOOP:RRCA MOVR1,A JCLOOP1 MOVA,#30HSJMPLOOP2LOOP1:MOVA,#31HLOOP2:MOVX@DPTR,A MOVA,R1INCDPTR DJNZR2,LOOP SJMP$6 、 MOVR0,#42H MOVR1,#52H MOV40H,#00HLOOP:MOVA,@R0

CLRC SUBBA,@R1 JNZLOOP1 INCR1 INCR0 DJNZ41H,LOOP SJMPLOOP2LOOP1:MOV40H,#0ffHLOOP2:SJMP$第16頁,課件共25頁,創(chuàng)作于2023年2月1、存放在片內(nèi)RAM的80H單元中的自變量X是一個無符號數(shù),試編寫程序求下面函數(shù)的函數(shù)值,并存放到片內(nèi)RAM的81H單元中。X(X≥50)5X(50>X≥20)2X(X<20)Y=MOVA,80HCJNEA,#32H,LOOPJNCDONECJNEA,#14H,LOOP1JCLOOP2RLARLAADDA,80HSJMPDONERLAMOV81H,ASJMPHERELOOP1:LOOP:LOOP2:DONE:第17頁,課件共25頁,創(chuàng)作于2023年2月2、假定10個數(shù)連續(xù)存放在外部RAM2000H為首的單元中,使用冒泡法進(jìn)行降序排序編程。SORT:MOVDPTR,#2000H MOVR7,#09H CLRTR0LOOP:MOVXA,@DPTR MOV2BH,A INCDPTR MOVXA,@DPTRMOV2AH,ACLRCSUBBA,2BHJCNEXT MOVA,2BHMOVX@DPTR,A DECDPL MOVA,2AHMOVX@DPTR,A INCDPTRSETBTR0NEXT:DJNZR7,LOOP JBTR0,SORT第18頁,課件共25頁,創(chuàng)作于2023年2月3、從內(nèi)部RAM20H單元開始存放一組帶符號數(shù),字節(jié)個數(shù)存在1FH中。請統(tǒng)計出其中大于0、等于0、和小于0的數(shù)的個數(shù),并把統(tǒng)計結(jié)果分別存入one、two、three三個單元中。 INCONE AJMPLOOP1NEG: INCTHREE AJMPLOOP1ZERO:INCTWOLOOP1:INCR0 DJNZ1FH,LOOP SJMP$CLRA MOVONE,A MOVTWO,A MOVTHREE,A MOVR0,#20HLOOP:MOVA,@R0 JZZERO JBACC.7,NEG第19頁,課件共25頁,創(chuàng)作于2023年2月1、單片機晶振頻率為6MHz,定時器/計數(shù)器1使用工作方式1進(jìn)行外部事件計數(shù)。每計數(shù)1000個脈沖后,定時器/計數(shù)器1轉(zhuǎn)為定時工作方式,定時10ms后,又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止1)工作方式12)計算初值:機器周期2μs定時初值:x=65536-10000/2=60536=EC78H計數(shù)初值:x=65536-1000=64536=FC18H3)控制字定時TMOD=10H計數(shù)TMOD=50HORG0000H LJMPMAINORG0100HMAIN:CLRTR1 MOVTMOD,#50HMOVTH1,#0FCHMOVTL1,#18HSETBTR1LOOP1:JBCTF1,LOOP2SJMPLOOP1LOOP2:CLRTR1MOVTMOD,#10HMOVTH1,#0ECHMOVTL1,#78HSETBTR1LOOP3:JBCTF1,MAIN SJMPLOOP3第20頁,課件共25頁,創(chuàng)作于2023年2月2、單片機晶振頻率為6MHz,要求每隔100ms,從外部RAM以data開始的數(shù)據(jù)區(qū)傳送一個數(shù)據(jù)到P1口輸出,共傳送100個數(shù)據(jù)。要求以兩個定時器串行定時方法實現(xiàn)1)工作方式12)計算初值:機器周期2μs定時初值:x=65536-50000/2=40536=9E58H3)控制字定時TMOD=11H MOVTMOD,#11H MOVDPTR,#DATA MOVR1,#64HMAIN:CLRTR1 MOVTH0,#9EHMOVTL0,#58HSETBTR0LOOP1:JBCTF0,LOOP2SJMPLOOP1LOOP2:CLRTR0MOVTH1,#9EHMOVTL1,#58HSETBTR1LOOP3:JBCTF1,LOOP4 SJMPLOOP3LOOP4:MOVXA,@DPTR MOVP1,AINCDPTR DJNZR1,MAIN SJMP$第21頁,課件共25頁,創(chuàng)作于2023年2月3、以中斷方法設(shè)計單片機秒、分脈沖發(fā)生器。假定P1.0每秒鐘產(chǎn)生一個機器周期正脈沖,P1.1每分鐘產(chǎn)生一個機器周期正脈沖 ORG0000HLJMPMAINORG000BHLJMPPITOORG0100HMAIN:MOVSP,#60HMOVTMOD,#01HMOV30H,#08HMOVTL0,#0DCHMOVTH0,#0BHSETBEASETBET0SETBTR0MOV73H,#00HSJMP$第

溫馨提示

  • 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

提交評論