畢業(yè)設(shè)計(jì)(論文)基于MSP430單片機(jī)的便攜式電子秤_第1頁
畢業(yè)設(shè)計(jì)(論文)基于MSP430單片機(jī)的便攜式電子秤_第2頁
畢業(yè)設(shè)計(jì)(論文)基于MSP430單片機(jī)的便攜式電子秤_第3頁
畢業(yè)設(shè)計(jì)(論文)基于MSP430單片機(jī)的便攜式電子秤_第4頁
畢業(yè)設(shè)計(jì)(論文)基于MSP430單片機(jī)的便攜式電子秤_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(jì)(論文)基于msp430單片機(jī)的便攜式電子秤 基于msp430單片機(jī)的便攜式電子秤摘要:本課題設(shè)計(jì)制作了一種利用msp430f149單片機(jī)構(gòu)成智能型便攜式電子秤。分析了系統(tǒng)的工作原理和參數(shù)計(jì)算,詳細(xì)討論了系統(tǒng)的硬件、軟件設(shè)計(jì),并提供了系統(tǒng)的功能描述及使用說明。關(guān)鍵詞:單片機(jī) 應(yīng)變式力傳感器 tlc252 運(yùn)算放大 液晶顯示 1引言 隨著時(shí)代科技的迅猛發(fā)展,微電子學(xué)和計(jì)算機(jī)等現(xiàn)代電子技術(shù)的成就給傳統(tǒng)的電子測量與儀器帶來了巨大的沖擊和革命性的影響。常規(guī)的測試儀器儀表和控制裝置被更先進(jìn)的智能儀器所取代,使得傳統(tǒng)的電子測量儀器在遠(yuǎn)、功能、精度及自動化水平定方面發(fā)生了巨大變化,并相應(yīng)的出現(xiàn)了各種

2、各樣的智能儀器控制系統(tǒng),使得科學(xué)實(shí)驗(yàn)和應(yīng)用工程的自動化程度得以顯著提高。作為重量測量儀器,智能電子秤在各行各業(yè)開始顯現(xiàn)其測量準(zhǔn)確,測量速度快,易于實(shí)時(shí)測量和監(jiān)控的巨大優(yōu)點(diǎn),并開始逐漸取代傳統(tǒng)型的機(jī)械杠桿測量稱,成為測量領(lǐng)域的主流產(chǎn)品。金屬電阻應(yīng)變片的工作原理是吸附在基體材料上應(yīng)變電阻隨機(jī)械形變而產(chǎn)生阻值變化的現(xiàn)象,俗稱為電阻應(yīng)變效應(yīng)。金屬導(dǎo)體的電阻值可用下式表示: 式中:金屬導(dǎo)體的電阻率(?cm2/m) s導(dǎo)體的截面積(cm2) l導(dǎo)體的長度(m) 以金屬絲應(yīng)變電阻為例,當(dāng)金屬絲受外力作用時(shí),其長度和截面積都會發(fā)生變化,從上式中可很容易看出,其電阻值即會發(fā)生改變,假如金屬絲受外力作用而伸長時(shí),

