華南理工大學(xué)數(shù)電課程設(shè)計要點_第1頁
華南理工大學(xué)數(shù)電課程設(shè)計要點_第2頁
華南理工大學(xué)數(shù)電課程設(shè)計要點_第3頁
華南理工大學(xué)數(shù)電課程設(shè)計要點_第4頁
華南理工大學(xué)數(shù)電課程設(shè)計要點_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、潘孝潸理7大亨south china university of technology課程設(shè)計報告書題目:矩陣鍵盤識別電路的設(shè)計學(xué)院自動化學(xué)院專業(yè)自動化控制學(xué)生姓名學(xué)生學(xué)號201330581089班內(nèi)序號 9指導(dǎo)教師馬楚儀課程編號 135070課程學(xué)分 1 學(xué)分起止日期 2015.05 19 2015.07.03教師簽名: 日期:目錄第1章、選題背景1.第2章、方案論證(設(shè)計理念)1.1設(shè)計任務(wù)12方案論證;2.第3章、過程論述 2.1總電路2.2分頻模塊3.3掃描模塊:4.4譯碼模塊5.第4章、結(jié)果分析6.1分頻模塊6.2譯碼模塊6.3掃描模塊7.4總電路7.第5章、課程設(shè)計總結(jié)8.1收獲與

2、心得 8.2致謝9.附錄1:參考文獻(xiàn)10參考文獻(xiàn)1.q附錄2:部分采用verilog語言編寫的模塊的原程序10掃描模塊程序10譯碼模塊程序:15課題名稱:數(shù)字電子技術(shù)基礎(chǔ)第1章、選題背景在現(xiàn)代電子工業(yè)的控制電路中,鍵盤掃描和顯示電路對系統(tǒng)的調(diào) 試和設(shè)置有著重要的作用。隨著eda技術(shù)的發(fā)展,基于fpga的掃描 鍵盤因其結(jié)構(gòu)簡單能有效防止機械鍵盤按鍵抖動帶來的數(shù)據(jù)錯誤等優(yōu) 點在許多電子設(shè)備中都得到了廣泛的應(yīng)用。本課題的內(nèi)容是設(shè)計一個 電路來識別4x4矩陣鍵盤,單獨按某個鍵,數(shù)碼管顯示該鍵的數(shù)字, 如j0,顯示00, j1,顯示01,j15顯示15,同時發(fā)出發(fā)出一音“嘀” 同時按兩個或以上按鍵,數(shù)碼

3、管顯示 er,發(fā)出一音“嘀”,連續(xù)發(fā)出 “嘟嘟嘟”,直到松開按鍵,聲音關(guān)閉。所主要解決的問題是設(shè) 計電路,通過運用quartusr軟件平臺生成電路符號,并仿真分析,消 除各種存在的問題,直到下載到芯片中通過硬件實現(xiàn)上述所要求的功 能。對該系統(tǒng)要求:應(yīng)具有集成度高、穩(wěn)定性好、設(shè)計靈活和設(shè)計效 率高等優(yōu)點。設(shè)計指導(dǎo)思想:矩陣鍵盤識別電路從原理上講就是一個典型的數(shù) 字電路,包括組合邏輯電路和時序邏輯電路。設(shè)計鍵盤掃描程序,將 程序劃分為時序產(chǎn)生模塊、鍵盤掃描模塊、鍵值譯碼模塊,蜂鳴器模 塊四個模塊,時序產(chǎn)生模塊為鍵盤掃描和蜂鳴器模塊產(chǎn)生時鐘信號, 鍵盤掃描模塊采用行掃描法對 4*4矩陣鍵盤進(jìn)行掃描,

4、鍵值譯碼模塊 將所按鍵值譯碼為共陰極8位7段數(shù)碼管的顯示碼幾個模塊組合起來 實現(xiàn)鍵盤掃描的設(shè)計要求。第2章、方案論證(設(shè)計理念)1設(shè)計任務(wù)設(shè)計任務(wù)的設(shè)計功能包括:1單獨按某個鍵,數(shù)碼管顯示該鍵的數(shù)字,如j0,顯示00, j1,顯示01,j15顯示15。2同時按兩個或以上按鍵,顯示 ero3單獨按某個鍵,發(fā)出一音“嘀”,同時按兩個或以上按鍵,發(fā)出一音“嘀”,連續(xù)發(fā)出“嘟嘟嘟 ”,直到松開按鍵,聲音關(guān)閉。(1)設(shè)計理念:將矩陣鍵盤識別電路各個功能分成模塊來實現(xiàn),包括分頻模塊描模塊、鍵值譯碼模塊,蜂鳴器模塊四個模塊,在主電路中通過連線實現(xiàn)識別功能。分模塊能使電路看起來更有條理,接線 更清晰,功能更加

