2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(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)介

1、<p><b>  單片機(jī)課程設(shè)計(jì)</b></p><p>  課題:步進(jìn)電機(jī)正反轉(zhuǎn)設(shè)計(jì)</p><p>  系 別: 電氣與電子工程系</p><p><b>  專 業(yè): </b></p><p><b>  姓 名: </b></p&

2、gt;<p><b>  學(xué) 號(hào)</b></p><p><b>  指導(dǎo)老師: </b></p><p>  2013年01月09日</p><p><b>  一 設(shè)計(jì)目的</b></p><p>  1、增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面

3、的理解;</p><p>  2、掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,如定時(shí)器/計(jì)數(shù)器、中斷、片內(nèi)外存貯器、I/O口、A/D、D/A、串行口通訊等;</p><p>  3、了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過(guò)程、方法及實(shí)現(xiàn);</p><p>  4、了解步進(jìn)電機(jī)控制的基本原理,能實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)驅(qū)動(dòng)控制,掌握控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的編程方法。 </p><

4、;p><b>  二 設(shè)計(jì)要求</b></p><p>  1、具有速度和轉(zhuǎn)向設(shè)定功能;</p><p>  2、設(shè)置開(kāi)始、停止以及正反轉(zhuǎn)??;</p><p>  3、轉(zhuǎn)速以及轉(zhuǎn)向有數(shù)碼管顯示(本設(shè)計(jì)使用的為L(zhǎng)CD12864)。</p><p><b>  三 、總體設(shè)計(jì)</b></p

5、><p>  步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的數(shù)字控制執(zhí)行機(jī)構(gòu)。它將電脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。 步進(jìn)電機(jī)具有控制簡(jiǎn)便、定位準(zhǔn)確等特點(diǎn)。隨著科學(xué)技術(shù)的發(fā)展,在許多領(lǐng)域?qū)⒌玫綇V泛的應(yīng)用。鑒于傳統(tǒng)的脈沖系統(tǒng)移植性不好,本文提出微機(jī)控制系統(tǒng)代替脈沖發(fā)生器和脈沖分配器,用軟件的方法產(chǎn)生控制脈沖,通過(guò)軟件編程可以任意設(shè)定步進(jìn)電機(jī)的轉(zhuǎn)速、旋轉(zhuǎn)角度、轉(zhuǎn)動(dòng)次

6、數(shù)和控制步進(jìn)電機(jī)的運(yùn)行狀態(tài)。以簡(jiǎn)化控制電路,降低生產(chǎn)成本,提高系統(tǒng)的運(yùn)行效率和靈活性。</p><p>  步進(jìn)電機(jī)的角位移與輸入脈沖數(shù)嚴(yán)格成正比,因此,當(dāng)它轉(zhuǎn)動(dòng)一周后,沒(méi)有累計(jì)誤差,具有良好的跟隨性。由步進(jìn)電機(jī)與驅(qū)動(dòng)電路組成的開(kāi)環(huán)數(shù)控系統(tǒng),既非常簡(jiǎn)單、 廉價(jià),又非??煽俊M瑫r(shí),它也可以與角度反饋環(huán)節(jié)組成高性能的閉環(huán)數(shù)控系統(tǒng)。步進(jìn)電機(jī)的動(dòng)態(tài)響應(yīng)快,易于起停、正反轉(zhuǎn)及變速。速度可在相當(dāng)寬的范圍內(nèi)平滑 調(diào)節(jié),低速下仍

7、能保證獲得大轉(zhuǎn)矩。步進(jìn)電機(jī)只能通過(guò)脈沖電源供電才能運(yùn)行,它不能直接使用交流電源和直流電源。 步進(jìn)電機(jī)存在振蕩和失步現(xiàn)象,必須對(duì)控制系統(tǒng)和機(jī)械負(fù)載采取相應(yīng)的措施。步進(jìn)電機(jī)自身的噪聲和振動(dòng)較大,帶慣性負(fù)載的能力較差。</p><p>  步進(jìn)電機(jī)是自動(dòng)控制系統(tǒng)中常用的執(zhí)行部件。步進(jìn)電機(jī)的輸入信號(hào)為脈沖電流,它能將輸入的脈沖信號(hào)轉(zhuǎn)換為階躍型的角位移或直線位移,因而步進(jìn)電機(jī)可看作是一個(gè)串行的數(shù)/模轉(zhuǎn)換器。由于步進(jìn)電機(jī)能夠

8、直接接受數(shù)字信號(hào),而不需數(shù)/模轉(zhuǎn)換,所以使用微機(jī)控制步進(jìn)電機(jī)顯得非常方便。</p><p>  步進(jìn)電機(jī)有以下優(yōu)點(diǎn):</p><p>  (1)通常不需要反饋就能對(duì)位置和速度進(jìn)行控制;</p><p>  (2)位置誤差不會(huì)積累;</p><p>  (3)與數(shù)組設(shè)備兼容,能夠直接接收數(shù)字信號(hào);</p><p>  (

9、4)可以快速啟停。</p><p>  步進(jìn)電機(jī)的品種規(guī)格很多,按照它們的結(jié)構(gòu)和工作原理可以劃分為磁阻式(也稱反應(yīng)式或變磁阻式)電機(jī)、混合式電機(jī)、永磁式電機(jī)和特種電機(jī)等四種主要型式。步進(jìn)電機(jī)不需位移傳感器就可精確定位,所以在精確定位系統(tǒng)中應(yīng)用廣泛。目前打字機(jī)、計(jì)算機(jī)外部設(shè)備、數(shù)控機(jī)床、傳真機(jī)等設(shè)備中都使用了步進(jìn)電機(jī)。隨著電子計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)必將發(fā)揮它的控制方便、控制準(zhǔn)確的特點(diǎn),在工業(yè)控制等領(lǐng)域取得更為廣

