《單片機(jī)原理與應(yīng)用河南省規(guī)》(鄭二杰) 模塊十三 認(rèn)識(shí)鍵盤接口技術(shù)_第1頁(yè)
《單片機(jī)原理與應(yīng)用河南省規(guī)》(鄭二杰) 模塊十三 認(rèn)識(shí)鍵盤接口技術(shù)_第2頁(yè)
《單片機(jī)原理與應(yīng)用河南省規(guī)》(鄭二杰) 模塊十三 認(rèn)識(shí)鍵盤接口技術(shù)_第3頁(yè)
《單片機(jī)原理與應(yīng)用河南省規(guī)》(鄭二杰) 模塊十三 認(rèn)識(shí)鍵盤接口技術(shù)_第4頁(yè)
《單片機(jī)原理與應(yīng)用河南省規(guī)》(鄭二杰) 模塊十三 認(rèn)識(shí)鍵盤接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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)介

單片機(jī)原理與應(yīng)用指導(dǎo)老師:xxx01020304認(rèn)識(shí)單片機(jī)認(rèn)識(shí)數(shù)制和編碼認(rèn)識(shí)單片機(jī)的內(nèi)部組成認(rèn)識(shí)單片機(jī)的存儲(chǔ)器目錄contents05認(rèn)識(shí)時(shí)鐘電路和復(fù)位電路06認(rèn)識(shí)指令格式和尋址方式07認(rèn)識(shí)51系列單片機(jī)指令系統(tǒng)08091011認(rèn)識(shí)三種程序結(jié)構(gòu)認(rèn)識(shí)中斷系統(tǒng)認(rèn)識(shí)定時(shí)/計(jì)數(shù)器認(rèn)識(shí)LED數(shù)碼管顯示器目錄contents12認(rèn)識(shí)LCD液晶顯示器13認(rèn)識(shí)鍵盤接口技術(shù)14認(rèn)識(shí)單片機(jī)數(shù)模轉(zhuǎn)換技術(shù)13認(rèn)識(shí)鍵盤接口技術(shù)簽到掃碼下載文旌課堂APP掃碼簽到(202X.X.XXX:XX至202X.X.XXX:XX)簽到方式教師通過(guò)“文旌課堂APP”生成簽到二維碼,并設(shè)置簽到時(shí)間,學(xué)生通過(guò)“文旌課堂APP”掃描“簽到二維碼”進(jìn)行簽到。。模塊導(dǎo)讀鍵盤是單片機(jī)系統(tǒng)中常用的輸入設(shè)備,是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶。根據(jù)接口原理的不同,鍵盤可以分為編碼鍵盤和非編碼鍵盤。編碼鍵盤雖然編程簡(jiǎn)單,但硬件電路比較復(fù)雜,在單片機(jī)控制系統(tǒng)中很少使用。非編碼鍵盤由于鍵盤結(jié)構(gòu)簡(jiǎn)單,因而成為目前最常采用的鍵盤類型。本模塊將帶領(lǐng)大家認(rèn)識(shí)鍵盤接口技術(shù)。模塊導(dǎo)讀知識(shí)目標(biāo)掌握按鍵的結(jié)構(gòu)及工作原理。了解鍵盤的分類。掌握獨(dú)立式鍵盤的結(jié)構(gòu)及工作原理。掌握矩陣式鍵盤的結(jié)構(gòu)及工作原理。能力目標(biāo)能夠應(yīng)用鍵盤進(jìn)行檢測(cè)與控制。素質(zhì)目標(biāo)加強(qiáng)實(shí)踐練習(xí),掌握一定的專業(yè)技能和職業(yè)素養(yǎng)。具備勇于創(chuàng)新、虛心好學(xué)的品質(zhì)。養(yǎng)成自主學(xué)習(xí)、協(xié)作學(xué)習(xí)、探究學(xué)習(xí)的意識(shí)。模塊實(shí)訓(xùn)——設(shè)計(jì)密碼鎖一、實(shí)訓(xùn)描述原始社會(huì)末期,隨著生產(chǎn)力的不斷增加、生產(chǎn)工具的發(fā)明和應(yīng)用,人類社會(huì)出現(xiàn)了私有制,為了保護(hù)自己的私有財(cái)產(chǎn)安全,門鎖也就誕生了。門鎖最早的雛形是用草繩捆成的繩結(jié),后來(lái)木匠祖師魯班對(duì)其進(jìn)行改進(jìn),裝上機(jī)關(guān),才形成了真正意義上的鎖,再后來(lái)又發(fā)展成三簧鎖、葉片鎖、彈子鎖、套筒轉(zhuǎn)心鎖等。隨著微電子技術(shù)的發(fā)展,現(xiàn)在出現(xiàn)了密碼鎖。密碼鎖是由電子電路控制鎖體的鎖具,它采用鍵盤(觸摸)方式輸入開(kāi)鎖密碼,具有操作方便、安全實(shí)用及成本低等特點(diǎn)。密碼鎖符合住宅、辦公室的用鎖要求,在生活中隨處可見(jiàn),如智能門鎖、小型保險(xiǎn)柜鎖等,如圖所示。請(qǐng)?jiān)O(shè)計(jì)一個(gè)密碼鎖。二、實(shí)訓(xùn)步驟(詳情參照教材)三、實(shí)訓(xùn)思考(詳情參照教材)點(diǎn)擊此處播放微課實(shí)訓(xùn)解說(shuō)模塊導(dǎo)航01鍵盤概述02獨(dú)立式鍵盤03矩陣式鍵盤Part01鍵盤概述鍵盤概述鍵盤是單片機(jī)應(yīng)用系統(tǒng)中最常用的輸入設(shè)備之一。用戶可以通過(guò)鍵盤輸入數(shù)據(jù)、地址和命令等信息,進(jìn)行簡(jiǎn)單的人機(jī)交互。鍵盤一般是由多個(gè)按鍵組成的,其實(shí)物圖如圖所示。1.1按鍵的結(jié)構(gòu)及工作原理按鍵按照結(jié)構(gòu)的不同,可分為觸點(diǎn)式按鍵和無(wú)觸點(diǎn)式按鍵。 觸點(diǎn)式按鍵如機(jī)械式按鍵、導(dǎo)電橡膠式按鍵等。觸點(diǎn)式按鍵價(jià)格低,但壽命較短。 無(wú)觸點(diǎn)式按鍵如電氣式按鍵、磁感應(yīng)按鍵等。無(wú)觸點(diǎn)式按鍵價(jià)格高,但壽命較長(zhǎng)。1.1按鍵的結(jié)構(gòu)及工作原理單片機(jī)應(yīng)用系統(tǒng)中常用的是觸點(diǎn)式按鍵。觸點(diǎn)式按鍵是一種按鈕開(kāi)關(guān),其實(shí)物如圖所示。觸點(diǎn)式按鍵有四個(gè)引腳,如圖所示,引腳1與引腳4連通、引腳2與引腳3連通。按下按鈕時(shí),內(nèi)部開(kāi)關(guān)a接通;松開(kāi)按鈕時(shí),a自動(dòng)彈起,開(kāi)關(guān)斷開(kāi)。觸點(diǎn)式按鍵實(shí)物觸點(diǎn)式按鍵引腳1.1按鍵的結(jié)構(gòu)及工作原理視野拓展按鍵的抖動(dòng)是指按鍵的觸點(diǎn)在閉合和斷開(kāi)瞬間由于接觸不穩(wěn)定而產(chǎn)生抖動(dòng)的現(xiàn)象(由按鍵的機(jī)械特性造成,不可避免)。如圖(a)所示為按鍵按下和松開(kāi)時(shí)的理想狀態(tài);如圖(b)所示為按鍵按下和松開(kāi)時(shí)的實(shí)際狀態(tài),在按鍵的前沿和后沿都會(huì)有抖動(dòng)。(a)理想狀態(tài)(b)實(shí)際狀態(tài)1.1按鍵的結(jié)構(gòu)及工作原理視野拓展在實(shí)際應(yīng)用中,按鍵按下和松開(kāi)時(shí)都將產(chǎn)生抖動(dòng),同時(shí)也會(huì)產(chǎn)生干擾信號(hào),這種干擾信號(hào)對(duì)數(shù)字電路的影響很大,往往會(huì)導(dǎo)致計(jì)數(shù)的錯(cuò)誤。對(duì)于時(shí)鐘是微秒級(jí)的單片機(jī)而言,按鍵的抖動(dòng)有可能造成單片機(jī)對(duì)一次按鍵的多次處理。為了提高系統(tǒng)的穩(wěn)定性,必須采用有效的方式消除抖動(dòng)。消除抖動(dòng)可以采用硬件方式和軟件方式。硬件方式一般是在按鍵與單片機(jī)的輸入通道上安裝硬件去抖電路(如RS觸發(fā)器、RC濾波電路)。軟件方式是當(dāng)查詢到電路中有按鍵按下時(shí),先不進(jìn)行處理,而是先執(zhí)行5~10ms的延時(shí)程序,延時(shí)程序結(jié)束后,再次查詢按鍵狀態(tài),若此時(shí)按鍵仍為按下?tīng)顟B(tài),則視為按鍵被按下。1.1按鍵的結(jié)構(gòu)及工作原理某電腦維修店接了一臺(tái)故障電腦。經(jīng)檢查,故障是由鍵盤的某個(gè)按鍵損壞引起的,需要更換按鍵。按鍵雖然不起眼,但總在關(guān)鍵的地方發(fā)揮作用,沒(méi)有它,電腦很難運(yùn)行。這就像平凡生活、平凡崗位上每個(gè)平凡的人,都有自己的價(jià)值,都在自己的位置上發(fā)揮著不平凡的作用。知類通達(dá)1.2鍵盤的分類鍵盤按照接口原理的不同,可分為編碼鍵盤和非編碼鍵盤。

