89c52單片機課程設(shè)計_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  1.設(shè)計任務(wù)及要求</p><p><b>  1.1設(shè)計任務(wù)</b></p><p> ?。?)完成基本焊接任務(wù)</p><p> ?。?)單片機開發(fā)板功能正確</p><p> ?。?)完成指定的實驗</p><p>  (4)完成課程設(shè)計報告</p>

2、<p><b>  1.2要求</b></p><p> ?。?)元件面:元器件位置正確、排列整齊有序,元件整形恰當(dāng)。</p><p>  焊接面:整潔、清爽,焊點圓潤、無虛焊,引腳修整合適。</p><p> ?。?)能夠下載程序、運行演示程序。</p><p> ?。?)完成3個程序的編寫、下載及演示功能

3、。</p><p> ?。?)報告格式規(guī)范、文字流暢、思路清晰。</p><p><b>  2.方案設(shè)計與論證</b></p><p><b>  2.1方案設(shè)計</b></p><p>  方案一:仿照周立功實驗箱自行設(shè)計電路,然后完成焊接,實現(xiàn)各功能。</p><p>

4、;  DP-51PRO.NET單片機仿真器、編程器、實驗儀三合一綜合開發(fā)平臺</p><p>  方案二:采用JB-MCS51-V8.0電路板,直接焊接相關(guān)元器件并實現(xiàn)各功能。</p><p><b>  論證</b></p><p>  經(jīng)驗證DP-51PRO.NET實驗平臺所需元器件無法找齊,且體積過大不便于攜帶等原因,最終決定采用方案二

5、。</p><p><b>  3.單元電路原理</b></p><p><b>  各單元電路原理圖</b></p><p>  4.總原理圖及元器件清單</p><p><b>  4.1總原理圖</b></p><p><b>  4.

6、2元器件清單</b></p><p><b>  5硬件安裝與調(diào)試</b></p><p>  在安裝硬件的過程中要注意硬件的排列有序,焊點圓潤、無虛焊,引腳修剪整齊。在硬件安裝完畢后,對作品進(jìn)行調(diào)試。通過STC軟件對作品進(jìn)行調(diào)試以及程序的下載,具體步驟如下:</p><p><b>  選擇單片機型號</b&g

7、t;</p><p><b> ?。?)選擇程序</b></p><p>  (3)選擇串口,安裝USB驅(qū)動程序后,可在設(shè)備管理器中看到多出的串口(每臺電腦不一樣)。</p><p>  然后在軟件中選擇相應(yīng)的串口</p><p> ?。?)選擇波特率,一般情況下這都是默認(rèn)的,最高波特率選擇115200,最低波特率選擇1

8、200。</p><p> ?。?)以上步驟完成后,就點擊Download/下載,按左下角的提示進(jìn)行操作。</p><p>  6.各實驗具體操作和相關(guān)解釋</p><p>  6.1跑馬燈試驗6.1.1系統(tǒng)概述</p><p>  通過模式鍵來改變單片機的工作模式,進(jìn)行程序控制,一共有八個模式。LED等工作在不同的模式下,有不同的現(xiàn)象。加

9、速減速開關(guān)來控制燈泡的閃亮快慢。復(fù)位電路用來初始化芯片的工作狀態(tài)。</p><p>  控制電路是整個電路的核心,主要由單片機來完成。89C52 RC的管腳如圖所示。單片機執(zhí)行指令是在時鐘脈沖控制下進(jìn)行的。因此單片機必須外接振蕩器構(gòu)成時鐘電路才能正常工作。另外,還應(yīng)在單片機的RES端外接電阻電容構(gòu)成復(fù)位電路,當(dāng)單片機運行錯誤時可以給一個復(fù)位信號使其復(fù)位。</p><p>  單片機對接口電

