單片及應(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),請進行舉報或認領(lǐng)

文檔簡介

1、單片及應(yīng)用技術(shù)第1頁,共25頁,2022年,5月20日,2點26分,星期二一、將下列數(shù)分別轉(zhuǎn)換為二進制、十六進制、BCD數(shù)。1、124.625=(1111100.101)B=(7C.A)H =(0001 0010 0100.0110 0010 0101)BCD =(0100 0101 0010 0111 1001.0010 0101)BCD二、用原碼、補碼表示下列十進制數(shù)1、(127)原=011111111B, (127)補=011111111B2、( -63 )原=10111111B, ( -63 )補=11000001B三、運算下列帶符號數(shù),并判斷是否溢出1、11000001+111100

2、00=(10110001)沒溢出2、11001001+10000001=(01001010)溢出第2頁,共25頁,2022年,5月20日,2點26分,星期二1、MCS-51單片機的 信號有何功能?在使用8031時 信號引腳應(yīng)如何處理?答: 引腳為訪問程序存儲器控制信號。(1)當引腳 接成高電平時,CPU 首先從片內(nèi)程序存儲器0000H 字節(jié)單元開始取指令執(zhí)行程序。當指令地址寄存器 PC 中的內(nèi)容超過 0FFFH 后,就自動轉(zhuǎn)向片外擴展的程序存儲器中取指令執(zhí)行。(2)當引腳 接成低電平時,復(fù)位后 CPU 直接從片外 ROM 的 0000H 字節(jié)單元開始取指令執(zhí)行,這時芯片內(nèi)部 0000H 0FF

3、FH 的 4KB 單元被忽略不用。使用 8031時,由于其內(nèi)部沒有程序存儲器,必須使用外部擴展程序存儲器,它的 引腳應(yīng)該接成低電平,CPU 直接從片外擴展的 EPROM 中取指令執(zhí)行。 第3頁,共25頁,2022年,5月20日,2點26分,星期二2、內(nèi)部RAM低128單元劃分為哪3個主要部分?說明各部分的使用特點。答:內(nèi)部RAM低128B 單元,按功能特點劃分為3個不同的區(qū),分別如下:(1)工作寄存器區(qū):地址范圍為 00H 1FH 的 32B 存儲器單元,分為 4 個組,每組有 8個字節(jié)單元,定名為 R0R7。通過改變程序狀態(tài)字特殊功能寄存器 PSW 中 RS1、RS0兩位的內(nèi)容,每組工作寄存

4、器均可選作 CPU 的當前工作寄存器組。(2)位尋址區(qū):地址為 20H 2FH 的 16個字節(jié)單元中共 128位,每一位都有相應(yīng)的位地址,可用位尋址方式對其進行置位、復(fù)位、內(nèi)容傳送、邏輯運算等操作。(3)一般數(shù)據(jù)存儲區(qū):地址范圍為 30H 7FH 的區(qū)域,可用于原始數(shù)據(jù)及運算結(jié)果的存儲。堆棧一般開在此區(qū)。第4頁,共25頁,2022年,5月20日,2點26分,星期二3、堆棧的作用是什么?堆棧示器( SP)的作用是什么?在程序設(shè)計時,為什么要對 SP 重新賦值?答:堆棧的主要作用是暫時存放數(shù)據(jù)和地址,通常用來保護斷點和現(xiàn)場。SP始終存放堆棧頂部字節(jié)單元的地址 (棧頂指針)。進行堆棧操作有兩種方式,

5、一種叫數(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頁,2022年,5月20日,2點26分,星期二9、什么是拍節(jié)、狀態(tài)、指

6、令周期和機器周期?若單片機外接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.1666s機器周期=0.08812=1s 第6頁,共25頁,2022年,5月20日,2點26分,星期二5、程序計數(shù)器(PC)有哪些特點?程序計數(shù)器 PC 存放著下一條將要從程序存儲器中取出的指令的地址。程序計數(shù)器 PC

7、 的數(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 的當前值,即下一條將要執(zhí)行的指令的地址送入堆棧,加以保護;將子程序的入口地址或者中斷矢量地址送入 PC,改變原程序執(zhí)行方向,執(zhí)行子程序或中斷服務(wù)程序;子程序或中斷服務(wù)程序執(zhí)行完畢,遇到返回指令 RET 或 RETI時,將棧頂?shù)膬?nèi)容送到 PC 中,程序又返回到原來的地方,繼續(xù)執(zhí)行主程序。 第7頁,共25頁,202

