基于單片機的簡易電子琴設計(C語言編程)_第1頁
基于單片機的簡易電子琴設計(C語言編程)_第2頁
基于單片機的簡易電子琴設計(C語言編程)_第3頁
基于單片機的簡易電子琴設計(C語言編程)_第4頁
基于單片機的簡易電子琴設計(C語言編程)_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于單片機的簡易電子琴設計摘 要電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用at89s51單片機作為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。本系統運行穩定,其優點是硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等,具有一定的實用和參考價值。關鍵詞:單片機 鍵盤 揚聲器 電子琴abstractelectronic organ is a moder

2、n electronic music technology and the product is a new type of keyboard instruments. it played an important role in modern music. scm has powerful control functions and flexible programming characteristics. it has converged with modern peoples lives, become an irreplaceable part. the main content is

3、 at89s51 control of the core components, design of a electronic organ. scm as a host to the core, with the keyboard, speaker and other core modules. in the main control module has 16 keys and a speaker. the system is steady, its simple hardware circuits, software functions, reliability of control sy

4、stem and high cost performance is its advantages. it also has certain practical and reference value.key words : scm keyboard speaker electronic organ目 錄摘 要1abstract1目錄21 引言32 原理圖42.1 系統板硬件連線53 主要芯片簡介53.1 at89s51簡介53.1.1 主要功能特性63.1.2 引腳功能63.2 lm38673.2.1 lm386的引腳圖83.2.2 音頻放大器電路93.3 led數碼管94 模塊原理104.1

5、 4x4行列式鍵盤識別及顯示104.1.1 系統板上硬件連線設計104.1.2 程序設計內容12圖4-2 行列式鍵盤電路124.1.3 i/o并行口直接驅動led顯示134.1.4 鍵盤識別程序164.2 音樂產生的方法224.2.1 原理224.2.2 程序框圖244.2.3源程序:255 結束語32致 謝33參考文獻341 引 言單片微型計算機是大規模集成電路技術發展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩定可靠、應用廣泛的特點。它的應用必定導致傳統的控制技術從根本上發生變革。因此,單片機的開發應用已成為高科技和工程領域的一項重大課題。電子琴是現代電子科技與音

6、樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用at89s51單片機為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。本文主要對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴統硬件組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調試來詳細闡述。一首音樂是許多不同的音階組成的,而每個音

7、階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時/計數器t0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。2 原理圖圖2-1 電子琴電路圖2.1 系統板硬件連線 系統板硬件連線如圖2-1所示,發生模塊,鍵盤模塊,及led顯示模塊連接如下1.把“單片機系統”區域中的p1.0端口用導線連接到“音頻放大模塊”區域中的spk in端口上;2.把“單片機系統“區域中的p3.0p3.7端口用8芯排線連接到“4x4行列式鍵盤”區域中的c1c4r1r4端口上;3.把“單片機系統”

8、區域中的p0.0/ad0p0.7/ad7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個ah端口上;要求:p0.0/ad0對應著a,p0.1/ad1對應著b,p0.7/ad7對應著h。3 主要芯片簡介3.1 at89s51簡介at89s51是一個低功耗,高性能cmos 8位單片機,片內含4k bytes isp(in-system programmable)的可反復擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術制造,兼容標準mcs-51指令系統及80c51引腳結構,芯片內集成了通用8位中央處理器和isp flash存儲單元,功能強大的微型計

9、算機的at89s51可為許多嵌入式控制應用系統提供高性價比的解決方案。at89s51具有如下特點:40個引腳(引腳圖如圖3-1所示),4k bytes flash片內程序存儲器,128 bytes的隨機存取數據存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優先級2層中斷嵌套中斷,2個16位可編程定時計數器,2個全雙工串行通信口,看門狗(wdt)電路,片內時鐘振蕩器。此外,at89s51設計和配置了振蕩頻率可為0hz并可通過軟件設置省電模式。空閑模式下,cpu暫停工作,而ram定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存ram的數據,停止芯片其它功能直至外

