欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7010|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)的導(dǎo)盲儀系統(tǒng)設(shè)計(jì)報(bào)告與源程序等資料下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
單片機(jī)原理及應(yīng)用
項(xiàng)目設(shè)計(jì)報(bào)告

姓名:張*
學(xué)號:15221*
班級:校區(qū)15電氣1班
專業(yè):電氣工程及其自動(dòng)化
學(xué)院:電氣與信息工程學(xué)院


20186

目錄

基于單片機(jī)的導(dǎo)盲儀系統(tǒng)

一、緒論

1、項(xiàng)目研究背景及意義

二、總體設(shè)計(jì)方案及論證

1、總體方案設(shè)計(jì)

三、硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)

1、主控制模塊

2、  電源設(shè)計(jì)

3、  超聲波測試模塊

4、 測距分析

5、 時(shí)鐘電路的設(shè)計(jì)

6、 復(fù)位電路的設(shè)計(jì)

7、  聲音報(bào)警電路的設(shè)計(jì)

8、顯示模塊

四、軟件設(shè)計(jì)

1、主程序工作流程圖

2、超聲波探測程序流程圖

五、總結(jié)

六、參考文獻(xiàn)

附 錄

附件1:原理圖

附件2:程序

附件3:實(shí)物圖


一、緒論
1、項(xiàng)目研究背景及意義
由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護(hù)、不污染、高可靠、長壽命等特點(diǎn)。因此可廣泛應(yīng)用于紙業(yè)、礦業(yè)、電廠、化工業(yè)、水處理廠、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測、食品(酒業(yè)、飲料業(yè)、添加劑、食用油、奶制品)、防汛、水文、明渠、空間定位、公路限高等行業(yè)中。可在不同環(huán)境中進(jìn)行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進(jìn)行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲在空氣中測距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測往往比較迅速、方便、計(jì)算簡單、易于實(shí)現(xiàn)實(shí)時(shí)控制,并且在測量精度方面能達(dá)到工業(yè)實(shí)用的指標(biāo)要求,因此為了使移動(dòng)機(jī)器人能夠自動(dòng)躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時(shí)獲取距障礙物的位置信息(距離和方向)。因此超聲波測距在移動(dòng)機(jī)器人的研究上得到了廣泛的應(yīng)用。同時(shí)由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點(diǎn),因此在導(dǎo)盲儀的研制方面也得到了廣泛的應(yīng)用。

二、總體設(shè)計(jì)方案及論證
1、總體方案設(shè)計(jì)
本設(shè)計(jì)包括硬件和軟件設(shè)計(jì)兩個(gè)部分。模塊劃分為數(shù)據(jù)采集、按鍵控制、四位數(shù)碼管顯示、報(bào)警等子模塊。電路結(jié)構(gòu)可劃分為:超聲波傳感器、蜂鳴器、單片機(jī)控制電路。就此設(shè)計(jì)的核心模塊來說,單片機(jī)就是設(shè)計(jì)的中心單元,所以此系統(tǒng)也是單片機(jī)應(yīng)用系統(tǒng)的一種應(yīng)用。單片機(jī)應(yīng)用系統(tǒng)也是有硬件和軟件組成。硬件包括單片機(jī)、輸入/輸出設(shè)備、以及外圍應(yīng)用電路等組成的系統(tǒng),軟件是各種工作程序的總稱。單片機(jī)應(yīng)用系統(tǒng)的研制過程包括總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)等幾個(gè)階段。系統(tǒng)采用STC89C52單片機(jī)作為核心控制單元,當(dāng)測得的距離小于設(shè)定距離時(shí),主控芯片將測得的數(shù)值與設(shè)定值進(jìn)行比較處理。然后控制蜂鳴器報(bào)警。系統(tǒng)總體的設(shè)計(jì)方框圖如圖2-1所示。




圖2-1 系統(tǒng)方框圖

三、硬件實(shí)現(xiàn)及單元電路設(shè)計(jì)
1、主控制模塊
主控制最小系統(tǒng)電路如圖3-1所示。

圖3-1 最小系統(tǒng)

硬件電路總設(shè)計(jì)見圖3-2,從以上的分析可知在本設(shè)計(jì)中要用到如下器件: STC89C52、超聲波傳感器、按鍵、四位數(shù)碼管、蜂鳴器等一些單片機(jī)外圍應(yīng)用電路。其中D1為電源工作指示燈。電路中用到3個(gè)按鍵,一個(gè)是設(shè)定鍵, 一個(gè)加鍵,一個(gè)減鍵。