3、其長度增加,而截面積減少,電阻值便會增大。當(dāng)金屬絲受外力作用而壓縮時(shí),長度減小而截面增加,電阻值則會減小。只要測出加在電阻的變化(通常是測量電阻兩端的電壓),即可獲得應(yīng)變金屬絲的應(yīng)變情況。接橋方案電橋中對稱的兩片應(yīng)變片r1、r3貼在環(huán)狀彈性元件的外表面,另兩片應(yīng)變片r2、r4貼在內(nèi)表面。如圖3布片和接橋示意圖所示 圖3 布片和接橋示意圖電橋連接原理圖如圖4所示。電橋采用四應(yīng)變片直流全電橋,電源電壓通過限流電阻r6,r9作為供橋電壓。橋臂電阻為r1,r2,r3及r4,輸出端(2、4端)開路電壓為(由于運(yùn)放的輸入電阻都很高,所以工作時(shí)電橋輸出端電壓近似開路電壓)。接在1、3端的穩(wěn)壓二級管(2cw1

4、01)穩(wěn)壓值為2.6v,保證了電橋?yàn)楹銐汗╇?。在彈性范圍?nèi),建立電壓和作用力的關(guān)系,有(式中,e為彈性模量;s為彈性體截面積) 圖4 應(yīng)變式力傳感器電橋電路3.2放大部分該部分采用ti公司的tlc252放大芯片完成信號的放大和調(diào)理功能,信號放大電路的原理圖如圖5所示,in1、in2為信號輸入端。tlc252芯片具有以下特點(diǎn):超低功耗低電壓供電,八引腳雙路運(yùn)算放大器,它的工作電流低,電源電壓范圍寬:1.412v,可單電源供電,共模輸入電壓范圍內(nèi)(包括負(fù)電源,單電源和分離電源)都能達(dá)到規(guī)定的技術(shù)指標(biāo),運(yùn)行環(huán)境溫度070。其工作電流只有200微安。本系統(tǒng)運(yùn)放電路采用兩級放大,放大倍數(shù)可按下式計(jì)算,適

5、當(dāng)選用參數(shù)即可獲得各自的放大倍數(shù)。其中第一級采用雙端輸入負(fù)反饋放大電路,放大倍數(shù)整定為20左右,可通過調(diào)整r6的值來整定其放大倍數(shù)。第二級采用反向比例放大電路,放大倍數(shù)整定為50,可通過調(diào)節(jié)r3改變其放大倍數(shù)。r5,r8為運(yùn)放提供合適偏壓。第一,二級放大器的輸出分別接到單片機(jī)的兩個(gè)模擬輸入端上,可實(shí)現(xiàn)20,1000兩種增益選擇。輸入端增加一個(gè)電容c1來實(shí)現(xiàn)濾波,以減少輸入端的干擾。 圖5信號放大電路原理圖3.3 msp430f149單片機(jī)德州儀器公司的msp430 系列單片機(jī)是一種超低功耗微處理器,該微處理器通過16 位risc 系統(tǒng),16 位cpu 集成寄存器和常量發(fā)生器來獲得最大代碼效率。

6、msp430 的16 位定時(shí)器是應(yīng)用于手持式儀表的理想配置,它的硬件乘法器使其性能大大增強(qiáng),并擴(kuò)大了軟硬件相兼容的范圍,提高了數(shù)據(jù)處理的能力。在一般應(yīng)用環(huán)境中,msp430 的運(yùn)行環(huán)境溫度范圍為-40-+85。低電源電壓范圍:1.8v-3.6v,超低功耗:待機(jī)模式:1.6ua,活動模式:280ua(當(dāng)主頻為1mhz電源電壓為3.2v時(shí))。有5 種低功耗超低電流消耗模式,可使用電池供電,片內(nèi)數(shù)字控制振蕩器dco 可以使單片機(jī)在6 微秒的時(shí)間內(nèi)從低功耗模式轉(zhuǎn)變到活動模式。并有最多8 路12 位a/d 轉(zhuǎn)換,48 個(gè)通用i/o 端口,兩個(gè)uart,兩個(gè)內(nèi)置16 位定時(shí)器??稍诰€仿真的flash 內(nèi)存

7、。該系列單片機(jī)還自帶看門狗電路,在系統(tǒng)出錯(cuò)時(shí),能自動復(fù)位,提高了系統(tǒng)運(yùn)行的可靠性和穩(wěn)定性。我們所用的主控芯片msp430f149 就包含了:帶內(nèi)部參考電壓,采樣保持和自動掃描的12 位a/d轉(zhuǎn)換器。具有直接驅(qū)動液晶顯示器的能力。輸入端口具有跳變中斷能力,能方便地接收按鍵輸入,另有多級外部及內(nèi)部中斷,可通過程序禁止主晶振振蕩而使單片機(jī)進(jìn)入低功耗狀態(tài),適合用于以電池作能源,需液晶驅(qū)動的應(yīng)用場合。這樣在組成系統(tǒng)時(shí),就最大限度的簡化了電路,縮小了電子秤的體積,降低了成本,提高了系統(tǒng)的可靠性,使產(chǎn)品的設(shè)計(jì)更加精巧,功能更加豐富。msp430f149是整個(gè)系統(tǒng)的信息處理核心。它能完成信號采集、量化、信號分

