溫度控制直流電動機(jī)轉(zhuǎn)速的課程設(shè)計_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1 1引言 </b></p><p>  在電氣時代的今天,電動機(jī)一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。據(jù)資料統(tǒng)計,現(xiàn)在有的90%以上的動力源自于電動機(jī),電動機(jī)與人們的生活息息相關(guān),密不可分。隨著現(xiàn)代化步伐的邁進(jìn),人們對自動化的需求越來越高,使電動機(jī)控制向更復(fù)雜的控制發(fā)展。     &

2、lt;/p><p>  近年來由于微型機(jī)的快速發(fā)展,國外交直流系統(tǒng)數(shù)字化已經(jīng)達(dá)到實(shí)用階段由于以微處理器為核心的數(shù)字控制系統(tǒng)硬件電路的標(biāo)準(zhǔn)化程度高,制作成本低,且不受器件溫度漂移的影響,且單片機(jī)具有功能強(qiáng)、體積小、可靠性好和價格便宜等優(yōu)點(diǎn),現(xiàn)已逐漸成為工廠自動化和各控制領(lǐng)域的支柱之一。其控制軟件能夠進(jìn)行邏輯判斷和復(fù)雜運(yùn)算,可以實(shí)現(xiàn)不同于一般線性調(diào)節(jié)的最優(yōu)化、自適應(yīng)、非線性、智能化等控制規(guī)律。所以微機(jī)數(shù)字控制系統(tǒng)在各個方

3、而的性能都遠(yuǎn)遠(yuǎn)優(yōu)于模擬控制系統(tǒng)且應(yīng)用越來越廣泛。  </p><p>  現(xiàn)在市場上通用的電機(jī)控制器大多采用單片機(jī)和DSP。但是以前單片機(jī)的處理能力有限,對采用復(fù)雜的反饋控制的系統(tǒng),由于需要處理的數(shù)據(jù)量大,實(shí)時性和精度要求高,往往不能滿足設(shè)計要求。近年來出現(xiàn)了各種單片機(jī),其性能得到了很大提高,價格卻比DSP低很多。其相關(guān)的軟件和開發(fā)工具越來越多,功能也越來越強(qiáng),但價格卻在不斷降低?,F(xiàn)在,越來越

4、多的廠家開始采用單片機(jī)來提高產(chǎn)品性價比。 </p><p><b>  2設(shè)計任務(wù)及要求 </b></p><p><b>  2.1設(shè)計目的 </b></p><p>  設(shè)計一個基于溫度的電動機(jī)轉(zhuǎn)速控制電路,在相應(yīng)的軟件控制下可以完成要求的功能,即外部溫度大于45C時,直流電動機(jī)在L298

5、驅(qū)動下加速正轉(zhuǎn),溫度大于75C全速正轉(zhuǎn),當(dāng)外部溫度小于10C時電動機(jī)加速反轉(zhuǎn),溫度小于0C時電動機(jī)全速反轉(zhuǎn)。溫度回到10C-45C時電動機(jī)停止轉(zhuǎn)動。在液晶顯示屏1602LCD上顯示當(dāng)前的溫度值。 </p><p><b>  2.2設(shè)計要求 </b></p><p>  一、設(shè)計一個基于溫度的電動機(jī)轉(zhuǎn)速控制電路,在相應(yīng)的軟件控制下可以完成要求的功能

6、,即外部溫度大于45C時,直流電動機(jī)在L298驅(qū)動下加速正轉(zhuǎn),溫度大于75C全速正轉(zhuǎn),當(dāng)外部溫度小于10C時電動機(jī)加速反轉(zhuǎn),溫度小于0C時電動機(jī)全速反轉(zhuǎn)。溫度回到10C-45C時電動機(jī)停止轉(zhuǎn)動。在液晶顯示屏1602LCD上顯示當(dāng)前的溫度值。 </p><p>  二、畫出基于溫度的電動機(jī)轉(zhuǎn)速控制電路的電路圖;</p><p>  三、所設(shè)計的電路需要在仿真軟件Protues

