單片微型計算機接口應用技術課后答案_第1頁
單片微型計算機接口應用技術課后答案_第2頁
單片微型計算機接口應用技術課后答案_第3頁
免費預覽已結束,剩余27頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Page 1單片機原理、接口及應用一一嵌入式系統技術基礎 習題解答預備篇計算機的基礎知識0.1 40H,62H,50H,64H,7DH,FFH0.2 812,104,213,256,2936,9410.3十進制數原碼補碼十進制數原碼補碼281CH1CH250FAHFAH-289CHE4H-347815BHFEA5H10064H64H92803A0H03A0H-1308082HFF7EH-92883A0HFC60H0.4機器數真值分別為:27,233,128, 8,14717,31467, 27824,124780.5(1) 33H+5AH = 8DH, OV=1, CY=0。(2) -29H-

2、5DH = 7AH, OV=0, CY=1 。(3) 65H-3EH = 27H, OV=0, CY=1。(4) 4CH-68H = E4H, OV=0, CY=0。0.6十進制數壓縮BCD數非壓縮BCD 數 ASCII 碼3838H0308H3338H255255H020505H323535H483483H040803H343833H764764H070604H373634H10001000H01000000H31303030H10251025H01000205H31303235H0.7 ASCII碼表示的十六進制數分別為:105H, 7CAH, 2000H,8A50H基礎篇1MCS-511

3、MCS-5111MMCCSS-5511第章、單片機結構1.1單片微型計算機(即單片機)是包含CPU、存儲器和I/O接口的大規模集成芯片,即它本身包含了除外部設備以外構成微機系統的各個部分,只需接外設即可構成獨立的微機應用系統。微機處理器僅為CPU,CPU是構不成獨立的微機系統的。1.2參見教材節1.3參見教材第6頁表格1.4參見教材表1.41.5參見教材表 1.1和表1.21.6當PSW=10H表明選中的為第二組通用寄器R0R7的地址為10H17H1.7程序存儲器和數據存儲器盡管地址相同,但在數據操作時,所使用的指令不同,選通信號也不同,因此不會發生錯誤。1.8內部數據程序外部數據程序1.9振

4、蕩周期=0.1667卩s機器周期=2卩s指令周期=28卩s1Page 21.10 A=0,PSW=0,SP=07,P0P3=FFH251251第22章、5511系列單片機的指令系統2.1參見教材2.1節2.2因為A累加器自帶零標志,因此若判斷某內部 RAM單元的內容是否為零,必須將其內容送到A,JZ指令即可進行判斷。2.3當A=0時,兩條指令的地址雖然相同,但操作碼不同,MOVC是尋址程序存儲器,MOVX是尋址外部數據存儲器,送入A的是兩個不同存儲空間的內容。2.4 目的操作數源操作數寄存器直接SP間接尋址直接直接直接直接立即寄存器間址直接寄存器變址寄存器間址寄存器2.5 Cy=1,OV=0,

5、A=94H2.6 V XV XXXV VXVXXXXXVXXXX2.7 A=25H (50H)=0 (5 伯)=25H(52H)=70H2.8 SP=(61H)(SP)=(24H)SP=(62H)(SP)=(10H)SP=(61H)DPL=(10H)SP=(60H)DPH=(24H)執行結果將0送外部數據存儲器的2410單元2.9程序運行后內部 RAM(20H)=B4H,A=90H源程序LA: MOV A,#01HLB: MOVP1,ARL ACJNE,#10,LBSJMPLA2.10 機器碼7401F59023B40AFA80F62.11 ANL A,#0FHSWAP AANL P1,#0F

6、HORL P1,ASJMP$2.12 MOV A,R0XCH A,R1MOV R0,ASJMP $2.13 (1)利用乘法指令Page 3MOV B,#04HMULABSJMP$(2) 利用位移指令RL ARL AMOV 20H,AANL A,#03H(3) 用加法指令完成ADD A,ACCMOV R0,A ;R0=2AMOV A,#0ADDC A,#0MOV B,A ;B存2A的進位位MOV A,R0MOV B,AMOV A,20HANL A,#0FCHSJMP $MOV R1,AMOV A,BADDC A,BMOV B,AMOVSJMP $冋=4人;進位X 2;存積高位A,R1;存積低AD