圖3-2 總設(shè)計(jì)電路圖

2、  電源設(shè)計(jì)
電源部分的設(shè)計(jì)采用3節(jié)5號干電池4.5V供電。
3、  超聲波測試模塊
超聲波模塊采用現(xiàn)成的HC-SR04超聲波模塊,該模塊可提供 2cm-500cm 的非接觸式距離感測功能,測距精度可達(dá)高到 3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:采用 IO 口 TRIG 觸發(fā)測距,給至少 10us 的高電平信號;模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測是否有信號返回;有信號返回,通過 IO 口 ECHO 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測試距離=(高電平時(shí)間*聲速(340M/S))/2。實(shí)物如下圖4。其中VCC 供5V 電源,GND 為地線,TRIG 觸發(fā)控制信號輸入,ECHO 回響信號輸出等四支線。

圖3-3 超聲波模塊實(shí)物圖

超聲波探測模塊HC-SR04的使用方法如下:IO口觸發(fā),給Trig口至少10us的高電平,啟動(dòng)測量;模塊自動(dòng)發(fā)送8個(gè)40Khz的方波,自動(dòng)檢測是否有信號返回;有信號返回,通過IO口Echo輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測試距離=(高電平時(shí)間*340)/ 2,單位為m。程序中測試功能主要由兩個(gè)函數(shù)完成。
實(shí)現(xiàn)中采用定時(shí)器0進(jìn)行定時(shí)測量,8分頻,TCNTT0預(yù)設(shè)值0XCE,當(dāng)timer0溢出中斷發(fā)生2500次時(shí)為125ms,計(jì)算公式為(單位:ms):
T = (定時(shí)器0溢出次數(shù) * (0XFF - 0XCE))/ 1000
其中定時(shí)器0初值計(jì)算依據(jù)分頻不同而有差異。
4、 測距分析
超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2
最常用的超聲測距的方法是回聲探測法,超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)計(jì)數(shù)器開始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物面阻擋就立即反射回來,超聲波接收器收到反射回的超聲波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物面的距離s,即:s=340t/2。   
只要測得超聲波往返的時(shí)間,即可求得距離。這就是超聲波測距儀的基本原理。如圖12所示:

圖3-4 超聲波的測距原理


                             (3-1)
                           (3-2)
式中:L---兩探頭之間中心距離的一半.
又知道超聲波傳播的距離為:
                                ( 3-3)
式中:v—超聲波在介質(zhì)中的傳播速度;
     t—超聲波從發(fā)射到接收所需要的時(shí)間.
將(3—2)、(3—3)代入(3-1)中得:
                     ( 3-4)
其中,超聲波的傳播速度v在一定的溫度下是一個(gè)常數(shù)(例如在溫度T=30度時(shí),V=349m/s);當(dāng)需要測量的距離H遠(yuǎn)遠(yuǎn)大于L時(shí),則(3—4)變?yōu)?
                                           ( 3-5)               
所以,只要需要測量出超聲波傳播的時(shí)間t,就可以得出測量的距離H.
5、 時(shí)鐘電路的設(shè)計(jì)
XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。
因?yàn)橐粋(gè)機(jī)器周期含有6個(gè)狀態(tài)周期,而每個(gè)狀態(tài)周期為2個(gè)振蕩周期,所以一個(gè)機(jī)器周期共有12個(gè)振蕩周期,如果外接石英晶體振蕩器的振蕩頻率為12MHZ,一個(gè)振蕩周期為1/12us,故而一個(gè)機(jī)器周期為1us。如圖3-5所示為時(shí)鐘電路。

圖3-5 時(shí)鐘電路圖


6、 復(fù)位電路的設(shè)計(jì)
復(fù)位方法一般有上電自動(dòng)復(fù)位和外部按鍵手動(dòng)復(fù)位,單片機(jī)在時(shí)鐘電路工作以后, 在RESET端持續(xù)給出2個(gè)機(jī)器周期的高電平時(shí)就可以完成復(fù)位操作。例如使用晶振頻率為12MHz時(shí),則復(fù)位信號持續(xù)時(shí)間應(yīng)不小于2us。本設(shè)計(jì)采用的是自動(dòng)復(fù)位電路。如圖3-6示為復(fù)位電路。