10、中斷激活或硬件復位。同時該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應不同產品的需求。圖3-1 管腳圖3.1.1 主要功能特性 兼容mcs-51指令系統 32個雙向i/o口 2個16位可編程定時/計數器 全雙工uart串行中斷口線 2個外部中斷源 中斷喚醒省電模式 看門狗(wdt)電路 靈活的isp字節和分頁編程 4k可反復擦寫isp flash rom 4.5-5.5v工作電壓 時鐘頻率0-33mhz 128x8bit內部ram 低功耗空閑和省電模式 3級加密位 軟件設置空閑和省電功能 雙數據寄存器指針3.1.2 引腳功能vcc(40):5v;gnd(20):接地;p0口(3

11、932):p0口為8位漏極開路雙向i/o口,每引腳可吸收8個ttl門電流;p1口(18):p1口是從內部提供上拉電阻器的8位雙向i/o口,p1口緩沖器能接收和輸出4個ttl門電流;p2口(2128):p2口為內部上拉電阻器的8位雙向i/o口,p2口緩沖器可接收和輸出4個ttl門電流;p3口(1017):p3口是8個帶內部上拉電阻器的雙向i/o口,可接收和輸出4個ttl門電流,p3口也可作為at89c51的特殊功能口;rst(9):復位輸入。當振蕩器復位時,要保持rst引腳2個機器周期的高電平時間;ale/prog(30):當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節,在fl

12、ash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6,它可用作對外部輸出的脈沖或用于定時目的,要注意的是,每當訪問外部數據存儲器時,將跳過1個ale脈沖;psen(29):外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期2次psen有效,但在訪問外部數據存儲器時,這2次有效的psen信號將不出現;ea/vpp(31):當ea保持低電平時,外部程序存儲器地址為(0000hffffh)不管是否有內部程序存儲器。flash編程期間,此引腳也用于施加12v編程電源(vpp);xtal1(19):反向振蕩器放大器的輸入及內部

13、時鐘工作電路的輸入;xtal2(18):來自反向振蕩器的輸出;3.2 lm386lm386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優點,廣泛應用于錄音機和收音機之中。lm386內部與通用型集成運放相類似,它是一個三級放大電路。第一級為差分放大電路,t1和t3、t2和t4分別構成復合管,作為差分放大電路的放大管;t5和t6組成鏡像電流源作為t1和t2的有源負載;t3和t4信號從管的基極輸入,從t2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負載,可使單端輸出電路的增益近似等于雙端輸出電容的增益。第二級為共射放

14、大電路,t7為放大管,恒流源作有源負載,以增大放大倍數。第三級中的t8和t9管復合成pnp型管,與npn型管t10構成準互補輸出級。二極管d1和d2為輸出級提供合適的偏置電壓,可以消除交越失真。引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為otl電路。輸出端(引腳5)應外接輸出電容后再接負載。電阻r7從輸出端連接到t2的發射極,形成反饋通路,并與r5和r6構成反饋網絡,從而引入了深度電壓串聯負反饋,使整個電路具有穩定的電壓增益。3.2.1 lm386的引腳圖圖3-3 lm386的外形和引腳的排列lm386的外形和引腳的排列如圖3-3所示。引腳2為反相輸入端,3為同相輸入端;引腳

15、5為輸出端;引腳6和4分別為電源和地;引腳1和8為電壓增益設定端;使用時在引腳7和地之間接旁路電容,通常取10f。3.2.2 音頻放大器電路圖2.3 音頻放大器電路3.3 led數碼管圖3-4 7段數碼管數碼管(如圖3-4所示)使用條件:a、段及小數點上加限流電阻b、使用電壓:段:根據發光顏色決定;小數點:根據發光顏色決定c、使用電流:靜態:總電流 80ma(每段 10ma);動態:平均電流 4-5ma 峰值電流 100ma上面這個只是七段數碼管引腳圖,其中共陽極數碼管引腳圖和共陰極的是一樣的。數碼管使用注意事項說明:(1)數碼管表面不要用手觸摸,不要用手去弄引角;(2)焊接溫度:度;焊接時間

16、:(3)表面有保護膜的產品,可以在使用前撕下來。4 模塊原理 4.1 4x4行列式鍵盤識別及顯示組成鍵盤的按鍵有機械式、電容式、導電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關。目前微機系統中使用的鍵盤按其功能不同,通常可分為編碼鍵盤和非編碼鍵盤兩種基本類型。編碼鍵盤:鍵盤本身帶有實現接口主要功能所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應的鍵碼(如ascii碼)送往cpu。所以,編碼鍵盤接口簡單、使用方便。但由于硬件電路較復雜,因而價格較貴。非編碼鍵盤:鍵盤只簡單地提供按鍵開關的行列矩陣。有關按鍵的識別、鍵碼的確

