液晶顯示廣告牌的設(shè)計(jì)-課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p><b>  1技術(shù)要求1</b></p><p>  2設(shè)計(jì)方案及原理1</p><p><b>  3實(shí)現(xiàn)方案3</b></p><p>  3.1LM016L基本資料3</p><

2、;p>  3.2硬件連接圖7</p><p><b>  4源程序代碼8</b></p><p>  5調(diào)式過(guò)程及結(jié)果14</p><p>  5.1調(diào)式過(guò)程14</p><p><b>  5.2結(jié)果14</b></p><p><b>

3、  6心得體會(huì)15</b></p><p><b>  7參考文獻(xiàn)16</b></p><p>  液晶顯示廣告牌的設(shè)計(jì)</p><p><b>  技術(shù)要求</b></p><p>  在日常生活中,經(jīng)常可見各種廣告牌,本設(shè)計(jì)要求利用單片機(jī)控制液晶顯示屏顯示相關(guān)的信息,需完成下

4、列任務(wù):</p><p>  利用LCD顯示某一條固定語(yǔ)句;</p><p>  能夠通過(guò)按鍵對(duì)固定語(yǔ)句的顯示方式進(jìn)行修改,比如按一次按鍵,顯示的字符少一個(gè),一直到最后所有字符完全消失;或者按一次按鍵所有字符顯示的位置左移一格等。</p><p><b>  設(shè)計(jì)方案及原理</b></p><p>  讓LCD顯示固定語(yǔ)

5、句在C語(yǔ)言環(huán)境下只需將字符串直接賦給LCD即可,讓LCD顯示的字符方式進(jìn)行修改就得給LCD傳遞相關(guān)指令。</p><p>  第一步利用LCD顯示某一條固定語(yǔ)句。LCD顯示字符的時(shí)候,是一個(gè)一個(gè)字符顯示,顯示一個(gè)字符后, 光標(biāo)加一或減一表示下一個(gè)字符顯示的位置。因此顯示固定語(yǔ)句的時(shí)候,我們可以先將固定語(yǔ)句存在一個(gè)字符串?dāng)?shù)組,光標(biāo)操作為當(dāng)寫一個(gè)字符后地址指針加一。選擇好初始地址后,利用一個(gè)循環(huán)結(jié)構(gòu)程序?qū)⒄麄€(gè)字符串?dāng)?shù)

6、組內(nèi)容顯示出來(lái)。</p><p>  第二步讓LCD顯示的字符串顯示方式進(jìn)行修改。鑒于LCD自身就能將字符串以不同方式的顯示出來(lái),因此我們只需將對(duì)應(yīng)指令語(yǔ)句傳遞給LCD即可,通過(guò)外部按鍵產(chǎn)生中斷,讓LCD來(lái)響應(yīng)對(duì)應(yīng)指令語(yǔ)句。</p><p>  方案流程圖如圖1所示。</p><p><b>  圖1 程序流程圖</b></p>

7、<p><b>  實(shí)現(xiàn)方案</b></p><p>  LM016L基本資料</p><p>  3.1.1 引腳說(shuō)明</p><p>  LM016L為字符型液晶顯示器LCD,其圖形符號(hào)、引腳及屬性如圖2所示。</p><p><b>  引腳說(shuō)明如下:</b></p>

8、<p><b> ?、贁?shù)據(jù)線D7~D0</b></p><p>  ②控制線(有3根:RS、RW、E)</p><p><b>  ③1根地線Vss</b></p><p> ?、芤桓娫淳€(VDD)</p><p>  圖2 LCD圖形符號(hào)和引腳</p><p>

9、;  3.1.2 LM016L屬性及RAM地址:</p><p>  LM016L的屬性設(shè)置如下:</p><p>  ①每行的字符數(shù)為16,行數(shù)為2;</p><p>  ②時(shí)鐘為250KHz;</p><p> ?、坌?的字符地址為80H~8FH</p><p> ?、苄?的字符地址為C0H~CFH </