5、可靠,排查錯誤更簡單和更有針對性。2方案論證;一:識別方式:判斷鍵盤上哪個鍵被按下,可以采用靜態(tài)譯碼法 或掃描法,靜態(tài)譯碼法原理簡單,容易理解,但電路復(fù)雜,掃描法比 較抽象,電路相對簡單,通常采用,掃描法又稱為逐行或列掃描查詢 法,它是一種最常用的多按鍵識別方法。綜上,選取掃描方法二:實現(xiàn)方式方案1:采用用門電路和各種寄存器等搭建組合時序電路的方式來 實現(xiàn),可以采用移位寄存器循環(huán)掃描信號,并通過數(shù)據(jù)選擇器來判斷 各種情況,這種方法實現(xiàn)原理簡單,但搭電路的時候復(fù)雜,接線繁多, 尤其是識別兩個以上的按鍵時不靈活,容易漏接錯接,且檢查錯誤比 較麻煩。方案2:采用用硬件描述語言 verilog hdl

6、來實現(xiàn),verilog hdl語言 和c語言比較類似,所以上手比較快,因此,雖然之前沒接觸過該語 言,但在做課程設(shè)計的這段時間里,用它來實現(xiàn)課程設(shè)計所要實現(xiàn)的 功能還是可以的。用這種方法的話,程序簡單易懂,而且比較簡潔, 思路比較清晰,尤其在識別兩個按鍵以上的時候優(yōu)越性特別明顯。方案3:采用用硬彳描述語言vhdl來實現(xiàn),與verilog hdl相似, 但是vhdl的語法比verilog hdl復(fù)雜一點,由于沒有學(xué)過,對該語言一竅 不通。所以該方案不考慮。綜上所述,選取方案二。第3章、過程論述1總電路作用:將各個模塊串連起來以實現(xiàn)識別電路的功能輸入1khz的頻率,首先經(jīng)過分頻器成1hz ,100

7、hz,250hz, 500hz 的脈沖,用于驅(qū)動蜂鳴器,1khz的脈沖進(jìn)入掃描模塊,掃描模塊將掃 描結(jié)果分別送給顯示譯碼器模塊和蜂鳴器模塊,從而驅(qū)動兩個led數(shù)碼 管顯示結(jié)果,只有一個鍵按下時,蜂鳴器發(fā)出一音“嘀”,當(dāng)同時按 兩個或以上按鍵,發(fā)出一音“嘀”,連續(xù)發(fā)出“嘟嘟嘟”。2分頻模塊作用:在輸入脈沖只有11khz的情況下,將1khz的脈沖分頻成 1hz ,100hz,250hz, 500hz的脈沖,用于驅(qū)動蜂鳴器,不同的頻率使 蜂鳴器發(fā)出不同的聲音。圖2分頻模塊電路圖圖中各成分的作用,和成分之間的交互:輸入 1khz的脈沖,運 用7490芯片構(gòu)成分頻電路,當(dāng)7490的set9a,set9b

8、,clra.clrb管 腳接低電平clka接qd輸出管腳,clkb接輸入脈沖,qa輸出脈沖, 構(gòu)成十分頻電路。依據(jù)這樣的原理,經(jīng)過三個十分頻即可輸出100,1hz 的脈沖信號。分頻模塊的下部分是用d觸發(fā)器構(gòu)成的二分頻電路,因此可以分 頻出500hz,250hz的脈沖信號。3掃描模塊:作用:判斷按鍵的狀態(tài),即識別按鍵,按照識別結(jié)果輸出一個按 鍵標(biāo)志位flag,錯誤按鍵標(biāo)志位flag2,和按鍵值key_valueoj0圖3.掃描模塊電路邏輯符號圖kr£>kr1kmjij2j12q |0 o4.7kq 4_j-j10 -o q0 6圖4矩陣鍵盤結(jié)構(gòu)圖程序見附錄,各成分的作用,和成分之

9、間的交互:掃描流程1、判斷鍵盤中有無鍵按下將全部列線kr0-kr3置低電平然后檢測行線 kl0-kl3的狀態(tài), 只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位 于低電平線與4根行線相交叉的4個按鍵之中,若所有行線均為高電 平則表示鍵盤中無鍵按下。2、判斷按鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程,其方法是 依次將列線置為低電平,即在置某根列線為低電平時,其它線為高電 平,例如: kr0 kr1 kr2 kr3置0111,之后掃描 kl端,當(dāng) j0鍵按下,則kl0輸出為0,其余則為1,即kl3 kl2 kl1 kl0 輸出為1110,此時就可以判斷為j0鍵被按下,