7、60;v7.5上能夠運(yùn)行,課程設(shè)計報告的最后必須附有在仿真軟件Protues v7.5下設(shè)計的電路圖和控制程序清單。</p><p>  3 本課程設(shè)計的意義 </p><p>  直流電動機(jī)作為一種高效率速度控制電動機(jī)引人注目、但市場的知名度還小高。許多用戶在設(shè)備用電動機(jī)的選擇上經(jīng)常出現(xiàn)不合理的現(xiàn)象。比如為了實(shí)現(xiàn)設(shè)備的功能、當(dāng)變頻器控制的異步電動機(jī)滿足不了要

8、求時就盲目的選用昂貴的伺服電動機(jī)、其中有些情況完全可以用價格較低的直流電動機(jī)來實(shí)現(xiàn)。 </p><p>  采用單片機(jī)構(gòu)成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率,可以實(shí)現(xiàn)復(fù)雜的控制,控制靈活性和適應(yīng)性好,無零點(diǎn)漂移,控制精密高,可提供人機(jī)界面,多機(jī)聯(lián)網(wǎng)工作。 </p><p>  采用智能功率電路驅(qū)動比傳統(tǒng)的分立功率器件組成的驅(qū)動體積小,功能強(qiáng)

9、;減少了電路元器件數(shù)量,提高了系統(tǒng)的可靠性;控制電路哈爾功率電路集成在一起,使監(jiān)控更容易實(shí)現(xiàn);集成化使電路的連線減少,減少了布線電容和電感以及信號傳輸?shù)难訒r,增加了系統(tǒng)抗干擾的能力;集成化使系統(tǒng)成本大大降低。 </p><p><b>  4應(yīng)用軟件介紹 </b></p><p>  4.1Proteus仿軟真件的介紹 </p>

10、;<p>  Proteus是一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫齊全,使用方便,是不可多得的專業(yè)的單片機(jī)軟件仿真系統(tǒng)。 </p><p><b>  該軟件的特點(diǎn): </b></p><p> ?。?)全部滿足我們提出的單片機(jī)軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢。&

11、#160;</p><p>  (2)具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS一232動態(tài)仿真、1 C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。③ 目前支持的單片機(jī)類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、 PIC18系列、Z80系列、HC11系列以及各

12、種外圍芯片。④ 支持大量的存儲器和外圍芯片??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大 ,可仿真51、AVR、PIC。</p><p>  4.2 Keil軟件 </p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能

13、上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 </p>

14、<p>  5電路使用元件的介紹 </p><p>  5.1關(guān)于AT89C51單片機(jī)的簡介 </p><p>  AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS&

15、#160;8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種

16、靈活性高且價廉的方案。 </p><p>  圖1  AT89C51管腳圖 </p><p>  5.2關(guān)于DS18B20溫度傳感器的簡介 </p><p>  DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等

17、等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機(jī)房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。 </p><p>  5.3關(guān)于L298電機(jī)驅(qū)動芯片的簡介 </p><p>  L298是ST公司生產(chǎn)的一種高

18、電壓、大電流電機(jī)驅(qū)動芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機(jī)和步進(jìn)電動機(jī)、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路 

19、;。</p><p>  5.4關(guān)于LM016液晶模塊的簡介 </p><p>  LM016L液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動,閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標(biāo)志(BF),顯示數(shù)RAM(DDRAM

20、),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時,液晶模塊處于內(nèi)部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來存儲顯示的字符,能存儲80個字符碼, CGROM由8位字符碼生成5*7點(diǎn)陣字符160中和5*10點(diǎn)陣字符32種

21、.CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié),可以自定義8個5*7點(diǎn)陣字符或者4個5*10點(diǎn)陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM。</p><p>  6部分硬件的工作原理 </p><p>  6.1直流電動機(jī)的工作原理 </p><p&

22、gt;  直流電動機(jī)的工作原理 一般了解1、直流電動機(jī)的構(gòu)造分為兩部分:定子與轉(zhuǎn)子。記住定子與轉(zhuǎn)子都是由那幾部分構(gòu)成的, 注意:不要把換向極與換向器弄混淆了,記住他們兩個的作用。定子包括:主磁極,機(jī)座,換向極,電刷裝置等。轉(zhuǎn)子包括:電樞鐵芯,電樞繞組,換向器,軸和風(fēng)扇等。 </p><p>  直流電動機(jī)的勵磁方式直流電動機(jī)的性能與它的勵磁方式密切相關(guān),通常直流電動機(jī)的勵磁方式有4種