10、路的控制是由軟件向單片機的I/O口來實現(xiàn)的。89C52 RC單片機內(nèi)部有兩個定時/計數(shù)器,可以用其中一個定時/計數(shù)器來對時間進(jìn)行計數(shù),而另一個可以對顯示器的顯示延時進(jìn)行定時并通過中斷把相應(yīng)的數(shù)據(jù)通過I/O口送給顯示器顯示。同時通過對外部按鍵的狀態(tài)判斷來進(jìn)行時間的調(diào)整。</p><p>  6.1.2 單元電路設(shè)計與分析</p><p><b>  1、時鐘電路</

11、b></p><p>  單片機執(zhí)行指令是在脈沖控制下進(jìn)行的,因此時鐘信號是單片機的基本工作條件。時鐘可以由內(nèi)部和外部兩種方式產(chǎn)生,本設(shè)計采用內(nèi)部方式。如圖所示,在XTAL1和XTAL2引腳上外接定時元件。定時元件通常采用振蕩器和電容組成的并聯(lián)諧振電路。X1為振蕩器,C1、C2為電容。振蕩的主要頻率決定于晶振,電容對振蕩頻率起微調(diào)作用。其中,晶振選擇12MHz</p><p><

12、;b>  2、復(fù)位電路</b></p><p>  一個時鐘周期為振蕩周期的2倍,12個時鐘周期構(gòu)成一個機器周期。在RES引腳上輸入一個超過兩個機器周期的高電平信號,單片機就可以復(fù)位。時鐘頻率為12MHz,則有效的復(fù)位信號至少應(yīng)保持2us以上。下圖為單片機的復(fù)位電路</p><p>  3.C語言編程如下:</p><p>  #include&l

13、t;reg51.h></p><p>  #define uchar unsiged char</p><p>  char k=0;unsigned int i,t=45000,j;sbit p3_0=P3^0;</p><p>  code char tab[9]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}