10、數(shù)碼管顯示01,依此 類推,判斷其他鍵。而在一次掃描過程中,當(dāng)掃描到某列有鍵按下, 即將該列的按鍵標(biāo)志置1,在掃描結(jié)束后,如果有多列置1,就判斷有 多個鍵按下,從而key_value=16,即報錯,而在一行之中的最后判斷 之中,例如 kr0-kr3置1110時,當(dāng)kl3 kl2 kl1 kl0輸出至 少兩個管腳為低電平時,也判斷為多個按鍵按下,即就報錯。即識別 思想是在一次輪回中,依次將kr0 kr1 kr2 kr3分別置為00000, 0111,1011,1101,1101此次掃描結(jié)束才判斷掃描結(jié)果,判斷按 鍵錯誤的順序是先列后行。表1按鍵位置與數(shù)碼的關(guān)系kr- klj0j1j2j3j4j5

11、1110_11101101_11101011_11100111_11101110_11011101_1101j6j7j8j9j10j111011_11010111_11011110_10111101_10111011_1010111_10111j12j3j14j15j16(即報錯標(biāo)志)1110_01111101_01111011_01110111_0111defualt4譯碼模塊作用:將4u進(jìn)來的key_value譯碼出相應(yīng)的碼給led1,led2顯示。程序見附錄第4章、結(jié)果分析1分頻模塊clk輸入1khz的脈沖信號,分頻出 500hz,250hz,100hz,1hz的 信號,分析波形結(jié)果正確

12、。圖6分頻模塊仿真波形2譯碼模塊當(dāng)電路輸入key_value分別為:00000,00001,00010,00011,00100,00101,00110,00111,01000, 01001,01010,01011,01100,01101,01110,01111,10000led1 輸出:00111111,00111111,00111111,00111111,00111111 00111111 00111111,00111111,00111111,00111111,00110000 00110000, 00110000,00110000,00110000,00110000,01111001 le

13、d2 輸出:00111111,00110000,01011011,01001111,01100110 01101101, 01111100,00000111,01111111,01101111,0011111100110000,01011011,01001111,01100110,01101101,01110111圖7.譯碼模塊的仿真波形圖3掃描模塊掃描程序依次將 kr0 kr1 kr2 kr3 置 0111,1011,1101,1110 進(jìn)行掃描。圖8.掃描模塊的仿真波形圖4總電路在時鐘的控制下,j3描程序依次將kr0 kr1 kr2 kr3置0111, 1011,1101,1110進(jìn)行掃描

14、,如果第一個鍵按下時,此時 flag置,數(shù)碼管中l(wèi)ed1,led2都置00111111。其他的同理。圖9.總電路仿真波形圖第5章、課程設(shè)計總結(jié)1收獲與心得通過本次課程設(shè)計,我收獲到在課堂上所不能給予我的知識和處 理問題的能力,也深刻體會到,正如老師在任務(wù)書中說的一樣,做設(shè) 計是一件很辛苦的事情,千萬不能夠浮躁,想走捷徑,只有靜下心來, 根據(jù)本課程的知識、查找資料、學(xué)習(xí)前人經(jīng)驗,才能有自己的作品。 在設(shè)計過程中,感覺自己收獲到了很多比僅僅做題,上課更豐富的知 識,同時也加深了對數(shù)電知識的理解,并且這個過程現(xiàn)在回想起來真 很奇妙一一自己能夠獨立地運用自己學(xué)的知識來設(shè)計電路,真的很 有成就感。讓我感

15、受最深的是在這次設(shè)計之中出現(xiàn)的那些問題,真的,做設(shè) 計如同人生,并不是一帆風(fēng)順的,也不能一蹴而就。從選擇矩陣鍵盤 的這道題開始,就意味著我要開始接受一個新的挑戰(zhàn)。說實話,一開 始選擇這道題目是因為之前有接觸過矩陣鍵盤,后來才發(fā)現(xiàn)用數(shù)電知 識來實現(xiàn)和我之前接觸的有特別大的區(qū)別,真的可以說天壤之別。在 選擇方案的時候,一開始挺糾結(jié),是要用描述語言還是用搭電路的方 法,因為我之前沒接觸過硬件描述語言。后來通過論證,果斷選了硬 件語言,硬件語言對我來說真的是一個新的東西,所以這不得不說是 一個新的挑戰(zhàn)。也正因為此次設(shè)計,我對 verilog hdl語言有了一個大 概的了解。選擇了用描述語言來描述電路,