7、D A,ACC2.14XRL 40H,#3CHSJMP $2.15MOV A,20HADD A,21HDA AMOV 22H,AMOV A,#0ADDC A,#0MOV 23H,ASJMP $2.16MOVA,R0JZ ZEMOV R1,#0FFHSJMP $ZE:MOV R1,#0SJMP $2.17MOV A,50HMOV B,51HMUL ABMOV 53H,BMOV 52H,ASJMP $2.18MOV R7,#0AH;存和低字節WOP:XRL P1,#03HDJNZ R7,WOPSJMP $2.19單片機的移位指令只對 的最低位,必須用大循環移位指令移位ORG 0A,且只有循環移位指

8、令,為了使本單元的最高位移進下一單元4次。CLR CMOVA,22HRLC AMOVA,20HRLCAMOV20H,AMOVA,21HRLCAMOV22H,AMOVA,#0RLCAMOV23H,ASJMP $M0V21H,APage 43 MSC-51第33章、MMSSCC-5511單片機匯編語言程序設計3.1因為是多個單元操作,為方便修改地址使用間址操作。片外地址用DPTR指示,只能用MOVX指令取數到A,片內地址用R0或R1指示,只能用MOV指令操作,因此循環操作外部數 據存貯器t A t內部部數據存貯器。ORG 0000HMOV DPTR,#1000HMOV R0,#20HLOOP: M

9、OVXA,DPTRMOVRO,A3.2要注意兩高字節相加應加低字節相加時產生的進位ORG 0MOV A,R0ADD A,R6MOV 50H,AMOV A,R7 ADDC A,R13.3 A中放小于14H(20)的數,平方表的一個數據占 A中放的是BCD碼,則要先化成二進制數再查表。ORG 0MOV DPTR,#TABADD A,ACC;A*2PUSH ACCMOVCA,A+DPTR00,00,00,01,00,04,00,09,00,16H,MOV R7,APOP ACC3.4先用異或指令判兩數是否同號 ,在同號中判大小ORG 0MOV A,20HXRL A,21HANL A,#80H JZ

10、CMPJB 20H.7,BGAG:MOV 22H,20H SJMP $3.5 fosc=6MHZDELAY:MOV R1,#0F8HLOOP:MOV R3,#0FAHINC DPTRINC ROCJNE R0,#71H ,L OOPSJMP $,同時要考慮最高位的進位。MOV 51H,AMOV A,#0ADDC A,ACCMOV 52H,ASJMP$2個字節,可用BCD碼或二進制數存放.(如)INC AMOVCA,A+DPTRMOV R6,ASJMP $TAB:DBDB ,04H,00,異號中正數為大.BG: MOV 22H,21HSJMP $CMP:MOV A,20HCJNE A,21H,G

11、RGR: JNC AGMOV 22H,21HSJMP $機器周期數112DJNZ R3,$DJNZ R1,LOOPRET (1+(1+2*0xFA+2)*0xF8+2)*12/6MHz=(1+(1+2*250+2)*248+2)*2us加30H;再將待轉換的數分離出低半字節并=249.494ms3.6將待轉換的數分離出高半字節并移到低4位30H,安排好源地址和轉換后數的地址指針,置好循環次數。ORG 0000HMOV A,R0MOV R7,#05HANL A, #0FHMOV R0,#20HADD A,#30HMOV R1,#25HMOV R1,ANET: MOV A,R0INC R0ANL

12、A,#0F0HINC R1SWAP ADJNZ R7,NEADD A,#30HSJMP $APage 54MOV R1,AENDINC R13.7片內RAM間址寄存器只能有 RO和R1兩個,而正數、負數和零共需3個寄存器指示地址,這時可用堆棧指針指示第三個地址 ,POP和PUSH在指令可自動修改地址。R0指正數存放地址和R1指負數存放地址,SP指源數據存放的末地址,POP指令取源數據,每取一個數地址減1。ORG 0000HMOV R7,#10HMOV A,#0MOV R0,AMOV R4,AINC R0MOV R5,AAJMP DJMOV R6,ANE: INC R5MOV R0,#40HMO