8、析處理、信息顯示、時(shí)鐘顯示、鍵盤掃描檢測、欠電提示、量程的自動切換等多種功能。單片機(jī)信息處理單元電路原理圖如圖9所示。放大電路一級和二級信號分別連接cpu的p6.0、p6.1兩個(gè)引腳,系統(tǒng)兩路信號輸入通道的選擇由mpu控制,以選擇不同的放大倍數(shù),從而完成量程的自動調(diào)節(jié)功能。顯示器lcd的數(shù)據(jù)端分與芯片的p1、p3、p4口相接。系統(tǒng)復(fù)位電路采用rc電路,電路簡單,容易實(shí)現(xiàn)。 圖6 鍵盤電路 鍵盤掃描電路鍵盤主要是用來輸入數(shù)據(jù)實(shí)現(xiàn)人機(jī)交互。該電路采用行列掃描方式實(shí)現(xiàn)矩陣鍵盤,電路如圖6所示。通過單片機(jī)的p2口與其連接,其中p2.0,p2.1,p2.2為列輸入線,p2.3-2.7為行數(shù)出線,這樣就構(gòu)

9、成了3*5矩陣鍵盤。可定義15個(gè)按鍵,可分別為09,小數(shù)點(diǎn),調(diào)零,調(diào)時(shí),記憶等功能鍵,如需要還可定義組合鍵。由于該電路選用p2口作為接口,而msp430的p2口又可設(shè)置為中斷口,這樣便可采用中斷方式實(shí)現(xiàn)鍵盤輸入。通過編程依次將p2.3-2.7行線其中的一路輸出低電平,其余輸出高電平,這樣當(dāng)有鍵按下時(shí)且按鍵所在行為低電平時(shí)便使得該鍵所在列對應(yīng)的輸入口拉為低電平,這樣就觸發(fā)了相應(yīng)的中斷,進(jìn)入中斷服務(wù)程序后,通過行號、列號即可確定該鍵,然后根據(jù)定義即可執(zhí)行相應(yīng)的功能。顯示電路該電子秤采用三位半的lcd段碼顯示屏,功耗很低,成本也低,尺寸為:35mm*54mm,字高14mm。電路中分別與msp430的

10、p1、p3、p4口連接構(gòu)成顯示電路。通過編程可使這三個(gè)端口以200到300赫茲的頻率翻轉(zhuǎn),實(shí)現(xiàn)lcd的動態(tài)驅(qū)動。 圖7 lcd4 軟件設(shè)計(jì)作為便攜式儀器,系統(tǒng)在整個(gè)設(shè)計(jì)過程中遵循簡化硬件電路,以軟件設(shè)計(jì)代替硬件的設(shè)計(jì)原則,最大限度的減小儀器的體積和重量,因而要求系統(tǒng)軟件實(shí)現(xiàn)豐富的功能。軟件設(shè)計(jì)采用模塊化結(jié)構(gòu),主要有初始化模塊、欠電報(bào)警模塊、鍵盤掃描模塊、計(jì)量模塊、顯示模塊、時(shí)間模塊。主要功能有自調(diào)零、去皮、計(jì)價(jià)、累計(jì)、單價(jià)設(shè)定、量程自動切換、過載提示和欠電壓指示等。系統(tǒng)主程序控制單片機(jī)系統(tǒng)按預(yù)定的操作方式運(yùn)行,它是單片機(jī)系統(tǒng)程序的框架。系統(tǒng)上電后,對系統(tǒng)進(jìn)行初始化。初始化程序主要完成對單片機(jī)內(nèi)