23、:直流他勵電動機(jī)、直流并勵電動機(jī)、直流串勵電動機(jī)和直流復(fù)勵電動機(jī)。掌握4種方式各自的特點(diǎn):直流他勵電動機(jī): 勵磁繞組與電樞沒有電的聯(lián)系,勵磁電路是由另外直流電源供給的。 </p><p>  因此勵磁電流不受電樞端電壓或電樞電流的影響。直流并勵電動機(jī): 并勵繞組兩端電壓就是電樞兩端電壓,但是勵磁繞組用細(xì)導(dǎo)線繞成,其匝數(shù)很多,因此具有較大的電阻,使得通過他的勵磁電流較小。直流串勵電動機(jī)

24、:勵磁繞組是和電樞串聯(lián)的,所以這種電動機(jī)內(nèi)磁場隨著電樞電流的改變有顯著的變化。 </p><p>  為了使勵磁繞組中不致引起大的損耗和電壓降,勵磁繞組的電阻越小越好,所以直流串勵電動機(jī)通常用較粗的導(dǎo)線繞成,他的匝數(shù)較少。直流復(fù)勵電動機(jī):電動機(jī)的磁通由兩個繞組內(nèi)的勵磁電流產(chǎn)生。 </p><p>  6.2轉(zhuǎn)速的測量原理 </p><p&g

25、t;  轉(zhuǎn)速是電機(jī)的一個最常用參數(shù),電機(jī)的轉(zhuǎn)速常以每分鐘的轉(zhuǎn)數(shù)來表示,其單位為r/min。轉(zhuǎn)速的測量方法很多,由于轉(zhuǎn)速是以單位時間內(nèi)的轉(zhuǎn)數(shù)來衡量的,因此采用霍爾元器件測量轉(zhuǎn)速是較為常用的一種測量方法。  </p><p>  霍爾器件是有半導(dǎo)體材料制成的一種薄片,器件的長、寬、高分別為l、b、d。若在垂直于薄片平面(沿厚度d)方向施加外加磁場B,在沿l方向的兩個端面加以外電場,則有一定的電流經(jīng)

26、過。由于電子在磁場中運(yùn)動,所以將受到一個洛侖磁力,其大小為f=qvB  式中:f—洛侖磁力;q—載流子電荷;V—載流子運(yùn)動速度;B—磁感應(yīng)強(qiáng)度。 這樣使電子的運(yùn)動軌跡發(fā)生偏移,在霍爾元器件薄片的兩個側(cè)面分別產(chǎn)生電子積聚或電荷過剩,形成霍爾電場,霍爾元器件兩個側(cè)面問的電位差 稱為霍爾電壓。 </p><p><b>  霍爾電壓大小為:</b>

27、</p><p>  式中:H—霍爾常數(shù);d—元件厚度;B—磁感應(yīng)強(qiáng)度;I—控制電流  </p><p><b>  設(shè),則</b></p><p>  為霍爾器件的靈敏系數(shù)(mV/mA/T),表示該霍爾元件在單位磁感應(yīng)強(qiáng)度和單位控制電流下輸出霍爾電動勢的大小。應(yīng)注意,當(dāng)電磁感應(yīng)強(qiáng)度B反向時,霍爾電動勢也反向。若控制電流保持

28、不變,則霍爾感應(yīng)電壓將隨外界磁場強(qiáng)度而變化,根據(jù)這一原理,可以將一塊永久磁鋼固定在電動機(jī)的轉(zhuǎn)軸上轉(zhuǎn)盤的邊沿,轉(zhuǎn)盤隨被測軸旋轉(zhuǎn),磁鋼也將跟著同步旋轉(zhuǎn),在轉(zhuǎn)盤附近安裝一個霍爾元件,轉(zhuǎn)盤隨軸旋轉(zhuǎn)時,霍爾元件受到磁鋼所產(chǎn)生的磁場影響,故輸出脈沖信號,其頻率和轉(zhuǎn)速成正比,測出脈沖的周期或頻率即可計算出轉(zhuǎn)速。</p><p>  6.3直流電動機(jī)的轉(zhuǎn)速控制系統(tǒng)的工作原理 </p><p> 

