單片機按鍵控制定時器選播多段音樂_第1頁
單片機按鍵控制定時器選播多段音樂_第2頁
單片機按鍵控制定時器選播多段音樂_第3頁
單片機按鍵控制定時器選播多段音樂_第4頁
單片機按鍵控制定時器選播多段音樂_第5頁
免費預(yù)覽已結(jié)束,剩余14頁可下載查看

下載本文檔

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

文檔簡介

1、鄭州科技學(xué)院單片機課程設(shè)計題 目按鍵控制定時器選播多段音樂學(xué)生姓名 張三專業(yè)班級15級物聯(lián)網(wǎng)一班學(xué) 號 學(xué)1566666院(系)信息工程學(xué)院指導(dǎo)教師 王完成時間2017 年6月8日一、背景介紹如今,電子技術(shù)獲得了飛速的發(fā)展,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域。 目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步想著CMO觥、低功耗、小體積、大容量、高性能、低價格和外圍電路裝化等幾個方面發(fā)展。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片, 而是把一個 計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片 機只缺少了 I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機

2、。它的體積小、質(zhì) 量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機 是了解計算機原理與結(jié)構(gòu)的最佳選擇。單片機內(nèi)部也用和電腦功能類似的模塊, 比如CPU內(nèi)存、并行總線。還有和硬件作用相同的存儲器件,不同的是它的這 些部件性能都相對我們的家用電腦弱很多,不過價錢也是很低的。利用單片機實現(xiàn)音樂播放有很多要點, 例如外部電路簡單,控制方便等,因 而備受廣大單片機愛好者的喜愛。通過音樂播放器的設(shè)計方案,掌握C語言的編 寫方法。并熟練的運用80C51單片機定時器產(chǎn)生固定頻率的方波信號,推動喇叭 發(fā)出旋律,按下單鍵可以演奏預(yù)先設(shè)置的歌曲旋律, 最重要的是自己還可以通過 程序設(shè)計輸入自己

3、喜歡的歌曲來演奏,本設(shè)計采用簡易音階編碼直覺式輸入法方 便設(shè)計音樂旋律。本文將圍繞基于單片機按鍵控制定時器選播多段音樂,介紹一些關(guān)于單片機的基 礎(chǔ)知識、音樂播放器的制作原理及方法(其中包括了音樂編程原理) 、定時器的 設(shè)定,以及仿真軟件(Keil、Proteus )的使用方法。二、設(shè)計方案1、方案設(shè)計對于C51單片機,它抗干擾性較強,且集成度高、功能強、指令豐富等,可 以應(yīng)用的地方較數(shù)字電路更多一些,廣泛應(yīng)用于工業(yè)控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)、 智能化儀器儀表及通訊設(shè)備。而且單片機已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人 民生活的各個層次。采用的是基于C51單片機的音樂播放器的設(shè)計,該系統(tǒng)控制 性能良好,

4、硬件電路簡單、經(jīng)濟(jì)實惠,能得到更好的效果。本設(shè)計以at89C51單片機為核心,通過對其定時器的設(shè)定來實現(xiàn)音樂的播放, 借助鍵盤可以向計算機系統(tǒng)輸入程序, 置數(shù)、送操作命令、控制程序的執(zhí)行走向等,并最終通過數(shù)碼管顯示出播放曲目的標(biāo)號圖1-1結(jié)構(gòu)總圖2、方案要求音樂播放器按照從頭到尾的順序自動播放預(yù)先設(shè)定的1-3共3首樂曲,全部樂曲播放完畢則停止。按鍵分別是播放鍵。按下播放鍵時,音樂播放器會在當(dāng)前播放的音樂切換播放和暫停;2.3、音樂播放器的組成據(jù)系統(tǒng)按鍵控制定時器選播多段音樂的功能要求,一個完整的音樂播放器電 路相當(dāng)于一個簡單的單片機系統(tǒng),該系統(tǒng)由按鍵開關(guān)、單片機、LED顯示電路、揚聲器控制電路