編碼鍵盤由硬件實(shí)現(xiàn)對(duì)按鍵閉合狀態(tài)的識(shí)別。編碼鍵盤的優(yōu)點(diǎn)是所需軟件較簡(jiǎn)單,缺點(diǎn)是硬件電路復(fù)雜,價(jià)格較貴。

非編碼鍵盤由軟件實(shí)現(xiàn)對(duì)按鍵閉合狀態(tài)的識(shí)別。非編碼鍵盤的硬件電路比較簡(jiǎn)單,價(jià)格低廉。非編碼鍵盤按結(jié)構(gòu)的不同,可分為獨(dú)立式鍵盤和矩陣式鍵盤。51系列單片機(jī)常用的是非編碼鍵盤,下面主要介紹非編碼鍵盤及其接口電路。Part02獨(dú)立式鍵盤2.1獨(dú)立式鍵盤的結(jié)構(gòu)及工作原理獨(dú)立式鍵盤的各按鍵相互獨(dú)立,每個(gè)按鍵占用一根I/O端口線,每個(gè)按鍵的工作狀態(tài)不會(huì)影響其他按鍵的工作狀態(tài)。通過(guò)檢測(cè)I/O端口線的高/低電平狀態(tài),即可判斷哪個(gè)按鍵被按下。獨(dú)立式鍵盤的硬件、軟件結(jié)構(gòu)簡(jiǎn)單,判鍵速度快,使用方便,但占用I/O端口線較多,適用于按鍵數(shù)量較少的系統(tǒng)。獨(dú)立式鍵盤的結(jié)構(gòu)示意圖如圖13-10所示。當(dāng)沒(méi)有按鍵被按下時(shí),所有的數(shù)據(jù)輸入線均為高電平;當(dāng)任意一個(gè)按鍵被按下時(shí),與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;通過(guò)相應(yīng)指令,可以判斷是否有按鍵被按下。2.1獨(dú)立式鍵盤的結(jié)構(gòu)及工作原理圖13-10獨(dú)立式鍵盤的結(jié)構(gòu)示意圖2.2獨(dú)立式鍵盤的程序設(shè)計(jì)判斷有無(wú)按鍵按下。(1)(5)(2)(3)(6)功能計(jì)算閉合鍵的鍵值。判斷閉合鍵是否釋放,若沒(méi)釋放則繼續(xù)等待。確定閉合鍵的位置。消除按鍵的抖動(dòng)。保存閉合鍵的鍵值,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵對(duì)應(yīng)的功能。(4)獨(dú)立式鍵盤的程序一般設(shè)計(jì)為獨(dú)立函數(shù),方便調(diào)用。獨(dú)立式鍵盤程序的功能一般包含以下幾項(xiàng)。2.2獨(dú)立式鍵盤的程序設(shè)計(jì)獨(dú)立式鍵盤的程序設(shè)計(jì)流程如圖所示。2.2獨(dú)立式鍵盤的程序設(shè)計(jì)獨(dú)立式鍵盤程序如下。#include<reg51.h>voiddelay10ms(){ TH1=0xd8; /*設(shè)置10ms定時(shí)初值*/ TL1=0xf0; TR1=1; /*啟動(dòng)定時(shí)器1*/ while(!TF1); /*判斷10ms定時(shí)時(shí)間是否到了*/ TF1=0; /*時(shí)間到,TF1清零*/}2.2獨(dú)立式鍵盤的程序設(shè)計(jì)voidmain(){unsignedchari;TMOD=0x10; /*設(shè)置定時(shí)器1*/P1=0xff; /*P1端口全置“1”*/i=0;while(1){do{i=P1;i=~i;i=i&0x0f; /*屏蔽高位*/}2.2獨(dú)立式鍵盤的程序設(shè)計(jì)