29、 直流電動機(jī)的轉(zhuǎn)速與施加于電動機(jī)兩端的電壓大小有關(guān)。本系統(tǒng)用DAC0832控制輸出到直流電動機(jī)的電壓的方法來控制電動機(jī)的轉(zhuǎn)速。當(dāng)電動機(jī)轉(zhuǎn)速小于設(shè)定值時,DAC0832芯片的輸出電壓增大,當(dāng)大于設(shè)定值時則DAC0832芯片輸出電壓減小,從而使電動機(jī)以設(shè)定的速度恒速旋轉(zhuǎn)。我們采用比例調(diào)節(jié)器算法??刂埔?guī)律:</p><p>  式中:Y—比例調(diào)節(jié)器輸出;Kp—比例系數(shù);K1—積分系數(shù);e(t)—調(diào)節(jié)器的輸人,一般為偏差

30、值。  </p><p>  系統(tǒng)采用了比例積分調(diào)節(jié)器,簡稱PI調(diào)節(jié)器,使系統(tǒng)在擾動的作用下,通過PI調(diào)節(jié)器的調(diào)節(jié)器作用使電動機(jī)的轉(zhuǎn)速達(dá)到靜態(tài)無差,從而實(shí)現(xiàn)了靜態(tài)無差。無靜差調(diào)速系統(tǒng)中,比例積分調(diào)節(jié)器的比例部分使動態(tài)響應(yīng)比較快(無滯后),積分部分使系統(tǒng)消除靜差。 </p><p>  7直流電動機(jī)的轉(zhuǎn)速控制系統(tǒng)軟件設(shè)計 </p><

31、;p><b>  7.1編程思路 </b></p><p>  控制系統(tǒng)程序的功能是用89C51單片機(jī)的,ID端El作為定時器、Tl作為霍爾元件產(chǎn)生脈沖輸入的計數(shù)器,將兩者的數(shù)值進(jìn)行運(yùn)算得出電動機(jī)的實(shí)際轉(zhuǎn)速, 并與給定值進(jìn)行比較。如果測量值比設(shè)定值大,則Po端口的輸出值減l送出給DAC0832控制電機(jī)轉(zhuǎn)速減速。如果測量值比設(shè)定值小,則P0端口的輸出值加1送出給DAC

32、0832控制電機(jī)轉(zhuǎn)速加速。運(yùn)行過程中不斷的調(diào)整,直到電機(jī)的轉(zhuǎn)速達(dá)到設(shè)定為止。 </p><p><b>  7.2系統(tǒng)流程圖 </b></p><p><b>  圖2系統(tǒng)流程圖 </b></p><p>  圖3  溫度處于10-45度時的電路圖</p>&

33、lt;p>  圖4  溫度處于0-10度時的電路圖</p><p>  圖5  溫度小于0度時的電路圖</p><p>  圖6  溫度處于45-90度時的電路圖</p><p>  圖7  溫度大于100度時的電路圖</p><p>  8仿真程序(C語言

34、)</p><p>  #include <reg51.H> </p><p>  #include <intrins.h></p><p>  #define uchar unsigned char</p><p>  #define uint&#

35、160;unsigned int </p><p>  sbit DS=P3^0; </p><p>  sbit IN1=P1^0;  //P10與電機(jī)驅(qū)動IN1相連             

36、;                </p><p>  sbit IN2=P1^1; //P11與電機(jī)驅(qū)動IN2相連          

37、                   </p><p>  sbit ENA=P1^2;   </p><p>  sbit lcdrs=P2^0;&#

38、160;sbit lcden=P2^2;      </p><p>  uint temp,num,t;              </p><p>  uchar

39、60;flag,count,fu;            </p><p>  uchar code table[]="NUC 09050442 29"; </p><p>  void de

40、lay(uint ms)       </p><p><b>  {   </b></p><p>  uint i,j;   </p><p>  for(i=ms;i>0;i--)&#

41、160;  </p><p>  for(j=110;j>0;j--); </p><p><b>  } </b></p><p>  void write_com(uchar com) </p><p><b>  { &

42、lt;/b></p><p><b>  lcdrs=0; </b></p><p><b>  P0=com; </b></p><p>  delay(5); </p><p><b>  lcden=1; </b></p

43、><p>  delay(5); </p><p><b>  lcden=0; </b></p><p><b>  } </b></p><p>  void write_data(uchar date) </p><p