17、定與輸入、去抖動等功能均由軟件完成。目前微機系統中,一般為了降低成本大多數采用非編碼鍵盤。用at89s51的并行口p1接44矩陣鍵盤,以p1.0p1.3作輸入線,以p1.4p1.7作輸出線;在數碼管上顯示每個按鍵的“0f”序號。4.1.1 系統板上硬件連線設計鍵盤模塊硬件連線如圖4-1所示:圖4-1 鍵盤模塊連線圖(1)把“單片機系統“區域中的p3.0p3.7端口用8芯排線連接到“4x4行列式鍵盤”區域中的c1c4r1r4端口上;(2)把“單片機系統”區域中的p0.0/ad0p0.7/ad7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個ah端口上;要求:p0.0/ad0對應著a,p

18、0.1/ad1對應著b,p0.7/ad7對應著h。4.1.2 程序設計內容1 44矩陣鍵盤識別處理2每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和cpu通信。每個按鍵的狀態同樣需變成數字量“0”和“1”,開關的一端(列線)通過電阻接vcc,而接地是通過程序輸出數字“0”實現的。鍵盤處理程序的任務是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態接地,另一個并行口輸入按鍵狀態,由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。圖4-2

19、 行列式鍵盤電路4.1.3 i/o并行口直接驅動led顯示led顯示模塊如圖4-3所示,利用at89s51單片機的p0端口的p0.0p0.7連接到一個共陰數碼管的ah的筆段上,數碼管的公共端接地。在數碼管上循環顯示09數字,時間間隔0.2秒。系統板上硬件連線:(如圖4-3所示)把“單片機系統”區域中的p0.0/ad0p0.7/ad7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個數碼管的ah端口上;要求:p0.0/ad0與a相連,p0.1/ad1與b相連,p0.2/ad2與c相連,p0.7/ad7與h相連。圖4-3 電路原理圖程序設計內容:(1)led數碼顯示原理:七段led顯示器內

20、部由七個條形發光二極管和一個小圓點發光二極管組成,根據各管的極管的接線形式,可分成共陰極型和共陽極型。 led數碼管的ga七個發光二極管因加正電壓而發亮,因加零電壓而不以發亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,下面給出共陰極的字形碼表(如表4-1所示)表4-1 字形碼表“0”3fh“8”7fh“1”06h“9”6fh“2”5bh“a”77h“3”4fh“b”7ch“4”66h“c”39h“5”6dh“d”5eh“6”7dh“e”79h“7”07h“f”71h(2).由于顯示的數字09的字形碼沒有規律可循,只能采用查表的方式來完成我們所需的要求了。這樣我們按著數字09的順序

21、,把每個數字的筆段代碼按順序排好!建立的表格如下所示:tabledb 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh。程序框圖:程序框圖如圖4-3所示:開始r1=0查表獲得的數據送p0根據r1的值查表延時0.2秒r1=r1+1r1內容=10 ?圖4-3 數碼顯示程序框圖c語言源程序:#includeunsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;unsigned char dispcount;void delay02s(void)unsigned char i,

