單片機課程設(shè)計-個性化電子時鐘設(shè)計_第1頁
單片機課程設(shè)計-個性化電子時鐘設(shè)計_第2頁
單片機課程設(shè)計-個性化電子時鐘設(shè)計_第3頁
單片機課程設(shè)計-個性化電子時鐘設(shè)計_第4頁
單片機課程設(shè)計-個性化電子時鐘設(shè)計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單單片機片機課課程程設(shè)計設(shè)計 個性化電子時鐘設(shè)計個性化電子時鐘設(shè)計 學 院: 07 電子信息工程 班 級: 電子(1)班 姓 名: 組 員: 指導老師: 目錄 摘摘 要要.2 一、電子時鐘一、電子時鐘.2 1.1 電子時鐘簡介 .2 1.2 電子時鐘的基本特點.2 1.3 電子時鐘的原理.3 二、二、 單片機識的相關(guān)知識單片機識的相關(guān)知識.3 2.1 單片機簡介.3 2.2 單片機的發(fā)展史.3 1 . 4位單片機.3 2 . 8位單片機.3 3 . 16位單片機.4 4 . 32位單片機.4 5 . 64位單片機.4 2.3 單片機的特點.4 2.4 AT89C51 單片機介紹.5 三、三、

2、控制系統(tǒng)的硬件設(shè)計控制系統(tǒng)的硬件設(shè)計.7 3.1 單片機型號的選擇.7 3.2 數(shù)碼管顯示工作原理.7 3.3 74LS373 介紹.8 3.4 整個電路原理圖.9 四、四、 控制系統(tǒng)的軟件設(shè)計控制系統(tǒng)的軟件設(shè)計.9 4.1 程序清單 .9 4.2 仿真結(jié)果 .15 五、心得五、心得.16 六、參考文獻六、參考文獻.17 摘摘 要要 單片計算機即單片微型計算機。由 RAM ,ROM,CPU 構(gòu)成,定時,計數(shù)和多種接口于一 體的微控制器。它體積小,成本低,功能強,廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動化上。而 51 系 列單片機是各單片機中最為典型和最有代表性的一種。這次課程設(shè)計通過對它的學習,應(yīng)用, 從

3、而達到學習、設(shè)計、開發(fā)軟、硬的能力。 本設(shè)計主要設(shè)計了一個基于 AT89C51 單片機的電子時鐘。在數(shù)碼管通過一個控制鍵轉(zhuǎn)換 來顯示相應(yīng)的時間和日期。并通過多個控制鍵用來實現(xiàn)時間和日期的調(diào)節(jié)。應(yīng)用 keil 軟件實現(xiàn) 單片機電子時鐘系統(tǒng)的程序設(shè)計,用 Proteus 的 ISIS 軟件實現(xiàn)仿真。該方法仿真效果真實、準確, 節(jié)省了硬件資源。 關(guān)鍵字:單片機 時鐘 鍵盤控制 一、電子時鐘一、電子時鐘 1.1 電子時鐘簡介電子時鐘簡介 1957 年,Ventura 發(fā)明了世界上第一個電子表,從而奠定了電子時鐘的基礎(chǔ),電子時鐘開始 迅速發(fā)展起來?,F(xiàn)代的電子時鐘是基于單片機的一種計時工具,采用延時程序產(chǎn)