while(i==0); /*循環(huán)判斷是否有按鍵按下*/ delay10ms(); /*有按鍵按下,延遲10ms去抖動(dòng)*/ do { i=~P1; /*讀按鍵狀態(tài)*/ i=i&0x0f; } while(i==0);2.2獨(dú)立式鍵盤的程序設(shè)計(jì)

switch(i) /*根據(jù)鍵值調(diào)用不同的處理函數(shù)*/ { case0x01:KEYA();break; /*調(diào)用按鍵KEYA功能函數(shù)*/ case0x02:KEYB();break; /*調(diào)用按鍵KEYB功能函數(shù)*/ case0x04:KEYC();break; /*調(diào)用按鍵KEYC功能函數(shù)*/ case0x08:KEYD();break; /*調(diào)用按鍵KEYD功能函數(shù)*/ default:break; } }}Part03矩陣式鍵盤3.1矩陣式鍵盤的結(jié)構(gòu)及工作原理矩陣式鍵盤是由行線和列線組成的,按鍵位于行線與列線的交叉點(diǎn)上。相較于獨(dú)立式鍵盤,矩陣式鍵盤要節(jié)省很多I/O端口,更適用于按鍵數(shù)量較多的系統(tǒng)。如圖所示為4×4矩陣式鍵盤的結(jié)構(gòu)示意圖,行線連接的4根I/O端口線作為輸入端;列線連接的4根I/O端口線作為輸出端。當(dāng)沒(méi)有按鍵按下時(shí),所有列線的輸出均為高電平,行線的輸入也是高電平;當(dāng)有按鍵按下時(shí),相應(yīng)列線的輸出為低電平,對(duì)應(yīng)行線的輸入也為低電平。通過(guò)檢測(cè)輸入線的電平可知是否有按鍵按下,根據(jù)行線和列線的電平信號(hào)可以判斷按鍵所在的位置。3.1矩陣式鍵盤的結(jié)構(gòu)及工作原理4×4矩陣式鍵盤的結(jié)構(gòu)示意圖3.2矩陣式鍵盤按鍵的識(shí)別1.列掃描法采用列掃描法識(shí)別矩陣式鍵盤按鍵的方法如下。(1)首先判斷是否有按鍵按下。先使所有的列線輸出低電平,然后讀取所有行線的電平信號(hào)。若讀取的行線電平信號(hào)全為高電平,則無(wú)按鍵按下;否則,有按鍵按下。(2)逐列掃描判斷具體的按鍵。依次使列線輸出低電平,然后讀取該列線上所有行線的電平信號(hào)。若讀取的行線電平信號(hào)為高電平,則該列線所連接的按鍵沒(méi)有按下;否則,該列線所連接的按鍵已經(jīng)按下。按下的按鍵位于行線、列線均為低電平的位置。3.2矩陣式鍵盤按鍵的識(shí)別經(jīng)驗(yàn)傳承鍵值的計(jì)算按鍵的位置確定后,即可計(jì)算鍵值。如圖所示為4×4矩陣式鍵盤鍵值的編碼示意圖,鍵值與行號(hào)、列號(hào)之間的關(guān)系為鍵值=行號(hào)×4+列號(hào)3.2矩陣式鍵盤按鍵的識(shí)別1.行列反轉(zhuǎn)法采用行列反轉(zhuǎn)法識(shí)別矩陣式鍵盤按鍵的方法如下。(1)將所有的列線輸出低電平,行線輸出高電平,然后讀取行線的電平信號(hào)。若按鍵中有任意一個(gè)被按下,那么讀取的行線電平信號(hào)則不全為高電平,記錄此時(shí)的行值。(2)將所有的列線輸出高電平,行線輸出低電平,然后讀取列線的電平信號(hào)。若按鍵中有任意一個(gè)被按下,那么讀取的列線電平信號(hào)則不全為高電平,記錄此時(shí)的列值。(3)將行值與列值進(jìn)行運(yùn)算,可得到按鍵的掃描碼。點(diǎn)擊此處播放微課矩陣式鍵盤應(yīng)用編程案例