11、專用寄存器的設(shè)定,單片機(jī)工作方式及各端口的工作狀態(tài)的規(guī)定。系統(tǒng)初始化之后,進(jìn)行零點(diǎn)校正、過載檢測、計(jì)量顯示等工作,在不稱量時(shí)以電子表模式顯示時(shí)間。下面是主處理的流程圖 圖8 主處理的流程圖程序:#include msp430x14x.h / standard equations#define n 30 /采樣求和數(shù)據(jù)個(gè)數(shù) unsigned int adc_bufn; unsigned int nadc_count 0; float ntemp; float price 0; int price_flag 0; int price_per 0; int adc_cnt 0; int clr_fl

12、ag 0; int flag_port 0; int time_ad 0; int d_bit; int adj_h1,adj_h2,adj_m1,adj_m2; int h_1,h_2,m_1,m_2; int port_input; int port_count 0; int bitnum 0; int bitcount 0; int offset 0; float force; char ntemp0; char ntemp1; char ntemp2; char ntemp3; unsigned int j,m,h,s,k,l,t,f 0; static char lcd10 0x7e

13、,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0xff,0x7b ; /段碼表 void delay_ms unsigned long nvalue ; void flash void ;/void init void /初始化端口 p1sel 0; p2sel 0; p3sel 0; p4sel 0; p5sel 0; p6sel 0x01; p1dir 0xff; p2dir 0xff; p3dir 0xff; p4dir 0xff; p5dir 0xff; p6dir 0xfc; p1out 0xff; p2out 0xff; p3out 0xff; p4out

14、 0xff; p5out 0xff; p6out 0xff; p6out & bit3 ; delay_ms 5 ; p6out & bit5 ; /p6out & bit7 ; p5out & bit6 ; p1out & bit7 ; return; / void timera void tactl tassel1 + taclr; cctl0 ccie; ccr0 65535; tactl | mc0; return; / interrupt timera0_vector void timera_isr void s s+1; if time_ad 1 if d_bit 0 d_bit

15、1; else d_bit 0; if s 60 s 0; m m+1; if m 60 m 0; h h+1; if h 13 h 1; h_1 h/10; h_2 h%10; m_1 m/10; m_2 m%10; / void timedisp void p6out & bit3 ; p6out & bit5 ; p6out & bit6 ; p5out & bit6 ; p4out lcdh_2; p3out lcdm_1; p1out lcdm_2; if p1out & bit4 p6out | bit7; else p6out & bit7 ; if d_bit p1out |

16、bit7; else p1out & bit7 ; if h_1 p6out | bit4; else p6out & bit4 ; flash ; return; void init_adc void p6sel | 0x01; / enable a/d channel a0 adc12ctl0 adc12on+sht0_2; / turn on adc12, set sampling time adc12ctl1 shp; adc12ctl1 | adc12div_2; adc12ctl1 | adc12div_1; adc12ctl1 | adc12div_0; adc12ctl0 |

17、refon; /adc12ctl0 & ref2_5v ; adc12mctl0 | bit4; adc12mctl0 | eos; / use sampling timer adc12ctl0 | enc; / enable conversions adc12ctl0 | adc12sc; return; / adc 轉(zhuǎn)換void adc void unsigned int i; unsigned long sum1; /while adc12ctl1 & adc12busy 1 ; adc12ctl0 & enc; / 關(guān)閉轉(zhuǎn)換 adc_bufnadc_count adc12mem0;/

18、讀出轉(zhuǎn)換結(jié)果 adc12ctl0 | enc + adc12sc; / 開啟轉(zhuǎn)換 if nadc_count n-1 adc_cnt+ 1; for sum1 0,i 0;i n;i+ sum1 sum1+adc_bufi ; /_dint ; p4out p4out ; p3out p3out ; p1out p1out ;/flash p5out p5out ; p6out p6out ; /_eint ; for i 0;i n-1;i+ adc_bufi adc_bufi+1; /_dint ; p4out p4out ; p3out p3out ; p1out p1out ; p5o