4、生一定的時間 中斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四 小時小時清零。從而達到計時的功能,是人民日常生活補課缺少的工具。 1.2 電子時鐘的基本特點電子時鐘的基本特點 現(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都 采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用 集成電路計時,譯碼代替機械式傳動,用 LED 顯示器代替指針顯示進而顯示時間和日期,減小 了誤差,這種表具有時、分、秒顯示時間的功能和年月日顯示日期的功能,還可以進行校對, 片選的靈活性好。 1.3 電子時鐘的原理電子時鐘的原

5、理 該電子時鐘由 AT89C51,74LS373,BUTTON,數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動電路, 由延時程序和循環(huán)程序產(chǎn)生的一秒定時,達到時分秒的計時,六十秒為一分鐘,六十分鐘為一 小時,滿二十四小時為一天,滿三十天(閏年二月滿二十九天,平年二月滿二十八天)為一個月, 滿十二個月為一年。電路中的鍵控 1 實現(xiàn)“年”和“分”的調(diào)節(jié),鍵控 2 實現(xiàn)“月”和“時” 的調(diào)節(jié),鍵控 3 實現(xiàn)“日”和“分”的調(diào)節(jié)。每按一次就加一。 二、二、 單片機識的相關(guān)知識單片機識的相關(guān)知識 2.1 單片機簡介單片機簡介 單片機全稱為單片機微型計算機(Single Chip Microsoftcomputer)

6、。從應(yīng)用領(lǐng)域來看,單片 機主要用來控制,所以又稱為微控制器(Microcontroller Unit)或嵌入式控制器。單片機是將計 算機的基本部件微型化并集成在一塊芯片上的微型計算機。 2.2 單片機的發(fā)展史單片機的發(fā)展史 1 . 4 位單片機位單片機 1975 年,美國德克薩斯儀器公司首次推出 4 位單片機 TMS-1000;此后,各個計算機公司 競相推出四位單片機。日本松下公司的 MN1400 系列,美國洛克威爾公司的 PPS/1 系列等。四 位單片機的主要應(yīng)用領(lǐng)域有:PC 機的輸入裝置,電池充電器,運動器材,帶液晶顯示的音/視頻 產(chǎn)品控制器,一般家用電器的控制及遙控器,電子玩具,鐘表,計

7、算器,多功能電話等。 2 . 8 位單片機位單片機 1972 年,美國 Intel 公司首先推出 8 位微處理器 8008,并于 1976 年 9 月率先推出 MCS-48 系列單片機。在這以后,8 位單片機紛紛面市。例如,莫斯特克和仙童公司合作生產(chǎn)的 3870 系 列,摩托羅拉公司生產(chǎn)的 6801 系列等。隨著集成電路工藝水平的提高,一些高性能的 8 位單片 機相繼問世。例如,1978 年摩托羅拉公司的 MC6801 系列及齊洛格公司的 Z8 系列,1979 年 NEC 公司的 UPD78XX 系列。這類單片機的尋址能力達 64KB,片內(nèi) ROM 容量達 4-8KB,片 內(nèi)除帶有并行 IO

8、口外,還有串行 IO 口,甚至還有 AD 轉(zhuǎn)化器功能。8 位單片機由于功能強, 被廣泛用于自動化裝置、智能儀器儀表、智能接口、過程控制、通信、家用電器等各個領(lǐng)域。 3 . 16 位單片機位單片機 1983 年以后,集成電路的集成度可達幾十萬只管/片,各系列 16 位單片機紛紛面市。這一 階段的代表產(chǎn)品有 1983 年 Intel 公司推出的 MCS-96 系列,1987 年 Intel 推出了 80C96,美國國 家半導體公司推出的 HPC16040,NEC 公司推出的 783XX 系列等。16 位單片機主要用于工業(yè)控 制,智能儀器儀表,便攜式設(shè)備等場合。 4 . 32 位單片機位單片機 隨著

9、高新技術(shù)只智能機器人,光盤驅(qū)動器,激光打印機,圖像與數(shù)據(jù)實時處理,復(fù)雜實時 控制,網(wǎng)絡(luò)服務(wù)器等領(lǐng)域的應(yīng)用與發(fā)展,20 世紀 80 年代末推出了 32 位單片機,如 Motorlora 公 司的 MC683XX 系列,Intel 的 80960 系列,以及近年來流行的 ARM 系列單片機。32 位單片機 是單片機的發(fā)展趨勢,隨著技術(shù)的發(fā)展及開發(fā)成本和產(chǎn)品價格的下降,將會與 8 位單片機并駕 齊驅(qū)。 5 . 64 位單片機位單片機 近年來,64 位單片機在引擎控制,智能機器人,磁盤控制,語音圖像通信,算法密集的實 時控制場合已有應(yīng)用,如英國 Inmos 公司的 Transputer T800 是高

10、性能的 64 位單片機。 2.3 單片機的特點單片機的特點 1 . 單片機的存儲器 ROM 和 RAM 時嚴格區(qū)分的。ROM 稱為程序存儲器,只存放程序, 固定常數(shù),及數(shù)據(jù)表格。RAM 則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機有更強的邏輯控制能力,特別是單 片機具有很強的位處理能力。 3 . 單片機的 I/O 口通常時多功能的。由于單片機芯片上引腳數(shù)目有限,為了解決實際引 腳數(shù)和需要的信號線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè) 置或由機器狀態(tài)來區(qū)分。 4 . 單片機的外部擴展能力很強。在內(nèi)部的各種功能部件不能

11、滿足應(yīng)用的需求時,均可在 外部進行擴展,與許多通用的微機接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來了很大的方便。 2.4AT89C51 單片機介紹單片機介紹 VCC:電源;GND:接地。 P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當 P1 口的管腳 第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程 序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/ 地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當 FIASH 進行校驗時,P0 輸出原碼, 此時 P0 外部必須被拉高。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器