(匯編語(yǔ)言)3.2矩陣式鍵盤按鍵的識(shí)別例如,4×4矩陣式鍵盤接口設(shè)計(jì)如圖所示。P2.0~P2.3連接行線,P2.4~P2.7連接列線。首先讓P2端口輸出00001111,假設(shè)按下按鍵S15,按鍵此時(shí)讀取的P2端口的值為00000111;然后讓P2端口輸出11110000,假設(shè)按下按鍵S15,此時(shí)讀取的P2端口的值為01110000;最后把兩次讀取的P2端口的值按位進(jìn)行“或”運(yùn)算,可得到01110111,即0x77,這個(gè)值就是按鍵S15的掃描碼。依此類推,可得出其他15個(gè)按鍵對(duì)應(yīng)的掃描碼,如圖所示。4×4矩陣式鍵盤接口設(shè)計(jì)行列反轉(zhuǎn)法中按鍵與掃描碼的對(duì)應(yīng)關(guān)系3.3矩陣式鍵盤的程序設(shè)計(jì)判斷有無(wú)按鍵按下。(1)(5)(2)(3)(6)功能計(jì)算閉合鍵的鍵值。判斷閉合鍵是否釋放,若沒(méi)釋放則繼續(xù)等待。確定閉合鍵的位置(行、列號(hào))。消除按鍵的抖動(dòng)。保存閉合鍵的鍵值,同時(shí)轉(zhuǎn)去執(zhí)行該閉合鍵對(duì)應(yīng)的功能。(4)矩陣式鍵盤的程序一般采用列掃描法,程序功能一般包含以下幾項(xiàng)。3.3矩陣式鍵盤的程序設(shè)計(jì)矩陣式鍵盤列掃描法的程序設(shè)計(jì)流程圖如圖所示。3.3矩陣式鍵盤的程序設(shè)計(jì)獨(dú)立式鍵盤程序如下。#include<reg51.h>voiddelay10ms(){ TH1=0xd8; /*設(shè)置10ms定時(shí)初值*/ TL1=0xf0; TR1=1; /*啟動(dòng)定時(shí)器1*/ while(!TF1); /*判斷10ms定時(shí)時(shí)間是否到了*/ TF1=0; /*時(shí)間到,TF1清零*/}3.3矩陣式鍵盤的程序設(shè)計(jì)unsignedcharkey_scan(void){ unsignedchari,temp,m,n; bitfind=0; /*有按鍵按下標(biāo)志位*/ P0=0xff; /*P0端口低4位行線輸入,全置“1”*/ P2=0x00; /*P2端口低4位列線輸出,全置“0”*/ temp=~P0; /*讀行線狀態(tài)*/ while(temp!=0) { delay10ms(); } P2=0x00; /*輸出全掃描字,列線全置“0”*/ temp=~P0; /*讀行線狀態(tài)*/3.3矩陣式鍵盤的程序設(shè)計(jì)