13、V R1,AMOV R1,#50HINC R1MOV SP,#3FHAJMP DJNEXT:POP ACCZER0:INC R6JZ ZER0DJ: DJNZ R7,NEXTJB ACC.7,NESJMP $INC R4END3.8可直接用P標志判斷(JB P,ret)ORG 0000HMOV A,40HJB P,EN;奇數個1轉移ORLA,#80H;偶數個1最高位加“ 1 ”EN:SJMP $3.9取補不同于求補碼,求補碼應區別正、負數分別處理,而取補不分正、負,因正、負數均有 相對于模的補數。用取反加 1求補也可用模(00H)減該數的方法求補。ORG 0000HMOV R7,#03HMOV

14、 R0,#DA TAMOV A,R0CPL AADD A,#01MOV R0,A3.10 16個單字節累加應用 ADD指令而不能用 和的高AB: INC ROMOV A,R0CPL AADDC A,#0DJNZ R7,ABSJMP $ADDC指令,和的低位存A,當和超過一個字節字節存于B,并要加進低位相加時產生的進位 六求平均值的運算,商在BUF2單元,余數在ORG 0000HMOV R7,#0FHMOV R0,#BUF1MOV B,#0MOV A,R0 MOV R2,ANEXT:MOV A,R2INC R0ADD A,R0 MOV R2,AMOV A,B ADDC A,#0MOV B,A D

15、JNZR7,NEXT;以上完成求和3.11將20H單元的內容分解為高ORG 0000H,16個單字節加完后,采用右移4次進行除十BUF2-1 單元。MOV R6,#04HMOV BUF2,AMOV BUF2-1,#0NEX:CLR CMOV A,BRRC AMOV B,AMOV A,BUF2RRC AMOV BUF2,AMOV A,BUF2-1RRC AMOV BUF2-1,ADJNZ R6,NEXSJMP $;以上完成除十六運算4位和低4位,根據是否大于9分別作加37H和30H處理。MOV A,20HPage 6ANL A,#0F0HSJMP $SWAP AASCII:CJNE A,#0AH

16、,NEACALL ASCIINE:JC A307 / 29MOV 22H,AMOV A,20HADD A,#37HRETA30: ADD A,30HRETC。CPL CANL C,53HMOV P1.0,CSJMP $ENDANL A,#0FHACALL ASCIIMOV 21H,A3.12要注意,位的邏輯運算其中一個操作數必須在ORG 0000HMOV C,20HANL C,2FHCPL CORL C,/2FH3.13ORG 0000HMOV C,ACC.3ANL C,P1.4ANL C,/ACC.5MOV 20H,CMOV C,B.4CPL CANL C,/P1.5ORL C,20HMOV

17、 P1.2,CSJMP $ENDPage 73.14設一字節乘數存放在 R1,三字節的被乘數存放在 data開始的內部RAM單元,且低字節 存放在低位地址單元,R0作為被乘數和積的地址指針,用MUL指令完成一字節乘一字節,每一次部分積的低位加上一次部分積的高位,其和的進位加在本次部分積的高位上,并暫存,三字節乘一字節共需這樣三次乘、加、存操作,以R7作循環三次的計數寄存器。MOV A,#0MOV R7,#03HMOV RO,#dataADDC A,BMOV R2,#0MOV R2,ANEXT: MOV A,R0INC ROMOV B,R1DJNZ R7,NEXTMUL ABMOV R0,BSJ

18、MP $ENDADD A,R2MOV R0,A第4章、并行接口 P0-P3和單片機的中斷系統4.14.3參考教材4.1節4.4用P1.7監測按鍵開關,P1.0引腳輸出正脈沖,正脈沖的產生只需要將P1.0置零、置1、延時、再置零即可。P1.0接一示波器可觀察波形。如果再接一發光二極管,可觀察到發光二極管的閃爍。電路設計可參考圖 4.4匯編語言程序ORG 0000HABC:CLR P1.0SETB P1.7JB P1.7,$;未按鍵等待JNB P1.7,$;鍵未彈起等待SETB P1.0DAY: NOPNOPDJNZ R2,DAY圖 4.4SJMP ABC4.5 電路見圖4.5,初始值送0FH到P

