液晶點陣顯示屏課程設計報告通信09235-宗慧_第1頁
液晶點陣顯示屏課程設計報告通信09235-宗慧_第2頁
液晶點陣顯示屏課程設計報告通信09235-宗慧_第3頁
液晶點陣顯示屏課程設計報告通信09235-宗慧_第4頁
液晶點陣顯示屏課程設計報告通信09235-宗慧_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、m大爭jiangsu university單片機原理及應用課程設計學院名稱:計算機學院專業(yè)班級:通信0902學生姓名:宗惹學生學號: 3090601035指導教師姓名: 熊書明2012年0 月點陣式液晶顯示屏的顯示程序設計宗慧通信 0902 班 3090601035一. 設計目的1. 熟練掌握c51系統(tǒng)仿真開發(fā)系統(tǒng)的應用。2. 加強單片機的綜合運用能力、提高單片機的軟件編程和調試能力,為以 后的學習和開發(fā)工作打下良好基礎。3. 掌握的液晶的工作原理以及應用設計。4. 掌握小系統(tǒng)開發(fā)設計的流程以及設計思路。二. 設計要求1)從下到上滾動顯示:“江蘇大學計算機學院”然后交替顯示:“單片機 課程設計

2、”“液晶點陣顯示屏程序設計” “作者姓名、班級、學號”2)能進行正常的模擬量采樣值顯示(溫度、壓力、電位)。3)改變字庫的內容,顯示其它漢字。4)改變頁地址或列地址,使顯示的內容改變位置。5)其它功能(如左、右移,上下卷、顯示圖片等)。三. 系統(tǒng)整體結構由于實驗指導書中做過液晶顯示和模數(shù)轉換得實驗,根據(jù)兩個實驗的功能實 現(xiàn)和流程原理進行設計將程序分成三個模塊:主函數(shù)模塊meiin. c 模數(shù)轉換模塊adc. c 液晶顯示模塊ks0108.c其中讓主函數(shù)模塊做一些初始化和函數(shù)調用工作,模數(shù)轉換模塊主要是將溫 度,壓力,點位的值轉化為數(shù)字量供液晶顯示用,液晶顯示模塊得到模數(shù)轉換模 塊傳遞過來的數(shù)字

3、量顯示到液晶面板上。程序流程圖:1系統(tǒng)主流程圖如下3顯示模塊流程圖4模數(shù)轉換模塊流程圖四. 設計和實現(xiàn)主函數(shù)模塊main, c#include ”c8051f020.h”/include <intrins.h>void delay 1 us(unsigned char us)while (us)_nop_(); _nop_(); _nop_(); _nop_(); _nop_();us;初始化系統(tǒng)時鐘,使用22.1184mhz品體作為時鐘源 void sysclk init (void)int i;oscxcn = 0x67;for (i=0; i<256; i+); whi