10、泛的應(yīng)用。</p><p>  本設(shè)計(jì)采用16 位單片機(jī)AT89C51對(duì)步進(jìn)電機(jī)進(jìn)行控制,通過(guò)I/O口輸出的具有時(shí)序的方波作為步進(jìn)電機(jī)的控制信號(hào),信號(hào)經(jīng)過(guò)驅(qū)動(dòng)芯片驅(qū)動(dòng)步進(jìn)電機(jī);同時(shí),用觸發(fā)按鍵來(lái)對(duì)電機(jī)的狀態(tài)進(jìn)行控制,并用128X64LCD顯示電機(jī)的狀態(tài)及轉(zhuǎn)速。</p><p>  因?yàn)椴竭M(jìn)電機(jī)的控制是通過(guò)脈沖信號(hào)來(lái)控制的,將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件。所以怎樣產(chǎn)生這個(gè)脈沖

11、信號(hào)和產(chǎn)生怎樣的信號(hào)是電機(jī)控制的關(guān)鍵。</p><p>  用軟件控制單片機(jī)產(chǎn)生脈沖信號(hào),通過(guò)單片機(jī)的P1口輸出脈沖信號(hào),因?yàn)樗x電機(jī)是兩相的,所以只需要P0口的低四位P0.0-P0.3分別通過(guò)ULN2003A接到電機(jī)的五根電線上。可以通過(guò)調(diào)整輸出脈沖的頻率來(lái)調(diào)整電機(jī)的轉(zhuǎn)速,通過(guò)改變輸入脈沖的順序來(lái)改變轉(zhuǎn)動(dòng)方向,P2口和P3口接128X64LCD,可以顯示當(dāng)前的電機(jī)轉(zhuǎn)速和轉(zhuǎn)向,設(shè)置復(fù)位鍵可使正在轉(zhuǎn)動(dòng)的電機(jī)停止轉(zhuǎn)動(dòng)

12、,大概可分為如下圖所示的幾部分。</p><p>  注:由于此設(shè)計(jì)程序較復(fù)雜,在此沒(méi)有列出程序的框圖,程序框圖詳見(jiàn)軟件設(shè)計(jì)。</p><p>  四 、主要器件介紹及電路設(shè)計(jì)</p><p><b>  4.1、步進(jìn)電機(jī)</b></p><p>  4.1.1 步進(jìn)電機(jī)概述</p><p>  

13、步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。由于脈沖信號(hào)數(shù)與步距

14、角的線性關(guān)系,加上步進(jìn)電機(jī)只有周期性的誤差而無(wú)累積誤差等特點(diǎn),使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來(lái)控制變的非常的簡(jiǎn)單。 步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器 </p><p>  雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)

15、下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多專業(yè)知識(shí)。 </p><p>  步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。</p><p>  4.1.2 步進(jìn)電機(jī)的工作原理<

16、;/p><p>  通常電機(jī)的轉(zhuǎn)子為永磁體,當(dāng)電流流過(guò)定子繞組時(shí),定子繞組產(chǎn)生一矢量磁場(chǎng)。該磁場(chǎng)會(huì)帶動(dòng)轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對(duì)磁場(chǎng)方向與定子的磁場(chǎng)方向一致。當(dāng)定子的矢量磁場(chǎng)旋轉(zhuǎn)一個(gè)角度。轉(zhuǎn)子也隨著該磁場(chǎng)轉(zhuǎn)一個(gè)角度。每輸入一個(gè)電脈沖,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度前進(jìn)一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成正比。改變繞組通電的順序,電機(jī)就會(huì)反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動(dòng)機(jī)各相繞組的通電順序來(lái)控制步進(jìn)

17、電機(jī)的轉(zhuǎn)動(dòng)</p><p>  四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng)。圖1是該四相</p><p>  反應(yīng)式步進(jìn)電機(jī)工作原理圖。</p><p>  圖2 四相反應(yīng)式步進(jìn)電機(jī)工作原理圖</p><p>  開(kāi)始時(shí),開(kāi)關(guān)SB接通電源,SA、SC、SD斷開(kāi),B相磁極和轉(zhuǎn)子0、3號(hào)