12、能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作 輸入,P1 口被外部下拉為低電平時, 將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗時,P1 口作為第八位地址接收。 P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當 P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當用于外部程序存儲器 或 16 位地址外部數(shù)據(jù)存 儲器進行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它

13、利用 內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2 口輸出其特殊功能寄存器 的內(nèi)容。 P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD

14、 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U4 AT89C51 圖 1 AT89C51 單片機 P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。當 P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸

15、出電流(ILL)這是由于上拉的緣故。 P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷 0) P3.3 /INT1(外部中斷 1) P3.4 T0(記時器 0 外部輸入) P3.5 T1(記時器 1 外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3 口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持 RST 腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出

16、電平用于鎖存地址的地位字節(jié)。 在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈 沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要 注意的是:每當用作外部數(shù)據(jù)存儲器 時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。另外, 該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次 /PSEN 有效。但在訪問外

17、部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲(0000H-FFFFH),不管是否有 內(nèi)部程序存儲器。注意加密方式 1 時, /EA 將內(nèi)部鎖定為 RESET;當/EA 端保持高電平時,此 間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP)。 三、三、 控制系統(tǒng)的硬件設(shè)計控制系統(tǒng)的硬件設(shè)計 3.1 單片機型號的選擇單片機型號的選擇 通過對多種單片機性能的分析,最終認為 89C51 是最理想的電子時鐘開發(fā)芯片。89C51 是 一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能 C

18、MOS8 位微處理器,器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51 指令集和輸出管腳相兼容。 由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 89C51 是一種高效微控制 器,而且它與 MCS-51 兼容,且具有 4K 字節(jié)可編程閃爍存儲器和 1000 寫/擦循環(huán),數(shù)據(jù)保留時 間為 10 年等特點,是最好的選擇。 3.2 數(shù)碼管顯示數(shù)碼管顯示工作原理工作原理 數(shù)碼管是一種把多個 LED 顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一 種是共陰型。共陽型就是把多個 LED 顯示段的陽極接在一起,又稱為公共端。共陰型就是把多

19、 個 LED 顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為 二極管的負極,又稱為負極。通常的數(shù)碼管又分為 8 段,即 8 個 LED 顯示段,這是為工程應(yīng)用 方便如設(shè)計的,分別為 A、B、C、D、E、F、G、DP,其中 DP 是小數(shù)點位段。而多位數(shù)碼管, 除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的 A 段 都會連在一起,其它的段也是如此,這是實際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示 和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的 8 段輸入及其公共端電平一直有效。動態(tài)顯示的原理 是,各個數(shù)碼管的相同段連接在一起,共同占用 8 位段

20、引管線;每位數(shù)碼管的陽極連在一起組 成公共端。利用人眼的視覺暫留性,依次給出各個數(shù)碼管公共端加有效信號,在此同時給出該 數(shù)碼管加有效的數(shù)據(jù)信號,當全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。 圖 2 共陰數(shù)碼管 3.3 74LS373 介紹介紹: 373 為三態(tài)輸出的八 D 透明鎖存器 ,373 的輸出端 O0O7 可直接與總線相連。 當三態(tài)允許控制端 OE 為低電平時, O0O7 為正常邏輯狀態(tài),可用來驅(qū)動負載或總 線。當 OE 為高電平時, O0O7 呈高阻態(tài),即不驅(qū)動總線,也不為總線的負載,鎖存器 內(nèi)部的邏輯操作不受影響。 當鎖存允許端 LE 為高電平時, O 隨數(shù)據(jù) D 而變

