版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1 設(shè)計(jì)說(shuō)明</b></p><p> 1.1 直流電機(jī)概述[18]</p><p> 在電氣時(shí)代的今天,電動(dòng)機(jī)一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。無(wú)論是在工農(nóng)業(yè)生產(chǎn)、交通運(yùn)輸、國(guó)防、航空航天中,還是日常生活的家用電器中,都大量地使用著各種各樣的電動(dòng)機(jī)。據(jù)資料統(tǒng)計(jì),現(xiàn)在有90%以上的動(dòng)力源來(lái)自于電動(dòng)機(jī),我國(guó)生產(chǎn)的電能大約有
2、60%用于電動(dòng)機(jī)。電動(dòng)機(jī)與人們的生活息息相關(guān),密不可分。而直流電動(dòng)機(jī)是最早出現(xiàn)的電動(dòng)機(jī),也是最早能實(shí)現(xiàn)調(diào)速的電動(dòng)機(jī)。長(zhǎng)期以來(lái),直流電動(dòng)機(jī)一直占據(jù)著調(diào)速控制的統(tǒng)治地位。由于它具有良好的線性調(diào)速特性,簡(jiǎn)單的控制性能,較高的效率,優(yōu)異的動(dòng)態(tài)特性;盡管近年來(lái)不斷受到其他電動(dòng)機(jī)(如交流變頻電動(dòng)機(jī)、步進(jìn)電動(dòng)機(jī)等)的挑戰(zhàn),但到目前為止,它仍然是大多數(shù)調(diào)速控制電動(dòng)機(jī)的最優(yōu)先選擇。</p><p> 近年來(lái),直流電動(dòng)機(jī)的結(jié)構(gòu)和控
3、制方式都發(fā)生了很大變化。隨著計(jì)算機(jī)進(jìn)入控制領(lǐng)域,以及新型的電力電子功率元器件的不斷出現(xiàn),使采用全控型的開關(guān)功率元件進(jìn)行脈沖調(diào)制(PWM)控制方式已成為絕對(duì)主流。這種控制方式很容易在單片機(jī)控制中實(shí)現(xiàn),從而為直流電動(dòng)機(jī)控制數(shù)字化提供了契機(jī)。</p><p> 圖1是一個(gè)最簡(jiǎn)單的直流電動(dòng)機(jī)模型。在一對(duì)靜止的磁極N和S之間,裝設(shè)一個(gè)可以繞Z-Z'軸而轉(zhuǎn)動(dòng)的圓柱形鐵芯,在它上面裝有矩形的線圈abcd。這個(gè)轉(zhuǎn)動(dòng)的部
4、分通常叫做電樞。線圈的兩端a和d分別接到叫做換向片的兩個(gè)半圓形銅環(huán)1和2上。換向片1和2之間是彼此絕緣的,它們和電樞裝在同一根軸上,可隨電樞一起轉(zhuǎn)動(dòng)。A和B是兩個(gè)固定不動(dòng)的碳質(zhì)電刷,它們和換向片之間是滑動(dòng)接觸的。來(lái)自直流電源的電流就是通過(guò)電刷和換向片流到電樞的線圈里。</p><p> 圖1:直流電動(dòng)機(jī)模型 </p><p> 當(dāng)電刷A和B分別與直流電源的正極和負(fù)極接通時(shí),電流從電刷
5、A流入,而從電刷B流出。這時(shí)線圈中的電流方向是從a流向b,再?gòu)腸流向d。我們知道,載流導(dǎo)體在磁場(chǎng)中要受到電磁力,其方向由左手定則來(lái)決定。</p><p> 當(dāng)電樞轉(zhuǎn)到使線圈的ab邊從N極下面進(jìn)入S極,而cd邊從S極下面進(jìn)入N極時(shí),與線圈a端聯(lián)接的換向片1跟電刷B接觸,而與線圈d端聯(lián)接的換向片2跟電刷A接觸,如圖2(b)所示。這樣,線圈內(nèi)的電流方向變?yōu)閺膁流向c,再?gòu)腷流向a,從而保持在N極下面的導(dǎo)體中的電流方向
6、不變。因此轉(zhuǎn)矩的方向也不改變,電樞仍然按照原來(lái)的反時(shí)針?lè)较蚶^續(xù)旋轉(zhuǎn)。由此可以看出,換向片和電刷在直流電機(jī)中起著改換電樞線圈中電流方向的作用。</p><p> 圖2:換向器在直流電機(jī)中的作用</p><p> 1.2 系統(tǒng)工作過(guò)程</p><p> 圖3為系統(tǒng)原理總框圖,總體方案確定后,經(jīng)過(guò)一段時(shí)間的設(shè)計(jì)流程,流程圖如圖4所示:</p><
7、p><b> 搜索資料</b></p><p><b> ↓</b></p><p><b> 原理分析</b></p><p><b> ↓</b></p><p> 應(yīng)用Protel制作原理圖</p><p>&
8、lt;b> ↓</b></p><p> 將原理圖轉(zhuǎn)換成PCB</p><p><b> ↓</b></p><p> 裝配元件,進(jìn)行焊接,完成實(shí)物</p><p><b> ↓</b></p><p> 應(yīng)用KEIL C51編寫程序,進(jìn)行調(diào)試&
9、lt;/p><p><b> ↓</b></p><p><b> 完成設(shè)計(jì)目標(biāo)</b></p><p><b> 圖3:系統(tǒng)設(shè)計(jì)流程</b></p><p> 系統(tǒng)的連接情況:ST89C52單片機(jī)的P0口連接數(shù)碼管的a-h、P1.0-P1.3連接數(shù)碼管的四個(gè)位選端,P1.
10、4,P1.5連接H橋PWM功率放大電路的兩端、系統(tǒng)的工作工作:</p><p> (1)按加速控制鍵,電機(jī)轉(zhuǎn)速加快。</p><p> (2)按減速控制鍵,電機(jī)轉(zhuǎn)速減慢。</p><p><b> 1.3 系統(tǒng)資源</b></p><p> 單片機(jī)直流電機(jī)調(diào)速系統(tǒng)資源主要包括硬件資源和軟件資源,分別介紹如下。&l
11、t;/p><p><b> 1.硬件部分:</b></p><p> (1)PWM波形整形電路。</p><p> (2)LCD1602顯示電路。</p><p> (3)PWM功率放大電路。</p><p><b> 2.軟件部分:</b></p>&l
12、t;p><b> ?。?)主程序。</b></p><p> ?。?)2個(gè)中斷子程序。</p><p><b> ?。?)顯示子程序。</b></p><p><b> 2 系統(tǒng)芯片選擇</b></p><p> 2.1 ST89C52單片機(jī)</p>
13、<p> 2.1.1 單片機(jī)的現(xiàn)狀及發(fā)展趨勢(shì)[14]</p><p> 單片機(jī)誕生于20世紀(jì)70年代,所謂單片機(jī)是利用大規(guī)模集成電路技術(shù)把中央處理單元(Center Processing Unit,也即常稱的CPU)和數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)及其他I/O通信口集成在一塊芯片上,構(gòu)成一個(gè)最小的計(jì)算機(jī)系統(tǒng),而現(xiàn)代的單片機(jī)則加上了中斷單元,定時(shí)單元及A/D轉(zhuǎn)換等更復(fù)雜、更完善的電路,使得
14、單片機(jī)的功能越來(lái)越強(qiáng)大,應(yīng)用更廣泛。</p><p> 縱觀我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù) 處理,以及我們生活中廣泛使用的各種智能IC卡、電子寵物等,這些都離不開單片機(jī)。以前沒(méi)有單片機(jī)時(shí),這些 東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來(lái)的產(chǎn)品不僅體積大,而且成本高,并且由于長(zhǎng)期使用,元器件不斷老化,控制
15、的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀冎恍枰趩纹瑱C(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫入程序來(lái)完成。這樣產(chǎn)品的體積變小了,成本也降低了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了。 所以,它的魔力不僅是在現(xiàn)在,在將來(lái)將會(huì)有更多人來(lái)接受它、使用它。據(jù)統(tǒng)計(jì),我國(guó)的單片機(jī)年容量已達(dá) 1—3 億片,且每年以大約16%的速度增長(zhǎng),但相對(duì)于 世界市場(chǎng)我國(guó)的占有率還不到1%。特別是沿海地區(qū)的玩 具廠等生產(chǎn)產(chǎn)
16、品多數(shù)用到單片機(jī),并不斷地輻射向內(nèi)地。 所以,學(xué)習(xí)單片機(jī)在我國(guó)是有著廣闊前景的。</p><p> 目前,單片機(jī)外圍電路正朝著單片集成化、數(shù)字化、智能化、多功能、微功耗、高可靠性的方向發(fā)展。</p><p> 2.1.2 單片機(jī)選型 </p><p> 只要是MCS-51系列兼容單片機(jī)都符合本設(shè)計(jì)的要求。本設(shè)計(jì)選用AT89S52。由ATMEL公司生產(chǎn)的AT
17、89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8位CPU 和在線系統(tǒng)可編程Flash,使得ST89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。ST89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定
18、時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。而且,它還具有一個(gè)看門狗(WDT)定時(shí)/計(jì)數(shù)器,如果程序沒(méi)有正常工作,就會(huì)強(qiáng)制整個(gè)系統(tǒng)復(fù)位,還可以在程序陷入死循環(huán)的時(shí)候,讓單片機(jī)復(fù)位而不用整個(gè)系統(tǒng)斷電,從而保護(hù)你的硬件電路。</p>
19、;<p> ST89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。</p><p> 2.1.3 ST89C52管腳說(shuō)明[19]</p>
20、<p><b> 其芯片引腳圖如下:</b></p><p> 圖4:ST89C52引腳圖</p><p> 2.1.4 ST89C52功能特性[11]</p><p> 它的功能特性主要包括:</p><p> ·增強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期8051 CPU。</p
21、><p> ·工作電壓:5.5V – 3.4V(5V單片機(jī)) / 3.8V – 2.0V(3V單片機(jī))。 </p><p> ·工作頻率范圍:0 – 4 MHz,相當(dāng)于普通8051的 0 – 80MHz。實(shí)際工作頻率可達(dá)48MHz。</p><p> ·用戶應(yīng)用程序空間 4K / 8K 13K / 16K / 20K / 32K /
22、64K 字節(jié)。。</p><p> ·片上集成 1280 字節(jié) / 512字節(jié)RAM。</p><p> ·通用I/O口(32/36個(gè)),復(fù)位后為: P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)P0口是開漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。</p><p> ·ISP(
23、在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器/仿真器,可通過(guò)串口(P3.0/P3.1)直接下載用戶程序,8KI程序3秒即可完成一片。</p><p> ·EEPROM功能。</p><p> ·內(nèi)部集成MAX810專用復(fù)位電路(D版本才有),外部晶體20M以下時(shí),可省外部復(fù)位電路。</p><p> ·共3個(gè)16位定時(shí)器
24、/計(jì)數(shù)器,其中定時(shí)器0還可以當(dāng)成2個(gè)8位定時(shí)器使用。</p><p><b> ·看門狗定時(shí)器。</b></p><p> ·外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。</p><p> ·通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART
25、。</p><p> ·工作溫度范圍: 0 – 75 ℃ / -40 - +85℃。</p><p> ·ISP在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于改寫單片機(jī)存儲(chǔ)器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離。是一個(gè)強(qiáng)大易用的功能。</p><p> ·具有雙工UART串行通道。</p><p> ·內(nèi)部集
26、成看門狗計(jì)時(shí)器,不再需要像89C51那樣外接看門狗計(jì)時(shí)器單元電路。</p><p><b> ·雙數(shù)據(jù)指示器。</b></p><p><b> ·電源關(guān)閉標(biāo)識(shí)。</b></p><p> ·全新的加密算法,這使得對(duì)于89S52的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)
27、知識(shí)產(chǎn)權(quán)不被侵犯。</p><p> ·兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等等早期MCS-51兼容產(chǎn)品。也就是說(shuō)所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機(jī)是8051還是89C51還是MCS-51等等),在89S52上一樣可以照常運(yùn)行,這就是所謂的向下兼容。</p><p> ST89S52的功能完全滿足本設(shè)計(jì)的要求,而且它支持IS
28、P在線編程功能,方便調(diào)試程序。</p><p> 2.2 L297和L298電機(jī)驅(qū)動(dòng)</p><p><b> 2.2.1工作原理</b></p><p> 電機(jī)控制圖如下所示:</p><p><b> 圖5</b></p><p><b> 硬件組成:
29、</b></p><p> 它由ST89C52單片機(jī)、光電耦合器、集成芯片L297和L298組成。</p><p> L297是步進(jìn)電動(dòng)機(jī)控制器(包括環(huán)形分配器),L298是雙H橋式驅(qū)動(dòng)器。它們所組成的微處理器至雙橋式步進(jìn)電動(dòng)機(jī)的接口如圖6所示。</p><p> 圖6:步進(jìn)電機(jī)控制驅(qū)動(dòng)器部分原理圖</p><p> 這種
30、方式結(jié)合的優(yōu)點(diǎn)是,需要的元件很少。從而使得裝配成本低,可靠性高和占空間少。并且通過(guò)軟件開發(fā),可以簡(jiǎn)化和減輕微型計(jì)算機(jī)的負(fù)擔(dān)。另外,L297和L298都是獨(dú)立的芯片,所以應(yīng)該是十分靈活的。</p><p> 2.2.2 芯片軟件組成</p><p> 該電路中,將P1.0口設(shè)為電機(jī)開始按鈕,P1.1,P1.2,P1.3為速度按鈕,速度由低到高,P1.4為電機(jī)停止按鈕,并設(shè)三檔速度的最高速
31、度依次為500pps、1000pps、2000pps。RXD,TXD已由MAX232電平轉(zhuǎn)換接出串口。此外,步進(jìn)電機(jī)其啟動(dòng),停止的頻率較低,一般在100—250Hz之間,而最高運(yùn)行頻率要求較高,通常為1—3KHz,為使其在啟動(dòng)、運(yùn)行和停止整個(gè)過(guò)程中,既不會(huì)失步,又能夠盡快精確地達(dá)到目標(biāo)位置,運(yùn)行速度都要有一根加速—恒速—減速的工程。這里采用常用的離散方法來(lái)逼近理想的近似梯形的降速曲線,如圖5所示。即利用定時(shí)器中斷方式來(lái)不斷改變定時(shí)器裝載
32、值的大小。</p><p> 本設(shè)計(jì)中,為計(jì)算方便,把各離散點(diǎn)的所需的裝載值用公式轉(zhuǎn)化為各自所需的定時(shí)時(shí)間固化在系統(tǒng)的ROM中,這里用TH0=(65536-time)/256,TL0=(65536-time)%256來(lái)計(jì)算裝載值,time表示各階梯所需定時(shí)時(shí)間。系統(tǒng)在運(yùn)行過(guò)程中用查表法查出所需的時(shí)間,從而大幅度減少占有CPU的時(shí)間,提高系統(tǒng)的相應(yīng)速度。因此,該程序主要由控制主程序,加減速子程序組成,主程序框圖如
33、圖7所示:</p><p><b> 圖7:主程序框圖</b></p><p> 2.2.3 芯片特點(diǎn)</p><p> L297另一個(gè)重要組成是由兩個(gè)PWM斬波器來(lái)控制相繞組電流,實(shí)現(xiàn)恒流斬波控制以獲得良好的矩頻特性。每個(gè)斬波器由一個(gè)比較器、一個(gè)RS觸發(fā)器和外接采樣電阻組成,并設(shè)有一根公用振蕩器,向兩個(gè)斬波器提供觸發(fā)脈沖信號(hào)。圖6中,頻
34、率f是由外接16腳的RC網(wǎng)絡(luò)決定的,當(dāng)R大于10K歐時(shí),f=1/0.69RC。當(dāng)時(shí)鐘振蕩器脈沖使觸發(fā)器置1,電機(jī)繞組相電流上升,采樣電阻的Rs上電壓上升到基準(zhǔn)電壓Uref時(shí),比較器翻轉(zhuǎn),使觸發(fā)器復(fù)位,功率晶體管關(guān)斷,電流下降,等待一下振蕩脈沖的到來(lái)。這樣,觸發(fā)器輸出的是恒頻PWM信號(hào),調(diào)制L297的輸出信號(hào),繞組相電流峰值由Uref確定。L297的CONTROL端的出入決定斬波器對(duì)相位線A、B、C、D或抑制線INH1和INH2起作用。C
35、ONTROL為高電平時(shí),對(duì)A、B、C、D有控制作用;而為低電平時(shí),則對(duì)INH1和INH2起控制作用,從而可對(duì)電動(dòng)機(jī)轉(zhuǎn)向和轉(zhuǎn)矩進(jìn)行控制。</p><p> L298芯片是一種高壓、大電流雙全橋式驅(qū)動(dòng)器,其設(shè)計(jì)是為接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)和驅(qū)動(dòng)電感負(fù)載的,例如繼電器、圓筒形線圈、直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)。具有兩抑制輸入來(lái)使器件不受輸入信號(hào)影響。每橋的三級(jí)管的射極是連接在一起的,相應(yīng)外接線端可用來(lái)連接外設(shè)傳感電阻。可
36、安置另一輸入電源,使邏輯能在低電壓下工作。L298芯片是具有15個(gè)引出腳的多瓦數(shù)直插式封裝的集成芯片。</p><p> 2.3 LCD1602</p><p> 2.3.1主要技術(shù)參數(shù)</p><p><b> 主要技術(shù)參數(shù):</b></p><p> 顯示容量:16*2個(gè)字符</p><p
37、> 芯片工作電壓:4.5 – 5.5V</p><p> 工作電流:2.0mA(5.0)</p><p> 模塊最佳工作電壓:5.0V</p><p> 字符尺寸:2.95*4.35(WXH)mm</p><p> 2.3.2 RAM地址映射圖</p><p> 控制器內(nèi)部帶有80*8位(80字節(jié))的
38、RAM緩沖區(qū),對(duì)應(yīng)關(guān)系圖如圖8所示:</p><p><b> 圖8 </b></p><p> 2.3.3 指令說(shuō)明</p><p><b> 首先,初始化設(shè)置。</b></p><p> 然后,顯示模式設(shè)置:</p><p> 指令碼:00111000
39、</p><p> 功能:設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口。</p><p> 最后,顯示開/關(guān)及光標(biāo)設(shè)置:</p><p> 指令碼:00001DCB</p><p> 功能:D=1開顯示;</p><p><b> D=0關(guān)顯示;</b></p><p&
40、gt;<b> C=1顯示光標(biāo);</b></p><p> C=0不顯示光標(biāo);</p><p><b> B=1光標(biāo)閃爍;</b></p><p><b> B=0光標(biāo)不顯示。</b></p><p> 指令碼:000001NS</p><p&g
41、t; 功能:N=1當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一;</p><p> N=0當(dāng)讀或?qū)懸粋€(gè)字符后地址指針減一,且光標(biāo)減一;</p><p> S=1當(dāng)寫一個(gè)字符,整屏幕顯示左移(N=1)或右移(N=0),以得到光標(biāo)不移動(dòng)而屏幕移動(dòng)的效果</p><p> S=0當(dāng)寫一個(gè)字符,整屏顯示不移動(dòng)。</p><p> 2.3.4
42、數(shù)據(jù)指針設(shè)置和其他設(shè)置</p><p> 控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)地址指針,用戶可以通過(guò)它們來(lái)訪問(wèn)內(nèi)部全部80字節(jié)RAM。</p><p><b> 數(shù)據(jù)指令設(shè)置:</b></p><p> 指令碼:80H+地址碼(0-27H,40H-67H)</p><p> 功能:設(shè)置數(shù)據(jù)地址指針。</p>&l
43、t;p><b> 其他設(shè)置:</b></p><p><b> 指令碼:01H</b></p><p> 功能:顯示清屏:1.數(shù)據(jù)指針清零</p><p><b> 2.所有顯示清零</b></p><p><b> 指令碼:02H</b>
44、</p><p> 功能:顯示回車:1.數(shù)據(jù)指針清零</p><p> 2.3.5 初始化過(guò)程</p><p><b> 延時(shí)15ms</b></p><p> 寫指令38H(不檢測(cè)忙信號(hào))</p><p><b> 延時(shí)5ms</b></p><
45、;p> 寫指令38H(不檢測(cè)忙信號(hào))</p><p><b> 延時(shí)5ms</b></p><p> 寫指令38H(不檢測(cè)忙信號(hào))</p><p> 以后每次寫指令、讀/寫數(shù)據(jù)操作之前均需檢測(cè)忙信號(hào)</p><p> 寫指令38H:顯示模式設(shè)置</p><p> 寫指令08H:顯
46、示關(guān)閉</p><p> 寫指令01H:顯示清屏</p><p> 寫指令:06H:顯示光標(biāo)移動(dòng)設(shè)置</p><p> 寫指令:0CH:顯示開及光標(biāo)設(shè)置</p><p> 2.4 MAX232</p><p> MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電。
47、其引腳圖如下圖所示:</p><p> 圖9:MAX232引腳圖</p><p> 內(nèi)部結(jié)構(gòu)基本可分三個(gè)部分:</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、
48、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。</p><p> 其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。</p><p> 8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。</p><p> TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1
49、OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p><p> 第三部分是供電。15腳GND、16腳VCC(+5v)。</p><p> 2.5 芯片選擇總結(jié)</p><p> 在實(shí)際應(yīng)用中,芯片的選擇非常重要,有時(shí)候能決定電路能不能正常工作?本設(shè)計(jì)系統(tǒng)中用
50、到的集成芯片相對(duì)比較少,相應(yīng)的有很多小元器件(例如二極管1N4007、PNP三極管8550、NPN三極管8050、電容、電阻、遙控器等),在這里就不一一介紹。但所有的元件都是組成一個(gè)系統(tǒng)的基礎(chǔ),必須慎重選擇。芯片已經(jīng)選擇好了,下面將在第三章一一介紹系統(tǒng)的各個(gè)組成部分及功能說(shuō)明!</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 本系統(tǒng)由一塊主
51、板與一塊箱體檢測(cè)控制板組成。主板上集成有主機(jī)控制器AT89S52,兩塊8255A端口擴(kuò)展芯片,3*4鍵盤,液晶,RS-232串口通信模塊和24C02數(shù)據(jù)存儲(chǔ)模塊;而箱體檢測(cè)控制電路上集成有繼電器開鎖控制電路,紅外檢測(cè)電路和限位開關(guān)電路。箱體監(jiān)測(cè)控制板通過(guò)排線接入8255A的A、B、C三個(gè)端口。主板通過(guò)讀取8255A端口信息來(lái)控制箱體監(jiān)測(cè)控制板以達(dá)到存包、取包的功能。以下將詳細(xì)解析各個(gè)模塊的線路設(shè)計(jì)原理。</p><p
52、> 3.1 單片機(jī)最小系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)主要包括復(fù)位電路和時(shí)鐘電路。</p><p> 3.1.1 復(fù)位電路設(shè)計(jì)</p><p> 當(dāng)MCS-51系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。</p><p>
53、; 根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。</p><p> 上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。復(fù)位電路如圖10所示。電阻R1和C1構(gòu)成上電復(fù)位電路。按下S1可實(shí)現(xiàn)手動(dòng)復(fù)位。單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,
54、21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值。</p><p> 圖10:?jiǎn)纹瑱C(jī)復(fù)位電路</p><p> 系統(tǒng)實(shí)現(xiàn)復(fù)位:控制ISP_CONTR特殊功能寄存器的其中兩位SWBS/SWRST就可以系統(tǒng)復(fù)位了。</p><p> ISP_CONTR:ISP/IAP功能允許位。0:禁止ISP/IAP編程改變Flash,1:允許編程改變Flash</p>&
55、lt;p> SWBS:軟件選擇從用戶應(yīng)用程序區(qū)啟動(dòng)(0),還是從ISP程序區(qū)啟動(dòng)(1)。要與SWRST直接配合才可現(xiàn)實(shí)</p><p> SWRST:0:不操作;1:產(chǎn)生軟件系統(tǒng)復(fù)位,硬件自動(dòng)清零。</p><p> ISP_CONTR:ISP/IAP控制寄存器,地址在0E7H單元</p><p><b> 表格1</b><
56、/p><p> 從用戶應(yīng)用程序區(qū)(AP區(qū))軟件復(fù)位并切換到用戶應(yīng)用程序區(qū)(AP區(qū))開始執(zhí)行程序</p><p> MOV ISP_CONTR,#00100000B;SWBS=0(選擇 AP區(qū)),SWRST=1(軟復(fù)位)</p><p> 從系統(tǒng)ISP監(jiān)控程序區(qū)軟件復(fù)位并切換到用戶應(yīng)用程序區(qū)(AP區(qū))開始執(zhí)行程序</p><p> MOV
57、 ISP_CONTR,#00100000B;SWBS=0(選擇 AP區(qū)),SWRST=1(軟復(fù)位) </p><p> 從用戶應(yīng)用程序區(qū)(AP區(qū))軟件復(fù)位并切換到系統(tǒng)ISP監(jiān)控程序區(qū)開始執(zhí)行程序</p><p> MOV ISP_CONTR,#01100000B;SWBS=1(選擇 AP區(qū)),SWRST=1(軟復(fù)位)</p><p> 從系統(tǒng)ISP監(jiān)控
58、程序區(qū)軟件復(fù)位并切換到系統(tǒng)ISP監(jiān)控程序區(qū)開始執(zhí)行程序</p><p> MOV ISP_CONTR,#01100000B;SWBS=1(選擇 AP區(qū)),SWRST=1(軟復(fù)位)</p><p> 3.1.2 時(shí)鐘電路設(shè)計(jì)</p><p> 單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱
59、晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。我采用的是內(nèi)部振蕩方式,時(shí)鐘電路如圖15所示。為了獲得精確的波特率,晶體振蕩器選用12MHz的型號(hào),兩個(gè)30pf的C01,C02電容起到輔助振蕩作用。</p><p> 圖13:?jiǎn)纹瑱C(jī)時(shí)鐘電路</p><p> 3.1.3 單片機(jī)最小系統(tǒng)</p&g
60、t;<p> 電路連接圖如下: </p><p> 圖14:?jiǎn)纹瑱C(jī)最小系統(tǒng)</p><p> 3.2 LCD1602顯示電路</p><p> 3.2.1 LCD簡(jiǎn)介</p><p> 1602液晶顯示模塊是128*64點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16*16點(diǎn)陣)、128個(gè)
61、字符(8*16點(diǎn)陣)及64*256點(diǎn)陣顯示RAM(GDRAM)。可與CPU直接接口,提供兩種界面來(lái)連接微型處理機(jī):8-位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移動(dòng)、睡眠模式等。外觀尺寸:93*70*12.5mm;視域尺寸:73*39mm。</p><p> 3.2.2 LCD顯示工作過(guò)程</p><p> (1)開始時(shí),屏幕顯示stop,檔數(shù)顯示0檔,電動(dòng)機(jī)不工作。<
62、;/p><p> ?。?)用遙控器進(jìn)行加速控制后,屏幕顯work,檔數(shù)顯示1,電動(dòng)機(jī)開始緩慢轉(zhuǎn)動(dòng);接著用遙控器再繼續(xù)加速控制后,檔數(shù)顯示2,3,4…,電動(dòng)機(jī)轉(zhuǎn)速逐漸加快。當(dāng)然也可以進(jìn)行減速控制。</p><p> (3)當(dāng)遙控控制到電動(dòng)機(jī)轉(zhuǎn)速最大時(shí),屏幕顯示,work full 檔數(shù)顯示7;這時(shí)無(wú)法再進(jìn)行加速控制。</p><p> 3.2.3 LCD顯示電路設(shè)計(jì)圖
63、</p><p> 圖14:LCD顯示電路設(shè)計(jì)圖</p><p> 3.3 電動(dòng)機(jī)驅(qū)動(dòng)電路</p><p> 步進(jìn)電機(jī)功率驅(qū)動(dòng)級(jí)電路可分為電壓和電流兩種驅(qū)動(dòng)方式。電流驅(qū)動(dòng)方式最常用的是PWM恒流斬波驅(qū)動(dòng)電路,也是最常用的高性能驅(qū)動(dòng)方式</p><p> 圖15:電動(dòng)機(jī)驅(qū)動(dòng)電路</p><p> 3.4 PWM
64、功率放大電路[5]</p><p> 直流電動(dòng)機(jī)驅(qū)動(dòng)電路主要用來(lái)控制直流電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向和轉(zhuǎn)動(dòng)速度。改變直流電動(dòng)機(jī)兩端的電壓可以控制電動(dòng)機(jī)的轉(zhuǎn)動(dòng)方向??刂浦绷麟妱?dòng)機(jī)的轉(zhuǎn)速,有不同的方案。我采用的是小功率三極管8050和8550組成的H橋PWM電路。原理圖如下:</p><p> 圖16:直流電動(dòng)機(jī)PWM驅(qū)動(dòng)電路圖</p><p> 電路采用功率三極管8050和
65、8550,以滿足電動(dòng)機(jī)啟動(dòng)瞬時(shí)的大電流要求。</p><p> 當(dāng)A輸入為低電平,B輸入為高電平時(shí),晶體管功率放大器VT2、VT3導(dǎo)通,VT1、VT4截止。VT2、VT3與直流電動(dòng)機(jī)一起形成一個(gè)回路,驅(qū)動(dòng)電動(dòng)機(jī)正轉(zhuǎn)。</p><p> 當(dāng)A輸入為高電平,B輸入為低電平時(shí),晶體管功率放大器VT2、VT3截止,VT1、VT4導(dǎo)通,VT1、VT4與直流電機(jī)形成回路,驅(qū)動(dòng)電動(dòng)機(jī)反轉(zhuǎn)。4個(gè)二極管
66、起到保護(hù)晶體管的作用。</p><p> 功率晶體管采用TP521光藕器驅(qū)動(dòng),將控制部分與電動(dòng)機(jī)驅(qū)動(dòng)部分隔離。光藕器的電源為+5V,H橋驅(qū)動(dòng)電路中晶體管功率放大器VT3、VT4的發(fā)射極所加的電源為5V。</p><p> 3.5 系統(tǒng)硬件設(shè)計(jì)總結(jié)</p><p> 到此,本系統(tǒng)硬件電路部分已經(jīng)全部完成。在接下來(lái)的第四章將講述系統(tǒng)軟件的設(shè)計(jì),只有軟件設(shè)計(jì)也完成后
67、,將程序的.HEX文件燒錄到單片機(jī)上才能驗(yàn)證本系統(tǒng)的設(shè)計(jì)是否滿足要求。</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 系統(tǒng)軟件包括一個(gè)主程序,2個(gè)中斷子程序。下面分別給出它們的流程圖,具體程序見附錄2。</p><p> 圖17:主程序流程圖</p><p> 5 軟硬件調(diào)試結(jié)果<
68、;/p><p><b> 圖18:系統(tǒng)調(diào)試圖</b></p><p> 硬件已基本上通過(guò)調(diào)試,程序運(yùn)行基本穩(wěn)定,基本功能基本實(shí)現(xiàn),具體如下:</p><p> (1)單片機(jī)控制電路正常工作;</p><p> (2)LCD1602顯示電路正常工作;</p><p> (3)直流電動(dòng)機(jī)驅(qū)動(dòng)電路
69、正常工作;</p><p> ?。?)紅外遙控接收電路正常工作;</p><p> (5)程序燒寫模塊電路正常工作。</p><p><b> 結(jié)束語(yǔ)</b></p><p> 通過(guò)本次單片機(jī)直流電機(jī)系統(tǒng)的設(shè)計(jì),我大有收獲,在制作過(guò)程中,一定要注意的每個(gè)工作步驟的檢查,確保制作成功。比如在合理布線,檢查裝配無(wú)誤的情
70、況下,如果還出現(xiàn)電路無(wú)輸出的情況,那么可以肯定是原理圖錯(cuò)誤,這時(shí)就要回到原理圖進(jìn)行檢查??傮w的檢查順序應(yīng)該是原理圖、PCB圖、裝配情況、焊接工藝。從整體來(lái)說(shuō)這是一個(gè)復(fù)雜的過(guò)程,要細(xì)心謹(jǐn)慎,沉著冷靜,反復(fù)檢查,直到找到原因?yàn)橹埂?lt;/p><p> 這次畢業(yè)設(shè)計(jì)歷時(shí)至少3個(gè)月,從一開始的確定課題,到后來(lái)的資料查找、理論學(xué)習(xí),再有就是近來(lái)的調(diào)試和測(cè)試過(guò)程,這一切都使我的理論知識(shí)和動(dòng)手能力進(jìn)一步得到鞏固和提高。調(diào)速電路
71、課題中包含了H橋電路和單片機(jī)部分知識(shí),H橋電路可以說(shuō)是對(duì)模擬電路知識(shí)的一次全面綜合。在畫原理圖、PCB布線、安裝和調(diào)試過(guò)程中不可避免地遇到各種問(wèn)題,這要求保持沉著冷靜,聯(lián)系書本理論知識(shí)積極地思考,實(shí)在解決不了可以請(qǐng)教同學(xué)或指導(dǎo)老師。雖然在制作過(guò)程中不可避免地遇到很多問(wèn)題,但是最后還是在老師以及同學(xué)的幫助下圓滿解決了這些問(wèn)題,實(shí)現(xiàn)了整個(gè)系統(tǒng)設(shè)計(jì)與最后調(diào)試,相關(guān)指標(biāo)達(dá)到期望的要求,很好地完成了本次設(shè)計(jì)任務(wù)。</p><p
72、> 經(jīng)過(guò)四年學(xué)習(xí)的積累,在已經(jīng)掌握相關(guān)專業(yè)方面知識(shí)及其它各方面知識(shí)的情況下,我認(rèn)真嚴(yán)肅的完成了我的畢業(yè)設(shè)計(jì)。</p><p> 從得到題目到查找資料,從對(duì)題目的研究設(shè)定到PCB電路板的制作,從電路板的調(diào)試到失敗后再一次全部重新開始……在這一個(gè)充滿挑戰(zhàn)伴隨挫折,充滿熱情伴隨打擊的過(guò)程中,我感觸頗深,它已不僅是一個(gè)對(duì)我四年學(xué)習(xí)知識(shí)情況和我的應(yīng)用動(dòng)手能力的檢驗(yàn),而且還是對(duì)我的鉆研精神,面對(duì)困難的心態(tài),做事的毅
73、力和耐心的考驗(yàn)。我在這個(gè)過(guò)程中深刻的感受到了做畢業(yè)設(shè)計(jì)的意義所在,和我一樣真正投入了身心去做的人也一定會(huì)有同樣的感觸。</p><p> 本課題的重點(diǎn)、難點(diǎn)是: </p><p> 1.使用LCD1602顯示能夠讓人直觀可見。</p><p> 2.沒(méi)有采用外電路產(chǎn)生PWM加大了軟件設(shè)計(jì)的任務(wù);</p><p> .準(zhǔn)確采用定時(shí)器的定
74、時(shí)功能對(duì)PWM進(jìn)行調(diào)速。</p><p> 通過(guò)做本課題,我了解并掌握了模擬電路的基本理論知識(shí),更深入的掌握單片機(jī)的開發(fā)應(yīng)用和PC編程控制。為以后從事單片機(jī)軟硬件產(chǎn)品的設(shè)計(jì)開發(fā)、PC軟件開發(fā)打下了良好的基礎(chǔ),樹立獨(dú)立從事產(chǎn)品研發(fā)的信心,并在這種能力上得到了比較充分的鍛煉。</p><p><b> 致謝</b></p><p> 在本次畢
75、業(yè)設(shè)計(jì)中,我得到了指導(dǎo)老師xx的熱心指導(dǎo)。自始至終關(guān)心督促畢業(yè)設(shè)計(jì)進(jìn)程和進(jìn)度。幫助解決畢業(yè)設(shè)計(jì)中遇到的許多問(wèn)題。還不斷向我們傳授分析問(wèn)題和解決問(wèn)題的辦法,并指出了正確的設(shè)計(jì)方向,使我在畢設(shè)過(guò)程中少走很多彎路。同時(shí),他還提供給我們專門的各種設(shè)備及場(chǎng)所,在調(diào)試過(guò)程中能夠有充足的時(shí)間。在這里非常感謝李老師的指導(dǎo)和幫助,并致以誠(chéng)摯的謝意!</p><p> 同時(shí),身邊的同學(xué)給了我許多的幫助。在此,我向身邊關(guān)心我的同學(xué)致
76、以誠(chéng)摯的謝意!另外,系里的領(lǐng)導(dǎo)和老師也給了我們必要的指導(dǎo),我也向系和年級(jí)的領(lǐng)導(dǎo)們表示衷心的感謝!最后感謝學(xué)院對(duì)我這幾年的培養(yǎng)。</p><p><b> 參考文獻(xiàn)</b></p><p> 1 付家才.單片機(jī)控制工程實(shí)踐技術(shù).北京:化學(xué)工業(yè)出版社.2004.5</p><p> 2 赫建國(guó).單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用.北京:清華大學(xué)出版
77、社.2006.5</p><p> 3 胡漢才.單片機(jī)原理及其接口技術(shù)(第2版).北京:清華大學(xué)出版社.2005.9</p><p> 4 王新賢.通用集成電路速查手冊(cè).山東:山東科學(xué)技術(shù)出版社.2005.2</p><p> 5 黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽技能訓(xùn)練.北京.北京航空航天大學(xué)出版社.2007</p><p> 6 沈
78、任元.常用電子元器件簡(jiǎn)明手冊(cè).北京:機(jī)械工業(yè)出版社.2005.1</p><p> 7 求是科技.8051系列單片機(jī)C程序設(shè)計(jì)完全手冊(cè).北京:人民郵電出版社.2006.10</p><p> 8 清源計(jì)算機(jī)工作室.Protel99se原理圖與PCB及仿真.北京:機(jī)械工業(yè)出版社.2005.3 </p><p> 9 童詩(shī)白.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社
79、.1998.5</p><p> 10 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版).北京:高等教育出版社.1997.12</p><p> 11 楊素行.模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程.北京:高等教育出版社.1997.5</p><p> 12 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué).1990.4</p><p>
80、 13 李曉荃.單片機(jī)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社.2000.3</p><p> 14 劉和平.單片機(jī)原理及應(yīng)用[M].重慶:重慶大學(xué)出版社.2002.7</p><p> 15 徐愛鈞.單片機(jī)高級(jí)語(yǔ)言 C51 應(yīng)用程序設(shè)計(jì)[M]. 北京:電子工業(yè)出版社.2002.4</p><p> 16 謝自美.電子線路設(shè)計(jì).實(shí)驗(yàn).測(cè)試(第二版) [M].武
81、漢:華中科技大學(xué)出版社.2000.5</p><p> 17 張勇.PROTEL99SE電路設(shè)計(jì)技術(shù)入門與應(yīng)用(第一版).北京:電子工業(yè)出版社.2002</p><p> 18 王曉明.電動(dòng)機(jī)的單片機(jī)控制.北京:北京航空航天大學(xué)出版社.2003.2</p><p> 19 郁文工作室.嵌入式C語(yǔ)言程序設(shè)計(jì).北京.人民郵電出版社.2006.7</p>
82、<p> 20 Richard c.Dorf.modern conctrol systerm[M].BEIJING:Science Publishing House.2002.5</p><p> 21 Donald A. Neamen. Electronic circuit analysis and design[M].Tsinghua</p><p> Univer
83、sity Press and Springer Verlag.2002.5</p><p> 附錄Ⅰ:系統(tǒng)硬件總原理圖及PCB圖</p><p> 圖19: 電機(jī)轉(zhuǎn)速控制模塊PCB圖</p><p> 圖20:電機(jī)轉(zhuǎn)速控制模塊原理圖</p><p> 圖21:電機(jī)驅(qū)動(dòng)模塊PCB圖</p><p> 圖22:電
84、機(jī)驅(qū)動(dòng)模塊原理圖</p><p> 圖23:程序下載模塊PCB圖</p><p> 圖24:程序下載模塊原理圖</p><p><b> 附錄Ⅱ:系統(tǒng)源程序</b></p><p> #include <reg51.h></p><p> #include <intri
85、ns.h></p><p> #include ".\inc\CONSTANT.H"</p><p> #include ".\INC\Var.H"</p><p> #include ".\inc\LCD1602-4or8line.h"</p><p> #inclu
86、de ".\inc\IR.h"</p><p> #include ".\inc\delaytime.h"</p><p> /*--修改 按鍵 ---- */</p><p> #define UP 0X12</p><p> #define DOWN 0X13</p&g
87、t;<p> void init_hardware(void);</p><p> void init_var(void);</p><p> void main(void)</p><p><b> {</b></p><p> init_hardware();</p><p
88、> init_var(); </p><p> while(TRUE) </p><p><b> {</b></p><p><b> }</b></p><p><b> }</b></p><p> /***********
89、****** 函數(shù) *********************/</p><p> /********************************************/</p><p> /*名稱: init_hardware*/</p><p> /*用途: 硬件初始化函數(shù) */</p><p&g
90、t; /*說(shuō)明: 初始化所有相關(guān)的硬件狀態(tài)*/</p><p> /********************************************/</p><p> void init_hardware(void)</p><p><b> {</b></p><p> /* LCD初始化
91、*/</p><p> LCD_init();</p><p> /* 定時(shí)器0 初始化 */ </p><p> TMOD = 0x11;</p><p> TH0 = TIME10msH_C;</p><p> TL0 = TIME10msL_C;</p><p> TR0 =
92、 TRUE;</p><p> IE = EnT0_C|EnINT0_C;// 允許 Timer0、INT0 中斷</p><p> /*紅外接收 外部中斷0 */</p><p> IR_init();</p><p><b> }</b></p><p> /********
93、************************************/</p><p> /*名稱:init_var*/</p><p> /*用途: 變量初始化 */</p><p> /*說(shuō)明:初始化全局變量*/</p><p> /*********************
94、***********************/</p><p> void init_var(void)</p><p><b> {</b></p><p> PWM_OUT = 0;</p><p> LCD_write_string(LINE1,0," PWM Set & Out&quo
95、t;);</p><p> LCD_write_string(LINE2,0," Step : 0 Stop!");</p><p><b> }</b></p><p> // ------------- 中斷處理程序 ---------------------</p><p> /****
96、****************************************/</p><p> /* 定時(shí)器 0 中斷服務(wù) */ </p><p> /* 說(shuō)明: 10ms 中斷一次, */</p><p> /*******************************************
97、*/</p><p> void Timer0_Int(void) interrupt 1 using 1</p><p><b> {</b></p><p> TH0 = TIME10msH_C;</p><p> TL0 = TIME10msL_C;</p><p> if (g
98、_ucStep == 0)</p><p> PWM_OUT = 0;</p><p><b> else</b></p><p> if (g_ucStep == 7)</p><p> PWM_OUT = 1;</p><p><b> else</b><
99、/p><p> if (g_ucTimeCnt <= (g_ucStep+2)) </p><p><b> {</b></p><p> PWM_OUT = 1;</p><p><b> }</b></p><p><b> else </b&
100、gt;</p><p> PWM_OUT = 0;</p><p> g_ucTimeCnt ++;</p><p> if (g_ucTimeCnt == 11)</p><p><b> {</b></p><p> g_ucTimeCnt = 1;</p><
101、p><b> }</b></p><p><b> //紅外按鍵延時(shí)</b></p><p> if (EX0 == 0)</p><p><b> {</b></p><p> if (g_ucIRkeyDelay++ == 6)</p>&l
102、t;p><b> {</b></p><p><b> EX0 = 1;</b></p><p> g_ucIRkeyDelay = 0;</p><p><b> }</b></p><p><b> }</b></p>
103、<p><b> }</b></p><p> /********************************************/</p><p> /* 外部中斷 0 中斷服務(wù) */ </p><p> /* 說(shuō)明: 紅外解碼 */&l
104、t;/p><p> /********************************************/</p><p> void ir(void) interrupt 0 </p><p><b> {</b></p><p><b> EX0 = 0;</b></p>
105、<p> IR_CODE();</p><p> /* ----------- 紅外按鍵處理 ----------- */</p><p> switch(IRCOM[2])</p><p><b> {</b></p><p> case UP: {// +</p>
106、<p> IRCOM[2] = 0xff;</p><p> if (g_ucStep != 7)</p><p> LCD_write_char(1,8,ascii[++g_ucStep]);</p><p><b> } break;</b></p><p> case DOWN: {
107、// -</p><p> IRCOM[2] = 0xff;</p><p> if (g_ucStep != 0)</p><p> LCD_write_char(1,8,ascii[--g_ucStep]);</p><p> } break;</p><p> default:break
108、;</p><p><b> }</b></p><p> if (g_ucStep == 7)</p><p> LCD_write_string(LINE2,10,"Full!"); </p><p><b> else</b></p>&
109、lt;p> if (g_ucStep == 0)</p><p> LCD_write_string(LINE2,10,"Stop!");</p><p><b> else</b></p><p> LCD_write_string(LINE2,10,"Run ");</p>
110、<p><b> }</b></p><p> #include <reg51.h></p><p> #include <intrins.h></p><p> #include "..\inc\LCD1602-4or8line.h"</p><p>
111、 #include "..\inc\delaytime.h"</p><p> void LCD_Read_BF(void)</p><p><b> {</b></p><p> unsigned char read=0; </p><p> LCD1602_RW = HIGH;//RW
112、 1</p><p> LCD1602_RS = LOW;//RS 0</p><p> LCD1602_EN = HIGH;//EN 1Read BF</p><p> #if _LINEMODE_ == 8//八線端口定義</p><p> LCDIO = 0xFF;</p><p> wh
113、ile(LCDIO&MSB);</p><p><b> #endif</b></p><p> #if _LINEMODE_ == 4//四線端口定義</p><p> LCD_DB7 = 1;</p><p> while(LCD_DB7);</p><p><b&g
114、t; #endif</b></p><p> LCD1602_EN = LOW;</p><p><b> }</b></p><p> void LCD_en_write(void) //EN端產(chǎn)生一個(gè)高電平脈沖,寫LCD</p><p><b> {</b>&
115、lt;/p><p> LCD1602_EN = HIGH;</p><p> _nop_();_nop_();_nop_();</p><p> LCD1602_EN = LOW;</p><p><b> }</b></p><p> void LCD_en_com(unsigned
116、char command)</p><p><b> {</b></p><p> LCD_Read_BF(); </p><p> LCD1602_RS = LOW; //RS 0 </p><p> LCD1602_RW = LOW;//RW 0 </p><p> #if
117、 _LINEMODE_ == 4 //四線</p><p> command<<=1;</p><p> LCD_DB7=CY;</p><p> command<<=1;</p><p> LCD_DB6=CY;</p><p> command<<=1;<
118、/p><p> LCD_DB5=CY;</p><p> command<<=1;</p><p> LCD_DB4=CY;</p><p> LCD_en_write();</p><p> command<<=1;</p><p> LCD_DB7=CY;&l
119、t;/p><p> command<<=1;</p><p> LCD_DB6=CY;</p><p> command<<=1;</p><p> LCD_DB5=CY;</p><p> command<<=1;</p><p> LCD_DB4=
120、CY;</p><p><b> #endif</b></p><p> #if _LINEMODE_ == 8 //八線</p><p> LCDIO = command;</p><p><b> #endif</b></p><p> LCD_en_w
121、rite();</p><p><b> }</b></p><p> void LCD_en_dat(unsigned char dat)</p><p><b> {</b></p><p> LCD_Read_BF();</p><p> LCD1602_RS
122、 = HIGH;//RS 1 </p><p> LCD1602_RW = LOW;//RW 0 </p><p> #if _LINEMODE_ == 4 //四線</p><p><b> dat<<=1;</b></p><p> LCD_DB7=CY;</p>&l
123、t;p><b> dat<<=1;</b></p><p> LCD_DB6=CY;</p><p><b> dat<<=1;</b></p><p> LCD_DB5=CY;</p><p><b> dat<<=1;</b&g
124、t;</p><p> LCD_DB4=CY;</p><p> LCD_en_write();</p><p><b> dat<<=1;</b></p><p> LCD_DB7=CY;</p><p><b> dat<<=1;</b>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)
- 單片機(jī)直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)
- 單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)
- 基于單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)
- 基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)
- 基于單片機(jī)實(shí)現(xiàn)直流電機(jī)pwm調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)_說(shuō)明
- 基于單片機(jī)實(shí)現(xiàn)直流電機(jī)pwm調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)_說(shuō)明
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)實(shí)現(xiàn)直流電機(jī)pwm調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)控制直流電機(jī)調(diào)速系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的直流電機(jī)調(diào)速畢業(yè)設(shè)計(jì)論文
- 單片機(jī)pwm直流電機(jī)調(diào)速
評(píng)論
0/150
提交評(píng)論