18、齒對(duì)齊,同時(shí),轉(zhuǎn)子的1、4號(hào)齒就和C、D相 繞組磁極產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和D、A相繞組磁極產(chǎn)生錯(cuò)齒。當(dāng)開(kāi)關(guān)SC接通電源,SB、SA、SD斷開(kāi)時(shí),由于C相繞組的磁力線和1、4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號(hào)齒和C相繞組的磁極對(duì)齊。而0、3號(hào)齒和A、B相繞組產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和A、D相繞組磁極產(chǎn)生錯(cuò)齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C、D方向轉(zhuǎn)動(dòng)。</p><p>  

19、四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。</p><p>  單四拍、雙四拍與八拍工作方式的電源通電時(shí)序與波形分別如圖2.a、b、c所示:</p><p>  a單四拍 b雙四拍

20、 c八拍</p><p>  圖3.步進(jìn)電機(jī)工作時(shí)序波形圖</p><p>  4.2 ULN2003</p><p>  ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,可用來(lái)驅(qū)動(dòng)繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動(dòng)電壓=50V,電流=500mA,輸入電壓=5V,適用于TTL COMS,由達(dá)林頓管組成驅(qū)

21、動(dòng)電路。 ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,它的輸出端允許通過(guò)電流為200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開(kāi)路輸出,輸出電流大,故可直接驅(qū)動(dòng)繼電器或固體繼電器,也可直接驅(qū)動(dòng)低壓燈泡。通常單片機(jī)驅(qū)動(dòng)ULN2003時(shí),上拉2K的電阻較為合適,同時(shí),COM引腳應(yīng)該懸空或接電源。</p><p>  ULN20

22、03是一個(gè)非門(mén)電路,包含7個(gè)單元,但獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA.資料的最后有引用電路,9腳可以懸空。 比如1腳輸入,16腳輸出,你的負(fù)載接在VCC與16腳之間,不用9腳。 </p><p>  ULN2003的作用:ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中。可直接驅(qū)動(dòng)繼電器等負(fù)載。輸入5VTTL電平,輸出可達(dá)500mA/50V。</p>&l

23、t;p>  ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。 該電路的特點(diǎn)如是: ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器。</p><p>  ULN2003 是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大

24、功率驅(qū)動(dòng)的系統(tǒng)。 </p><p>  ULN2003A引腳圖及功能如下:</p><p>  圖4 ULN2003A引腳圖</p><p>  ULN2003 是高耐壓、大電流、內(nèi)部由七個(gè)硅NPN達(dá)林頓管組成的驅(qū)動(dòng)芯片。 </p><p>  經(jīng)常在以下電路中使用,作為: </p><p>&

25、lt;b>  1、顯示驅(qū)動(dòng)</b></p><p><b>  2、繼電器驅(qū)動(dòng)</b></p><p><b>  3、照明燈驅(qū)動(dòng)</b></p><p><b>  4、電磁閥驅(qū)動(dòng)</b></p><p>  5、伺服電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)等電路中。</p

26、><p>  ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K 的基極電阻,在5V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。ULN2003 工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。ULN2003 的封裝采用DIP—16 或SOP—16 </p><p>  ULN

27、2003A在各種控制電路中常用它作為驅(qū)動(dòng)繼電器的芯片,其芯片內(nèi)部做了一個(gè)消線圈反電動(dòng)勢(shì)的二極管。ULN2003的輸出端允許通過(guò)IC 電流200mA,飽和壓降VCE 約1V左右,耐壓BVCEO 約為36V。輸出電流大,故可以直接驅(qū)動(dòng)繼電器或固體繼電器(SSR)等外接控制器件,也可直接驅(qū)動(dòng)低壓燈泡。</p><p>  ULN2003可以驅(qū)動(dòng)7個(gè)繼電器,具有高電壓輸出特性,并帶有共陰極的續(xù)流二極管使器件可用于開(kāi)關(guān)型感

28、性負(fù)載。每對(duì)達(dá)林頓管的額定集電極電流是500mA,達(dá)林頓對(duì)管還可并聯(lián)使用以達(dá)到更高的輸出電流能力。ULN2003A中每對(duì)達(dá)林頓管的基極都串聯(lián)有一個(gè)2.7kΩ的電阻,可直接與TTL或5V CMOS器件連接。</p><p>  4.3 12864LCD</p><p>  12864A-1漢字圖形點(diǎn)陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16X16點(diǎn)陣,16*8=128,1

29、6*4=64,一行只能寫(xiě)8個(gè)漢字,4行;)、128個(gè)字符(8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM)。</p><p>  4.3.1 主要技術(shù)參數(shù)和顯示特性如下:</p><p>  電源:VDD 3.3V-5V(內(nèi)置升壓電路,無(wú)需負(fù)壓);</p><p>  顯示內(nèi)容:128列× 64行(128表示點(diǎn)數(shù))</p><p

30、><b>  顯示顏色:黃綠</b></p><p>  顯示角度:6:00鐘直視</p><p><b>  LCD類型:STN</b></p><p>  與MCU接口:8位或4位并行/3位串行</p><p><b>  配置LED背光</b></p>

31、<p>  多種軟件功能:光標(biāo)顯示、畫(huà)面移位、自定義字符、睡眠模式等</p><p>  4.3.2 外形尺寸圖:</p><p>  圖5 12864LCD外形尺寸</p><p>  4.3.3 主要外形尺寸</p><p>  4.3.4 模塊引腳說(shuō)明</p><p>  邏輯工作電壓(VDD):4.