10、p><p>  3.1.3 基本操作時(shí)序</p><p><b>  其具體時(shí)序見表1。</b></p><p>  表1 LM016L信號(hào)真值表</p><p>  3.1.4 LCD指令集</p><p><b>  清屏指令</b></p><p>

11、;  功能:<1> 清除液晶顯示器,即將DDRAM的內(nèi)容全部填入“空白”的字符碼20H; <2> 光標(biāo)歸位,即將光標(biāo)撤回液晶顯示屏的左上方; <3> 將地址計(jì)數(shù)器(AC)的值設(shè)為0。</p><p><b>  光標(biāo)歸位指令</b></p><p>  功能:<1> 把光標(biāo)撤回到顯示器的左上方; <2>

12、 把地址計(jì)數(shù)器(AC)的值設(shè)置為0; <3> 保持DDRAM的內(nèi)容不變 </p><p><b>  輸入模式指令設(shè)置</b></p><p>  功能:設(shè)定每次寫入1位數(shù)據(jù)后光標(biāo)的移位方向,并且設(shè)定每次寫入的一個(gè)字符是否移動(dòng)。</p><p>  其中:I/D=1:數(shù)據(jù)讀、寫操作后,AC自動(dòng)增一;</p><

13、p>  I/D=0:數(shù)據(jù)讀、寫操作后,AC自動(dòng)減一;</p><p>  S=1:數(shù)據(jù)讀、寫操作,畫面平移;</p><p>  S=0:數(shù)據(jù)讀、寫操作,畫面不動(dòng)。</p><p><b>  顯示開關(guān)控制指令</b></p><p>  功能:控制顯示器開/關(guān)、光標(biāo)顯示/關(guān)閉以及光標(biāo)是否閃爍。</p>

14、<p>  其中:D表示顯示開關(guān):D=1為開,D=0為關(guān);</p><p>  C表示光標(biāo)開關(guān):C=1為開,C=0為關(guān);</p><p>  B表示閃爍開關(guān);B=1為開,B=0為關(guān)。</p><p>  設(shè)定顯示屏或光標(biāo)移動(dòng)方向指令</p><p>  功能:使光標(biāo)移位或使整個(gè)顯示屏幕移位。</p><p&g

15、t;  其中:S/C=1:畫面平移一個(gè)字符位;</p><p>  S/C=0:光標(biāo)平移一個(gè)字符位;</p><p><b>  R/L=1:右移;</b></p><p><b>  R/L=0:左移。</b></p><p><b>  功能設(shè)定指令</b></p&g

16、t;<p>  功能:設(shè)定數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字型。</p><p>  其中:DL=1,8位數(shù)據(jù)接口;DL=0,4位數(shù)據(jù)接口;</p><p>  N=1,兩行顯示;N=0,一行顯示;</p><p>  F=1,5×10點(diǎn)陣字符;F=0,5×7點(diǎn)陣字符。</p><p>  設(shè)定DDRAM地址指令&

17、lt;/p><p>  功能:設(shè)定下一個(gè)要存入數(shù)據(jù)的CGRAM的地址。</p><p>  讀取忙信號(hào)或AC地址指令</p><p>  功能:<1> 讀取忙碌信號(hào)BF的內(nèi)容,BF=1表示液晶顯示器忙,暫時(shí)無(wú)法接收單片機(jī)送來(lái)的數(shù)據(jù)或指令; 當(dāng)BF=0時(shí),液晶顯示器可以接收單片機(jī)送來(lái)的數(shù)據(jù)或指令;</p><p>  <2>

18、 讀取地址計(jì)數(shù)器(AC)的內(nèi)容。</p><p>  數(shù)據(jù)寫入DDRAM或CGRAM指令</p><p>  功能:<1> 將字符碼寫入DDRAM,以使液晶顯示屏顯示出相對(duì)應(yīng)的字符;</p><p>  <2> 將用戶自己設(shè)計(jì)的圖形存入CGRAM。</p><p>  從CGRAM或DDRAM讀出數(shù)據(jù)的指令</p