19、ut p5out ; p6out p6out ; /_eint ; if adc_cnt 12 adc_cnt 0 ; ntemp sum1/2.43 /n ;/標(biāo)定系數(shù) if ntemp- int ntemp 0.5 ntemp+ 1;/四舍五入 if clr_flag 0 /開機(jī)清零 clr_flag 1; offset ntemp; force ntemp - offset; if force 0 force 0; ntemp0 int force/1000 ;/將結(jié)果除以1000 ntemp1 int force -ntemp0*1000 /100;/ ntemp2 force -nt

20、emp0*1000 - ntemp1 * 100 / 10;/ 十位 ntemp3 int force -ntemp0*1000 - ntemp2 * 10 - ntemp1 * 100 ;/個(gè)位 if ntemp0 1 p6out | bit4; else p6out & bit4 ; /p6out & bit3 ; /p6out & bit5 ; /p6out & bit7 ; /p5out & bit6 ; p6out | bit6; p4out lcdntemp1; p3out lcdntemp2; p1out lcdntemp3; if p1out & bit4 p6out | bi

21、t7; else p6out & bit7 ; p1out & bit7 ; if nadc_count n-1 nadc_count + 1; return; /void delay_ms unsigned long nvalue unsigned long ncount; int i; unsigned long j; ncount 25; /2667; for i nvalue;i 0;i- for j ncount;j 0;j- ; return; /void init_inputport void /將所有的管腳設(shè)置為一般i/o口 p2sel 0; /將管腳在初始化的時(shí)候設(shè)置為輸出方

22、式 p2dir 0xff; / 將p2.5,輸入方向 p2dir & bit5 ; p2dir & bit6 ; p2dir & bit7 ; / 低電平中斷觸發(fā)方式 p2ie | bit5;/ 管腳 p1.0使能中斷 p2ies | bit5;/ 對應(yīng)的管腳由高到低電平跳變使相應(yīng)的標(biāo)志置位 p2ie | bit6;/ 管腳 p1.1 使能中斷 p2ies | bit6;/ 對應(yīng)的管腳由高到低電平跳變使相應(yīng)的標(biāo)志置位 p2ie | bit7;/ 管腳 p1.1 使能中斷 p2ies | bit7; return; /interrupt timerb0_vector void timerb_is

23、r void / 設(shè)置相應(yīng)的行線為低電平 switch port_count case 0: / 設(shè)置為高電平 p2out | bit1; p2out | bit2; p2out | bit3; p2out | bit4; / 設(shè)置為低電平 p2out & bit0 ; break; case 1: / 設(shè)置為高電平 p2out | bit0; p2out | bit2; p2out | bit3; p2out | bit4; / 設(shè)置為低電平 p2out & bit1 ; break; case 2: / 設(shè)置為高電平 p2out | bit0; p2out | bit1; p2out |

24、bit3; p2out | bit4; / 設(shè)置為低電平 p2out & bit2 ; break; case 3: / 設(shè)置為高電平 p2out | bit0; p2out | bit1; p2out | bit2; p2out | bit4; / 設(shè)置為低電平 p2out & bit3 ; break; case 4: / 設(shè)置為高電平 p2out | bit0; p2out | bit1; p2out | bit2; p2out | bit3; / 設(shè)置為低電平 p2out & bit4 ; break; default:break; port_count + 1; if port_co

25、unt 5 port_count 0; /interrupt port2_vector void port_isr void /_dint ; bitcount + 1; if p2ifg & bit5 / p2.5列線上有按鍵輸入 p2ifg & bit5 ;/ 清除中斷標(biāo)志位 delay_ms 1 ; for ; if p2ifg & bit5 0 break; /等待按鍵彈起 / 獲得輸入值 switch port_count case 1: port_input 10; break; case 2: port_input 3; break; case 3: port_input 6;