32、5~5.5V</p><p>  電源地(GND):0V</p><p>  工作溫度(Ta):0~60℃(常溫) / -20~75℃(寬溫)</p><p>  4.3.5 接口時(shí)序</p><p>  模塊有并行和串行兩種連接方法(時(shí)序如下):</p><p>  4.3.5.1 8位并行連接時(shí)序圖</p&g

33、t;<p>  圖6 MPU寫(xiě)資料到模塊</p><p>  圖7 MPU從模塊讀出資料</p><p>  4.3.5.2 串行連接時(shí)序圖</p><p><b>  圖8 串行連接時(shí)序</b></p><p>  串行數(shù)據(jù)傳送共分三個(gè)字節(jié)完成:</p><p>  第一字節(jié):串口

34、控制—格式 11111ABC。A為數(shù)據(jù)傳送方向控制:H表示數(shù)據(jù)從LCD到MCU,L表示數(shù)據(jù)從MCU到LCD。B為數(shù)據(jù)類型選擇:H表示數(shù)據(jù)是顯示數(shù)據(jù),L表示數(shù)據(jù)是控制指令。 C固定為0</p><p>  第二字節(jié):(并行)8位數(shù)據(jù)的高4位—格式 DDDD0000</p><p>  第三字節(jié):(并行)8位數(shù)據(jù)的低4位—格式 0000DDDD</p><p>  串行

35、接口時(shí)序參數(shù):(測(cè)試條件:T=25℃ VDD=4.5V)</p><p>  4.4 系統(tǒng)的時(shí)鐘電路</p><p>  時(shí)鐘電路是用于產(chǎn)生單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)的,有條不紊地一拍一拍地工作。時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。在本系統(tǒng)中采用外部時(shí)鐘方式的電路,如圖所示:</p

36、><p>  圖9 系統(tǒng)的時(shí)鐘電路</p><p>  在本設(shè)計(jì)中的電容C1、C2典型值為30±10 pF。外接代內(nèi)容的值雖然沒(méi)有嚴(yán)格的要求,但是電容的大小會(huì)影響振蕩器的穩(wěn)定性和起振的快速性。同時(shí),在系統(tǒng)中采用12MHz的晶體振蕩器來(lái)產(chǎn)生時(shí)鐘脈沖。這樣可以滿足系統(tǒng)在設(shè)計(jì)時(shí)的機(jī)器周期的需要。</p><p>  4.5 步進(jìn)電機(jī)驅(qū)動(dòng)電路</p>&

37、lt;p>  由單片機(jī)直接輸出的脈沖不足以驅(qū)動(dòng)步進(jìn)電機(jī)正常工作所以需要驅(qū)動(dòng)電路給步進(jìn)電機(jī)提供電源,在本設(shè)計(jì)中采用型號(hào)為ULN2003A的芯片,使步進(jìn)電機(jī)正常工作。驅(qū)動(dòng)信號(hào)由P0口的P0.0-P0.3輸出,分別與驅(qū)動(dòng)芯片的B1-B4相連,電路如下圖所示:</p><p>  圖10 步進(jìn)電機(jī)的驅(qū)動(dòng)電路</p><p><b>  五 軟件設(shè)計(jì)</b></p&

38、gt;<p><b>  1、主程序的設(shè)計(jì)</b></p><p>  主程序需具備的功能,要不斷掃描P1口并判斷觸發(fā)按鍵是否閉合,并能根據(jù)其電平高低,輸出不同的控制脈沖,并調(diào)用顯示子程序顯示轉(zhuǎn)速及方向。</p><p>  圖11 主程序設(shè)計(jì)流程</p><p><b>  程序如下</b></p&g

39、t;<p>  #include <REG51.h> </p><p>  //#include <stdio.h></p><p>  //#include <math.h></p><p>  #include "macro.h"</p><p>  void iniL

40、CD(void); </p><p>  void write_hz_str( int x1,int y1, uchar *point ) ;</p><p>  uchar buf_Direction; //設(shè)定步進(jìn)電機(jī)的轉(zhuǎn)向</p><p>  uint set_speed;

41、 //設(shè)定步進(jìn)電機(jī)的轉(zhuǎn)速</p><p>  uchar step_motor_loop[8]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};</p><p>  uchar step_index;</p><p>  uchar buf_SpeedString[]=" ";</p>

42、;<p>  #define CST_STEP_MOTOR_Z 10 //正轉(zhuǎn)</p><p>  #define CST_STEP_MOTOR_F 20 //反轉(zhuǎn)</p><p>  #define CST_STEP_MOTOR_ST 0 //停</p><p>  #defi

43、ne fosc_12MHz 12 </p><p>  #define fosc_24MHz 24 </p><p>  #define fosc_setting fosc_12MHz //工作方式1</p><p>  #define CST_TIME_MS 1000

44、 </p><p>  #define CST_TH0 (65536-CST_TIME_MS*fosc_setting/fosc_12MHz)/256</p><p>  #define ST_TL0 (65536-CST_TIME_MS*fosc_setting/fosc_12MHz)%256 </p><p>  void step_motor_dri