4、le (!(oscxcn&0x80); oscicn = 0x88;/ delay counter/ start external oscillator with/ 18.432mhz ciystal/ wait for osc. to start up/ wait for crystal osc. to settle/ select external oscillator as sysclk/ source and enable missing clock/ detector/ oscicn = 0x07; /interal 16mhz#dcfinc prtocf pomdout #

5、define prt1cf p1mdout #define prt2cf p2mdout void port init (void)xbr0=0x07;xbr 1=0x00;xbr2=0x44;emi0cf=0x27;emi0tc=0x21;p74out=0xff;pomdout=oxl5;plmdout|=0x3c;/p1.2-p1.5 推挽輸出p&=0xc3;/p1.2-p 1.5=0/ enable smbus, spio, and uarto/ enable crossbar and weak pull-upsvoid spiojnit(void)spi0cfg=0x07;/

6、data sampled on 1st sck rising edge/ 8-bit data wordsspi0cfg|=0xc0; /ckpol =1;spi0cn=0x03;spi0ckr=s ysclk/2/8000000-1;/ master mode; spi enabled; flags/ cleared/ spi clock <= 8mhz (limited by/ eeprom spec.)unsigned char count 1ms; void timeronit (void) ckcon|=ox8;tmod|=oxl;count lms= 10;tr0=0;th0

7、=(-sysclk/1000) » overflow in 1 mstl0=-sysclk/1000;tr0=l;ie|=0x2;/定時器按系統(tǒng)時鐘頻率計數(shù)/方式一16bit/ 禁止 to 計數(shù) stop timero8;/定時器賦初值65536-looous/ 開始計數(shù) start timero/ie 置 1set timero tovoid timero isr(void)interrupt 1 產(chǎn)生 1ms 的屮斷服務程序tho=(-sysclk/1000)»8;/il000,t=lmstl0 二 sysclk/1000;if (count 1ms) count 1m

8、s-;void delay 1 ms(unsigncd char t) count lms=t;while (count 1ms);void delay ls(unsigncd char t)while (t)delay lms(200);delay lms(200);delay lms(200);delay lms(200);delay lms(200);t-;char getkeyvalue(void);void init_adc(void);unsigned int getadcvalue(char no);void tcstlcd(void);void displcd(char *di

9、spbuf,char num); void initlcd(void);/初始化 lcd void showwendu(void);void showdianya(void);void showyali(void);void showniu();void showfii();void showdsheshidu();void main (void)unsigned int w;char no,i,buf5;no=l;wdtcn = oxdc;wdtcn = oxad;關看門狗sysclkjnit ();初始化時鐘timeronit(); 初始化定時器port init ();初始化 io 口s

10、pio_init ();初始化 spioinit_adc();cptlcn|=0x80;/ 使能比較器 1refocn = 0x07; 使能片內參考電壓 dac0cn |= 0x80; 使能 dac0 dac0h=0; dac0l=0;ea=1;/開中斷/test7279(0);loop: testlcd();initlcd();no=0;/w = getadcvalue(l);for (;)i=getkeyvalue();if(i>=l)&&(i<=4)no=i;switch(no)case 1:showwendu(); break;case 2:showdian

11、ya();break;case 3:showyali();brcak;case 4:goto loop;break;default:break;w = getadcvalue(no);delay lms(30);svvitch(no)case 1:buf0=(w% 10000)/1000; bull l=(w% 1000)/100; buf2=' *;buf3=(w% 100)/10;buf4=(w%10);displcd(buf,l); showsheshidu();break;case 2:/showdianya();buf0=(w% 10000)/1000; bufl=* :bu

12、fi2=(w% 1000)/100; buf3=(w%100)/10;buf4=(w%10);displcd(buf,2);showfu();break;case 3:/showyali();buf0=(w% 10000)/1000; bull l=(w% 1000)/100; buf2=(w%100)/10;bufi3=r: buf4=(w%10);displcd(buf,3); showniu();break;default:break;液晶顯示模塊ks0108.c#include c8051f020. hinclude <intrins. h> /*液晶點陣顯示試驗-128*

13、64,控制器ks0108試驗準備:將撥碼開關s1和s2置于on位置.*/#define lcd data p2define lcd_rs p30#define lcd rw p31#define lcd_e p32#define lcd_cs1 p34#define lcd cs2 p33#define lcd_rst p35void delayims(unsigned char);char code screen = ;/江蘇大學計算機學院/*寬度 x 高度二 128x64 */char code screenl = ;/2010 單片機課程設計/*- 寬度 x 高度二 128x64 -*/

14、char code screen2 = ; /液晶點陣顯示屏程序設計char code screen3 = ; /作者姓名:宗慧;班級:通信 0902;學號:3090601035;#define selectcs 0void lcd waitreadyl (void)判斷 lcd 控制芯片 ks0108 是否忙/前64列讀/讀寫使能有效lcd data=0xff; _nop_();lcd_cs1=selectcs;lcd rw=1;lcd_rs=0;lcd e=l;while (lcd_data&0x80);lcd_cs1=!selectcs;void lcd_waitroady2 (

15、void)/判斷 lcd 控制芯片 ks0108 是否忙后64列/讀/讀寫使能有效lcd_data二oxff; _nop_();lcd cs2二selectcs;lcd_rw=1;lcd rs=0;lcd e=1;wh訂e (lcd_data&0x80);lcd cs2=!selectcs;void lcd writ ecommand 1 (char ch) /向 lcd 控制芯片 ks0108 發(fā)送控制命令lcd waitreadyl();lcd_cs1二selectcs;lcd rw=o;lcd_rs二0;lcd_data=ch;lcd e二1;lcd_e二0;lcd cs1=!s

