基于AT89C51單片機的數字時鐘設計.doc_第1頁
基于AT89C51單片機的數字時鐘設計.doc_第2頁
基于AT89C51單片機的數字時鐘設計.doc_第3頁
基于AT89C51單片機的數字時鐘設計.doc_第4頁
基于AT89C51單片機的數字時鐘設計.doc_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

安徽商貿職業(yè)技術學院 畢業(yè)設計(論文)安徽商貿職業(yè)技術學院畢 業(yè) 論 文 設 計 課題:基于at89c51單片機的數字時鐘設計系部:學制: 專業(yè):姓名: 學號: 2014 年xx月xx日 摘 要本設計以數字集成電路技術為基礎、單片機技術為核心。軟件設計模塊化結構、c語言編程。系統(tǒng)通過帶字庫的lcd12864顯示數據,通過4*4矩陣鍵盤控制顯示文字、公歷日期(年、月、日、星期)、時間(時、分、秒) 文字反白、自定義字符、圖片顯示,可以通過鍵盤調整時間、日期,溫度,同時按下鍵盤時,七段數碼管顯示相應鍵位的鍵位標識。在內容安排上首先描述系統(tǒng)硬件工作原理,著重介紹了各硬件接口技術和各個接口模塊的功能;其次,詳細闡述了程序的各個模塊和實現過程。關鍵詞:單片機、數字溫度日歷表設計 引言儀器儀表的鍵盤顯示系統(tǒng),是實現通過鍵盤的控制,使lcd屏幕有相應的顯示,廣泛用于各個領域,如電腦、家電、數字儀器等,成為人們直觀了解和控制儀器、設備的運行狀態(tài)的重要依據,給人們的生活帶了方便,成為現代人們生活、工作的必需品。數字化顯示系統(tǒng)告別了以前老式的監(jiān)控和計算儀器、設置狀態(tài)方式,給人們帶來了極大的方便。本設計是儀器儀表的控制顯示模擬系統(tǒng),所有的儀器儀表的控制顯示系統(tǒng)都是以此為基礎而擴展的。因此,研究儀器儀表的控制顯示系統(tǒng)及擴大其應用有著非?,F實的意義。本設計就是儀器儀表的控制顯示系統(tǒng)簡單的模擬和擴展應用。目 錄摘要1引言11 設計要求41.1 基本要求41.2 發(fā)揮部分42 方案設計與論證42.1 控制部分方案論證42.2 顯示部分方案論證53 系統(tǒng)框圖及工作原理53.1 系統(tǒng)框圖53.2 工作原理53.2.1硬件工作原理53.2.2軟件工作原理64 硬件原理分析及設計64.1 單片機時鐘電路64.2 單片機復位電路74.2.1復位電路的可靠性設計74.3 鍵盤電路84.4 顯示電路84.4.1 lcd顯示電路84.4.2七段數碼管顯示電路94.4 整體電路圖104.5 系統(tǒng)硬件設計所需的元件125 軟件設計125.1 軟件總體設計及框圖135.2 軟件重要子程序設計及框圖135.2.1顯示部分135.2.2鍵盤掃描部分155.2.3時鐘部分155.2.4延時部分176 硬件安裝制作186.1 pcb板制作186.2 元件焊接18結 論19參考文獻211 設計要求1.1 基本要求1)開機lcd液晶屏幕顯示“10級電子信息工程xxxx畢業(yè)設計”信息。2)設計4x4矩陣鍵盤,分別對應鍵碼“0-f”。3)按下任意一個按鍵,lcd液晶屏幕顯示相應按鍵的信息(不同按鍵的顯示內容可以自行設計)。1.2 發(fā)揮部分1)lcd液晶屏幕增加裝飾圖案。2)增加一個led數碼管同步顯示相應鍵碼。3)增加一個led點陣同步顯示相應鍵碼。2 方案設計與論證2.1 控制部分方案論證方案一:可采用altera公司的flex10k系列pld器件。設計起來結構清晰,各個模塊,從硬件上設計起來相對簡單,控制與顯示的模塊間的連接也會比較方便。但是考慮到本設計的特點,eda在功能擴展上比較受局限,而且eda占用的資源也相對多一些。從成本上來講,用可編程邏輯器件來設計也沒有什么優(yōu)勢,而以我們目前的條件在硬件和軟件也無法實現本設計的各種要求。方案二:凌陽16位單片機有豐富的中斷源和時基。它的準確度相當高,并且c語言的編程環(huán)境也很方便來實現一些遞歸調用。i/o口功能也比較強大,方便使用。用凌陽16位單片機做控制器最有特色的就是它的可編程音頻處理,可完成語音的錄制播放和識別。這些都方便對設計進行擴展,使設計更加完善。成本也相對低一些。但是,在控制與顯示的結合上有些復雜,顯示模組資源相對有限,而且單片機的穩(wěn)定性不是很高,而且就需要完成這個儀器儀表的鍵盤顯示模擬系統(tǒng)不太復雜的設計可以不必用凌陽16位單片機來完成。方案三:at89s52是8位單片機,提供的的四組8個i/o口能夠實現既定功能,成本也不高。綜合考慮最后選擇用at89s52單片機來作為中心控制器件。2.2 顯示部分方案論證方案一:使用lcd1602成本低,程序控制簡單,但它只能顯示16x2個半寬字型符,不能顯示漢字,比較單調。方案二:帶字庫的由st7920控制的lcd12864硬件上提供8位,4位并行接口及串行接口供選擇,6416 位字符顯示 ram(ddram 最多 16 字符4 行,lcd 顯示范圍 162 行),2m 位中文字型 rom(cgrom),總共提供 8192 個中文字型(1616 點陣),16k 位半寬字型 rom(hcgrom),總共提供 126 個西文字型(168 點陣),6416 位字符產生 ram(cgram)。在軟件上提供文字與圖形混合顯示、畫面清除、光標歸位、顯示開/關 、光標顯示/隱藏、顯示字體閃爍、光標移位功能、顯示移位、垂直畫面旋轉、反白顯示、休眠模式的功能,相對于lcd1602來說功能豐富,而且已內建有gb碼簡體中文字型庫,方便編程。綜合以上方案,決定采用lcd12864(除非特殊說明,以下都簡稱lcd)作為顯示器件。3 系統(tǒng)框圖及工作原理3.1 系統(tǒng)框圖圖1 系統(tǒng)框圖3.2 工作原理3.2.1硬件工作原理硬件控制電路主要用了44矩陣鍵盤、at89s52芯片處理器、lcd和七段數碼管。由at89s52處理器處理從44鍵盤發(fā)出的指令,通過lcd和七段數碼管顯示出相應按鍵的內容。3.2.2軟件工作原理軟件控制程序主要有主控程序、時間程序、lcd控制程序、時間及日期顯示程序、鍵盤掃描程序等組成。主控程序中對整個程序進行控制,進行了時間和lcd初始化、lcd和數碼管顯示等控制。lcd顯示程序是整個顯示部分中的重要部分,包括寫入命令、初始化、寫入數據、數據顯示、自定義gdram顯示、繪圖顯示、反白顯示等。當lcd的rs=rw= 0,同時en由1變0時,可以對lcd寫入基本指令和擴充指令;當rs=1,rw=0,同時en由1變0時,可以對lcd寫入數據。對lcd端口寫入不同的命令可以寫入和顯示不同的數據,具體命令請參考lcd12864和數據手冊。lcd時間控制程序是時間程序重要的部分,時間控制程序體現了年、月、日、時、分、秒的計算方法。此設計采用at89s52自帶的t0計時器進行計時,中斷程序每隔50ms中斷一次當作一個計數,每中斷一次則計數加1,當計數20次時,則表示1秒到了,秒變量加1,同理再判斷是否1分鐘到了,再判斷是否1小時到了,再判斷是否1天到了,再判斷是否1月到了,再判斷是否1年到了,若計數到了則相關變量清除0。先給出一般年份的每月天數。如果是閏年,第2月天數為29天,非閏年則有28天。在我們的這個設計中只設有100年的范圍,判斷是否閏年就只需要用該年份除以4來判斷就行了。鍵盤掃描程序是整個設計的輸入控制程序,44鍵盤占用單片機的8個i/o口。本設計的鍵盤掃描程序采用行列反轉掃描法讀取按鍵鍵值。單片機先讓鍵盤行線輸出全為0,然后讀入列線值,再檢測有無按鍵按下,去抖,再讀入列線值,輸出當前列線值,讀入行線值,最后組合行、列線值,得到鍵盤的碼值供調用。4 硬件原理分析及設計4.1 單片機時鐘電路內部時鐘電路如圖所示,在xtal1和xtal2引腳上外接定時元件,內部振蕩電路就產生自激振蕩。定時元件通常石英晶體和電容組成的并聯諧振回路,晶體振蕩器選擇12mhz,電容采用30pf。圖2 時鐘電路4.2 單片機復位電路 影響單片機系統(tǒng)運行穩(wěn)定性的因素可大體分為外因和內因兩部分: (1)外因射頻干擾,它是以空間電磁場的形式傳遞在機器內部的導體(引線或零件引腳)感生出相應的干擾,可通過電磁屏蔽和合理的布線/器件布局衰減該類干擾; 電源線或電源內部產生的干擾,它是通過電源線或電源內的部件耦合或直接傳導,可通過電源濾波、隔離等措施來衰減該類干擾。(2)內因振蕩源的穩(wěn)定性,主要由起振時間頻率穩(wěn)定度和占空比穩(wěn)定度決定 起振時間可由電路參數整定穩(wěn)定度受振蕩器類型溫度和電壓等參數影響復位電路的可靠性。4.2.1復位電路的可靠性設計復位是單片機的初始化操作。單片機啟動運行時,都需要先復位,其作用是使cpu和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因而,復位是一個很重要的操作方式。但單片機本身是不能自動進行復位的,必須配合相應的外部電路才能實現。復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經一定的延時才撤銷復位信號,以防電源開 關或電源插頭分-合過程中引起的抖動而影響復位。如圖3所示。圖3 復位電路4.3 鍵盤電路44鍵盤電路由44=16個按鍵組成,其中4列經過4個10k電阻接入vcc上拉,接入單片機的p3口的高4位口,4行直接接入單片機低4位,當有按鍵按下時,由單片機控制8個i/o口讀取出當前鍵值。圖4 鍵盤電路 4.4 顯示電路4.4.1 lcd顯示電路lcd12864一共有20個引腳,其中4-15、17腳接入單片機的p0全部i/o口和p2的三個i/o口,是lcd與單片機通訊的橋梁。16號腳是空腳,1和20腳接地,2和19腳接vcc,其中3、18、19三個腳接可調電位器和電阻,組成調節(jié)lcd對比度電路。圖4.4.1 lcd顯示電路如圖5所示。4.4.2七段數碼管顯示電路采用的是共陽數碼管,它的8個腳接入p1全部i/o口,pnp三極管的發(fā)射極接vcc,集電極經過一個電阻限流接入數碼管的公共端,基極接單片機的p2.0口,由單片機給一個基極電流使三極管三極管導通,驅動數碼管顯示。如圖6所示。21 圖5 lcd顯示電路 圖4.4.2 數碼管顯示電路 圖6 數碼管顯示電路 4.4 整體電路圖根據以上各模塊的功能互相連接成為此設計的整體電路, 圖7 整體電路圖4.5 系統(tǒng)硬件設計所需的元件表1 元件列表元件名稱數量(個)元件名稱數量(個)lcd12864112m晶振1at89s52芯片130pf瓷片電容2七段數碼管110uf電解電容11k電阻5按鍵開關172k電阻1發(fā)光二極管251k電阻1排針1(排)10k電阻4插針1(排)10k電位器1自鎖開關1103*8排阻15v電源15 軟件設計此設計名為儀器儀表的鍵盤顯示模擬系統(tǒng),顧名思義軟件占很大比例。整個設計硬件比較簡單,主要就是程序的寫法,而軟件的調試也是此設計的重點和難點。整個軟件結構分為主控程序、顯示部分程序、鍵盤掃描部分程序、時鐘部分程序和延時程序。5.1 軟件總體設計及框圖圖8 軟件設計總體框圖開機后,主控程序先讓單片機給p2.0一個低電平,開啟數碼管顯示,然后初始化lcd包括設置基本指令集、設置光標、設置顯示模式等,接下來是時鐘的初始化,包括開啟定時和中斷、時間的走時(秒、分、時、日、月、年、星期),最后就顯示開機畫面并開始掃描鍵盤,若有按鍵按下則lcd和數碼管顯示相應的內容,8號鍵作為設置日期和時間的閥門,按下第一次時進入調整日期狀態(tài),第二次是調整時間,第三次調整溫度,第四次返回。5.2 軟件重要子程序設計及框圖主控程序是建立在各子程序的基礎上,各子程序寫好后,由主程序調用。5.2.1顯示部分顯示部分的大體框圖如下:圖9 顯示部分流程圖為了區(qū)別調整時間和日期的按鍵與其他顯示內容沖突,在這里給了8號鍵一個變量key_flag,未按下8號鍵時key_flag=0,程序執(zhí)行圖9框圖所示的內容,當按下8號第一次時key_flag=1進入調整日期狀態(tài),當按下8號鍵第二次時key_flag=2,進入調整時間狀態(tài),當按下第三次時顯示開機畫面并讓key_flag=0執(zhí)行圖9所示內容。顯示部分程序涉及到lcd的初始化、寫入命令和數據,寫命令和數據的通訊方式已經在上文提到,這里不再闡述。此設計用到的lcd是帶有字庫的,要讓lcd顯示中文只需要往lcd寫入ddram地址,再寫入中文。ddram的0x800x87,0x900x97,0x880x8f,0x980x9f分別對應lcd的第一、二、三、四行,一行可以寫入8個中文字符對應每行的8個地址。有的中文在字符沒有,lcd顯示就會是亂碼,這時需要查詢該字的16進制編碼,再寫入lcd。要讓lcd顯示圖片,需要給lcd寫入命令0x36,以開啟繪圖模式。此設計的圖片取模方式是逐行自上而下顯示,先寫上半屏再寫下半屏,屏幕x/y軸的起點為0x80,寫完上半屏后令x=0x88接著寫下半屏,本設計用到的三張圖片都是自己畫的。6號按鍵用到的自定義字符是通過取模寫入cgram,通過命令調取顯示。本設計還用到反白顯示、文字循環(huán)左移、文字向上滾動。反白顯示是lcd的擴充指令集之一,只要寫入0x04可以實現第一、三行顯示,寫入0x05實現第二、第四行反白顯示,st7920 控制器的 12864 點陣液晶其實原理上等同 25632 點陣,第三行對應的 ddram 地址緊接第一行;第四行對應的 ddram 地址緊接第二行。 因此在使用行反白功能時,第一行反白,第三行必然反白。第二行反白,第四行必然反白。文字循環(huán)左移只需要寫入擴充指令0x18就可以實現。而文字向上滾動的實現,本設計定義了8個變量aa,bb,cc,dd,j,k,l,m,其中aa,bb,cc,dd對應lcd的四行ddram地址0x80,0x90,0x88,0x98,j,k,l,m四個變量用來實現ddram地址的變換,變換方法為:j=bb,bb=aa,k=cc,cc=j,l=dd,dd=k,m=aa,aa=l,運行第一次后,第一行變?yōu)榈诙械膬热?,第二行變?yōu)榈谌械膬热?,第三行變?yōu)榈谒男械膬热?,而第四行則變?yōu)榈谝恍械膬热?,如此循環(huán)就實現文字向上滾動的效果。5.2.2鍵盤掃描部分本設計掃描鍵盤方式采用行列反轉掃描法讀取按鍵編碼。單片機先讓鍵盤行線輸出全為0,然后讀入列線值,再檢測有無按鍵按下,去抖,再讀入列線值,輸出當前列線值,讀入行線值,最后組合行、列線值,得到鍵盤的碼值供調用,代碼如圖10所示。當有按鍵按下單片機讀取出鍵值后,給主程序、調整時間和日期函數調用,同時送出編碼給p1,讓數碼管顯示當前按鍵對應的16進制代碼0-f。 uc keyscan( ) /鍵盤掃描函數,使用函數反轉掃描法uc cord_h,cord_1; /行量值中間變量 p3|=00f; /行線輸出全為零cord_h =p3&00f; /讀入列線值if (cord_h!=00f) /先檢查有無案件按下 delay(100); / 去抖 if(cord_h!=00f) cord_h=p3&00f; / 讀入列線值 p3=cord_h/0f0 ; / 輸出當前列線值cord_1=p3&0f0; / 讀入行線值 return(cord_h+cord_1); / 鍵盤最后組合碼值 return(0ff); /返回該值 圖10 鍵盤掃描程序5.2.3時鐘部分本設計時鐘走時部分采用單片機內置的t0定時器,at89s52單片機的定時器由兩個16位定時器t0、t1、方式寄存器tmod和定時器控制器tcon組成。其中t0、t1又可分成獨立的8位計數器即th0、tl0和th1、tl1,用于存儲定時器、計數器的初值;tmod為方式寄存器,主要用來設置定時器/計數器和方式;tcon為控制寄存器,用來控制定時器/計數器的啟動與停止。tmod是一個專用寄存器,用來控制定時器t0和t1的工作方式用操作模式,其中tmod的高4位用于對t1的控制,低4位用于對t0的控制,各位定義及格式如圖11所示。圖11工作模式控制寄存器tmod示意圖其中gate為門控制,用來控制定時器啟動方式。當gate=0時,定時器由軟件控制位tr0或tr1來控制啟動。gate=1時,定時器由外中斷請求信號來控制啟動。為定時或計數方式選擇位,當為0時為定時工作方式,為1時計數工作方式。m1、m0為工作模式選擇位,兩個工作模式選擇位可以形成4種編碼,對應4種工作模式:m1=m0=0時為模式0;m1=0,m0=1時為模式1;m1=1,m0=0時為模式2;m1=m0=0時為模式3。此設計用定時器0,工作模式1,所以對應tmod=0x01。同時定時50ms,對應的th0=(65536-50000)/10,tl0=(65536-50000)%10。tcon既參與中斷控制,又參與定時器/計數器控制,本設計只用到它的定時器/計數器功能。tcon各位定義如圖12所示,其中d0-d3與外部中斷有關,此設計未用到。圖12 定時器控制寄存器tcon示意圖tr0為定時器/計數器t0的運行控制位,為0時停止定時器/t0計數器t0;為1時啟動定時器/計數器t0。tr1為定時器/計數器t1的運行控制位,功能與t0相同。tf0、tf1本設計用不到,不做說明。本設計只用到t0,當設置好tmod后令tr0=1就啟動t0定時器/計數器開始工作。設置好tmod和tcon后,每過50ms定時器就會溢出產生中斷,同時令變量deda另,當deda加到20后一秒鐘就到了,這里令秒變量sec加1,同時令deda0重新計數;當sec加到60,令sec0,同時分變量min加1;當min60,令min0并讓小時變量hour加1, 如此就可以得到日、月、年的精確時間。當一天到了,天加1時,星期也隨著加1,當加到星期天時令其回到星期一。每個月的天數不一樣,本設計采用switch-case語句讓大月為31天,小月為30天,但閏年的二月是不一樣的,這里對年進行取余,當判斷余為0時,即為閏年,二月就有29天,其它年份為28天。時間調整部分比較簡單,當按下8號鍵第一次后,進入調整日期狀態(tài),按下9號鍵控制年減,13號鍵年加;10號鍵月減,14號鍵月加111號鍵日減115號鍵日加;12號鍵星期減,16號鍵星期加。當按下8號鍵第二次后,進入時間調整狀態(tài),9號鍵時減,13號鍵時加;10號鍵分減,14號鍵分加;15號鍵秒清零。當第三次按下8號鍵時,回到顯示基本內容狀態(tài),同時lcd顯示開機畫面。實現方式為單片機掃描到相應按鍵時,相應的變量就是做出相應的變化。5.2.4延時部分本設計的單片機采用12mhz晶振,那么單片機的周期t1us,單片機每運行一次循環(huán)大概要10us,采用三層do-while語句來實現精確1ms延時,如圖13所示。 vord delay (ui t) uc i , j; do j=2; do (i=165); do nop ( ) ;/n個nop while (-i); while (-j); 圖13 延時程序1計算公式為t總=3j+(n+2)ij+3t+5t,t為晶振周期。此延時是供其他函數調用,而lcd寫入命令、數據時若用上面的延時會出現“反應慢”的問題,因為每次寫入一個命令和數據都要經過延時,累加起來就多了,即使是只延時1ms也是一樣,所以本設計提供第二個延時函數delay1(),通過參考lcd的時序,證明使用這個延時函數沒有問題。 vord delay1(ui count) uc i,j; for(i=0 ;icount;i+) for (j=0;j電源線信號線。本設計的線寬為:地線2mm,電源線1.5mm,其他信號線0.8mm。6.1 pcb板制作畫好pcb圖后用轉印紙打印,再用轉印機將圖紙轉入覆銅板,接下來用油性筆對不清晰或斷的走線進行彌補,防止腐蝕的時候把電氣線路給腐蝕掉。之后就可以開始腐蝕了,腐蝕液用鹽酸:雙氧水:水3:1:2的比例兌。等銅板腐蝕好后用直徑0.8mm的鉆針鉆孔,鉆出插件元件引腳的插孔,然后用細砂紙擦掉炭粉后立即涂上松香液,防止銅層氧化。松香液是用松香和99%濃度的工業(yè)酒精按1:5的比例配制的。這樣pcb板就出來了。6.2 元件焊接焊接前準備好電烙鐵、焊錫、吸錫器、剪線鉗、剝線鉗、鑷子等焊接工具,同時準備好要焊接的元件和導線。在清理元器件時,重點辯別認清電阻器阻值及相應代號,對電阻、電容、發(fā)光二極管、三極管等要用萬用表一一檢測是否是良品。焊接時,先焊好跳線,再按從小到大、從臥到立的原則把元件焊好。電阻、昌振、插槽采用臥式插裝,并近貼電路板;瓷片電容、電解電容、三極管、排針、排阻等采用立式插裝,也要近貼電路板。發(fā)光二極管、電解電容、三極管、集成電路等必須按正確的極性插裝,否則電路不會正常工作,甚至通電后還會被燒壞。焊完元器件后,用剪線鉗剪掉多余元器件的引線。焊接完后,還要認真對照電路原理圖,檢查電路板上有無漏焊、錯焊、短路、斷路等錯誤現象,確認無誤后才能通電調試。 結 論從設計題目下來到現在歷時兩個多星期,克服了硬件和軟件上各種問題,實現大部分的功能。因為本設計硬件比較簡單,在硬件上碰到的就是一個電解電容引起的不能燒錄程序的問題,其他功能都正常。而主要的難題是在軟件設計上,在軟件上碰到以下幾點問題:(1) 對lcd寫入命令和數據的格式、時序弄亂。(2) 對lcd基本指令集、擴充指令集比較模糊,在顯示圖片部分時滯留了很久。(3) 對圖片的取模抓不住頭緒。(4) 在設計時鐘部分時,單片機的定時器/計數器、中斷部分出錯。而這些問題都是跟自己對單片機的掌握不夠深有關,這也提醒了我們要抓好基礎功,基礎好了,對付起這些問題才會得心應手。本設計到目前為止還不算“智能化”,功能還比較單一,發(fā)揮部分的功能還有點

溫馨提示

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

評論

0/150

提交評論