16、首先就是要補充知識,我把數(shù)電 課本的關(guān)于硬件語言的那章看了,然后就到處于找關(guān)于verilog hdl的語法資料。在寫掃描程序的過程中,單個按鍵檢測比較容易,但當(dāng)然 這個過程出現(xiàn)了很多小問題,這些小問題有時候也是挺難發(fā)現(xiàn)的,有 時候就改了一個地方,然后程序就可以正常工作了,所以程序編譯了 數(shù)不清n遍,出現(xiàn)問題的時候就找找書,例如阻塞語句和非阻塞語句 的區(qū)別,還有case語句在verilog hdl中的應(yīng)用等,尤其是阻塞語句和 非阻塞語句,花了很久才搞懂是什么回事。最困難的部分是兩個以上 按鍵的檢測,首先是掃描方法,如何檢測出兩個以上的按鍵,真的想 了好久,看著那個矩陣鍵盤原理圖想了不知道多少遍了

17、。一開始想出來的程序,按照原理,它應(yīng)該能夠檢測出不同行的兩 個按鍵以上的,但是結(jié)果卻出乎我意料,竟然只能夠識別同一列的兩 個以上按鍵,然后檢測很久也沒發(fā)現(xiàn)問題,真的考驗人的耐心,奇怪 的是在之后的寫的程序,沒怎么改,它就正常工作了。之后用它又寫 了一個程序,雖然感覺那個原理能夠檢測任意兩個以上按鍵但結(jié)果卻 是只能檢測不同行。迫于無奈,只能改另外一種掃描方法,前一種掃 描方法由于時間關(guān)系,只能先放下查找它的錯誤,自己感覺可能對 verilog hdl有些細(xì)節(jié)的東西還不是很清楚,可能這也是此次設(shè)計遇到 的最大問題。之后的那個程序掃描方法在實現(xiàn)過程中也是遇到各種問 題,經(jīng)過查資料,最后很幸運都解決了

18、。在程序調(diào)試的時候,需要的 是發(fā)現(xiàn)問題的細(xì)心和耐心,程序問題才能夠一一解決。數(shù)電課程設(shè)計過程充滿挑戰(zhàn),既有有趣的地方,又有困難的讓人 想要放棄的地方。每當(dāng)想到一個新方法,就想去用它,驗證它,有時 睡在床上想著,想出一些解決方案,于是跳下床,到電腦前操作,這 也許就是它的魅力,每一個困難都讓人躍躍欲試下想要克服它。在每 一個問題解決的背后需要一顆有耐心的心和思考的大腦。在不斷發(fā)現(xiàn)問題和解決問題的過程中,收獲的不僅僅是知識,更 是一種主動的態(tài)度。學(xué)習(xí)是一種態(tài)度。我覺得我很享受做課程設(shè)計的 過程,它讓我經(jīng)歷了柳暗花明的喜悅,讓我在這個過程中的到很多的 滿足感。2致謝衷心感謝老師在實驗過程中的諄諄教導(dǎo)

19、,通過實驗,我更加鞏固 了課堂上的知識,也感謝學(xué)校安排了這次數(shù)電設(shè)計,讓我有了這次不 同以往的經(jīng)歷,增加了我實踐的機會。附錄1:參考文獻(xiàn)參考文獻(xiàn)1閻石.數(shù)學(xué)電子技術(shù)基礎(chǔ).北京:高等教育出版社2夏宇聞.verilog數(shù)字系統(tǒng)設(shè)計教程.北京.北京航空航天大學(xué)出 版社3魏家明.verilog編程藝術(shù).電子工業(yè)出版社附錄2:部分采用verilog語言編寫的模塊的原程序掃描模塊程序/* 時 鐘 clk 管 腳 : pin_18* 鍵盤 col 輸入管腳:pin_8, pin_7, pin_6, pin_5 * 鍵盤 row 輸出管腳:pin_14, pin_13, pin_12, pin_11 * 實驗

20、結(jié)果:按鍵每個數(shù)字對應(yīng)亮燈數(shù),其它按鍵對應(yīng)不同結(jié)果*/module juzhen(clk,incol,outrow,key_value,key_flag,key_flag1);input clk;/定義時鐘引腳input3:0incol;/定義橫向數(shù)據(jù)輸入output3:0outrow;定義縱向數(shù)據(jù)輸出output4:0key_value;定義識別的按鍵值output key_flag,key_flag1;/定義按鍵標(biāo)志,flag 表示一個flag/flag2表示兩個按鍵 reg 3:0row;reg3:0incol_reg ;reg3:0 outrow_reg;reg2:0state;reg