16、electcs;void lcd_writecommand2(char ch)lcd_waitready2();lcd cs2=selectcs;lcd_rw二0;lcd_rs二0;lcd data二ch;lcd_e二1;lcd e=0;lcd cs2=!selectcs;void lcd writedata1(char ch)lcd waitreadyl();lcd_cs1二selectcs;lcd_rw=0;lcd_rs二1;lcd_data二ch;lcd e=l;lcd_e二0;lcd_cs1=!selectcs;void lcd_writcdata2(char ch)lcd_waitr

17、eady2();/向lcd控制芯片ks0108發(fā)送控制命令/向lcd控制芯片ks0108發(fā)送數(shù)據(jù)命令向lcd控制芯片ks0108發(fā)送數(shù)據(jù)命令lcd_cs2二selectcs;lcd rw=0;lcd_rs=1;lcd data=ch;lcd e=l;lcd_e二0;lcd cs2=!selectcs:void lcd writehz(char x, char y, char *dat)/顯示 16*16 點陣漢字char i;for (i二0;i32;i+)if (x+i%16)<64)/x代表列,顯示在左半屏lcd writecommandl(0xb8+y+i/16);lcdjvri

18、tccommandl(0x40+x+i%16);lcd writedatal(dati);elselcd_writecommand2 (0xb8+y+ i/16);/因為一個字占 16 行,0xb8 表示 0 頁lcd writecommand2 (0x40+x-64+i%16) ;/因為一個字占 16 列,0x40 表示 0 列l(wèi)cd_writedata2(datij);void lcd writesz(char x, char y, char *dat)/顯示 16*8 點陣數(shù)字char i;for (i=0;i<16;i+)if (x+i%8)<64)/x代表列,一個數(shù)字占8

19、列,顯示在左半屏lcd wri tecommandl (0xb8+3+i/8) ; /設置頁地址 y 表示頁lcdjvritecommandl (0x40+x+i%8) ;/設置列地址x表示列,一個數(shù)字占8列l(wèi)cd_writedatal(dati);elselcd writecommand2(0xb8+y+i/8):lcd_writccommand2 (0x40+x-64+i%8); 減去 64 列,表示寫在右半屏lcd writedata2(dati);void initlcd(void)/初始化 lcdchar i, j;lcd_rst=0; 正常狀態(tài)delay1ms (1);lcd_rs

20、t=1; /正處于復位初始化狀態(tài)lcd writecommandl (oxco) ;/設置起始行l(wèi)cd writecommand2(0xc0) ;/設置起始行l(wèi)cd writecommandl (0x3f) ;/開顯示lcd_wri tecommand2 (0x3f) ;/開顯示for (j=0;j<8;j+)/清屏(lcd wri tecommandl (0xb8+j) ;/清左半屏lcd writecommandl(0x40);for (i=0;i<64;i+)lcd writedatal(oxoo);lcd_writecommand2 (0xb8+j) ;/清右半屏lcd_w

21、ritecommand2(0x40);for (i=0;i<64;i+)lcd_writedata2(0x00);void dispbmp(char *buf) /顯示一幅位圖 int i, j;for (j=0; j<8; j+)/顯示位圖lcd_writecommand1(0xb8+j);lcd writecommandl(0x40);for (i=0;i<64;i+)lcd writedatal(buf(j*2)*64+i);lcd wi'i tecommand2 (0xb8+j);lcd wri tecommand2 (0x40);for (i二0; i<

22、;6zl; i+)lcd_writcdata2(buf(j*2+l)*64+i);void dispbmpleft(char *buf)/顯示一幅位圖int i, j, k;for (k二0;k128;k+)for (j二0; j8; j+)/顯示位圖lcd_wri tecommandl(0xb8+j);lcd writecommandl(0x40);for (i二0;i64;i+)左移if(i+k)<128)lcd_writedatal(buf(j*2)*64+i+k);elsei.cdjvritedatal (buf (j*2)*64+i+k-128);lcd_wri tecomma