19、1,再和0FFH異或從P1 口輸出,或使用SWAPA指令, 然后從P1 口輸出,循環運行,要注意輸出后要延時。匯編語言程序ORGOOOOHMOVA,#0FHABC: MOVP1,AACALLD05SWAPASJMPABCD05: MOVR6,250DY: MOVR7,250DAY: NOP圖4.57Page 8NOPDJNZR7,DAYRETEND4.6如使用共陰極數碼管,陰極接地,陽極ag分別接P0P3的某個口的7位,將0F的段碼 列成表,表的內容順次從該口輸出。如數碼管接匯編語言程序ORG 0000HMOVDPTR,#TABAGAIN: MOVR0,#0NEXT:MOVA,R0MOVCA,

20、A+DPTRMOVP3,A表(略)MOVR7,#0DAY:NOP4.7電路設計見圖4.7,編程如下:ORG 0000HMOV A,#08HMOV DPTR,#TABMOVC A,A+DPTRMOV P1,AMOV R2,#08HP3 口。NOPDJNZR7,DAYINCR0CJNER0,#10H,NEXTSJMP AGAINTAB:DB 3FH,06H ,;段碼ENDNEXT: MOV P3,AACALL DAYRL ACJNE A,#10H,NEXTDJNZ R2,AGAINSJMP $TAB: DB3FH,06H 圖 4.7END4.8 P1 口的八根線接行線,輸出行掃描信號,P3 口的八

21、根線接列線,輸入回饋信號。見圖4.8。4.94.12參見4.2節4.13電路設計見圖4.13匯編語言程序ORG 0000HAJMP MAINORG 0003HRL A沖斷服務MOV P1,ARETI圖 4.8MAIN: MOV A,#0FEHPage 9MOV P1,A ;第一燈亮SETB EASETB EXOSETB ITOSJMP $匯編語言中只有一個中斷源 ,不存在占用別的中斷源 向量地址問題,程序順序排下,應注意程序的執行過 程。C語言無循環移位指令移位后,后面補零,因此和 01相或。4.14 略4.15ORG 0000HORG 0030HAJMP MAINMAIN: SETB EAO

22、RG 0003H;中斷服務SETB EX0XRL P1,#0FFHSETB IT0DJNZ R0,NEMOVP1,#0FFHCLR EAMOV R0,#0AHNE: RETI因一亮一滅為一次,所以共十次。SJMP $ ;等待中斷4.16兩個數碼管陽極經驅動器接P1 口,陰極分別接P3.0、P3.1。bbEQU09H ;存儲第四位的段碼CLR P3.0iEQU0AH ;存儲計數值SETB P3.1Tab:位DB 3FH,06H,;段碼表略MOV P1,aa;顯示高ORG 0000HACALL Delay涎時AJMP MAINSJMP LOOPORG 0013HINTR:CLR EX0AJMP I

23、NTRINC i;i加一MAIN:MOV DPTR,#TabMOV A,iCLR AANL A,#0FH;取i的低位MOVC A,A+DPTRMOV DPTR,#TabMOV aa,AMOVC A,A+DPTRMOV bb,A;a=b=Tab0MOV bb,A ;查表 b=Tabi 的低位CLR P3.0MOV A,iCLR P3.1ANL A,#0F0HSETB EASWAP A;取 i的高位SETB EXOMOVC A,A+DPTRSETB IT0;開中斷MOV aa,A ;查表 a=Tabi 的高位LOOP:SETB P3.0SETB EX0CLR P3.1RETIMOV P1,bb;顯

24、示低位Delay:;略涎時aaEQU08H ;存儲高四位的段碼ACALL DelayEND4.17提示:將X至X分別接至一個三輸入或非門的三個輸入端,同時還分別接至單片機的 三個1310 口,或非門的輸出端接至單片機的外部中斷引腳。中斷服務程序中檢查三個10 口的值,便可9Page 10知道具體的故障源。程序略。第五章、單片機的定時計數器與串行接口5.15.3請參考教材5.4 方式 0:16.38ms 方式 1:131ms 方式 2:512 卩 s5.5使用方式2計數初值C=100H-0AH=F6H查詢方式:ORG 0000HABC: JNB TF0,$MOV TMOD,#06HCLR TF0