26、break; case 4: port_input 9; break; case 0: port_input 11; if time_ad 0 time_ad 1; bitcount 0; else time_ad 0; break; default:break; if port_input ! 11 flag_port 1; else if p2ifg & bit6 / p2.6列線上有按鍵輸入 p2ifg & bit6 ;/ 清除中斷標(biāo)志位 delay_ms 1 ; for ; if p2ifg & bit6 0 break; / 獲得輸入值 switch port_count case

27、1: port_input 12; break; case 2: port_input 2; break; case 3: port_input 5; break; case 4: port_input 8; break; case 0: port_input 13; offset ntemp; break; default:break; if port_input ! 13 flag_port 1; else flag_port 0; else if p2ifg & bit7 / p2.7列線上有按鍵輸入 p2ifg & bit7 ;/ 清除中斷標(biāo)志位 delay_ms 1 ; for ;

28、if p2ifg & bit7 0 break; / 獲得輸入值 switch port_count case 1: port_input 0; break; case 2: port_input 1; break; case 3: port_input 4; break; case 4: port_input 7; break; case 0: port_input 14; price_flag 1; break; default:break; if port_input ! 14 flag_port 1; else flag_port 0; /_eint ; /void init_time

29、rb void tbctl tbssel1 + bit2; tbctl tbssel0 + tbclr; / 選擇aclk,清除tar tbcctl0 ccie; / tbccr0 中斷允許 tbccr0 2500; / 時(shí)間間隔為 0.1 s tbctl | mc0; / 增記數(shù)模式 /void disp_price void int a 0; price_flag 0; price force * price_per /100.0; ntemp0 int price/1000 ;/將結(jié)果除以1000 ntemp1 int price -ntemp0*1000 /100;/ ntemp2 p

30、rice -ntemp0*1000 - ntemp1 * 100 / 10;/ 十位 ntemp3 price -ntemp0*1000 - ntemp2 * 10 - ntemp1 * 100 ;/個(gè)位 if ntemp0 1 p6out | bit4; else p6out & bit4 ; p6out & bit3 ; p6out & bit5 ; p6out & bit7 ; p5out | bit6; p6out | bit6; p4out lcdntemp1; p3out lcdntemp2; p1out lcdntemp3; if p1out & bit4 p6out | bit

31、7; else p6out & bit7 ; p1out & bit7 ; for a 0;a 100;a+ flash ; p5out & bit6 ; /void flash void delay_ms 2 ; _dint ; p4out p4out ; p3out p3out ; p1out p1out ; p5out p5out ; p6out p6out ; _eint ; delay_ms 2 ; wdtctl wdtpw+ wdtcntcl; _dint ; p4out p4out ; p3out p3out ; p1out p1out ; p5out p5out ; p6out

32、 p6out ; _eint ; /void main void wdtctl wdtpw+ bit2; /開看門狗 bcsctl1 0x00; bcsctl2 0xc0; /0xc6 36 _dint ; init ; init_adc ; timera ; init_inputport ; init_timerb ; _eint ;while 1 wdtctl wdtpw + wdtcntcl; if time_ad 1 timedisp ; else adc ; / start conversion if time_ad 0 & price_flag 1 disp_price ; whi

33、le flag_port 1 /有鍵按下 bitnum bitcount; switch bitnum case 1: if port_input 1 p6out | bit4; adj_h1 1; else p6out & bit4 ; adj_h1 0; p4out 0; p3out 0; p1out 0; if p1out & bit4 p6out | bit7; else p6out & bit7 ; if time_ad 1 p1out | bit7; else p1out & bit7 ; break; case 2: p4out lcdport_input; adj_h2 por

34、t_input; break; case 3: p3out lcdport_input; adj_m1 port_input; break; case 4: p1out lcdport_input; if p1out & bit4 p6out | bit7; else p6out & bit7 ; adj_m2 port_input; if time_ad 1 p1out | bit7; else p1out & bit7 ; break; default: flag_port 0; bitcount 0; break; if time_ad 1 h adj_h1*10+adj_h2; m adj_m1*10 +adj_m2; else price_per adj_h1*1000+adj_h2*100+adj_m1*10+adj_m2; flash ; if time_a

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論