23、nd2(0xb8+j);lcd writecommand2 (0x40);for (i二0;i<64;i+)if(i+k)<64)lcdjvritcdata2(buf(j*2+l)*64+ i +k);elselcd_writedata2(buf(j*2+1)*64+i +k-128);void dispbmpri ght (char *buf)/顯示一幅位圖int i, j, k;for (k二0;k128;k+)for (j=0; j<8; j+)/顯示位圖lcd writeconunandl (0xb8+j);lcd_wr i tecommandl(0x40);for

24、(i=0; i<64; i+)/右移if(i-k)>0)lcd.writedatal(buf(j*2)*64+i-k);elselcd writedatal(buf(j*2)*64+ik+128);lcdjvritecommand2(0xb8+j);lcd writeconunand2(0x40);for (i二0;i<64;i+)if(i-k)>-64)lcdjvritedata2(buf(j*2+l)*64+ik);elselcdjvritcdata2(buf(j*2+l)*64+ i-k+128);char code zero= ;/0char code one=

25、 ; /i char code two= ; /2 char code three = ; /3char code four= ; /4char code five= ; /5char code six= ; /6char code seven= ; /7char code eight= ; /8char code nine = ; /9char code maohao = ; /冒號char code dot= ; /點char code wen= ; /溫char code du= ; /度char code dian= ;/電char code ya= ;/壓char code 1 訂=

26、 ; 力char code c = ;/°cchar code n= ; /nchar code hao= ; /mchar code v= ; /vchar code screen4 = ; /請選擇:1.溫度;2.電;3.壓力;char code jiang = ;/江char code su = ;/蘇char code da = ;/大char code xue = ) ;/學char code huan = ;/歡char code ying二 ;/迎char code nin=;/您char code gantanhao=;/!void displcd(char *dis

27、pbuf, char num)int i;for(i=0;i<5;i+)if(num=l)&&(i=2)lcdjvritesz(56+8*i, 3, dot); delaylms(100);i+;if(num二二2)&&(i=l)lcd writesz(56+8*i,3, dot);delaylms(100);i+;if(num二=3)&&(i=3)lcd writesz(56+8*i, 3, dot); delayims(100);i+;switch(di spbufi)case 0:lcd_writesz(56+8*i, 3, zero

28、); delaylms(100);break: case 1:lcd writesz(56+8*i,3, one); delaylms(100);break; case 2:lcd writesz(56+8*i, 3, two); delaylms(100);break; case 3:lcd writesz(56+8*i,3,three); delaylms (100);break; case 4:lcd_wr i tesz(56+8* i,3, four); delaylms(100);break; case 1 5 :lcd_writesz(56+8*i,3,five); delaylm

29、s (100);break; case 6:lcd writesz(56+8*i,3, six); delaylms (100);break; case 7:lcd writesz(56+8*i, 3, seven); delaylms(100);break; case 8:lcd_writesz(56+8*i, 3, eight); delaylms(100);break; case 9:lcd_writesz(56+8*1, 3, nine); delaylms(100):break;/*case :,:lcd wri tesz(48+8*i, 3, maohao); delaylms(1

30、00);break: case ' ':lcd writesz (48+8*i, 3, dot); delaylms(100);break;*/defaultbreak.void delayls(unsigned char t)_void tesllcd(void)亠char i -inx-lcdo 八dispbmp(screen)-delayls(l)-for (n-0 二64 二+)(delay1ms (loo)-lcd writecommandl (oxco+i%64) - wmstb_£_ealcdiwrirecommand2(oxco+i歩64)-)dela