25、MOV TH0,#0F6HCPL P1.0MOV TL0,#0F6HSJMP ABCSETB TR0ORG 0000HMOV TH0,#0F6HAJMP MAINSETB EAORG 0000BHSETB ET0CPL P1.0SETB TR0RETISJMP $;等待中斷MAIN:MOVTMOD,#06H匯編語言程序ORG 0000HMOV TMOD,#02HNEXT: MOV TH0,#51HMOV TL0,#51HCLR P1.2SETB TR0上述的計數初值沒有考慮指令的執行時間些時間,算得C=E3H,這樣誤差較小。5.8 P1.0輸出2ms脈沖,P1.0輸出50卩s脈沖。匯編語言程序

26、ORG 0000HMOV TMOD,#02HMOV TH0,#06HMOV TL0,#06HSETB TR0MOV R0,#04H5.9ORG 0000HAB1: JBC TF0,EXTSJMP AB1EXT: SETB P1.2MOV TH0,#0E7HMOV TL0,#0E7HAB2: JBC TF0,NEXTSJMP AB2,因此誤差較大,查每條指令的機器周期,扣除這NE: JNB TF0,$CLR TF0CPL P1.1DJNZ R0,NECPL P1.0AJMP NEMAIN:MOV TMOD,#15HPage 11LOOP: LCALL Cou nterLCALL TimerSJM

27、P LOOPCou nter: MOV TH0,#0FDHMOV TL0,#18HSETB TR0CLR TR1JNB TF0,$CLR TF0RETTimer: MOV TH1,#0F9HMOV TL1,#30HSETB TR1CLR TR0JB TF1,$CLR TF1RETEND5.10 略5.11參見教材節發送ORG 0000HMOV TMOD,#20HMOV TH1,#0B2HMOV TL1,#0B2HSETB TR1MOV SCON,#4OHMOV A,#0接收ORG 0000HMOV TMOD,#20HMOV TH1,#0B2HMOV TL1,#0B2HSETB TR1MOV S

28、CON,#50HNEXT: MOV SBUF,ATES:JBC T1,ADD1SJMP TESADD1: INC ACJNE A,#20H,NEXTSJMP $ENDMOV R0,#20HTEC: JBC RI,RECSJMP TECREC: MOV R0,SBUFINC ROCJNE R0,#40H,TEC11Page 12SJMP $END5.16 略5.17利用串行通信方式 2(波特率固定),采用奇校驗方式,將校驗位放在TB8中,乙機檢驗校驗位,中,如錯誤,通知對方重發,R6存放數據塊長度匯如正確,則存于片外4400H開始的RAM 編語言程序如下:發方ORG 0000HMOV DPTR,

29、#3400HMOV R6,#0A1HMOV SCON,#90HMOV SBUF,R6L2: JBC T1,L3AJMP 1.2L3: MOV 1,DPTRJB P,L4SETB TB8L4: MOV SBUF,A收方ORG 0000HMOV DPTR,#4400HMOV SCON,#90HL1: JBC RI,L2AJMP L1L2: MOV A,SBUFMOV R6,AL5: JBC T1,L6AJMP L5L6: JBC RI,L7AJMP L6L7: MOV A,SBUFCJNE A,#0FF0H,L8AJMP L3L8: INC DPLDJNZ R6,L4SJMP $L5: JB JB

30、8,L8L6: MOVX DPTR,AINC DPLINC DPHDJNZ R6,L3SJMP $L8: MOV A,#0FFHMOV SBUF,AL3: JBC RI,L4AJMP L3L4: MOV A,SBUFJB P, L5JNB RB8,L8SJMP $5.18電路圖見教材中圖 5.18,程序如下:ORG 0000HMOV R5,#03HCLR AMOV SCON,ALOOP: SETB P3.3CLR AMOV R7,A次DEF: MOV A,R5;循環 4 次MOV DPTR,#tabMOVCA,A+DPTR;查表 A=tabR5MOV SBUF,ADEC R5Page 13L9

