

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 直流電動機(jī)調(diào)速課程設(shè)計
- 直流電動機(jī)調(diào)速課程設(shè)計
- 直流電動機(jī)調(diào)速課程設(shè)計
- 直流電動機(jī)調(diào)速課程設(shè)計
- 課程設(shè)計---直流電動機(jī)調(diào)速設(shè)計
- 直流電動機(jī)
- 直流電動機(jī)調(diào)速系統(tǒng)課程設(shè)計
- 直流電動機(jī)調(diào)速系統(tǒng)課程設(shè)計
- 他勵直流電動機(jī)課程設(shè)計
- 電機(jī)拖動課程設(shè)計---直流電動機(jī)
- 直流電動機(jī)
- 直流電動機(jī)調(diào)速系統(tǒng)課程設(shè)計
- 直流電動機(jī)調(diào)速課程設(shè)計 (2)
- 直流電動機(jī)調(diào)速系統(tǒng)課程設(shè)計
- 直流電動機(jī)控制課程設(shè)計總結(jié)報告
- 課程設(shè)計--- 直流電動機(jī)測速系統(tǒng)設(shè)計
- 單片機(jī)控制直流電動機(jī)——課程設(shè)計
- 單片機(jī)控制直流電動機(jī)課程設(shè)計
- 直流電動機(jī)串電阻啟動 課程設(shè)計
- 直流電動機(jī)能耗制動課程設(shè)計
評論
0/150
提交評論