21、。當 LE 為低電平時, O 被鎖存在 已建立的數(shù)據(jù)電平。當 LE 端施密特觸發(fā)器的輸入滯后作用, 使交流和直流噪聲抗擾度被改善 400mV。 引出端符號: D0D7 數(shù)據(jù)輸入端 ;OE 三態(tài)允許控制端(低電平有效 ;LE 鎖存允許端 ;O0O 7 輸出端 圖 3 74LS373 3.4 整個電路原理圖整個電路原理圖 圖 4 系統(tǒng)電路原理圖 四、四、 控制系統(tǒng)的軟件設(shè)計控制系統(tǒng)的軟件設(shè)計 4.1 程序清單程序清單 #include #include sbit P20=P20; /*定義端口*/ sbit khour=P30; sbit kmin=P31; sbit knian=P32; sbi

22、t tiaonian=P33 ; sbit speaker=P37 ; int j=-1 ; /*定義變量,j 用以控制掃描*/ bit flag=0,leap=0; /*定義 flag 控制時分秒和年月日的顯示,leap 判斷是否為閏年 */ char secshi=0,secge=0,minshi=0,minge=0,hourshi=0,hourge=0; char dayshi=0,dayge=0,monthshi=0,monthge=0,yearshi=0,yearge=0 ; unsigned int num=0,sec=0,min=0,hour=0; /*設(shè)置初始時間為 00 時

23、0 分 0 秒*/ unsigned int day=1,month=1,year=10; /*設(shè)置初始日期為 2010 年 1 月 1 日*/ char saomiao8=0 x01,0 x02,0 x04,0 x08,0 x10,0 x20,0 x40,0 x80; /*掃描數(shù)組,控制位選*/ char shijian10=0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90; /*共陰數(shù)碼管的 0,1,2,3,4,5,6,7,8,9*/ void delay(unsigned int z) /*延時子程序*/ unsign

24、ed int x,y; for(x=z;x0;x-) for(y=10;y0;y-) ; void timer() interrupt 1 /*定時器中斷 0*/ TH0=(65535-5000)/256; /*重新裝入初值*/ TL0=(65535-5000)%256; num+; j+; if(year%4=0 /*閏年,使 leap=1*/ else leap=0; /*平年,使 leap=0*/ if(num=150) /*實驗微調(diào)得 num=150 時大概為 1s*/ num=0; sec+; /*秒自動加 1*/ if(sec=60) sec=0; min+; /*60s 時,分自

25、動加 1,秒歸 0*/ if(min=60) min=0; hour+; /*60 分時,小時自動加 1,分歸 0*/ if(hour=24) hour=0; min=0; sec=0; day+; /*24 時,天自動加 1,時分秒歸 0*/ /* * *月份的判斷,平年時的 2 月和閏年時的 2 月,以及 30 天和 31 天的判斷 * *if(leap= 1 month+; /*2 月 28 天或 29 天時月自加 1*/ if(month=1|month=3|month=5|month=7|month=8|month=10|month=12) if(day=32) day=1; mon

26、th+; /*月為 31 天達到時月自動加 1*/ if( month=4|month=6|month=9|month=11) if(day=31) day=1; month+; /*月為 30 天達到時月自動加 1*/ if(month=13) year+; month=1; /*新的一年的開始*/ secge=sec%10; secshi=sec/10; minge=min%10; minshi=min/10; hourge=hour%10; hourshi=hour/10; dayge=day%10; dayshi=day/10; monthge=month%10; monthshi=m

27、onth/10; yearge=year%10; yearshi=year/10; P1=saomiaoj; /*數(shù)碼管的位選設(shè)置*/ if(flag=1) /*flag=1,顯示年月日*/ if(P1=0 x80) P2=shijiandayge; if(P1=0 x40) P2=shijiandayshi; if(P1=0 x20) P2=0 xbf; /*年與月之間的分隔符“”的顯示*/ if(P1=0 x10) P2=shijianmonthge; if(P1=0 x08) P2=shijianmonthshi; if(P1=0 x04) P2=0 xbf; /*月與天之間的分隔符“”

28、的顯示*/ if(P1=0 x02) P2=shijianyearge; if(P1=0 x01) P2=shijianyearshi; else /*flag=0,顯示時分秒*/ if(P1=0 x80) P2=shijiansecge; if(P1=0 x40) P2=shijiansecshi; if(P1=0 x20) P2=0 xbf; if(P1=0 x10) P2=shijianminge;/xian shi if(P1=0 x08) P2=shijianminshi; if(P1=0 x04) P2=0 xbf; if(P1=0 x02 /*顯示小時 023*/ if(P1=0

29、 x01 if(flag=1) /*顯示年月日的情況下做年月日的調(diào)整*/ if(kmin=0) day+; while(kmin=0); if(khour=0) month+; while (khour=0); if(month12) month=1; if(tiaonian=0 while (tiaonian=0); void baoshi() /*整點報時子程序*/ if(min=0 delay(1) ; speaker=1 ; else speaker=1; void alarm() / *鬧鐘子程序*/ bit ring=1; char xx=10; if(tiaonian=0) ring=0; delay(100); while(tiaonian=0); /*關(guān)閉正在叫的鬧鐘*/ if(hour=6 delay(1) ; speaker=1 ; if(hour=6 void main(

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論