19、><p>  功能:讀取DDRAM或CGRAM中的內(nèi)容。</p><p>  3.1.5 控制器接口時(shí)序說(shuō)明</p><p>  3.1.5.1 讀操作時(shí)序</p><p>  圖3 讀操作時(shí)序 </p><p>  3.1.5.2 寫操作時(shí)序</p><p><b>  圖4 寫操作

20、時(shí)序</b></p><p><b>  硬件連接圖</b></p><p>  了解完LM016L基本資料,現(xiàn)在我們可以將LCD與單片機(jī)接在一起。實(shí)現(xiàn)方案時(shí),將89C51單片機(jī)的P1口與LCD數(shù)據(jù)口連接起來(lái) ,P3口接液晶控制端口及按鍵。</p><p>  具體的硬件連接圖如圖5所示。</p><p> 

21、 圖5 液晶廣告牌硬件設(shè)計(jì)圖</p><p><b>  源程序代碼</b></p><p>  #include <REG51.H></p><p>  #include <INTRINS.H> //庫(kù)函數(shù)頭文件,代碼中引用了_nop_()函數(shù)</p><p>  // 定義控制信

22、號(hào)端口</p><p>  sbit RS=P3^0; //P3.0</p><p>  sbit RW=P3^1; //P3.1</p><p>  sbit E= P3^2; //P3.2</p><p>  int jishu=0;</

23、p><p><b>  // 聲明調(diào)用函數(shù)</b></p><p>  void lcd_w_cmd(unsigned char com); //寫命令字函數(shù)</p><p>  void lcd_w_dat(unsigned char dat); //寫數(shù)據(jù)函數(shù)</p><p&g

24、t;  unsigned char lcd_r_start(); //讀狀態(tài)函數(shù)</p><p>  void int1(); //LCD初始化函數(shù)</p><p>  void delay(unsigned char t); //可控延時(shí)函數(shù)</p>&

25、lt;p>  void delay1(); //軟件實(shí)現(xiàn)延時(shí)函數(shù),5個(gè)機(jī)器周期</p><p>  void main() //主函數(shù)</p><p><b>  { </b></p><p>  unsigned char lcd[]="i am the best

26、 one mei bang si wei te"; </p><p>  unsigned char lcd1[]="i am yu yang yi from whut";</p><p>  unsigned char i;</p><p>  EA=1; //全局中斷開<

27、/p><p>  EX1=1; //外部中斷0開</p><p>  IT1=1; //邊沿觸發(fā),IT1=0表示電平觸發(fā)</p><p>  P1=0xff; //送全1到P0口</p><

28、;p>  int1(); //初始化LCD</p><p>  delay(255);</p><p>  lcd_w_cmd(0x80); //設(shè)置顯示位置</p><p>  delay(255);</p><p>  for(i=0;i

29、<36;i++) //顯示字符串</p><p>  { </p><p>  lcd_w_dat(lcd[i]);</p><p>  delay(200);</p><p><b>  }</b></p>&l

30、t;p>  lcd_w_cmd(0xc0); // 設(shè)置顯示位置</p><p>  delay(255); </p><p>  for(i=0;i<25;i++) // 顯示字符串</p><p>  { </p>&