22、j,k;for(i=20;i0;i-)for(j=20;j0;j-)for(k=248;k0;k-);void main(void)while(1)for(dispcount=0;dispcount0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f;switch(temp)case 0x0e:key=7;break;case 0x0d:key=8;break;case 0x0b:key=9;break;case 0x07:key=10;break;temp=p3;p1_0=

23、p1_0;p0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=p3;temp=temp & 0x0f;p3=0xff;p3_5=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f;switch(temp)case 0x0e:key=4;break;case 0x0d:key=5;break;case 0x0b:key=6;

24、break;case 0x07:key=11;break;temp=p3;p1_0=p1_0;p0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=p3;temp=temp & 0x0f;p3=0xff;p3_6=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f;switch(temp)case 0x0e:key=1;br

25、eak;case 0x0d:key=2;break;case 0x0b:key=3;break;case 0x07:key=12;break;temp=p3;p1_0=p1_0;p0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=p3;temp=temp & 0x0f;p3=0xff;p3_7=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=

26、temp & 0x0f;switch(temp)case 0x0e:key=0;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;break;temp=p3;p1_0=p1_0;p0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=p3;temp=temp & 0x0f;4.2 音樂產生的方法4.2.1 原理一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率

27、非常方便,我們可以利用單片機的定時/計數器t0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。若要產生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將p1.0反相,然后重復計時再反相。就可在p1.0引腳上得到此頻率的脈沖。利用at89c51的內部定時器使其工作計數器模式(mode1)下,改變計數值th0及tl0以產生不同頻率的方法產生不同音階,例如,頻率為523hz,其周期t1/5231912s,因此只要令計數器計時956s/1s956,每計數956次時將i/o反相,就可得到中音do(5

28、23hz)。計數脈沖值與頻率的關系式(如式4-1所示)是:nfi2fr 4-1式中,n是計數值;fi是機器頻率(晶體振蕩器為12mhz時,其頻率為1mhz);fr是想要產生的頻率。其計數初值t的求法如下:t65536n65536fi2fr例如:設k65536,fi1mhz,求低音do(261hz)、中音do(523hz)、高音do(1046hz)的計數值。t65536n65536fi2fr6553610000002fr65536500000/fr低音do的t65536500000/26263627中音do的t65536500000/52364580高音do的t65536500000/10466

29、5059單片機12mhz晶振,高中低音符與計數t0相關的計數值如表4-2所示表4-2 音符頻率表音符頻率(hz)簡譜碼(t值)音符頻率(hz)簡譜碼(t值)低1do26263628# 4 fa#74064860#1do#27763731中 5 so78464898低2re29463835# 5 so#83164934#2 re#31163928中 6 la88064968低 3 m33064021# 693264994低 4 fa34964103中 7 si98865030# 4 fa#37064185高 1 do104665058低 5 so39264260# 1 do#110965085#

30、 5 so#41564331高 2 re117565110低 6 la44064400# 2 re#124565134# 646664463高 3 m131865157低 7 si49464524高 4 fa139765178中 1 do52364580# 4 fa#148065198# 1 do#55464633高 5 so156865217中 2 re58764684# 5 so#166165235# 2 re#62264732高 6 la176065252中 3 m65964777# 6186565268中 4 fa69864820高 7 si196765283我們要為這個音符建立一個表

31、格,單片機通過查表的方式來獲得相應的數據低音019之間,中音在2039之間,高音在4059之間table: dw 0,63628,63835,64021,64103,64260,64400,64524,0,0dw 0,63731,63928,0,64185,64331,64463,0,0,0dw 0,64580,64684,64777,64820,64898,64968,65030,0,0dw 0,64633,64732,0,64860,64934,64994,0,0,0dw 0,65058,65110,65157,65178,65217,65252,65283,0,0dw 0,65085,6

32、5134,0,65198,65235,65268,0,0,0dw 0 音樂的音拍,一個節拍為單位(c調)(如表4-3所示)表4-3 曲調值表曲調值delay曲調值delay調4/4125ms調4/462ms調3/4187ms調3/494ms調2/4250ms調2/4125ms對于不同的曲調我們也可以用單片機的另外一個定時/計數器來完成。下面用at89s51單片機產生“生日快樂”歌來說明單片機如何產生的。在這個程序中用到了兩個定時/計數器來完成的。其中t0用來產生音符頻率,t1用來產生音拍。4.2.2 程序框圖音樂發聲程序框圖如圖4-5所示:中斷入口重裝th0、tl0初值p1.0取反中斷返回圖4

33、-5 音樂發聲程序框圖4.2.3源程序:#includeunsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char temp;unsigned char key;unsigned char i,j;unsigned char sth0;unsigned char stl0;unsigned int code tab=64021,64103,64260,64400, 64524,64580,64684,64777,648

34、20,64898,64968,65030, 65058,65110,65157,65178;void main(void)tmod=0x01;et0=1;ea=1;while(1)p3=0xff;p3_4=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f;switch(temp)case 0x0e:key=0;break;case 0x0d:key=1;break;ca

35、se 0x0b:key=2;break;case 0x07:key=3;break;temp=p3;p1_0=p1_0;p0=tablekey;sth0=tabkey/256;stl0=tabkey%6;tr0=1;temp=temp & 0x0f; while(temp!=0x0f)temp=p3;temp=temp & 0x0f; tr0=0;p3=0xff;p3_5=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0

36、f)temp=p3;temp=temp & 0x0f; switch(temp)case 0x0e:key=4;break;case 0x0d:key=5;break;case 0x0b:key=6;break;case 0x07:key=7;break;temp=p3;p1_0=p1_0;p0=tablekey;sth0=tabkey/256;stl0=tabkey%6;tr0=1;temp=temp & 0x0f; while(temp!=0x0f)temp=p3;temp=temp & 0x0f; tr0=0;p3=0xff;p3_6=0;temp=p3;temp=temp & 0x0f

37、;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f; switch(temp)case 0x0e:key=8;break;case 0x0d:key=9;break;case 0x0b:key=10;break;case 0x07:key=11;break;temp=p3;p1_0=p1_0;p0=tablekey;sth0=tabkey/256;stl0=tabkey%6;tr0=1;temp=temp & 0x0f;

38、while(temp!=0x0f)temp=p3;temp=temp & 0x0f; tr0=0; p3=0xff;p3_7=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f; switch(temp)case 0x0e:key=12;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;b

溫馨提示

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

評論

0/150

提交評論