while(temp!=0) { for(i=0;i<4;i++) { P2=0xfe<<1; /*逐列送低電平掃描*/ temp=~P0; /*讀行值,并取反*/ temp=temp&0x0f; /*屏蔽行高4位*/ while(temp!=0x00) /*判斷是否有按鍵按下,若為0則無(wú)按鍵按下*/ { m=i; /*保存列號(hào)到變量m中*/ find=1; /*設(shè)置找到按鍵標(biāo)志*/3.3矩陣式鍵盤的程序設(shè)計(jì) switch(temp) /*判斷哪一行有按鍵標(biāo)志*/ { case0x01:n=0;break; /*第0行有按鍵按下*/ case0x02:n=1;break; /*第1行有按鍵按下*/ case0x04:n=2;break; /*第2行有按鍵按下*/ case0x08:n=3;break; /*第3行有按鍵按下*/ default:break; } } } }if(find==0)return?1; /*無(wú)按鍵按下則返回值為?1*/elsereturn(n*4+m); /*否則返回鍵值,鍵值=行號(hào)×4+列號(hào)*/}3.3矩陣式鍵盤的程序設(shè)計(jì)將4×4矩陣式鍵盤每個(gè)按鍵的鍵值通過(guò)數(shù)碼管顯示器顯示出來(lái)?!纠?3-1】【問(wèn)題分析】4×4矩陣式鍵盤按鍵顯示電路如圖所示(電源和振蕩電路未標(biāo)出)。3.3矩陣式鍵盤的程序設(shè)計(jì)【參考代碼】#include<reg51.h>unsignedcharcodedisp_buff[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00}; /*數(shù)碼管段碼表*/unsignedcharpre_keyno=16,keyno=16; /*上次按鍵和當(dāng)前按鍵序號(hào),該矩陣中

序號(hào)范圍為0~15,16表示無(wú)按鍵*/voiddelayms(unsignedintx){ unsignedchari; while(x--) { for(i=0;i<120;i++); }}3.3矩陣式鍵盤的程序設(shè)計(jì)/**********按鍵掃描函數(shù),首先判斷按鍵發(fā)生在哪一列,然后根據(jù)所發(fā)生的行,附加不同的值,從而得到鍵盤按鍵序號(hào)**********/voidkey_scan(void){ unsignedchari; P1=0x0f; /*高4位置“1”,放入4行*/ delayms(1); i=P1^0x0f; /*有按鍵按下后,其中一列將變?yōu)榈碗娖?/ 3.3矩陣式鍵盤的程序設(shè)計(jì)

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論