31、lt;p>  lcd_w_dat(lcd1[i]);</p><p>  delay(200);</p><p><b>  }</b></p><p><b>  while(1){</b></p><p>  switch(jishu) {</p><p><

32、b>  case 0 :</b></p><p>  for(i=0;i<1;i++) // 閃爍</p><p>  { </p><p>  lcd_w_cmd(0x08); </p><p>  delay(200);</p>

33、<p>  lcd_w_cmd(0x0d);</p><p>  delay(200);</p><p><b>  }</b></p><p><b>  break;</b></p><p>  case 1: for(i=0;i<1;i++) //左

34、移</p><p>  { </p><p>  lcd_w_cmd(0x1c); </p><p>  delay(200);</p><p><b>  }</b></p><p><b>  break;</b></p

35、><p>  case 2: for(i=0;i<1;i++) //右移</p><p>  { </p><p>  lcd_w_cmd(0x18); </p><p>  delay(200);</p><p><b>  } <

36、/b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void ISR_Key(v

37、oid) interrupt 2 using 1</p><p><b>  {</b></p><p><b>  jishu++;</b></p><p>  jishu=jishu%3 ;</p><p><b>  }</b></p><p> 

38、 //函數(shù)名:delay</p><p>  //函數(shù)功能:采用軟件實(shí)現(xiàn)可控延時(shí) </p><p>  //形式參數(shù):延時(shí)時(shí)間控制參數(shù)存入變量t中</p><p><b>  //返回值:無(wú)</b></p><p>  void delay(unsigned char t) </p><p&g

39、t;<b>  {</b></p><p>  unsigned char j,i;</p><p>  for(i=0;i<t;i++)</p><p>  for(j=0;j<50;j++); </p><p><b>  }</b></p><p>  //

40、函數(shù)名:delay1</p><p>  //函數(shù)功能:采用軟件實(shí)現(xiàn)延時(shí),5個(gè)機(jī)器周期 </p><p><b>  //形式參數(shù):無(wú)</b></p><p><b>  //返回值:無(wú)</b></p><p>  void delay1() </p><p>&

41、lt;b>  { </b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  }</b></

42、p><p>  //函數(shù)名:int1</p><p>  //函數(shù)功能:lcd初始化 </p><p><b>  //形式參數(shù):無(wú)</b></p><p><b>  //返回值:無(wú)</b></p><p>  void int1() </p>

43、<p><b>  {</b></p><p>  lcd_w_cmd(0x3c); // 設(shè)置工作方式</p><p>  lcd_w_cmd(0x0d); // 設(shè)置光標(biāo)</p><p>  lcd_w_cmd(0x01); // 清

44、屏</p><p>  lcd_w_cmd(0x06); // 設(shè)置輸入方式</p><p>  lcd_w_cmd(0x80); // 設(shè)置初始顯示位置</p><p><b>  }</b></p><p>  //函數(shù)名:lcd_r_start<

45、/p><p>  //函數(shù)功能:讀狀態(tài)字 </p><p><b>  //形式參數(shù):無(wú)</b></p><p>  //返回值:返回狀態(tài)字,最高位D7=0,LCD控制器空閑;D7=1,LCD控制器忙</p><p>  unsigned char lcd_r_start() </p><

46、;p><b>  {</b></p><p>  unsigned char s;</p><p>  RW=1;//RW=1,RS=0,讀LCD狀態(tài)</p><p><b>  delay1();</b></p><p><b>  RS=0;</b><

47、;/p><p><b>  delay1();</b></p><p>  E=1;//E端時(shí)序</p><p><b>  delay1();</b></p><p>  s=P1;//從LCD的數(shù)據(jù)口讀狀態(tài)</p><p><b>  d

48、elay1();</b></p><p><b>  E=0;</b></p><p><b>  delay1();</b></p><p><b>  RW=0;</b></p><p>  delay1(); </p><p>  re

49、turn(s); //返回讀取的LCD狀態(tài)字</p><p><b>  }</b></p><p>  //函數(shù)名:lcd_w_cmd</p><p>  //函數(shù)功能:寫命令字</p><p>  //形式參數(shù):命令字已存入com單元中</p><p><b>  /

50、/返回值:無(wú)</b></p><p>  void lcd_w_cmd(unsigned char com) </p><p><b>  {</b></p><p>  unsigned char i;</p><p>  do{ // 查L(zhǎng)CD忙操

51、作</p><p>  i=lcd_r_start(); // 調(diào)用讀狀態(tài)字函數(shù)</p><p>  i=i&0x80; // 與操作屏蔽掉低7位 </p><p><b>  delay(2);</b></p><p>  }while(i!=0);

52、 // LCD忙,繼續(xù)查詢,否則退出循環(huán)</p><p><b>  RW=0;</b></p><p><b>  delay1();</b></p><p>  RS=0; // RW=1,RS=0,寫LCD命令字</p><p><b>  d

53、elay1();</b></p><p>  E=1; //E端時(shí)序</p><p><b>  delay1();</b></p><p>  P1=com; //將com中的命令字寫入LCD數(shù)據(jù)口</p><p><b>  delay1();</

54、b></p><p><b>  E=0;</b></p><p><b>  delay1();</b></p><p><b>  RW=1;</b></p><p>  delay(255);</p><p><b>  }<

55、/b></p><p>  //函數(shù)名:lcd_w_dat</p><p>  //函數(shù)功能:寫數(shù)據(jù)</p><p>  //形式參數(shù):數(shù)據(jù)已存入dat單元中</p><p><b>  //返回值:無(wú)</b></p><p>  void lcd_w_dat(unsigned char d

56、at) </p><p>  { unsigned char i;</p><p>  do{ // 查忙操作</p><p>  i=lcd_r_start(); // 調(diào)用讀狀態(tài)字函數(shù)</p><p>  i=i&0x80;

57、// 與操作屏蔽掉低7位 </p><p>  delay(2); </p><p>  }while(i!=0); // LCD忙,繼續(xù)查詢,否則退出循環(huán)</p><p><b>  RW=0;</b></p><p><b>  delay1();&l

58、t;/b></p><p>  RS=1;// RW=1,RS=0,寫LCD命令字</p><p><b>  delay1();</b></p><p>  E=1; // E端時(shí)序</p><p><b>  delay1();</b></p&

59、gt;<p>  P1=dat; // 將dat中的顯示數(shù)據(jù)寫入LCD數(shù)據(jù)口</p><p><b>  delay1();</b></p><p><b>  E=0;</b></p><p><b>  delay1();</b></p><

60、p><b>  RW=1;</b></p><p>  delay(255);</p><p><b>  }</b></p><p><b>  調(diào)式過(guò)程及結(jié)果</b></p><p><b>  調(diào)式過(guò)程</b></p><p

61、>  第一步顯示固定語(yǔ)句,硬件圖連接好,且程序編譯通過(guò)沒有錯(cuò),生成.hex文件后下載到protues單片機(jī)進(jìn)行仿真,點(diǎn)開始后,液晶屏亮,但是液晶屏只有第一行有顯示,原本設(shè)定的第二行顯示未能如期實(shí)現(xiàn)。檢查程序后,發(fā)現(xiàn)初始化時(shí)候沒有給第二行設(shè)置顯示的物理地址,設(shè)定好第二行物理地址后第二行便出現(xiàn)了預(yù)期的顯示字符。</p><p>  第二步通過(guò)按鍵修改顯示方式,按照預(yù)期想法,在第一次按下按鍵后,字符串便呈閃爍狀態(tài)

62、,在沒有再次按下按鍵之前,LCD應(yīng)該保持之前閃爍狀態(tài),可是實(shí)際情況確實(shí)再完成一次閃爍后程序自動(dòng)進(jìn)行下一個(gè)模式即循環(huán)左移一次,左移完成之后又進(jìn)入循環(huán)右移,再而回到閃爍狀態(tài),并在這三個(gè)狀態(tài)間持續(xù)循環(huán)。分析后認(rèn)為是程序段用了switch循環(huán),這個(gè)循環(huán)將每個(gè)case語(yǔ)句順序執(zhí)行,于是在每個(gè)case語(yǔ)句后加上break語(yǔ)句,重新生成HEX文件執(zhí)行后果真這個(gè)問(wèn)題得到解決,并且沒有新的問(wèn)題。</p><p><b>

63、  結(jié)果</b></p><p>  調(diào)試完成后,最終仿真運(yùn)行結(jié)果。</p><p>  第一步,顯示固定內(nèi)容。即仿真開始后,不進(jìn)行任何操作,LCD顯示設(shè)置好的字符并按照默認(rèn)的顯示方式(閃爍)進(jìn)行顯示。如圖6。</p><p>  圖6 顯示固定語(yǔ)句</p><p>  第二步,通過(guò)按鍵修改顯示方式。按鍵一次后字符循環(huán)左移,再次

64、按下按鍵后字符串循環(huán)右移,圖7為字符串左移到最右端狀態(tài)。</p><p>  圖7 字符串左移到最右邊狀態(tài)</p><p><b>  心得體會(huì)</b></p><p>  在選定課題與液晶顯示器件相關(guān)后便上網(wǎng)搜集了一些芯片的資料,熟悉了一下芯片的使用說(shuō)明,這次是學(xué)習(xí)單片機(jī)以來(lái)第一次接觸字符型LCD,之前實(shí)驗(yàn)課中接觸的都是數(shù)碼管顯示芯片,直接

65、通過(guò)芯片管腳電平的賦值便可以顯示出相應(yīng)字符,但這次是要顯示出字符串,請(qǐng)教同學(xué)后,才知道每次輸入字符其實(shí)原理跟數(shù)碼管相似,不過(guò)每個(gè)字符是分別輸入的,即89C51按照順序?qū)⒆址謩e傳送到LCD中,匯編中用查表的方法來(lái)實(shí)現(xiàn),而C語(yǔ)言直接將字符串賦值就行。</p><p>  在閱讀了液晶芯片的使用手冊(cè)后,發(fā)現(xiàn)字符串不同的顯示方式幾經(jīng)內(nèi)置于芯片中,我們所需要做的就是利用89C51來(lái)將對(duì)應(yīng)實(shí)現(xiàn)相關(guān)功能的指令寫入到芯片中,課

66、程的難點(diǎn)不是讓LCD如何顯示字符串而是如何合理巧妙的控制好液晶芯片來(lái)實(shí)現(xiàn)其自身所原有的顯示功能,并讓系統(tǒng)穩(wěn)定工作。</p><p>  本次課程設(shè)計(jì)主要是對(duì)液晶的相關(guān)應(yīng)用。在拿到一塊芯片的時(shí)候,首先要看它的說(shuō)明書,操作手冊(cè)之類的資料,要從頭到尾都了解清楚了,才能開始運(yùn)用它。我們需要知道各個(gè)引腳的功能,才能正確的與單片機(jī)相連。液晶有讀寫操作時(shí)有指令與數(shù)據(jù)之分,了解寫指令時(shí)的時(shí)序,該怎樣操作才能把指令寫進(jìn)去,什么指令

67、是什么功能。同樣寫數(shù)據(jù)時(shí)也一樣。在寫程序是,必須嚴(yán)格按照操作時(shí)序圖,先做什么,后做什么。這樣才能設(shè)計(jì)出穩(wěn)定運(yùn)行的系統(tǒng)。</p><p>  通過(guò)這次課程設(shè)計(jì),我深刻理解到像單片機(jī)這種課程,如果一味專研課本,盲目記憶指令,這樣得來(lái)的知識(shí)是表層的,是膚淺的,是不能靈活運(yùn)用于實(shí)際生活中去的。只有在掌握相關(guān)理論只是后,配以相應(yīng)實(shí)踐練習(xí),多動(dòng)手鍛煉自己,不但加深了對(duì)理論知識(shí)的理解,還讓自己對(duì)這門課程產(chǎn)生了濃厚的興趣。而且看

溫馨提示

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

評(píng)論

0/150

提交評(píng)論