45、ver(void)</p><p><b>  {</b></p><p>  static uint speed_delay=0;</p><p>  speed_delay++;</p><p>  if( buf_Direction==CST_STEP_MOTOR_Z)</p><p>&l

46、t;b>  {</b></p><p>  P0=step_motor_loop[step_index];</p><p>  if(speed_delay >=set_speed)</p><p><b>  {</b></p><p>  speed_delay =0;</p>

47、<p>  step_index++; //大于7,從頭再來(lái) </p><p>  if(step_index >7)</p><p>  step_index =0; </p><p><b>  }</b></p><p><b>  }</b>&l

48、t;/p><p>  else if( buf_Direction==CST_STEP_MOTOR_F)</p><p><b>  {</b></p><p>  P0=step_motor_loop[step_index];</p><p>  if(speed_delay >=set_speed )</p&

49、gt;<p><b>  {</b></p><p>  speed_delay =0;</p><p>  step_index--; </p><p>  if(step_index <=0)</p><p>  step_index =7; </p>

50、<p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  speed_delay =0;</p><p&g

51、t;<b>  P0=0x00;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void caluate(void)</p><p><b>  {</b></p><p&g

52、t;  uchar temp=0;</p><p>  uint u16Temp=0;</p><p>  u16Temp=(100-set_speed)*100/85;</p><p>  buf_SpeedString[0]='0'+(u16Temp/100);</p><p>  buf_SpeedString[1]=&

53、#39;0'+(u16Temp%100/10);</p><p>  buf_SpeedString[2]='0'+(u16Temp%100%10);</p><p>  buf_SpeedString[3]='%';</p><p>  write_hz_str(6,60,&buf_SpeedString);<

54、/p><p><b>  }</b></p><p><b>  //按鍵處理程序</b></p><p>  void key_Scan (void) </p><p><b>  { </b></p><p>  static uchar key_loo

55、se=0;</p><p>  uchar temp=0;</p><p><b>  P1=0XFF;</b></p><p>  temp=P1&0xFF;</p><p>  if(key_loose >0)</p><p><b>  {</b><

56、/p><p>  if(temp==0xFF)</p><p>  key_loose=0;</p><p><b>  return;</b></p><p><b>  }</b></p><p>  else if(temp !=0xFF)</p><p

57、><b>  {</b></p><p>  key_loose=10;</p><p>  temp=P1&0xFF;</p><p>  switch(temp)</p><p><b>  {</b></p><p>  case 0xFE: <

58、;/p><p>  buf_Direction=CST_STEP_MOTOR_Z; </p><p>  write_hz_str(6,20,"反轉(zhuǎn)");</p><p>  caluate();</p><p>  break; </p><p>  case 0xFD

59、: </p><p>  buf_Direction=CST_STEP_MOTOR_F; </p><p>  write_hz_str(6,20,"正轉(zhuǎn)");</p><p>  caluate();</p><p>  break; </p><p> 

60、 case 0xFB: write_hz_str(6,50,"100%");</p><p>  buf_Direction=CST_STEP_MOTOR_ST; </p><p>  write_hz_str(6,20,"停止");</p><p>  caluate();</p><p>  b

61、reak; </p><p>  case 0xEF: </p><p>  if(buf_Direction !=CST_STEP_MOTOR_ST)</p><p><b>  {</b></p><p>  set_speed+=5;</p><p>

62、  if(set_speed>=80)</p><p>  set_speed =80;; //減速</p><p><b>  }</b></p><p>  caluate();</p><p><b>  break;</b></p><p>  cas

63、e 0xF7: </p><p>  if(buf_Direction !=CST_STEP_MOTOR_ST)</p><p><b>  {</b></p><p>  set_speed-=5;</p><p>  if(set_speed <=15)</p><p>  set

64、_speed =15; //加速 </p><p><b>  }</b></p><p>  caluate();</p><p><b>  break;</b></p><p>  default: </p><p>  break;

65、 //其它值返回 </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void isr_timer0 (void) interrupt 1 usin

66、g 1</p><p><b>  {</b></p><p>  TH0=CST_TH0; </p><p>  TL0=CST_TL0;</p><p>  step_motor_driver();</p><p><b>  }</b></p><p

67、>  void init_timer0(void)</p><p><b>  {</b></p><p>  TCON=0x00;</p><p>  TMOD=0x00;</p><p><b>  TL0=0x00;</b></p><p><b>  

68、TH0=0x00;</b></p><p>  TCON=0x00;</p><p>  // Timer 0 C/T=0,定時(shí)工作方式</p><p>  //Timer 0 M1,M0=0,1</p><p>  TMOD=0x01; //GATE=0,以運(yùn)行控制位TR0 啟動(dòng)定時(shí)器0 C/T=0,定時(shí)工作方式</p&

69、gt;<p>  TH0=CST_TH0; </p><p>  TL0=CST_TL0;</p><p>  TF0=0;//clear 0. count over flag.</p><p>  TR0=1;// enable TIMER0 ,start count</p><p>  ET0=1; //enable acc

70、ept interrupt</p><p><b>  }</b></p><p>  // 主控程序</p><p>  void main(void) </p><p><b>  { </b></p><p><

71、;b>  P2=0xff;</b></p><p><b>  P1=0xff;</b></p><p><b>  P0=0Xff;</b></p><p>  init_timer0();</p><p>  iniLCD();

72、 //初始化 LCD</p><p>  write_hz_str(0,18,"2013-1-7");</p><p>  write_hz_str(3,18,"步進(jìn)電機(jī)仿真");</p><p>  write_hz_str(6,20,"停止");</p><p

73、>  buf_Direction=CST_STEP_MOTOR_ST;</p><p>  set_speed=60;</p><p>  step_index=3;</p><p>  EA=1; //開(kāi)中斷 </p><p>  caluate();<

74、;/p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  key_Scan();</p><p><b>  }</b></p><p><b>  }</b></p>

75、<p>  2、顯示子程序的設(shè)計(jì)</p><p>  圖12 顯示程序流程圖</p><p><b>  程序如下:</b></p><p>  #include <REG51.h> </p><p>  //#include <stdio.h></p><p&g

76、t;  //#include <math.h></p><p>  #include "macro.h"</p><p>  #include "LCD_HZ.h"</p><p>  sbit E =P3^5;</p><p>  sbit RW=P3^4;</p>&l

77、t;p>  sbit RS =P3^2;</p><p>  sbit L =P3^1;//左半平面 </p><p>  sbit R =P3^0;//右半平面 </p><p>  sbit Busy=P2^7;// //忙 判斷位 </p><p>  #define LCDPAGE

78、 0xB8 //設(shè)置頁(yè)指令。</p><p>  #define LCDLINE 0x40 //設(shè)置列指令。</p><p>  //LCD判斷忙的子程序</p><p>  void chkbusy(void) //測(cè)LCD忙狀態(tài) </p><p><b>  { &

79、lt;/b></p><p>  E=1; //使能LCD</p><p>  RS=0; //讀寫(xiě)指令 </p><p>  RW=1; //讀 </p><p>  P2=0xff;

80、 //讀操作前先進(jìn)行一次空讀操作 ,接下來(lái)才能讀到數(shù)據(jù) </p><p>  while(!Busy); //等待,不忙退出 </p><p><b>  }</b></p><p><b>  //寫(xiě)指令代碼</

81、b></p><p>  void wcode(uchar cd) //寫(xiě)指令 代碼 </p><p><b>  { </b></p><p>  chkbusy(); //寫(xiě)等待 </p><p> 

82、 P2=0xff; //使能LCD</p><p>  RW=0; //讀禁止 </p><p>  RS=0; //輸出 設(shè)置 </p><p>  P2=cd;

83、 //寫(xiě)數(shù)據(jù)代碼 </p><p>  E=1; //以下兩句產(chǎn)生下降沿 </p><p>  E=0; </p><p><b>  }</b></p><p>  //把

84、顯示數(shù)據(jù)寫(xiě)到內(nèi)存單元中 </p><p>  void wdata(uchar dat) //寫(xiě)顯示數(shù)據(jù)</p><p><b>  {</b></p><p>  chkbusy(); //寫(xiě)等待 </p><p>

85、;  P2=0xff; //使能LCD</p><p>  RW=0; //讀禁止 </p><p>  RS=1; //輸出 設(shè)置 </p><p>  P2=dat ^0xFF;

86、 //寫(xiě)數(shù)據(jù)代碼 </p><p>  E=1; //以下兩句產(chǎn)生下降沿 </p><p>  E=0; </p><p><b>  }</b></p>

87、<p><b>  //顯示LCD程序</b></p><p>  //可以更改程序中的64變?yōu)?2就可以輸出數(shù)字了</p><p>  void disrow(uchar page,uchar col,uchar *temp)</p><p><b>  { </b></p><p>

88、<b>  uchar i;</b></p><p>  if(col<64) // 左半平面</p><p><b>  { </b></p><p><b>  L=1;R=0;</b></p>&l

89、t;p>  wcode(LCDPAGE+page); // 寫(xiě)指令 頁(yè) </p><p>  wcode(LCDLINE+col); //寫(xiě)指令行 </p><p>  if((col+16)<64) //如果字在左半平

90、面顯示不了,轉(zhuǎn)到右半平面去 </p><p><b>  { </b></p><p>  for(i=0;i<16;i++) //寫(xiě)字 </p><p>  wdata(*(temp+i));</p><p><b>  }</b>&

91、lt;/p><p>  else //右半平面 </p><p><b>  {</b></p><p>  for(i=0;i<64-col;i++) //減去左邊數(shù),從右半平面第一位開(kāi)始顯示 </p><p

92、>  wdata(*(temp+i)); //寫(xiě)字 顯示 </p><p>  L=0;R=1; //右半平面 </p><p>  wcode(LCDPAGE+page); //寫(xiě)指令 頁(yè) </p><p>

93、;  wcode(LCDLINE); //寫(xiě)指令行 </p><p>  for(i=64-col;i<16;i++) //寫(xiě)字右半平面 </p><p>  wdata(*(temp+i));</p><p><b>  }</b>

94、;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  { </b></p><p><b>  L=0;R=1;</b></p><p>  wcode(LCDPAG

95、E+page); // 寫(xiě)指令 頁(yè) </p><p>  wcode(LCDLINE+col-64); //寫(xiě)指令行 </p><p>  for(i=0;i<16;i++) //寫(xiě)字 </p><p>  wdata(

96、*(temp+i)); </p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //供調(diào)用子程序</b></p><p>  void display_HZ( int page, int col,uchar *temp)&

97、lt;/p><p><b>  { </b></p><p>  disrow( page, col, temp); //顯示上半字 </p><p>  disrow( page+1, col, temp+16); //顯示下半字 </p>

98、<p><b>  } </b></p><p>  ///****************************************************</p><p>  void disrow_ascii(uchar page,uchar col,uchar *temp)</p><p><b>  { &

99、lt;/b></p><p><b>  uchar i;</b></p><p>  if(col<64) // 左半平面</p><p><b>  { </b></p><p><b>  L=1

100、;R=0;</b></p><p>  wcode(LCDPAGE+page); // 寫(xiě)指令 頁(yè) </p><p>  wcode(LCDLINE+col); //寫(xiě)指令行 </p><p>  if((col+8)<64)

101、 //如果字在左半平面顯示不了,轉(zhuǎn)到右半平面去 </p><p><b>  { </b></p><p>  for(i=0;i<8;i++) //寫(xiě)字 </p><p>  wdata(*(temp+i));</p><p&

102、gt;<b>  }</b></p><p>  else //右半平面 </p><p><b>  {</b></p><p>  for(i=0;i<64-col;i++) //減去左邊數(shù),從右半平面第

103、一位開(kāi)始顯示 </p><p>  wdata(*(temp+i)); //寫(xiě)字 顯示 </p><p>  L=0;R=1; //右半平面 </p><p>  wcode(LCDPAGE+page); // 寫(xiě)指令 頁(yè) </

104、p><p>  wcode(LCDLINE); //寫(xiě)指令行 </p><p>  for(i=64-col;i<8;i++) //寫(xiě)字 右半平面 </p><p>  wdata(*(temp+i));</p><p><b>  

105、}</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  { </b></p><p><b>  L=0;R=1;</b></p><p>  wc

106、ode(LCDPAGE+page); // 寫(xiě)指令 頁(yè) </p><p>  wcode(LCDLINE+col-64); //寫(xiě)指令行 </p><p>  for(i=0;i<8;i++) //寫(xiě)字 </p><p>

107、  wdata(*(temp+i)); </p><p><b>  }</b></p><p><b>  }</b></p><p>  void display_ascII( int page, int col,uchar *temp)</p><p><b>  { </b

108、></p><p>  disrow_ascii( page, col, temp); //顯示上半字 </p><p>  disrow_ascii( page+1, col, temp+8); //顯示下半字 </p><p><b>  } </b></p>

109、<p><b>  //LCD初始化 </b></p><p>  void iniLCD(void) //初始化 </p><p><b>  { </b></p><p><b>  L=1;</b></p>&l

110、t;p><b>  R=1;</b></p><p>  wcode(0x38);</p><p>  wcode(0x0f); //開(kāi)顯示 設(shè)置 </p><p>  wcode(0xc0); //設(shè)置顯示

111、啟動(dòng)為第一行 </p><p>  wcode(0x01); //清屏</p><p>  wcode(0x06); //畫(huà)面不動(dòng),光標(biāo)右移。</p><p><b>  }</b></p>

112、<p>  //然后應(yīng)用下面程序來(lái)索引漢字 </p><p>  void write_hz_str( int x1,int y1, uchar *point ) </p><p><b>  { </b></p><p>  signed char temp1, temp2; </p><p><b&

113、gt;  int i;</b></p><p>  int x,y,hang=0;</p><p>  int hz_cnt=0; </p><p><b>  x=x1;</b></p><p><b>  y=y1;</b></p><p>  while (

114、*point != '\0') //判斷是否顯示完成 </p><p><b>  { </b></p><p>  if (hz_cnt>=8) //應(yīng)是8,中間有字符ASCII 嗎+ 漢字則只有1個(gè)字節(jié)空間不夠?qū)憹h字所以換行</p><p>&

115、lt;b>  {</b></p><p>  hz_cnt =0;</p><p>  hang+=2; </p><p><b>  }</b></p><p>  temp1 = *point++; //取漢字?jǐn)?shù)據(jù) </p><p>  if (temp1 &am

116、p;0x80) //如果是要顯示漢字 </p><p><b>  { </b></p><p>  temp2 = *point ++; </p><p>  for (i = 0; i < HZ_SIZE ; i++) //字碼中共9個(gè)漢字</p><p><b>  { </b&

117、gt;</p><p>  if ((temp1 == GB_16[i].Index[0]) && (temp2 == GB_16[i].Index[1])) //查索引 </p><p><b>  { </b></p><p>  x=x1+hang;</p><p>  y=y1+hz_cnt*16

118、;</p><p>  display_HZ(x,y, &(GB_16[i].Msk[0])); //找到,字模指針賦值 </p><p>  hz_cnt+=1;</p><p><b>  break;</b></p><p><b>  } </b></p><

119、;p><b>  } </b></p><p><b>  }</b></p><p>  else if (temp1<=127 && temp1>=32)</p><p><b>  { </b></p><p>  temp1 -=32;

120、 </p><p>  x=x1+hang;</p><p>  y=y1+hz_cnt*8;</p><p>  display_ascII(x,y, &(nAsciiDot[16*temp1])); //找到,字模指針賦值 </p><p>  hz_cnt+=1; </p><p><b&g

121、t;  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  3、 H文件</b></p><p><b>  H文件見(jiàn)附錄</b></p><p>

122、<b>  六、整體電路圖</b></p><p><b>  七、電路仿真及調(diào)試</b></p><p>  7.1Proteus介紹</p><p>  Proteus是由Labcenter Electronics開(kāi)發(fā)的功能強(qiáng)大的單片機(jī)仿真軟件Proteus與其他的仿真軟件相比較,在下面的優(yōu)點(diǎn):</p>

123、<p>  1.能仿真模擬電路、數(shù)字電路、數(shù)?;旌想娐?;</p><p>  2.能繪制原理圖、PCB圖;</p><p>  3.幾乎包括實(shí)際中所有使用的儀器</p><p>  4.其最大的亮點(diǎn)在于能夠?qū)纹瑱C(jī)進(jìn)行實(shí)物級(jí)的仿真。從程序的編寫(xiě),編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全。支持匯編語(yǔ)言和C語(yǔ)言的編程。還可配合Keil C實(shí)現(xiàn)程序的聯(lián)合調(diào)試,將Prot

124、eus中繪制的原理圖作為實(shí)際中的目標(biāo)板,而用Keil C集成環(huán)境實(shí)現(xiàn)對(duì)目標(biāo)板的控制,與實(shí)際中通過(guò)硬件仿真器對(duì)目標(biāo)板的調(diào)試幾乎完全相同,并且支持多顯示器的調(diào)試,即Proteus運(yùn)行在一臺(tái)計(jì)算機(jī)上,而Keil C運(yùn)行在另一臺(tái)計(jì)算機(jī)上,通過(guò)網(wǎng)絡(luò)連接實(shí)現(xiàn)遠(yuǎn)程的調(diào)試。</p><p><b>  7.2系統(tǒng)仿真</b></p><p>  對(duì)應(yīng)的單拍正轉(zhuǎn)、雙拍正轉(zhuǎn)、單雙拍正轉(zhuǎn)種

125、情況下由虛擬示波器(OSCILLOSCOPE)采集的脈沖驅(qū)動(dòng)信號(hào),對(duì)于步進(jìn)電機(jī)的控制,實(shí)際上是控制步進(jìn)脈沖的個(gè)數(shù)和步進(jìn)脈沖的間隔,而步進(jìn)電機(jī)的間隔又可轉(zhuǎn)化為某基準(zhǔn)延時(shí)子程序的循環(huán)次數(shù)。因此,可以很方便地用軟件來(lái)控制步進(jìn)電機(jī)的運(yùn)行,達(dá)到控制目的。繪制完電路圖后,將編好的程序輸入軟件內(nèi)檢查所編程序是否正確,檢查程序無(wú)誤后裝入單片機(jī)內(nèi),進(jìn)行防真。仿真結(jié)果可見(jiàn)圖13所示。</p><p><b>  八 設(shè)計(jì)總

126、結(jié)</b></p><p>  這次課程設(shè)計(jì)根據(jù)課題要求,復(fù)習(xí)了所學(xué)的單片機(jī)和步進(jìn)電機(jī)的內(nèi)容,通過(guò)查閱大量書(shū)籍、專業(yè)網(wǎng)站、論壇等,通過(guò)反復(fù)對(duì)比,采用技術(shù)較為成熟以及仿真效果的電路。在軟件設(shè)計(jì)方面,一部分參考文獻(xiàn)的已成程序進(jìn)行修改編寫(xiě),一部分則是平時(shí)的經(jīng)驗(yàn)積累,初步掌握了步進(jìn)電機(jī)控制的基本原理和步進(jìn)電機(jī)轉(zhuǎn)動(dòng)編程的方法,步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著

127、微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日增加,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域仍將起到重要作用。根據(jù)課程設(shè)計(jì)的要求和自己通過(guò)參考有關(guān)資料,寫(xiě)好程序流程圖,在程序流程圖的基礎(chǔ)上,根據(jù)芯片的功能寫(xiě)出相應(yīng)的程序,達(dá)到能夠?qū)崿F(xiàn)所要求的功能的目的。 在寫(xiě)程序時(shí),在每條指令后都寫(xiě)好注釋,以便在程序出錯(cuò)的檢查過(guò)程中可以更容易查找得到。  本次課程設(shè)計(jì)重點(diǎn)是理論與實(shí)際的相結(jié)合,不單單只是書(shū)上的一條條分離的指令。這次實(shí)驗(yàn)我們學(xué)到了有關(guān)步進(jìn)電機(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ù)僅提供信息存儲(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)論