31、: JBC TI,L3AJMP L9SJMP $ENDJNB T1,$CLR T1CJNE R5,#0FFH,ABC;若 R5=255 ,則 R5=7MOV R5,#07HABC:INC R7CJNE R7,#04H,DEF;循環 4CLR P3.3LCALL timerSJMP LOOPtimer: MOVA,#64HFOR: JZ ENDD12MOV TMOD,#01HDEC ASJMP FORMOV TH0,#0D9HMOV TL0,#0F0HENDD:RETSETB TR0tab: DB 0c0H,0f9H,0a4H ,;略JNB TF0,$ENDCLR TF0第6666章、單片機總線

32、與存儲器的擴展6.1參見6.1節6.26116為2KB X 8位RAM,共11根地址線 A A ,接線見圖6.2。0 10圖6.26.3 2732為4KB X 8位EPROM,6264為8KB X 8位RAM,因各只有一片,所以各片選 CE接地, 電路見圖6.3。圖6.36.4 6116為2KB X 8位RAM、2716為2KB X 8位EPROM,地址線均為 11位,地址線接線參見 圖6.3。6.5電路見圖6.5。13Page 14圖6.54片2764的CE分別接138譯碼器為yO、y1、y2、y3端,各片地址為2764(4)0000H1FFFH2764(3)2000H3FFFH2764(2

33、)4000H5FFFH2764(1)6000H7FFFH6.6設計電路見圖 6.6。圖6.614Page 1577第77章、單片機系統功能擴展7.1將圖6.6中的2764去掉,并改“ P2.5”為“ P2.4”,改“ P2.6”為“ P2.7” ;程序可參考教材中例 7.1。7.2請參考上題和題 4.16。將244的輸入端最低位經過一個上拉電阻接至+5V,經過一個按鈕接到地。7.3電路圖見圖7.3MOV DPTR,#OCFFBHMOV A,#0A2HMOVX DPTR,A7.4電路與上題類似,程序較簡單,略。、7.5 8255A 口、B 口、C 口、控制口地址分另為 7CFFH、7DFFH、7

34、EFFH、7FFFH,A 口方式0輸出,C 口輸出,控制字80H。電路見圖7.5 程序:ORG 0000H;指向控制口;A 口 B 口均采用基本輸出方式;寫控制字MOV DPTR,#7FFHMOV A,#80HMOVX DPTR,AMOV DPTR,#7CFFHMOV A,#0MOVX DPTR,AAGAIN: MOV R0,#0MOV R1,#01NEXT: MOV DPTR,#7EFFHMOV A,R1MOVX DPTR,AMOV A,R0MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#7CFFHMOVX DPTR,A;清顯示;R0存字形表偏移量;R1置數碼表位選代

35、碼;指向C 口;從C 口輸出位選碼;置字形表頭地址;查字形碼表指向B 口;從B 口輸出字形碼涎時ACALL DAY15Page 16INC ROMOV A,R1RL A;指向下一位字形;指向下一位;六個數碼管顯示完?MOV R1,ACJNE R1,#10H,NEXTSJMP AGAINDAY:MOV R6,#50;延時子程序DL2:MOV R7,#7DHDL1:NOPNOPDJNZ R7,DL1DJNZ R6,DL2RETTAB1:DB 6FH,3FH,3FH,5EH;“ gOOd ”(9ood)的字形碼7.6提示:EPROM27128O 16KB X 8,地址線為14根,6264為8KB X

36、 8位,地址線為13根,電路可材中圖7.3。7.7根據電路連線I/O 口 :A 口 :FDF8H,B 口 :FDF9H,C 口 :FDFAH, 命令/狀態口 :FDFBH.定時器 TIMEL:FDFCH TIMEH:FDFDH存貯器 RAM:FC00H FCFFH第8章、單片機典型外圍接口技術8.1電路參照教材中圖8.7,不同的是將P改為P,先計算各模擬量對應的數字量2 72 33C 對應的數字量:5V/3V=255/XC=153=99H同樣可算得1V、2V、4V對應的數字量分別為 33H、66H、CCH1三角波MOV DPTR,#OF7FFHNEXT1:MOV A,#0NEXT: MOVX