31、yls (3)八dispbmp(screenl)-delayls (5)八for (7r63 二ho 二 1)delaylms (10)-lcdwj.tecommandl(oxco+564)八、wgt4s:j料鑿母 tbllcdwri-teconwmd2 (0xc0+s64)-)delayls (3)-dispbmpright(screen2)八delayls(6)八dispbmpleft(screens-delayls (6)八initlcdo -lcdwritehzp3" jiang)-二靡-6*6 s.$. hdelaylms (loo)-lcd writehz(16"

32、; 3- su) 1 瞬 16*6delayss (loo)-lcd wrir+ehz(3n 9 da)-二粧刃 16*16 浪酹箔將hdelaylms (100)八lcdwj.te二z(40 3xue)-、舅 16*16 坐delaylms(loo)-lcdwitchz(643huan)-二堺 16*16 沽s>s也浚desrylms (100)八lcdwrite=zoop3ying)-二瞬-6*6 s.$.倚delay1ms (100)-lcdwritehz(9p 3nin)-、舅 16*6、處>常的遼delaylms (loo)八lcdiwritehz(lln 3"

33、 gantanhao)-、瞬 16*6 s.s.del ay is (5)八dispccmp(screen4)-de lay is (3)- void showwendu(void) 亠inx-lcdo -lcdwribehz(16" 3wen)-delaylms (loo)-lcdiwritehz(3n 3du)-delay1ms (loo)-lcd writesz(489 3“ maohao)-de一ay1ms (loo)-)void showdianya(void)inx-lcdo -lcdw2.behz(lp 3kian)- delaylms (loo)八lcdiwriteh

34、z(3n 3ya)- delay1ms (loo)八lcdwritesz(48“ 3二naohao)八 de一ay1ms (loo)- void showy4li(void)亠inx-lcdo -lcdwribehz(16" 3、ya)- delaylms (loo)八 lcdwrite=z(3n 3" li; delaylms (loo)- lcd writesz(489 3“ maohao)- de一ay1ms (loo)- void showniu(void)亠lcd writesz(9ppn)-de一ay1ms (loo)- void showfu(void)lcd

35、_writcsz(96, 3, hao);delaylms(100);lcd_wri tesz(104, 3, v);delaylms(100);void showshcshidu(void)lcd_wri tesz(96, 3, c);delaylms (100);模數(shù)轉換模塊adc. cinclude hc8051f020.hh#include <intrins.h>嚴壓力應變片adc試驗運行此程序,壓力值將在數(shù)碼管上顯示.用手觸摸應變片 觀察壓力變化.*/#define mux temp 0x08define mux_volt 0x01#define mux_press 0x

36、02unsigned int idata temp,press,volt; unsigned char idata mux select; sfrl6adc0=0xbe;void init_adc(void)adc0cn=0x81;/ adco dataref0cn=0x07;mux select=mux temp;amx0sl=mux temp;adc0cf=(sysclk/2500000)« 3;/adc0cf |= 0x01;eie2&二0x02;interrupteie1&=0x04;compare interrupt/adco enabled; normal

37、 tracking/ mode; adco conversions are initiated/ on write to ad0busy; adco data is/ left-justified/ enable temp sensor, on-chip vref,/ and vref output buffer/ cpu on-chip temp sensor/ adc conversion clock = 2.5mhz/ pga gain = 2/禁止adco轉換結朿屮斷disable adco eoc/ 禁止 adco 窗口比較屮斷 disable adco window/ on-chi

38、p temperature/ an1.電位器/ an2.應變片long temp long;ad0int=0;adobusy=1; while(ad0int=0);void read_analog_inputs(void)/ clear conversion complete indicator/ initiate conversion/ wait for conversion completeswitch(mux_select)case mux temp:tcmp_long=adc0-42380/2; temp_iong=(temp_long*200l)/156;temp=temp_long

39、;amxosl=mux_volt; / select ain 1 for next readmux_select=mux_volt;break;case mux_volt:temp long=adc0;volt=24*tempong/655;amxosl=mux_press; / select on-chip temp sensormux_select=mux_press;break;case mux press:tcmp_long=adco;temp_long=2 4* temp_long/655;press=tempo ng;amxosl=mux_temp;mux_select=mux t

40、emp;break;default:amxosl=mux_temp;mux select=mux temp;break;unsigned int getadcvalue(char no)rcad_analog_inputs(); read_analog_inputs(); read_analog_inputs();switch (no)case 1:return temp;case 2:return volt;case 3:if (press<10) press=0; return press;test7279 部分include ”c8051f020.h”#include <in

41、trins.h>sbit hd7279 dat=p1a7;sbit hd7279_clk=p1a6;#define noselect7279 p5|=0x80 /spics4(p57)=1#define select7279 p5&=(0x80)spics4(p57)=0;#define set7279dat hd7279_dat=1#define clr7279dat hd7279 dat=0define sct7279clk hd7279_clk=1#define clr7279clk hd7279_clk=0/hd7279測試/演示程序/i/o 口初始化void delay

42、 1 ms(unsigned char t);void delay ls(unsigncd char t);void delay 1 us(unsigned char t);void send7279byte(unsigned char ch)char i;select7279; 置 cs 低電平delay lus(50); 延吋 50卩for (i=0;i<8;i+)if (ch&0x80) /輸出 7 位到 hd7279a 的 data 端set7279dat;elseclr7279dat;set7279clk; 置 clk 高電平ch=ch« 1; 待發(fā)數(shù)據(jù)左移d

43、elay lus(8);/52 時 和clr7279clk; 置 clk 低電平delay lus(8); 延時 8pclr7279dat;發(fā)送完畢,data端置低 返回unsigned char receive7279byte(void)unsigned char i,ch;ch=o;sct7279dat; /data端置為高電平,輸入狀態(tài)delay lus(50); 延吋 50卩for (i=0;i<8;i+)set7279clk; 置 clk 高電平delay lus(8);/52 時 和ch=ch«l; 接收數(shù)據(jù)左移1位if(hd7279_dat)ch+=l; 接收1位

44、數(shù)據(jù)clr7279clk; 置 clk 低電平delay lus(8);/52 時 和clr7279dat;接收完畢,data端重新置成低電平(輸出狀態(tài))return ch;void flashled(unsigncd char no)char i;send7279byte(0x88); 發(fā)閃爍指令i=0x1;while (no)i=i«l;no-;scnd7279bytch); /i 閃爍noselect7279; 置 cs 高電平嚴void blankled(unsigned char ch)send7279byte(0x98); file:/發(fā)消隱指令send7279byte(

45、ch);file:/l-顯示 0消隱*/void moveleft(void)send7279byte(0xal); 發(fā)左移指令noselect7279; 置 cs 高電平void moveright(void)send7279byte(0xa0); 發(fā)右移指令noselect7279; 置 cs 高電平unsigned char code bdseg=0x7e,0x30,0x6d,0x79, 0 1 2 30x33,0x5b,0x5f,0x70, / 4 5 6 70x7f,0x7b,0x77,0xlf, / 8 9 a b 0x4e,0x3d,0x4f,0x47, / c d e f0x0

46、0,0x01;嚴;b6;bl|bo |b5;small;b2| b3 |b4;.b7*/void displed(char *dispbuf,char showdot)/showdot 顯示小數(shù)點位 char i,ch;showdot;for (i=0;i<6;i+)ch=dispbufi;if(ch>=,a,) && (ch<=*f)ch='a'ch+=0xa;if(ch>=,a,) && (ch<=f)ch-a,;ch+=0xa;send7279byte(0x90+5-i); /不譯碼if (ch=r *)sen

47、d7279byte(0x00);elseif(ch=')send7279byte(0x01);elseif(showdot=i)send7279byte(0x80|bdsegch&oxof); elsesend7279byte(bdsegch&oxof);noselect7279; 置 cs 高電平char getkeyvalue(void)char key value;if(cptlc n&0x40) retum/無鍵按下send7279byte(0xl5); 發(fā)讀鍵盤指令keyvalue=receive7279byte();noselect7279; 置 cs 高電平 return kcyvaluc;void waitkeyoff(void)while (!(cptlcn&0x40);void test7279(bit loopflag)char i,keyvalue;delaylms(25); 等待25ms復位時間 scnd727

溫馨提示

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

評論

0/150

提交評論