圖3-6 復(fù)位電路圖

7、  聲音報(bào)警電路的設(shè)計(jì)
如下圖所示,用一個(gè)Speaker和三極管、電阻接到單片機(jī)的P13引腳上,構(gòu)成聲音報(bào)警電路,如圖3-7示為聲音報(bào)警電路。

圖3-7 聲音報(bào)警電路圖

8、顯示模塊
顯示模塊采用數(shù)碼管顯示接口電路如圖3-8


圖3-8 數(shù)碼管電路



四、軟件設(shè)計(jì)            
1、主程序工作流程圖
按上述工作原理和硬件結(jié)構(gòu)分析可知系統(tǒng)主程序工作流程圖如下圖4-1所示;

圖4-1主程序工作流程圖


2、超聲波探測程序流程圖

圖4-2 超聲波探測程序流程圖

五、總結(jié)
本設(shè)計(jì)研究了一種基于單片機(jī)技術(shù)的超聲波導(dǎo)盲儀系統(tǒng)。該系統(tǒng)通過以STC89C52單片機(jī)為工作處理器核心,超聲波傳感器,它是一種新穎的被動(dòng)式超聲波探測器件,能夠以非接觸測出前方物體距離,并將其轉(zhuǎn)化為相應(yīng)的電信號輸出.該報(bào)警器的最大特點(diǎn)就是使用戶能夠操作簡單、易懂、靈活;且安裝方便、智能性高、誤報(bào)率低。隨著現(xiàn)代人們安全意識(shí)的增強(qiáng)以及科學(xué)技術(shù)的快速發(fā)展,相信超聲波導(dǎo)盲儀必將在更廣闊的人群中得到更深層次的應(yīng)用。
六、參考文獻(xiàn)
[1] 吳政江. 單片機(jī)控制紅外線防盜報(bào)警器[J]. 錦州師范學(xué)院學(xué)報(bào), 2001.
[2] 宋文緒. 傳感器與檢測技術(shù)[M]. 北京: 高等教育出版社, 2004.
[3] 余錫存. 單片機(jī)原理及接口技術(shù)[M]. 西安: 西安電子科技大學(xué)出版社, 2000.
[4] 唐桃波, 陳玉林. 基于AT89C51的智能無線安防報(bào)警器 [J]. 電子設(shè)計(jì)應(yīng)用, 2003, 5(6): 49~51.
[5] 李全利. 單片機(jī)原理及接口技術(shù)[M]. 北京: 北京航空航天大學(xué)出版社, 2004.
[6] 薛均義, 張彥斌. MCS-51系列單片微型計(jì)算機(jī)及其應(yīng)用[M]. 西安: 西安交通大學(xué)出版社, 2005.
[7] 徐愛鈞, 彭秀華. 單片機(jī)高級語言C51應(yīng)用程序設(shè)計(jì)[M]. 北京: 北京航空航天大學(xué)出版社, 2006.
[8] 康華光. 電子技術(shù)基礎(chǔ)(模擬部分)[M]. 北京: 高等教育出版社, 2004.