21、 key_flag,key_flag1;reg 4:0 key_value;/寄存掃描行值/寄存掃描列值/狀態(tài)標(biāo)志/按鍵標(biāo)志位/讀取的狀態(tài)值reg 3:0incol_1,incol_2,incol_3,incol_4;reg state1,state2,state3,state4;reg 3:0 statez;總的按鍵標(biāo)志always(posedge clk)begincase(state)0:beginrow<=4'b0000;key_flag<=1'b0;key_flag1<=1'b0;if(incol!=4'b1111)beginstat

22、e<=1;row<=4'b1110;endelse state<=0;end1:beginif(incol!=4'b1111)beginincol_1<=incol;state1<=1'b1;state<=2;row<=4'b1101;endelsebeginstate<=2;row<=4'b1101;state1<=1'b0;endend 2:beginif(incol!=4'b1111) beginincol_2<=incol;state2<=1'b1;s

23、tate<=3;row<=4'b1011;endelsebeginstate<=3;row<=4'b1011;state2<=1'b0;endend3:beginif(incol!=4'b1111)beginincol_3<=incol;state3<=1'b1;state<=4;row<=4'b0111;endelsebeginstate<=4;row<=4'b0111;state3<=1'b0;endend4: beginif(incol!=4'b

24、1111)beginincol_4<=incol;state4<=1'b1;state<=5;endelsebegin state<=5;state4<=1'b0;endend5:beginstatez<=state4,state3,state2,state1;case(statez)4'b1000:begin incol_reg<=incol_4;outrow_reg<=4'b0111;case(incol_4)4'b1110:key_flag<=1'b1;4'b1101:key_f

25、lag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:key_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0110:key_flag1<=1'b1;defau

26、lt:key_flag<=1'b0;endcaseend4'b0100:begin incol_reg<=incol_3;outrow_reg<=4'b1011;case(incol_3)4'b1110:key_flag<=1'b1;4'b1101:key_flag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:ke

27、y_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0110:key_flag1<=1'b1;default:key_flag<=1'b0;endcaseend4'b0010:begin incol_reg<=incol_2;outrow_reg<=4'b1101;case(incol_2)4'b1110:key_fla

28、g<=1'b1;4'b1101:key_flag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:key_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0

29、110:key_flag1<=1'b1;endcaseend4'b0001:begin incol_reg<=incol_1;outrow_reg<=4'b1110;case(incol_1)4'b1110:key_flag<=1'b1;4'b1101:key_flag<=1'b1;4'b1011:key_flag<=1'b1;4'b0111:key_flag<=1'b1;4'b0011:key_flag1<=1'b1;4'b1100:

30、key_flag1<=1'b1;4'b1001:key_flag1<=1'b1;4'b0101:key_flag1<=1'b1;4'b1010:key_flag1<=1'b1;4'b0110:key_flag1<=1'b1;default:key_flag<=1'b0;endcaseenddefault:beginincol_reg<=4'b0000;outrow_reg<=4'b0000;key_flag1<=1'b1;endendca

31、sestate<=0;endendcaseendalways(clk or outrow_reg or incol_reg)begin case(outrow_reg,incol_reg)8'b1110_1110:begin key_value<=5'b00000;end8'b1101_1110:begin key_value<=5'b00001;end8'b1011_1110:begin key_value<=5'b00010;end8'b0111_1110:begin key_value<=5'b

32、00011;end8'b1110_1101:begin key_value<=5'b00100;end8'b1101_1101:begin key_value<=5'b00101;end8'b1011_1101:begin key_value<=5'b00110;end8'b0111_1101:begin key_value<=5'b00111;end8'b1110_1011:begin key_value<=5'b01000;end8'b1101_1011:begin key

33、_value<=5'b01001;end8'b1011_1011:begin key_value<=5'b01010;end8'b0111_1011:begin key_value<=5'b01011;end8'b1110_0111:begin key_value<=5'b01100;end8'b1101_0111:begin key_value<=5'b01101;end8'b1011_0111:begin key_value<=5'b01110;end8'b0

34、111_0111:begin key_value<=5'b01111;enddefault:begin key_value<=5'b10000;endendcaseendassign outrow=row;endmodule譯碼模塊程序:module yima(key_value,led1,led2);input 4:0 key_value;reg7:0led_reg1,led_reg2;output7:0led1;output7:0led2;always(key_value)begincase(key_value)5'b00000:begin led_reg1=8'b00111111;led_reg2=8'b00111111; end5'b00001:begin led_reg1=8'b00111111;led_reg2=8'b00110000;end5'b00

溫馨提示

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

評論

0/150

提交評論