14、;</p><p>  int0()interrupt 0</p><p>  { while(1){</p><p><b>  k++;</b></p><p>  if(k<9) P1=tab[k];</p><p>  else { k=0;P1=0x3f;}</p>

15、<p>  if(k==0) {P0=0xff;P2=0xff;}</p><p>  if(k==1){P0=0xfc;P2=0xff;}</p><p>  if(k==2){P0=0xf3;P2=0xff;}</p><p>  if(k==3){P0=0xcf;P2=0xff;}</p><p>  if(k==4){P0

16、=0x3f;P2=0xff;}</p><p>  if(k==5){P0=0xff;P2=0xfc;}</p><p>  if(k==6){P0=0xff;P2=0xf3;}</p><p>  if(k==7){P0=0xff;P2=0xcf;}</p><p>  if(k==8){P0=0xff;P2=0x3f;} </p&

17、gt;<p><b>  }}</b></p><p>  int1()interrupt 2</p><p><b>  {while(1)</b></p><p>  { </p><p>  for(j=0;j<16;j++)</p>&l

18、t;p><b>  { </b></p><p><b>  if(j<=7)</b></p><p><b>  {</b></p><p><b>  P2=0xff;</b></p><p><b>  P0<<

19、=1;</b></p><p>  if(j!=0){P0=P0|0x01;}</p><p>  for(t=0;t<=20000-1000*j;t++);</p><p><b>  }</b></p><p>  if(j>7) {P0=0xff;</p><p>

20、;<b>  P2<<=1;</b></p><p>  if(j!=8){P2=P2|0x01;}</p><p>  for(t=0;t<=20000-1000*j;t++);}</p><p><b>  }</b></p><p><b>  }</b>

21、;</p><p><b>  } </b></p><p><b>  main()</b></p><p><b>  { </b></p><p><b>  EA=1;</b></p><p><b>

22、  EX1=1;</b></p><p><b>  IT1=1;</b></p><p><b>  EX0=1;</b></p><p><b>  IT0=1;</b></p><p><b>  p3_0=0;</b></p>

23、;<p>  if(p3_0==1)</p><p>  { while(1){</p><p>  { for(j=0;j<16;j++)</p><p><b>  { </b></p><p><b>  if(j<=7)</b></p>&l

24、t;p><b>  {</b></p><p><b>  P2=0xff;</b></p><p><b>  P0<<=1;</b></p><p>  if(j!=0){P0=P0|0x01;}</p><p>  for(t=0;t<=3000+

25、1000*j;t++);</p><p><b>  }</b></p><p>  if(j>7) {P0=0xff;</p><p><b>  P2<<=1;</b></p><p>  if(j!=8){P2=P2|0x01;}</p><p>

26、  for(t=0;t<=3000+1000*j;t++);}</p><p><b>  }}</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>

27、<p>  6.1.3電路的安裝與調(diào)試</p><p>  程序調(diào)試完成后直接運行,可看到8只LED燈的走馬燈效果。通過這個仿真可以直觀地看到按鍵對程序的控制、走馬燈運行的結(jié)果,效果非常好。本課程設(shè)計中用到了單片機的I/0、定時器中斷等硬件功能, 同時涉及到軟件查詢定時、中斷程序、按鍵控制、數(shù)碼管動態(tài)顯示等主要程序的設(shè)計方法。程序開始先使P1口為低電平,熄滅各LED,隨后系統(tǒng)進(jìn)入鍵盤檢測循環(huán),當(dāng)檢測到某

28、個鍵被按下,則轉(zhuǎn)到該鍵對應(yīng)的程序處執(zhí)行。按鍵處理執(zhí)行程序各自的功能后,每循環(huán)一次后檢測S1是否按下,如果按下,各LED熄滅,重新進(jìn)入檢測循環(huán),否則繼續(xù)循環(huán)。</p><p><b>  6.2計數(shù)器實驗</b></p><p>  6.2.1系統(tǒng)軟件程序</p><p>  OUTBIT equ 0e101h</p><

29、p>  CLK164 equ 0e102h ; 段控制口(接164時鐘位)</p><p>  DAT164 equ 0e102h ; 段控制口(接164數(shù)據(jù)位)</p><p>  LEDBuf equ 40h</p><p>  IN equ 0e103h</p><p><b>  ORG 0

30、000h</b></p><p>  MOV SP,#60H</p><p>  MOV DPTR,#0e100H ;8155初始化</p><p>  MOV A,#03H</p><p>  MOVX @DPTR,A</p><p>  MOV TMOD,#05H ;定時器初始化&l

31、t;/p><p>  MOV TH0,#00H</p><p>  MOV TL0,#00H</p><p><b>  SETB TR0</b></p><p>  LOOP0: MOV R2,TH0</p><p>  MOV R3,TL0</p><p>  LCALL

32、 LOOP1</p><p>  MOV R0,#40H</p><p><b>  MOV A,R6</b></p><p>  LCALL PTDS</p><p><b>  MOV A,R5</b></p><p>  LCALL PTDS</p>&l

33、t;p><b>  MOV A,R4</b></p><p>  LCALL PTDS</p><p>  LCALL DISPLAY</p><p>  SJMP LOOP0</p><p>  LOOP1: CLR A ;二轉(zhuǎn)十子程序</p><p><

34、;b>  MOV R4,A</b></p><p><b>  MOV R5,A</b></p><p><b>  MOV R6,A</b></p><p>  MOV R7,#10H</p><p>  LOOP2: CLR C</p><p><

35、;b>  MOV A,R3</b></p><p><b>  RLC A</b></p><p><b>  MOV R3,A</b></p><p><b>  MOV A,R2</b></p><p><b>  RLC A</b>

36、</p><p><b>  MOV R2,A</b></p><p><b>  MOV A,R6</b></p><p><b>  ADDC A,R6</b></p><p><b>  DA A</b></p><p>&l

37、t;b>  MOV R6,A</b></p><p><b>  MOV A,R5</b></p><p><b>  ADDC A,R5</b></p><p><b>  DA A</b></p><p><b>  MOV R5,A</b

38、></p><p><b>  MOV A,R4</b></p><p><b>  ADDC A,R4</b></p><p><b>  DA A</b></p><p><b>  MOV R4,A</b></p><p&g

39、t;  DJNZ R7,LOOP2</p><p><b>  RET</b></p><p>  PTDS:MOV R1,A ;拆字子程序</p><p>  ACALL PTDS1</p><p><b>  MOV A,R1</b></p><p&g

40、t;<b>  SWAP A</b></p><p>  PTDS1:ANL A,#0FH</p><p><b>  MOV @R0,A</b></p><p><b>  INC R0</b></p><p><b>  RET</b></p&

41、gt;<p><b>  Delay:</b></p><p>  mov r7, #0 ; 延時子程序</p><p>  DelayLoop:</p><p>  djnz r7, DelayLoop</p><p>  djnz r6, DelayLoop</p>

42、<p><b>  ret</b></p><p>  DISPLAY:setb 0d3h</p><p>  mov r0, #LEDBuf</p><p>  mov r1, #6 ; 共6個八段管</p><p>  mov r2, #00000001b ; 從左邊開始

43、顯示</p><p><b>  Loop:</b></p><p>  mov dptr, #OUTBIT</p><p>  mov a, #00h</p><p>  movx @dptr, a ; 關(guān)所有八段管</p><p>  mov a, @r0</

44、p><p>  mov dptr,#LEDmap</p><p>  movc a,@a+dptr</p><p>  mov B, #8 ; 送164</p><p><b>  DLP:</b></p><p><b>  rlc a</b><

45、;/p><p>  mov r3, a</p><p>  mov acc.0, c</p><p>  anl a,#0fdh</p><p>  mov dptr, #DAT164</p><p>  movx @dptr, a</p><p>  mov dptr, #CL

46、K164</p><p>  orl a,#02h</p><p>  movx @dptr, a</p><p>  anl a,#0fDh</p><p>  movx @dptr, a</p><p>  mov a, r3</p><p>  djnz B, DLP</p

47、><p>  mov dptr, #OUTBIT</p><p>  mov a, r2</p><p>  movx @dptr, a ; 顯示一位八段管</p><p>  mov r6, #1</p><p>  call Delay</p><p>  mov

48、 a, r2 ; 顯示下一位</p><p><b>  rl a</b></p><p>  mov r2, a</p><p><b>  inc r0</b></p><p>  djnz r1, Loop</p><p>  mo

49、v dptr, #OUTBIT</p><p>  mov a, #0</p><p>  movx @dptr, a ; 關(guān)所有八段管</p><p><b>  clr 0d3h</b></p><p><b>  ret</b></p><p>

50、  LEDMAP: ; 八段管顯示碼</p><p>  db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h</p><p>  db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h</p><p><b>  END</b>&

51、lt;/p><p>  6.2.2 系統(tǒng)軟、硬件調(diào)試過程</p><p>  將十進(jìn)制數(shù)改為十六進(jìn)制數(shù)</p><p>  IOOP0:MOV R2,TH0</p><p>  MOV R3,TL0</p><p>  MOV R0,LEDBuf</p><p><b>  MOV A,

52、R3</b></p><p>  LCALL PTDS</p><p><b>  MOV A,R2</b></p><p>  LCALL PTDS</p><p>  LCALL DISPLAY</p><p>  當(dāng)工作在定時方式時,計數(shù)脈沖來自單片機的內(nèi)部,每個機器周期使計數(shù)器

53、加1,由于計數(shù)脈沖的頻率是固定的(即每個脈沖為1個機器周期的時間),故可通過設(shè)定計數(shù)值來實現(xiàn)定時功能。當(dāng)工作在計數(shù)方式時,計數(shù)脈沖來自單片機的引腳,每當(dāng)引腳上出現(xiàn)一個有1到0的電平變化時,計數(shù)器的值加1,從而實現(xiàn)計數(shù)功能??梢酝ㄟ^編程來指定時技術(shù)計數(shù)器的功能,以及他的工作方式。讀取計數(shù)器的當(dāng)前值時,應(yīng)讀3次。這樣可以避免在第一次讀完后,二次讀完錢,由于低位溢出向高位進(jìn)行時的錯誤。</p><p><b>

54、;  6.3搶答器實驗</b></p><p><b>  6.3.1.程序</b></p><p>  org 0000h 初始地址</p><p>  ajmp main ;跳入main</p><p><b>  org 0003h</b></p>&l

55、t;p>  ajmp start ;跳入start</p><p><b>  org 000bh</b></p><p>  ajmp time ;跳入time</p><p><b>  org 0030h</b></p><p>  main: mov tmod,#

56、1 ;主程序</p><p>  mov th0,#0b1h ;定時期高八位賦值</p><p>  mov tl0,#0e0h ;定時期低八位賦值</p><p>  mov ie, #83h ; 申請中斷控制數(shù)</p><p>  setb tr0 ;開定時期</p><p

57、>  mov r3,#0 ;工作寄存器賦值</p><p>  mov r4,#0 ;工作寄存器賦值</p><p>  mov 30h,#0</p><p>  mov 31h,#0</p><p>  mov 32h,#0</p><p><b> ?。伙@示子程序<

58、/b></p><p>  disp: mov sp,5fh ;堆棧指針</p><p>  mov a,#03h</p><p>  mov dptr,#0ff20h ;初值</p><p>  movx @dptr,a</p><p>  loop: mov r5,#1</p><

59、;p>  mov r0,#30h</p><p><b>  mov a,r5</b></p><p>  loop1: mov dptr,#0ff21h ;A口輸出</p><p>  movx @dptr,a</p><p>  mov dptr,#0ff22h ;B口輸出</p><

60、p><b>  mov a,@r0</b></p><p>  add a,#0eh</p><p>  movc a,@a+pc ;查表</p><p>  movx @dptr,a</p><p>  acall dlay ;調(diào)用延時程序</p><p><b

61、>  inc r0</b></p><p><b>  mov a,r5</b></p><p>  jb acc.2,ld ;判斷</p><p>  rl a ;a值左移</p><p><b>  mov r5,a</b></p>

62、<p>  ajmp loop1 ;跳回loop1</p><p>  ld: sjmp loop ;跳回loop</p><p>  table: ;數(shù)據(jù)表</p><p>  db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0c8h</p><p&g

63、t;  dlay: mov r7,#02h ;延時子程序1.02ms</p><p>  dl1: mov r6,#0ffh</p><p>  dl2: djnz r6,dl2</p><p>  djnz r7,dl1</p><p><b>  ret</b></p><p>  t

64、ime: mov th0,#0b1h;判斷有人搶答</p><p>  mov tl0,#0e0h</p><p>  push psw ; 壓棧保存</p><p><b>  push acc</b></p><p>  mov a,#0fh</p><p><b&

65、gt;  orl p1,a</b></p><p><b>  mov a,p1</b></p><p>  anl a,#0fh</p><p>  cjne a,#0,go_on ;判斷a值,a=0,繼續(xù)程序;a≠0,跳轉(zhuǎn)go_on</p><p>  inc r3 ;

66、r3+1</p><p>  cjne r3,#25,back ;判斷r3與25大小,r3=25,繼續(xù)程序;r3≠25,跳轉(zhuǎn)到back</p><p><b>  mov r3,#0</b></p><p>  inc r4 ;r4+1</p><p><b>  mov a,r

67、4</b></p><p><b>  mov b,#10</b></p><p><b>  div ab</b></p><p><b>  mov 31h,a</b></p><p><b>  mov 30h,b</b></p&g

68、t;<p>  cjne r4,#20,back</p><p><b>  cpl p1.7</b></p><p>  mov 32h,#10</p><p><b>  clr tr0</b></p><p><b>  sjmp back</b></

69、p><p>  go_on: clr tr0 ;判斷誰搶答</p><p>  jnb acc.0,two</p><p>  mov 32h,#01h</p><p><b>  sjmp back</b></p><p>  two: jnb acc.1,three</

70、p><p>  mov 32h,#02h</p><p><b>  sjmp back</b></p><p>  three: jnb acc.2,four</p><p>  mov 32h,#03h</p><p><b>  sjmp back</b></p>

71、;<p>  four: mov 32h,#04h</p><p>  back: pop acc</p><p><b>  pop psw</b></p><p><b>  reti</b></p><p>  start: setb tr0 ;中斷后,繼續(xù)記時</

72、p><p><b>  reti</b></p><p><b>  end</b></p><p><b>  6.3.2.流程圖</b></p><p>  6.3.3.把單片機中需要的連線進(jìn)行正確的連接,檢查無誤后開始運行程序。</p><p>  6

73、.3.4運行程序,開始計時,當(dāng)有人搶答時,看LED數(shù)碼管是不是分別顯示搶答人號碼和時間,時間及號碼均顯示,看時間是不是停止加時,給一個脈沖后,說明剛才強答的回答不正確可繼續(xù)搶答,這時時間應(yīng)累加記時,若到達(dá)20S后,顯示最后一個強答人的號碼。無人答對時,顯示無人搶答。</p><p><b>  7.心得體會</b></p><p>  我是工學(xué)專業(yè)的學(xué)生,設(shè)計是我們將

74、來必需的技能,這次課程設(shè)計恰恰給我們提供了一個應(yīng)用自己所學(xué)知識的機會,從到圖書館查找資料到對電路的設(shè)計以及程序的編寫,對電路的仿真再到最后電路的成型,都對我所學(xué)的知識進(jìn)行了檢驗。 我深刻的體會到在設(shè)計過程中,需要反復(fù)實踐,其過程很可能相當(dāng)煩瑣,有時花很長時間設(shè)計出來的電路還是需要重做,那時心中未免有點灰心,有時還特別想放棄,此時更加需要靜下心,查找原因。</p><p>  通過這次單片機課程設(shè)計,我體

75、會到了單片機在現(xiàn)代電子產(chǎn)品中的廣泛用途和強大功能,復(fù)習(xí)了老師上課講的內(nèi)容。但是由于時間倉促還有許多有待完善的地方,我會在以后的學(xué)習(xí)工作中繼續(xù)努力。 </p><p>  總體來說,這次實習(xí)我受益匪淺。在摸索該如何設(shè)計電路使之實現(xiàn)所需功能的過程中,特別有趣,培養(yǎng)了我的設(shè)計思維,增加了實際操作能力。在讓我體會到了設(shè)計電路的艱辛的同時,更讓我體會到成功的喜悅和快樂。  

76、0; 在這里,我也非常感謝各位老師的耐心輔導(dǎo)以及同學(xué)們的熱心幫助。我忠心的感謝各位老師,你們辛苦了!</p><p>  希望在今后的學(xué)習(xí)過程中,老師能夠多加引領(lǐng)我們走向更尖端的科技和更復(fù)雜高深的領(lǐng)域,加強專業(yè)技術(shù)的培訓(xùn)和更多的開展科研創(chuàng)新研究。通過實踐引導(dǎo)我們在理論指導(dǎo)下有所創(chuàng)新,為日后工程實踐奠定基礎(chǔ)。</p><p><b>  8參考文獻(xiàn)</b></p

77、><p>  【1】肖洪兵. 跟我學(xué)用單片機. 北京:北京航空航天大學(xué)出版社,2002.8 </p><p>  【2】何立民. 單片機高級教程. 第1版.北京:北京航空航天大學(xué)出版社,2001 </p><p>  【3】趙曉安. MCS-51單片機原理及應(yīng)用. 天津:天津大學(xué)出版社,2001.3 </p><p>  【4】李廣第. 單片機基

溫馨提示

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

評論

0/150

提交評論