5、4個方面構(gòu)成。1.51單片機:at89c51單片機為整個系統(tǒng)的核心部分,是帶動整個系統(tǒng)工作 的重要部分。2 .揚聲器:揚聲器用一蜂鳴器,作為輸出部分按照鍵盤給單片機的指令發(fā)出 樂曲。3 .LED數(shù)碼管顯示電路:LED數(shù)碼管也作為輸出部分按照鍵盤給單片機的指 令,顯示正在演奏的樂曲的序號。電源設(shè)計圖音樂播放電路:牛Ris n/ Q11 I NPNIKgLS1巾/SPEAKER單片機介紹:(1)中央處理器(CPU中央處理器是單片機的核心,完成運算和控制功能。8051的CPUtt處理8位 二進(jìn)制數(shù)或代碼。(2)內(nèi)部數(shù)據(jù)存儲器(內(nèi)部 RAM8951芯片中共有256個RAMI元,但其中后128單元被專用

6、寄存器占用, 能作為寄存器供用戶使用的只是前 128單元,用于存放可讀寫的數(shù)據(jù)。因此通常 所說的內(nèi)部數(shù)據(jù)存儲器就是指前128單元,簡稱內(nèi)部RAM(3)內(nèi)部程序存儲器(內(nèi)部 ROM8951共有4KB掩月M ROM用于存放程序、原始數(shù)據(jù)或表格,因此,稱之為程 序存儲器,簡稱內(nèi)部ROM(4)定時/計數(shù)器8951共有兩個16位的定時/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時 或計數(shù)結(jié)果對計算機進(jìn)行控制。(5)并行 I/O 口MCS-51共有4個8位的I/O 口(PR P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸 入/輸出。(6)用行口8951單片機有一個全雙工的串行口,以實現(xiàn)單片機和其它設(shè)備之間的串行 數(shù)據(jù)

7、傳送。該用行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為 同步移位器使用。(7)中斷控制系統(tǒng)8951單片機的中斷功能較強,以滿足控制應(yīng)用的需要。8051共有5個中斷源,即外中斷兩個,定時/計數(shù)中斷兩個,串行中斷一個。全部中斷分為高級和 低級共兩個優(yōu)先級別。(8)時鐘電路8951芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為 單片機產(chǎn)生時鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6 MHz和12 MHz從上述內(nèi)容可以看出,MCS-51雖然是一個單片機芯片,但作為計算機應(yīng)該 具有的基本部件它都包括,因此,實際上它已是一個簡單的微型計算機系統(tǒng)了。8951是標(biāo)準(zhǔn)的40引腳雙列直插式集

8、成電路芯片。信號引腳介紹:(1)主電源引腳VCC +5 V電源VSS地線(2)時鐘電路引腳XTAL1和XTAL2外接晶體引線端。當(dāng)使用芯片內(nèi)部時鐘時,此二引線 端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。(3)控制信號引腳RST/VPD復(fù)位信號。當(dāng)輸入的復(fù)位信號延續(xù)兩個機器周期以上的高電平時 即為有效,用以完成單片機的復(fù)位初始化操作;當(dāng)單片機掉電時,此引腳上可接 備用電源,由VPD向片內(nèi)RA楓供備用電源,一保持片內(nèi)RAW的數(shù)據(jù)不丟失。ALE/PROG地址鎖存控制信號。在系統(tǒng)擴展時,ALE用于控制把P0 口輸出 的低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。 此外

9、,由于ALE是以晶 振1/6的固定頻率輸出的正脈沖,因此,可作為外部時鐘或外部定時脈沖使用。對于EPROI®單片機,在EPRA喻程期間,此引腳接收編程脈沖。PSEN片外程序存儲器讀選通信號輸出端。EA/VPP:訪問程序存儲控制信號。當(dāng)EA信號為低電平時,對ROM勺讀操作 限定在外部程序存儲器;當(dāng)EA信號為高電平時,對ROM勺讀操作是從內(nèi)部程序 存儲器開始,并可延至外部程序存儲器。對于EPROI®單片機,在EPRA編程期間,止匕引腳接上加 21VEPRO端程電 源VPP(4) I/O引腳P0.0P0.7 : P0 口 8位雙向口線。P1.0P1.7 : P1D8位雙向口線。P

10、2.0P2.7 : P2 口 8位雙向口線。P3.0P3.7 : P3 口 8位雙向口線。P3 口線的第二功能。P3的8條口線都定義有第二功能。引腳第二功能信號名稱P3.0RXD申行數(shù)據(jù)接收P3.1TXD申行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0申請P3.3INT1外部中斷1申請P3.4T0定時/計數(shù)器0的外部輸入P3.5T1定時/計數(shù)器1的外部輸入P3.6WR外部RAIW選通P3.7RD外部RA麟選通以上把8951單片機的全部信號引腳分別以第一功能和第二功能的形式列出。對于各種型號的芯片,其引腳的第一功能信號是相同的,所不同的只在引腳的第 二功能信號。對于9、30和31三個引腳,由于第一功能信號

11、與第二功能信號是 單片機在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。但是 P3 口的情 況卻有所不同,它的第二功能信號都是單片機的重要控制信號。因此,在實際使 用時,都是先按需要選用第二功能信號,剩下的才以第一功能的身份作數(shù)據(jù)位的 輸入/輸出使用。B并行輸入/輸出口電路結(jié)構(gòu)單片機芯片內(nèi)還有一項主要內(nèi)容就是并行 I/O 口。8051共有4個8位的并 行I/O 口,分別記作PR P1、P2、P區(qū)每個口都包含一個鎖存器、一個輸出驅(qū) 動器和輸入緩沖器。實際上,它們已被歸入專用寄存器之列,并且具有字節(jié)尋址 和位尋址功能。在訪問片外擴展存儲器時,低8位地址和數(shù)據(jù)由P0 口分時傳送, 高8位地址由P2

12、 口傳送。在無片外擴展存儲器的系統(tǒng)中,這 4個口的每一位均 可作為雙向的I/O端口使用。8951單片機的4個I/O 口都是8位雙向口,這些口在結(jié)構(gòu)和特性上是基本 相同的,但又各具特點。中斷源中斷源:引起中斷的事件或設(shè)備稱為中斷源。采用中斷的優(yōu)點:良好的中斷系統(tǒng)使處理機具有隨機應(yīng)變的能力,從而擴大 應(yīng)用范圍,提高CP改率51中斷系統(tǒng)的特點:內(nèi)容豐富,結(jié)構(gòu)合理,邏輯性強,高效實用中斷源是指能發(fā)出中斷請求,引起中斷的裝置或事件。8051單片機的中斷源 共有5個,其中2個為外部中斷源,3個為內(nèi)部中斷源:(1) INT0:外部中斷0,中斷請求信號由P3.2輸入。(2) INT1:外部中斷1,中斷請求信號

13、由P3.3輸入。(3) T0:定時/計數(shù)器0溢出中斷,對外部脈沖計數(shù)由P3.4輸入T1:定時/計數(shù)器1溢出中斷,對外部脈沖計數(shù)由P3.5輸入 串行中斷:包括串行接收中斷RI和串行發(fā)送中斷TI。中斷寄存器8951單片機中涉及中斷控制的有3個方面4個特殊功能寄存器:中斷請求:定時和外中斷控制寄存器TCON中行控制寄存器SCON; 中斷允許控制寄存器IE; 中斷優(yōu)先級控制寄存器IP。中斷請求控制寄存器TCONINT0、INT1、T0、T1中斷請求標(biāo)志放在 TCON串行中斷請求標(biāo)志放在 SCON 中。TCOIffi結(jié)構(gòu)、位名稱、位地址如下:表3-2 TCON的狀態(tài)TCOND7D6D5D4D3D2D1D

14、0位名稱TF1-TF0-IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTCO位功能:TF1 T1溢出中斷請求標(biāo)志,T1計數(shù)溢出后,TF1=1TF0 T0溢出中斷請求標(biāo)志T0計數(shù)溢出后,TF0=1IE1外中斷中斷請求標(biāo)志當(dāng)P3.3引腳信號有效時,IE1=1IE0外中斷中斷請求標(biāo)志當(dāng)P3.2引腳信號有效時,IE0=1IT1 外中斷觸發(fā)方式控制位IT1=1,邊沿觸發(fā)方式;IT1=0,電平觸發(fā)方式。IT0 外中斷觸發(fā)方式控制位其意義和功能與IT1相似。(2)中斷請求控制寄存器SCONscon結(jié)構(gòu)、位名稱、位地址如下:TI 用行口發(fā)送中斷請求標(biāo)志RI 用行口接收中斷請求標(biāo)

15、志SCOND7D6D5D4D3D2D1D0位名稱-TIRI位地址-99H98H(3)中斷允許控制寄存器IE8951對中斷源的開放或關(guān)閉由中斷允許控制寄存器 IE控制。IE的結(jié)構(gòu)、位名稱和位地址如下:表3-4 IE的狀態(tài)IED7D6D5D4D3D2D1D0位名稱EA-ESET1EX1ET0EX0位地址AFH-ACHABHAAHA9HA8HEA CPlfr斷允許控制位EA=1, CPUF中;EA=0, CP慶中,且屏蔽所有5個中斷源。EX0 外中斷INT0中斷允許控制位EX0=1, INT0開中;EX0=0 INT0關(guān)中。EX1 外中斷INT1中斷允許控制位EX1=1, INT1 開中;EX1=0

16、 INT1 關(guān)中。ET0 定時/計數(shù)器T0中斷允許控制位ET0=1, T0FF 中;ET0=0, 3 中。ET1 定時/計數(shù)器T1中斷允許控制位ET1=1, T1 開中;ET1=0, T1 關(guān)中。ES 用行口中斷(包括用發(fā)、用收)允許控制位ES=1 ,用行口開中;ES=Q串行口關(guān)中。復(fù)位電路單片機復(fù)位電路是用來讓程序回到初始狀態(tài)并重新執(zhí)行的。單片機系統(tǒng)在運 行中受到各種因素影響不能正常執(zhí)行時,按下復(fù)位按鈕內(nèi)部的程序就會自動從頭 開始執(zhí)行。當(dāng)單片機的復(fù)位引腳RET出現(xiàn)5ms以上的高電平時,單片機就完成了復(fù)位操 作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。為 了使單片機復(fù)

17、位后能脫離復(fù)位狀態(tài),通常選擇 C=1030uF, R=101k?。在單片 機啟動后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近 于0V, RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時候,開關(guān)導(dǎo)通,這個 時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電 容開始釋放之前充的電量。隨著時間的推移,電容的電壓從5V釋放到變?yōu)榱?1.5V, 甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V, 甚至更大,所以RST引腳又接收到高電平。單片機系統(tǒng)自動復(fù)位。中斷入口地址8051的五個中斷入口地址:INT0: 0003HT0: 000B

18、HINT1: 0013HT1: 001BH用行 口: 0023H中斷優(yōu)先控制和中斷嵌套(1)中斷優(yōu)先控制8951中斷優(yōu)先控制首先根據(jù)中斷優(yōu)先級,此外還規(guī)定了同一中斷優(yōu)先級之間 的中斷優(yōu)先權(quán)。其從高到低的順序為:INT0、INT1、T0、T1、用行口。(2)中斷嵌套當(dāng)CPUE在執(zhí)行某個中斷服務(wù)程序時,如果發(fā)生更高一級的中斷源請求中斷, CPUT以“中斷”正在執(zhí)行的低優(yōu)先級中斷,轉(zhuǎn)而響應(yīng)更高一級的中斷,這就是中 斷嵌套。中斷嵌套只能高優(yōu)先級“中斷”低優(yōu)先級,低優(yōu)先級不能“中斷”高優(yōu)先級,同一優(yōu)先級也不能相互“中斷”。三、系統(tǒng)程序#include<reg51.h>#include<

19、intrins.h>#define uchar unsigned char#define uint unsigned intsbit K1=P1A0;/播放和停止鍵sbit SPK=P3A7;/ 蜂鳴器uchar Song_Index=0,Tone_Index=0; 當(dāng)前音樂段索引,音符索引/數(shù)碼管段碼表codecodeucharDSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/標(biāo)準(zhǔn)音符頻率對應(yīng)的延時表ucharHI_LIST=0,226,229,232,233,236,238,240,241,242,244,245,

20、246,247,248 ;uchar code LO_LIST=0,4,13,10,20,3,8,6,2,23,5,26,1,4,3;/三段音樂的音符uchar code Song50=1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1, 3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,53,3,2,1,1,-1, 3,2,1,321,1,231,1,2,3,1,3,4,534,5,5,6,5,3,5,32132,1,1,-1;/三段音樂的節(jié)拍uchar code Len50=1,1,1,1,1,1,1,1,

21、1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1, 1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1, 1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1;/外部中斷0void EX0_INT() interrupt 0(TR0=0; /播放結(jié)束或者播放中途切換歌曲時停止播放Song_Index=(Song_Index+1)%3;/ 跳到下一首的開頭Tone_Index=0;P2=DSY_CODESong_Index;/數(shù)碼管顯示

22、當(dāng)前音樂段號/定時器0中斷函數(shù)void T0_INT() interrupt 1(TL0=LO_LISTSongSong_IndexTone_Index;TH0=HI_LISTSongSong_IndexTone_Index;SPK=SPK;/延時void DelayMS(uint ms)(uchar t;while(ms-) for(t=0;t<120;t+);/主程序void main()(P2=0xc0;SPK=0;TMOD=0x00;/T0 方式 0IE=0x83;IT0=1;IP=0x02;while(1)(while(K1=1);/未按鍵等待while(K1=0);/等待釋放

23、TR0=1;開始播放Tone_Index=0;/從第0個音符開始播放過程中按下K1可提前停止播放(K1=0)。/若切換音樂段會觸發(fā)外部中斷,導(dǎo)致 TR0=0播放也會停止while(SongSong_Index北Tone_Index!=-1&&K1=1&&TR0=1)(DelayMS(300*LenSong_IndexTone_Index); /播放延時(節(jié)拍)Tone_Index+; /當(dāng)前音樂段的下一音符索引TR0=0;/停止播放while(K1=0); /若提前停止播放,按鍵未釋放時等待四、軟件流程播放鍵按下f 14 ,、一 按鍵處理 五、仿真器設(shè)置曲目序號

24、顯示程序仿真音樂播放程序調(diào)試過程關(guān)于音樂播放程序的調(diào)試,我首先采用Preteus軟件來仿真,并在單片機的 P1.0處用三極管連接一個簡單的音頻放大器,再外接一個蜂鳴器。,想通過這樣 來仿真并調(diào)試單片機按鍵控制定時器選播多段音樂, 程序運行的時候,能看見顯 示器有數(shù)字變化。,二,二叫f "二 h “七閡*_1XTMJ日前RPi JU.H ><*5F0*THaWJHL* DwrUX 丁一1±±444&*1切ETlr納lM聲未加入程序時仿真器設(shè)置調(diào)試時,將keil生成的hex文件加入 仿真圖中,點擊播放開關(guān),可以看到顯示器的燈會亮起,點擊切換按鍵,可

25、以播放其他的歌曲, 從而達(dá)到按鍵控制定時器選播多段音樂的目的。 如果成功,就可以看 到我們提前設(shè)置的音樂相對應(yīng)的編碼亮起。運行中的仿真器截圖(1)運行中的仿真器截圖(2)止匕外,由于本次試驗是通過 C語言來試驗,需要借助 keil來運 行程序,我就將其程序通過keil運行后生成的hex文件放到仿真器中 已經(jīng)連接完畢的電路圖中,才得到仿真器的運行結(jié)果。畫基*"目:J 1m T £。"0 Group 1即因FFj"011 Heoi jii<reaM.h>現(xiàn) *T!目Inde干工.三#=取二,R%03#d= fine nuEz" imsx

26、tned Uhaz1(M *d.efie uLnt uiL3j.q-d xiit帕 KbLl Kl->il"0:門錯工'上mrp fbit ijy-p5-'";一 宮二二"D7 mcTiWE Sens IndeN = 0,tc r.e Ir 3ex=G;:. w - i/T = I - -,-=M n; GF 40) ucrar eofle DSY CQDEj'(' urf, " ; 土"x”, m J* :i> * ?i;卜而,"標(biāo)準(zhǔn)音符勻空對應(yīng)的二十支T 1 -lEHar code HZ

27、LIST | J - tDjrZJfi,. JiSr2 32 F IZaJlE,. 2.2*; J2EV Z1:p Z-eS j ;JZ d 匚二 k 二 ubdc LQ二LM13Tli-« I). L _. 4匚. 1Ati. E. < . '占亡” J.,TJ二:產(chǎn) U符”dr 1KMle 3皿門【工:產(chǎn)Br£BSp3rS?3r2ff1,3,;,工 F,1F 1. N, M二守九ucc.*£ God« Lb i 5i J*j T“卜,中斷。;門斯.,也11*7:szfa畦 30第36E36班劃».;«!川 匯TMF:

溫馨提示

  • 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

提交評論