8、2年,5月20日,2點26分,星期二若要完成以下數(shù)據(jù)傳送,如何應(yīng)用80C51指令予以實現(xiàn)?(1)R1的內(nèi)容傳送到 R0: MOV A,R1 MOV R0,A(2)外部 RAM 20H 單元的內(nèi)容送入 R0: MOV R1,#20H MOVX A, R1 MOV R0,A(3)外部 RAM 0020H 單元內(nèi)容送內(nèi)部 RAM 20H 單元: MOV R0,#20H MOVX A, R0 MOV 20H,A第8頁,共25頁,2022年,5月20日,2點26分,星期二(4)外部 RAM 1000H 單元內(nèi)容送內(nèi)部 RAM 20H 單元: MOV DPTR,#1000H MOVX A, DPTR MO

9、V 20H,A5)外部 ROM 2000H 單元內(nèi)容送 R0: MOV A,#00H MOV DPTR,#2000H MOVC A, A + DPTR MOV R0,A第9頁,共25頁,2022年,5月20日,2點26分,星期二(6)外部 ROM 2000H 單元內(nèi)容送內(nèi)部 RAM 20H 單元: MOV A,#00H MOV DPTR,#2000H MOVC A, A + DPTR MOV 20H,A(7)外部 ROM 2000H 單元內(nèi)容送外部 RAM 0020H 單元: MOV A,#00H MOV R0,#20H MOV DPTR,#2000H MOVC A, A + DPTR MOV

10、X R0,A 第10頁,共25頁,2022年,5月20日,2點26分,星期二(8)外部 RAM 2000H 單元內(nèi)容送外部 RAM 3000H 單元: MOV DPTR,#2000H MOVX A,DPTR MOV DPTR,#3000H MOVX DPTR,A 第11頁,共25頁,2022年,5月20日,2點26分,星期二1、把長度為10H的字符串從內(nèi)部RAM起始地址為40H的單元輸出到外部RAM起始地址為5000H的單元中。 MOV R0,#40H MOV DPTR,#5000H MOV R2, #10HLOOP:MOV A,R0 MOVX DPTR,A INC R0 INC DPTR D

11、JNZ R2,LOOP SJMP $第12頁,共25頁,2022年,5月20日,2點26分,星期二2、三字節(jié)無符號數(shù)相加,被加數(shù)在內(nèi)部RAM的50H、51H、52H單元中,加數(shù)在內(nèi)部RAM的53H、54H、55H單元中,要求把相加之和存放在50H、51H、中52H單元中,進位存放在位尋址區(qū)的00H位中。MOV A, 50HADD A, 53HMOV 50H,AMOV A, 51HADDC A, 54HMOV 51H,AMOV A, 52HADDC A, 55HMOV 52H,AMOV 00H, C第13頁,共25頁,2022年,5月20日,2點26分,星期二3、拆字。將片內(nèi)RAM 20H單元的

12、內(nèi)容拆成兩段,每段四位。并將它們分別存入21H與22H單元中。MOV A,20HANL A,#0FHMOV 21H,AMOV A,20HSWAP AANL A,#0FHMOV 22H,A第14頁,共25頁,2022年,5月20日,2點26分,星期二MOV R0,#INBUFFMOV DPTR,#OUTBUFFMOV R1,#10HLOOP:MOV A,R0CLR CSUBB A,#0DHJZ LOOP1MOV A,R0 MOVX DPTR,AINC R0INC DPTRDJNZ R1,LOOPLOOP1:SJMP $P97 (二):1、把長度為10H的字符串從內(nèi)部RAM的輸入緩沖區(qū)inbuf向

13、位于外部RAM的輸出緩沖區(qū)outbuf傳送,一直進行到遇見回車符CR或整個字符串傳送完畢。第15頁,共25頁,2022年,5月20日,2點26分,星期二 4、 MOV DPTR,#bufMOV A,byteMOV R2,#08HLOOP:RRC AMOV R1,AJC LOOP1MOV A,#30H SJMP LOOP2LOOP1:MOV A,#31HLOOP2:MOVX DPTR, A MOV A,R1 INC DPTRDJNZ R2,LOOPSJMP $6、MOV R0,#42HMOV R1,#52HMOV 40H,#00HLOOP:MOV A,R0CLR CSUBB A,R1JNZ LO