附件1:原理圖
附件2:程序

  1. #include <reg52.h>                       //調(diào)用單片機(jī)頭文件
  2. #define uchar unsigned char  //無符號字符型 宏定義              變量范圍0~255
  3. #define uint  unsigned int              //無符號整型 宏定義              變量范圍0~65535
  4. #include <intrins.h>

  5. //數(shù)碼管段選定義      0     1    2    3    4    5              6              7                8                 9            
  6. uchar code smg_du[]={0x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0,
  7.                                                                         0x60,0x25,0x39,0x26,0x31,0x71,0xff};              //斷碼


  8. uchar dis_smg[8]   ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};

  9. //數(shù)碼管位選定義
  10. sbit smg_we1 = P3^4;                  //數(shù)碼管位選定義
  11. sbit smg_we2 = P3^5;
  12. sbit smg_we3 = P3^6;
  13. sbit smg_we4 = P3^7;

  14. sbit c_send   = P3^2;                            //超聲波發(fā)射
  15. sbit c_recive = P3^3;                            //超聲波接收

  16. sbit beep = P2^3;   //蜂鳴器IO口定義
  17. uchar smg_i = 3;    //顯示數(shù)碼管的個(gè)位數(shù)
  18. bit flag_300ms ;

  19. long distance;                      //距離
  20. uint set_d;                          //距離
  21. uchar flag_csb_juli;    //超聲波超出量程
  22. uint  flag_time0;       //用來保存定時(shí)器0的時(shí)候的

  23. uchar menu_1;           //菜單設(shè)計(jì)的變量


  24. /***********************1ms延時(shí)函數(shù)*****************************/
  25. void delay_1ms(uint q)
  26. {
  27.               uint i,j;
  28.               for(i=0;i<q;i++)
  29.                             for(j=0;j<120;j++);
  30. }

  31. /***********************處理距離函數(shù)****************************/
  32. void smg_display()
  33. {
  34.               dis_smg[0] = smg_du[distance % 10];
  35.               dis_smg[1] = smg_du[distance / 10 % 10];
  36.               dis_smg[2] = smg_du[distance / 100 % 10] & 0xdf; ;            
  37. }

  38. /********************獨(dú)立按鍵程序*****************/
  39. uchar key_can;              //按鍵值

  40. void key()              //獨(dú)立按鍵程序
  41. {
  42.               static uchar key_new;
  43.               key_can = 20;                   //按鍵值還原
  44.               P2 |= 0x07;
  45.               if((P2 & 0x07) != 0x07)                            //按鍵按下
  46.               {
  47.                             delay_1ms(1);                                 //按鍵消抖動(dòng)
  48.                             if(((P2 & 0x07) != 0x07) && (key_new == 1))
  49.                             {                                                                                    //確認(rèn)是按鍵按下
  50.                                           key_new = 0;
  51.                                           switch(P2 & 0x07)
  52.                                           {
  53.                                                         case 0x06: key_can = 3; break;                 //得到k2鍵值
  54.                                                         case 0x05: key_can = 2; break;                 //得到k3鍵值
  55.                                                         case 0x03: key_can = 1; break;                 //得到k4鍵值
  56.                                           }
  57.                             }                                         
  58.               }
  59.               else
  60.                             key_new = 1;            
  61. }

  62. /****************按鍵處理顯示函數(shù)***************/
  63. void key_with()
  64. {
  65.               if(key_can == 1)                            //設(shè)置鍵
  66.               {
  67.                             menu_1 ++;
  68.                             if(menu_1 >= 2)
  69.                             {
  70.                                           menu_1 = 0;
  71.                                           smg_i = 3;                            //只顯示3位數(shù)碼管
  72.                             }
  73.                             if(menu_1 == 1)
  74.                             {
  75.                                           smg_i = 4;                 //只顯示4位數(shù)碼管
  76.                             }
  77.               }
  78.               if(menu_1 == 1)                                          //設(shè)置報(bào)警
  79.               {
  80.                             if(key_can == 2)
  81.                             {
  82.                                           set_d ++ ;                            //加1
  83.                                           if(set_d > 400)
  84.                                                         set_d = 400;
  85.                             }
  86.                             if(key_can == 3)
  87.                             {
  88.                                           set_d -- ;                            //減1
  89.                                           if(set_d <= 1)
  90.                                                         set_d = 1;
  91.                             }
  92.                             dis_smg[0] = smg_du[set_d % 10];                         //取小數(shù)顯示
  93.                             dis_smg[1] = smg_du[set_d / 10 % 10] ;         //取個(gè)位顯示
  94.                             dis_smg[2] = smg_du[set_d / 100 % 10] & 0xdf ; //取十位顯示
  95.                             dis_smg[3] = 0x60;                      //a
  96.               }            
  97. }

  98. /****************報(bào)警函數(shù)***************/
  99. void clock_h_l()
  100. {
  101.               static uchar value;
  102.               if(distance <= set_d)
  103.               {
  104.                             value ++;  //消除實(shí)際距離在設(shè)定距離左右變化時(shí)的干擾
  105.                             if(value >= 2)
  106.                             {
  107.                                           beep = ~beep;                 //蜂鳴器報(bào)警            
  108.                             }
  109.               }
  110.               else
  111.               {
  112.                             value = 0;
  113.                             beep = 1;                            //取消報(bào)警
  114.               }            
  115. }

  116. /***********************數(shù)碼位選函數(shù)*****************************/
  117. void smg_we_switch(uchar i)
  118. {
  119.               switch(i)
  120.               {
  121.                             case 0: smg_we1 = 0;  smg_we2 = 1; smg_we3 = 1;  smg_we4 = 1; break;
  122.                             case 1: smg_we1 = 1;  smg_we2 = 0; smg_we3 = 1;  smg_we4 = 1; break;
  123.                             case 2: smg_we1 = 1;  smg_we2 = 1; smg_we3 = 0;  smg_we4 = 1; break;
  124.                             case 3: smg_we1 = 1;  smg_we2 = 1; smg_we3 = 1;  smg_we4 = 0; break;
  125.               }            
  126. }

  127. /***********************數(shù)碼顯示函數(shù)*****************************/
  128. void display()
  129. {
  130.               static uchar i;  
  131.               i++;
  132.               if(i >= smg_i)
  133.                             i = 0;            
  134.               smg_we_switch(i);                            //位選
  135.               P1 = dis_smg[i];                            //段選                     
  136. }

  137. /******************小延時(shí)函數(shù)*****************/
  138. void delay()
  139. {
  140.               _nop_();                                        //執(zhí)行一條_nop_()指令就是1us
  141.               _nop_();
  142.               _nop_();
  143.               _nop_();
  144.               _nop_();
  145.               _nop_();
  146.               _nop_();
  147.               _nop_();
  148.               _nop_();
  149.               _nop_();
  150. }


  151. /*********************超聲波測距程序*****************************/
  152. void send_wave()
  153. {
  154.               c_send = 1;                                       //10us的高電平觸發(fā)
  155.               delay();
  156.               c_send = 0;            
  157.               TH0 = 0;                                      //給定時(shí)器0清零
  158.               TL0 = 0;
  159.               TR0 = 0;                                                          //關(guān)定時(shí)器0定時(shí)
  160.               while(!c_recive);                              //當(dāng)c_recive為零時(shí)等待
  161.               TR0=1;
  162.               while(c_recive)                                  //當(dāng)c_recive為1計(jì)數(shù)并等待
  163.               {
  164.                             flag_time0 = TH0 * 256 + TL0;
  165.                             if((flag_time0 > 40000))      //當(dāng)超聲波超過測量范圍時(shí),顯示3個(gè)888
  166.                             {
  167.                                           TR0 = 0;
  168.                                           flag_csb_juli = 2;
  169.                                           distance = 888;
  170.                                           break ;                           
  171.                             }
  172.                             else
  173.                             {
  174.                                           flag_csb_juli = 1;            
  175.                             }
  176.               }
  177.               if(flag_csb_juli == 1)
  178.               {            
  179.                             TR0=0;                                                                                                  //關(guān)定時(shí)器0定時(shí)
  180.                             distance =flag_time0;                                          //讀出定時(shí)器0的時(shí)間
  181.                             distance *= 0.017;               // 0.017 = 340M / 2 = 170M = 0.017M 算出來是米
  182.                             if((distance > 500))                                                        //距離 = 速度 * 時(shí)間
  183.                             {            
  184.                                           distance = 888;                                                        //如果大于3.8m就超出超聲波的量程
  185.                             }
  186.               }
  187. }


  188. /*********************定時(shí)器0、定時(shí)器1初始化******************/
  189. void time_init()               
  190. {
  191.               EA  = 1;                              //開總中斷
  192.               TMOD = 0X11;                //定時(shí)器0、定時(shí)器1工作方式1
  193.               ET0 = 0;                              //關(guān)定時(shí)器0中斷
  194.               TR0 = 1;                              //允許定時(shí)器0定時(shí)
  195.               ET1 = 1;                              //開定時(shí)器1中斷
  196.               TR1 = 1;                              //允許定時(shí)器1定時(shí)            
  197. }



  198. /***************主函數(shù)*****************/
  199. void main()
  200. {
  201.               beep = 0;                            //開機(jī)叫一聲  
  202.               delay_1ms(150);
  203.               P0 = P1 = P2 = P3 = 0xff;                 //初始化單片機(jī)IO口為高電平
  204.               time_init();              //定時(shí)器初始化程序
  205.               send_wave();              //測距離函數(shù)
  206.               while(1)
  207.               {                             
  208.                             if(flag_300ms == 1)
  209.                             {                           
  210. ……………………

  211. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼



全部資料51hei下載地址:

152219702125張俊巖.zip (8.66 MB, 下載次數(shù): 69)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表