37、DPTR,ANOPNOPINC ACJNE A,#9AH,NEXTNEXTA:DEC AMOVX DPTR,ANOPNOPCJNE A,#0,NEXTASJMP NEXT1END2方波4V對應的數字量為CCHMOV DPTR,#0F7FFHMOV A,#0NEXT:MOVX DPTR,AACALL D2MSXRL A,#0CCHSJMP NEXT3階梯波MOV DPTR,#0F7FFHNEC: MOV A,#016Page 17NEXT: MOVX DPTR,AACALLD1MSADD A,#33HCJNE A,#0FFH,NEXTANEXTA:MOVX DPTR,AACALL D5MSSJM

38、P NEC8.2電路參考教材中圖8.8,增加一個地址,使用兩條輸出指令才能輸出一個數據,其他同上。8.3電路參考教材中圖 8.7,地址為7FFFH。ORG 0000HMOV DPTR,#7FFFHMOV R0,#20HMOV A, RONEXT: MOVX DPTR,AACALL DIMSINC R0CJNE R0,#30H,NEXTSJMP $END8.4電路參閱教材中圖 8.11,不同的是將 P P改為P P,各地址分別為 FEFFH、FDFFH、FBFFH。2 5 2 72 0 2 2程序參照教材節,注意修改RAM地址,循環執行該程序。8.5電路參閱教材中圖 8.2,不同的是 延時方式:

39、EOC懸空;查詢方式:EOC經非門接單片機 P1.0 端口線;中斷方式同原圖。下面僅編查詢程序。IN2的地址為7FFAH,由于EOC經非門接單片機 P1.0端口線, 查詢到P1.0為零,即轉換結束。ORG 0000HMOV R7,#0AHMOV R0,#50HMOV DPTR,#7FFAHNEXT:MOVX DPTR,A ;啟動轉換JB P1.0,$;查詢等待MOVX A, DPTR;讀入數據MOV R0,AINC R0DJNZ NEXTSJMP $8.6 ADC0809采集入中模擬信號,順序采集一次,將采集結果存放于數組 ad中。ADC0809模 擬通道07的地址為7FF8H7FFFH,AD

40、C0809的轉換結束端EOC經邏輯非后接至外部中斷1,電路參考教材中圖8.2。程序參考教材第167頁的例子,只需修改數據存儲區地址。8.7電路參考教材中圖 8.26,增加鍵盤的行線和數碼管個數至8個,減少鍵盤列線到 2根,程序略。第9章、串行接口技術請參考教材9.4電路參照教材中圖 9.12,另外一片24C04的A1接到VCC其它引腳與第一片完全一樣。9.5略9.6可以,在操作IIC總線時,將SPI總線上的所有器件的從機選擇線置高,這樣便不會對SPI總線有影響;在操作 SPI總線時,讓IIC總線的SDA保持高電平,這樣IIC總線得不到起 始信號,便不會對IIC總線有影響。9.7 TLC5615

41、經SPI總線接至單片機(參照教材中圖9.26),REFIN作為衰減器的輸入,OUT作為衰減9.8提示:用較快的速度對被測電壓進行采樣(采樣時間間隔恒定為t),將一定時間段(T)內的獲得的采樣值(v)的平方對時間積分(實為求和)后除以該時間段的長度,最后開平 方,便是被測電壓在該時間段內近似的有效值。第10章、單片機的 C語言編程 C5110.1第6行,缺少“;”;第8行“;”多余;main函數最后缺少“ ”。(log 65536=16 )。210.2 xdata的地址范圍為 0x0000到OxFFFF (共64K),它需要兩個字節記錄10.3 char bdata a;float xdata b;int xdata * c (注意不要定義為“ xdata int * c ”或“ int * xdata c ” ,這樣c為自身 在xdata區,指向默認區域的int型數據的指針,與題意不符)10.4 mai n()int xdata c;c=DBYTE0x20*DBYTE0x35;10.5 #i nclude <reg51.h>#in clude <absacc.h>sbit P1_0=P1A0;sbit P1_2=P1A2;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論