44、><b>  { </b></p><p><b>  lcdrs=1; </b></p><p><b>  P0=date; </b></p><p>  delay(5); </p><p><b>  lcden=

45、1; </b></p><p>  delay(5); </p><p><b>  lcden=0; </b></p><p><b>  lcdrs=0; </b></p><p><b>  } </b><

46、;/p><p>  void init() </p><p><b>  { </b></p><p>  TMOD=0x11; </p><p>  TH0=(65536-1000)/256; </p><p>  TL0=(65536-1000)%

47、256; </p><p>  TH1=(65536-5000)/256; </p><p>  TL1=(65536-5000)%256; </p><p><b>  EA=1; </b></p><p><b>  ET0=1; </b><

48、;/p><p><b>  TR0=1; </b></p><p><b>  ET1=1; </b></p><p><b>  TR1=1;  </b></p><p><b>  flag=0; </b>

49、</p><p><b>  ENA=0; </b></p><p><b>  } </b></p><p>  void dsreset(void)        </p><p>&l

50、t;b>  {   </b></p><p>  uint i;   </p><p><b>  DS=1;   </b></p><p><b>  i++; </b></p>

51、<p><b>  DS=0;   </b></p><p><b>  i=103;   </b></p><p>  while(i>0)i--;   </p><p><b>  DS=1; 

52、  </b></p><p><b>  i=4;   </b></p><p>  while(i>0)i--;   </p><p><b>  DS=1; </b></p><p>&l

53、t;b>  } </b></p><p>  bit tmpreadbit(void)        </p><p><b>  {    </b></p><p>  uint

54、0;i;    </p><p>  bit dat;    </p><p><b>  DS=1; </b></p><p><b>  DS=0;</b></p><p><b>  

55、i++;</b></p><p>  i++;              </p><p><b>  DS=1;</b></p><p><b>  i++;  

56、  </b></p><p>  dat=DS;    </p><p>  i=8;while(i>0)i--;    </p><p>  return (dat); </p><p><b>

57、;  } </b></p><p>  uchar tmpread(void)    </p><p><b>  { </b></p><p>  uchar i,j,dat;   </p><p>

58、;<b>  dat=0; </b></p><p>  for(i=1;i<=8;i++)   </p><p><b>  { </b></p><p>  j=tmpreadbit();     </p&g

59、t;<p>  dat=(j<<7)|(dat>>1);     </p><p><b>  } </b></p><p>  return(dat); </p><p><b>  } </b><