14、OP1INC R1INC R0DJNZ 41H,LOOPSJMP LOOP2LOOP1:MOV 40H,#0ffHLOOP2:SJMP $第16頁,共25頁,2022年,5月20日,2點26分,星期二1、存放在片內(nèi)RAM的 80H單元中的自變量 X 是一個無符號數(shù),試編寫程序求下面函數(shù)的函數(shù)值,并存放到片內(nèi) RAM 的 81H單元中。X(X 50)5X(50 X 20)2X(X 20)Y =MOV A,80HCJNE A,#32H,LOOPJNC DONECJNE A, #14H,LOOP1JC LOOP2RL ARL AADD A,80HSJMP DONERL AMOV 81H,ASJMP

15、HERE LOOP1:LOOP:LOOP2:DONE:第17頁,共25頁,2022年,5月20日,2點26分,星期二2、假定10個數(shù)連續(xù)存放在外部 RAM 2000H為首的單元中,使用冒泡法進行降序排序編程。SORT:MOV DPTR,#2000H MOV R7,#09H CLR TR0LOOP:MOVX A, DPTRMOV 2BH,AINC DPTRMOVX A, DPTR MOV 2AH,A CLR C SUBB A, 2BH JC NEXT MOV A ,2BH MOVX DPTR ,ADEC DPLMOV A ,2AH MOVX DPTR ,AINC DPTR SETB TR0NEX

16、T:DJNZ R7,LOOPJB TR0,SORT第18頁,共25頁,2022年,5月20日,2點26分,星期二3、從內(nèi)部RAM 20H單元開始存放一組帶符號數(shù),字節(jié)個數(shù)存在1FH中。請統(tǒng)計出其中大于0、等于0、和小于0的數(shù)的個數(shù),并把統(tǒng)計結(jié)果分別存入one、two、three三個單元中。INC ONEAJMP LOOP1NEG:INC THREE AJMP LOOP1ZERO:INC TWOLOOP1:INC R0DJNZ 1FH,LOOPSJMP $ CLR AMOV ONE,AMOV TWO,AMOV THREE,AMOV R0,#20HLOOP:MOV A,R0JZ ZEROJB AC

17、C.7,NEG第19頁,共25頁,2022年,5月20日,2點26分,星期二1、單片機晶振頻率為6MHz,定時器/計數(shù)器1使用工作方式1進行外部事件計數(shù)。每計數(shù)1000個脈沖后,定時器/計數(shù)器1轉(zhuǎn)為定時工作方式,定時10ms后,又轉(zhuǎn)為計數(shù)方式,如此循環(huán)不止1)工作方式12)計算初值:機器周期2s定時初值:x=65536-10000/2=60536=EC78H計數(shù)初值:x=65536-1000=64536=FC18H3)控制字定時 TMOD=10H計數(shù)TMOD=50H ORG 0000H LJMP MAIN ORG 0100H MAIN:CLR TR1MOV TMOD,#50H MOV TH1,

18、#0FCH MOV TL1,#18H SETB TR1LOOP1:JBC TF1,LOOP2 SJMP LOOP1LOOP2:CLR TR1 MOV TMOD,#10H MOV TH1,#0ECH MOV TL1,#78H SETB TR1LOOP3:JBC TF1,MAINSJMP LOOP3第20頁,共25頁,2022年,5月20日,2點26分,星期二2、單片機晶振頻率為6MHz,要求每隔100ms,從外部RAM以data開始的數(shù)據(jù)區(qū)傳送一個數(shù)據(jù)到P1口輸出,共傳送100個數(shù)據(jù)。要求以兩個定時器串行定時方法實現(xiàn) 1)工作方式12)計算初值:機器周期2s定時初值:x=65536-50000/

19、2=40536=9E58H3)控制字定時 TMOD=11H MOV TMOD,#11HMOV DPTR,#DATAMOV R1,#64H MAIN:CLR TR1 MOV TH0,#9EH MOV TL0,#58H SETB TR0LOOP1:JBC TF0,LOOP2 SJMP LOOP1LOOP2:CLR TR0 MOV TH1,#9EH MOV TL1,#58H SETB TR1LOOP3:JBC TF1,LOOP4SJMP LOOP3LOOP4:MOVX A,DPTRMOV P1,A INC DPTRDJNZ R1,MAINSJMP $第21頁,共25頁,2022年,5月20日,2點26分,星期二3、以中斷方法設(shè)計單片機秒、分脈沖發(fā)生器。假定P1.0每秒鐘產(chǎn)生一個機器周期正脈沖,P1.1每分鐘產(chǎn)生一個機器周期正脈沖ORG 0000H LJMP MAIN ORG 000BH LJMP PITO ORG 0100HMAIN:MOV SP,#60H MOV TMO

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論