60、/p><p>  void tmpwritebyte(uchar dat)    </p><p><b>  {   </b></p><p>  uint i;   </p><p>  uc

61、har j;   </p><p>  bit testb;   </p><p>  for(j=1;j<=8;j++)   </p><p><b>  { </b></p><p>  te

62、stb=dat&0x01;    </p><p>  dat=dat>>1; </p><p>  if(testb)     //write 1     </p><p><b&

63、gt;  {       </b></p><p>  DS=0;       </p><p>  i++;i++;      </p><p><

64、b>  DS=1; </b></p><p>  i=8;while(i>0)i--;     </p><p><b>  }     </b></p><p><b>  else 

65、60;   </b></p><p><b>  {       </b></p><p><b>  DS=0;  </b></p><p>  i=8;while(i>0)i--;/

66、/write 0         </p><p>  DS=1;       </p><p>  i++;i++;      </p><

67、p><b>  }   </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  void tmpchange(void)   </p>

68、<p><b>  { </b></p><p>  dsreset();    </p><p>  delay(1); </p><p>  tmpwritebyte(0xcc);   </p><p>  tmpwriteb

69、yte(0x44);   </p><p><b>  } </b></p><p>  uint tmp()                </p>

70、;<p><b>  {   </b></p><p>  float tt;   </p><p>  uchar a,b,b1;   </p><p>  dsreset();   <

71、;/p><p>  delay(1); </p><p>  tmpwritebyte(0xcc);   </p><p>  tmpwritebyte(0xbe);   </p><p>  a=tmpread();   </p>

72、<p>  b=tmpread();   </p><p>  temp=b;   </p><p><b>  b1=b;   </b></p><p>  temp<<=8;    <

73、/p><p>  temp=temp|a;   </p><p>  if(b1<8)    </p><p><b>  {       </b></p><p>  flag+

74、=1;   </p><p>  tt=temp*0.0625; </p><p>  temp=tt*10+0.5; </p><p><b>  fu='+';  </b></p><p><b>  } 

75、60;  </b></p><p><b>  else    </b></p><p><b>  { </b></p><p>  flag-=1;      </p>

76、;<p>  temp=~temp;      </p><p>  temp=temp+1;      </p><p>  tt=temp*0.0625;      </p>&l

77、t;p>  temp=tt*10+0.5; </p><p>  fu='-';   </p><p><b>  } </b></p><p>  return temp; </p><p><b>  } 

78、</b></p><p>  void display(uint temp) </p><p><b>  { </b></p><p>  uchar A1,A2,A3;    </p><p>  A1=temp/1

79、00;    </p><p>  A2=temp%100/10;    </p><p>  A3=temp%10; </p><p>  write_com(0x80+0x06+0x40); </p><p>  write_data(fu

80、); </p><p>  write_data(A1+0x30); </p><p>  write_data(A2+0x30); </p><p>  write_data('.'); </p><p>  write_data(A3+0x30); </p>

81、<p><b>  } </b></p><p>  void Turn_t(void)  </p><p><b>  {     </b></p><p><b>  ENA=0;  

82、60;</b></p><p><b>  IN1=0;  </b></p><p>  IN2=0;                   

83、0;                                    &#

84、160;                                </p><p><

85、;b>  }    </b></p><p>  void Turn_z(void)     </p><p><b>  {    </b></p><p>  ENA=1; 

86、   </p><p><b>  IN1=1; </b></p><p>  IN2=0;                    

87、;                                    

88、60;                                </p><p><

89、b>  } </b></p><p>  void Turn_f(void) </p><p><b>  {    </b></p><p><b>  ENA=1;   </b></p>

90、<p><b>  IN1=0; </b></p><p>  IN2=1;                         

91、;                     </p><p><b>  }     </b></p><p>

92、;  void Turn_fj(void) </p><p><b>  { </b></p><p><b>  uint x; </b></p><p><b>  ENA=1; </b></p><p><

93、b>  IN1=0;  </b></p><p><b>  x=500; </b></p><p>  while(x<=1000) </p><p><b>  { </b></p><p><b>  IN2=

94、1; </b></p><p>  delay(x); </p><p><b>  IN2=0; </b></p><p>  delay(1000-x); </p><p><b>  x+=50; </b></p>&

95、lt;p><b>  } </b></p><p><b>  IN2=1; </b></p><p><b>  }   </b></p><p>  void Turn_zj(void) </p><p

96、><b>  {  </b></p><p><b>  uint x; </b></p><p><b>  ENA=1; </b></p><p><b>  IN2=0;  </b></p&g

97、t;<p><b>  x=500; </b></p><p>  while(x<=1000) </p><p><b>  { </b></p><p><b>  IN1=1; </b></p><p>  de

98、lay(x); </p><p><b>  IN1=0; </b></p><p>  delay(1000-x); </p><p><b>  x+=50; </b></p><p><b>  } </b></p&

99、gt;<p><b>  IN1=1; </b></p><p><b>  }   </b></p><p>  void main() </p><p><b>  { </b></p><p&

100、gt;<b>  init(); </b></p><p><b>  lcden=0; </b></p><p>  write_com(0x38); </p><p>  write_com(0x0c); </p><p>  write_com(0x06

101、); </p><p>  write_com(0x01); </p><p>  for(num=0;num<15;num++) </p><p><b>  { </b></p><p>  write_data(table[num]); </p>

102、<p>  delay(5); </p><p><b>  }   </b></p><p>  while(1)   </p><p><b>  { </b></p><p>  tmpchange()

103、; </p><p>  display(tmp()); </p><p>  if(flag==1) </p><p><b>  { </b></p><p><b>  flag=0;</b></p><p>  if(t>

104、=75) Turn_z(); </p><p>  else if(t>=45) Turn_zj(); </p><p>  else if(t>10) Turn_t(); </p><p>  else Turn_fj(); </p>&l

105、t;p><b>  }  </b></p><p>  else  if(flag==-1)  </p><p><b>  {   </b></p><p>  flag=0;  Turn_f();}

106、60; </p><p>  }               </p><p><b>  }</b></p><p><b>  9結(jié)束語 </b>&l

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論