2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  電機(jī)的遙控控制</b></p><p><b>  總體設(shè)計(jì)說明書</b></p><p><b>  1、引言</b></p><p>  20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程

2、度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時(shí)間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。</p><p>  目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)

3、方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢。</p><p>  單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。</p><p>  本次采用單片機(jī)控制電機(jī),因?yàn)閱纹瑱C(jī)沒有專門的PWM波輸出模塊,所以對精度要求較

4、高的場合是不適用的,在這種場合常用AVR、DSP等一些控制器可以做到高精度的控制;用單片機(jī)可以做到基本功能的實(shí)現(xiàn),比如電機(jī)的正反轉(zhuǎn)控制,停止啟動(dòng)控制,加減速控制。由于單片機(jī)的計(jì)算能力有限,所以無法做到閉環(huán)控制,只能是開環(huán)控制,這樣在兩者的速度之間是有一定的差距,但對一些要求不高的控制,單片機(jī)是完全可以實(shí)現(xiàn)功能并滿足條件的。</p><p>  此次設(shè)計(jì)采用紅外遙控的方式來控制電機(jī),因?yàn)榧t外受外界干擾較小,在一些惡

5、劣條件下可保證在非人自己操作的情況下完成一些動(dòng)作的控制及功能的實(shí)現(xiàn)。但它也有不足之處,就是在遙控控制下,如果出現(xiàn)按鍵失誤,將會(huì)帶來不好的結(jié)果。</p><p><b>  1.1背景</b></p><p>  本次設(shè)計(jì)以89C51單片機(jī)為平臺(tái),利用C語言編程,并充分利用單片機(jī)的優(yōu)勢中斷技術(shù),設(shè)計(jì)并模擬了單片機(jī)輸出PWM波去控制電機(jī)的設(shè)計(jì)方法。</p>

6、<p>  設(shè)計(jì)名稱:電機(jī)的遙控控制</p><p><b>  提出者:</b></p><p><b>  設(shè)計(jì)者:</b></p><p><b>  1.2參考資料</b></p><p>  【1】《單片機(jī)原理及接口技術(shù)》(第3版)李朝青 編著 北京航空航

7、天大學(xué)出版社 2008年5月</p><p>  【2】《C語言編程》(第三版) (美)Stephen G.Kochan著 張小潘譯 電子工業(yè)出版社 2006年3月</p><p>  【3】《51單片機(jī)C語言教程》 郭天祥 編著 電子工業(yè)出版社 </p><p><b>  2009年12月</b></p><p

8、><b>  2、總體設(shè)計(jì)</b></p><p>  2.1開發(fā)與運(yùn)行環(huán)境</p><p>  本系統(tǒng)是以單片機(jī)為平臺(tái),利用Keil uVision3開發(fā)環(huán)境,采用C語言編程,基于HOT51增強(qiáng)型單片機(jī)開發(fā)板來實(shí)現(xiàn)的。在單片機(jī)開發(fā)板上順利實(shí)現(xiàn)之后,后期還將針對本次設(shè)計(jì)的電機(jī)控制小系統(tǒng)做PCB板,PCB板的制作是利用Protel開發(fā)環(huán)境,畫出PCB板,通過刻板機(jī)

9、實(shí)現(xiàn)電路板的制作。</p><p><b>  2.2硬件功能描述</b></p><p>  2.2.1 HOT51增強(qiáng)型單片機(jī)開發(fā)板</p><p>  51單片機(jī)開發(fā)板HOT-51增強(qiáng)型開發(fā)板的標(biāo)配器件為STC89C54RC+,但它完全可以使用于別的51系列芯片。開發(fā)板上資源豐富,并且可以轉(zhuǎn)接ARM。板上芯片有:AD-DA芯片:PCF85

10、91T ,溫度傳感器:1-WIRE協(xié)議控制芯片DS18B20,紅外接頭:PC 838(配合遙控器做解碼試驗(yàn)),時(shí)鐘芯片:SPI協(xié)議控制芯片DS1302,儲(chǔ)存芯片:I2C協(xié)議控制芯片AT24C02,通訊芯片:MAX232,USB轉(zhuǎn)串口芯片:PL2303HX,達(dá)林頓管:ULN2003(驅(qū)動(dòng)步進(jìn)電機(jī),直流電機(jī),繼電器,蜂鳴器),三態(tài)緩沖門電路:74HC245,三八譯碼器:74HC138,鎖存器:74HC573,穩(wěn)壓芯片:7805、LM1117

11、-3.3;顯示類:彩屏液晶,八位LED燈,八位共陰數(shù)碼管,8*8點(diǎn)陣,1602液晶,12864液晶(帶漢字字庫);其他:精致獨(dú)立按鍵, 4*4矩陣鍵盤,雙復(fù)位電路,繼電器,蜂鳴器,時(shí)鐘電池,標(biāo)準(zhǔn)JTAG接口等。</p><p>  2.2.2 AT89C51單片機(jī)</p><p>  單片機(jī)誕生于20世紀(jì)70年代末,經(jīng)歷了SCM、MCU、SoC三大階段。單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,向

12、MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。 單片機(jī)作為微型計(jì)算機(jī)的一個(gè)重要分支,應(yīng)用面很廣,發(fā)展很快。自單片機(jī)誕生至今,已發(fā)展為上百種系列的近千個(gè)機(jī)種。</p><p>  

13、單片機(jī)是通過內(nèi)部總線把計(jì)算機(jī)的各主要部件接為一體,其內(nèi)部總線包括地址總線、數(shù)據(jù)總線和控制總線。其中,地址總線的作用是在進(jìn)行數(shù)據(jù)交換時(shí)提供地址,CPU通過它們將地址輸出到存儲(chǔ)器或I/O接口;/數(shù)據(jù)總線的作用是在CPU與存儲(chǔ)器或I/O接口之間,或存儲(chǔ)器與外設(shè)之間交換數(shù)據(jù);控制總線包括CPU發(fā)出的控制信號線和外部送入CPU的應(yīng)答信號線等。</p><p>  由于單片機(jī)的這種結(jié)構(gòu)形式及它所采取的半導(dǎo)體工藝,使其具有很多

14、顯著的特點(diǎn),因而在各個(gè)領(lǐng)域都得到了迅猛的發(fā)展。單片機(jī)主要發(fā)如下特點(diǎn):  (1)有優(yōu)異的性能價(jià)格比。  (2)集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。  (3)控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐

15、富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。  (4)低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。  (5)外部總線增加了I C(Inter-Integrated Circuit)及SPI(Serial Peripheral Interface)等串行總線方式,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。  (6)單片機(jī)的系統(tǒng)擴(kuò)

16、展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。</p><p>  由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的有力工具,是我們生活中的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)在以下幾個(gè)方面:</p><p>  (1) 單片機(jī)在智能儀表中的應(yīng)用 單片機(jī)廣泛地用于各種儀器儀表,使儀器儀表智能化,并可以提高測量的自動(dòng)化程度和精度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性

17、能價(jià)格比。  (2)單片機(jī)在機(jī)電一體化中的應(yīng)用 機(jī)電一體化是械工業(yè)發(fā)展的方向。機(jī)電一體化產(chǎn)品是指集成機(jī)械技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品,例如微機(jī)控制的車床、鉆床等。單片機(jī)作為產(chǎn)品中的控制器,能充分發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點(diǎn),可大大提高機(jī)器的自動(dòng)化、智能化程度。  (3) 單片機(jī)在實(shí)時(shí)控制中的應(yīng)用 單片機(jī)廣泛地用于各種實(shí)時(shí)控制系統(tǒng)中。例

18、如,在工業(yè)測控、航空航天、尖端武器、機(jī)器人等各種實(shí)時(shí)控制系統(tǒng)中,都可以用單片機(jī)作為控制器。單片機(jī)的實(shí)時(shí)數(shù)據(jù)處理能力和控制功能,可使系統(tǒng)保持在最佳工作狀態(tài),提高系統(tǒng)的工作效率和產(chǎn)品質(zhì)量。  (4) 單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用 在比較復(fù)雜的系統(tǒng)中,常采用分布式多機(jī)系統(tǒng)。多機(jī)系統(tǒng)一般由若干臺(tái)功能各異的單片機(jī)組成,各自完成特定的任務(wù),它們通過串行通信相互聯(lián)系、協(xié)調(diào)工作。單片機(jī)在這種系統(tǒng)中往往作為一個(gè)終端機(jī)

19、,安裝在系統(tǒng)的某些節(jié)點(diǎn)上,對現(xiàn)場信息進(jìn)行實(shí)時(shí)的測量</p><p>  單片機(jī)引腳圖和結(jié)果框圖如下圖1和圖2所示:</p><p>  圖1 AT89C51引腳圖</p><p><b>  圖2 內(nèi)部結(jié)構(gòu)圖</b></p><p><b>  3、硬件模塊設(shè)計(jì)</b></p>&l

20、t;p><b>  3.1系統(tǒng)硬件框圖</b></p><p>  其核心部件是89C51單片機(jī),由89C51單片機(jī)內(nèi)部定時(shí)器及外部中斷確定接收到的數(shù)據(jù)并判斷鍵碼值,最后通過掃描驅(qū)動(dòng)8位數(shù)碼管來顯示紅外鍵碼值,并送出相應(yīng)的速度值和方向信號。</p><p><b>  3.2數(shù)據(jù)流圖</b></p><p><

21、b>  4、硬件電路設(shè)計(jì)</b></p><p>  4.1晶體振蕩器電路</p><p>  晶體振蕩器電路給控制板提供一個(gè)頻率穩(wěn)定準(zhǔn)確的12MHz的方波信號,可保證PWM的穩(wěn)定輸出。給單片機(jī)提供時(shí)鐘的電路圖有如下兩種:</p><p>  由于我本次設(shè)計(jì)主要是針對電機(jī)的遙控控制的設(shè)計(jì),并且外部時(shí)鐘源不好加到電路中,精度又不是特別高,所以我選用內(nèi)

22、部時(shí)鐘方式。</p><p><b>  4.2復(fù)位電路設(shè)計(jì)</b></p><p>  復(fù)位電路分兩種方式,分別是上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。</p><p>  上電自動(dòng)復(fù)位電路是在加電瞬間電容通過充電來實(shí)現(xiàn)的,其電路圖如下所示。在通電瞬間,電容C通過電阻R充電,RST端出現(xiàn)正脈沖,用以復(fù)位。只要電源VCC的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)

23、自動(dòng)上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。</p><p>  手動(dòng)復(fù)位是指通過一按鈕開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。系統(tǒng)上電運(yùn)行后,若需要復(fù)位,一般是通過手動(dòng)復(fù)位來實(shí)現(xiàn)的。通常采用手動(dòng)復(fù)位和上電自動(dòng)復(fù)位組合,其電路如下圖所示。</p><p>  a.上電復(fù)位 b.按鍵電平復(fù)位</p><p>  由于設(shè)計(jì)的電機(jī)

24、控制板無需上電復(fù)位,所以采用按鍵電平復(fù)位,如上b圖所示。</p><p>  4.3位選及數(shù)碼管驅(qū)動(dòng)電路</p><p>  為了讓數(shù)碼管的顯示更清晰,我選用74HC573鎖存器來驅(qū)動(dòng)數(shù)碼管。由于8位數(shù)碼管的顯示是經(jīng)過一位一位顯示的,當(dāng)它的掃描頻率在50Hz~100Hz之間時(shí),我們就不會(huì)看出它的位顯示,并且顯示的亮度正好合適,數(shù)碼管的位選我通過3-8譯碼器74HC138,具體連接關(guān)系如下圖

25、所示:</p><p>  4.4單片機(jī)最小系統(tǒng)</p><p>  單片機(jī)的最小系統(tǒng)由4部分構(gòu)成,分別是:單片機(jī)、振蕩電路、復(fù)位電路、RAM和ROM。具體組成如下所示:</p><p><b>  單片機(jī)最小系統(tǒng)圖</b></p><p><b>  4.6電源電路</b></p>

26、<p>  單片機(jī)正常工作是+5V電壓,本次設(shè)計(jì)不做電源部分,采用USB供電,由于USB供電較為穩(wěn)定,所以不需要穩(wěn)壓部分,直接給單片機(jī)供電,這樣就減少了7805穩(wěn)壓???。具體電路如下所示:</p><p>  5、L298驅(qū)動(dòng)模塊</p><p>  L298有兩路電源分別為邏輯電源和動(dòng)力電源,一般5V為邏輯電源,12V為動(dòng)力電源。ENA與ENB直接接入5V邏輯電源也就是說兩個(gè)電

27、機(jī)時(shí)刻都工作在使能狀態(tài)。</p><p>  由于我們使用的電機(jī)是線圈式的,在從運(yùn)行狀態(tài)突然轉(zhuǎn)換到停止?fàn)顟B(tài)和從順時(shí)針狀態(tài)突然轉(zhuǎn)換到逆時(shí)針狀態(tài)時(shí)會(huì)形成很大的反向電流,在電路中加入二極管的作用就是在產(chǎn)生反向電流的時(shí)候進(jìn)行泄流,保護(hù)芯片的安全。</p><p>  在對直流電動(dòng)機(jī)電壓的控制和驅(qū)動(dòng)中,半導(dǎo)體功率器件(L298)在使用上可以分為兩種方式:線性放大驅(qū)動(dòng)方式和開關(guān)驅(qū)動(dòng)方式在線性放大驅(qū)動(dòng)方

28、式,半導(dǎo)體功率器件工作在線性區(qū).</p><p>  優(yōu)點(diǎn):控制原理簡單,輸出波動(dòng)小,線性好,對鄰近電路干擾小。</p><p>  缺點(diǎn):功率器件工作在線性區(qū),功率低和散熱問題嚴(yán)重。</p><p>  開關(guān)驅(qū)動(dòng)方式是使半導(dǎo)體功率器件工作在開關(guān)狀態(tài),通過脈調(diào)制(PWM)來控制電動(dòng)機(jī)的電壓,從而實(shí)現(xiàn)電動(dòng)機(jī)轉(zhuǎn)速的控制。當(dāng)開關(guān)管的驅(qū)動(dòng)信號為高電平時(shí),開關(guān)管導(dǎo)通,直流電動(dòng)

29、機(jī)電樞繞組兩端有電壓U。t1秒后,驅(qū)動(dòng)信號變?yōu)榈碗娖?,開關(guān)管截止,電動(dòng)機(jī)電樞兩端電壓為0。t2秒后,驅(qū)動(dòng)信號重新變?yōu)楦唠娖?,開關(guān)管的動(dòng)作重復(fù)前面的過程。</p><p><b>  圖一 驅(qū)動(dòng)真值表</b></p><p>  圖二 L298原理圖</p><p>  圖三 驅(qū)動(dòng)整體框圖</p><p><b

30、>  6、遙控的實(shí)現(xiàn)</b></p><p>  圖1 遙控器輸出編碼圖</p><p>  圖2 遙控器輸出信號格式圖</p><p>  圖3 遙控器輸出信號0與1的時(shí)間圖</p><p><b>  7、軟件模塊的設(shè)計(jì)</b></p><p>  本次設(shè)計(jì)單片機(jī)電機(jī)控制

31、,供可選擇的語言有匯編語言和C語言兩種選擇,從總體角度考慮,兩種語言各有其優(yōu)缺點(diǎn)。匯編語言在編寫過程中可以較容易的計(jì)算出機(jī)器周期,這樣可以計(jì)算出相應(yīng)的延時(shí)與誤差,并且在編譯過程中精度較高,執(zhí)行效率也較高,是各種語言中執(zhí)行效率最高的一種。相反,匯編語言又是一種較為低級的語言,編寫起來難度較大,程序量也較大,不易編寫大規(guī)模的系統(tǒng)。C語言它的靈活性較強(qiáng),語法功能也比較強(qiáng)大,對于同一個(gè)設(shè)計(jì),與匯編語言相比,工作量較小,完全可以實(shí)現(xiàn)匯編無法實(shí)現(xiàn)的

32、一些功能。雖然C語言具有強(qiáng)大的功能,但也有不足之處,比如在循環(huán)延時(shí)時(shí)不易計(jì)算出相應(yīng)的機(jī)器周期,還有,采用不同的編譯器,可能以不同的方式編譯出不同的機(jī)器碼。</p><p>  由于本次設(shè)計(jì)的單片機(jī)電機(jī)控制編程量較大,又考慮到后面的工作過程中將大量使用C語言編程,所以本次編寫過程采用C語言,基于Kiel C3軟件來完成軟件模塊的設(shè)計(jì)工作。</p><p><b>  8、設(shè)計(jì)總結(jié)與

33、心得</b></p><p>  單片機(jī)控制電機(jī)可以說是一個(gè)較小的系統(tǒng),開始時(shí)我們覺得通過C語言較容易實(shí)現(xiàn),確實(shí),只實(shí)現(xiàn)一個(gè)能夠正常運(yùn)行的電機(jī)控制是比較容易的。但我們想錯(cuò)了,畢竟是第一次從總體角度來考慮地完成一個(gè)小系統(tǒng),好多的實(shí)際性的問題我們沒有考慮,所以造成我們最終設(shè)計(jì)的控制模塊只能簡單著實(shí)現(xiàn)正反轉(zhuǎn)、速度控制和剎車,并且存在好多問題,當(dāng)然問題多了對我們來說是好事,這樣我們在解決更多問題時(shí)學(xué)會(huì)更多解決

34、問題的方法,對我們也算是長長經(jīng)驗(yàn)吧。</p><p>  這次數(shù)字鐘的設(shè)計(jì)主要是用單片機(jī)來完成的,雖然我們也花了很多時(shí)間來完成它的總體設(shè)計(jì),但就像老師說的那樣,這只是個(gè)開始。從這次設(shè)計(jì)中我也覺得自己還對單片機(jī)的功能了解只是個(gè)皮毛,單片機(jī)強(qiáng)大的功能還等著我們?nèi)ラ_發(fā)。</p><p>  在這些天大家總結(jié)報(bào)告時(shí)我發(fā)現(xiàn),我們大家的意識(shí)還太低,就像寫個(gè)報(bào)告,大家總在意的是看誰寫了多少頁了,看誰的程

35、序多,所占用的頁數(shù)多,一切似乎和頁數(shù)聯(lián)系上了。我覺得我們更應(yīng)該去關(guān)注一下大家所寫的程序,看誰的程序在完成同樣功能的同時(shí),他采用方法新穎,程序占用的內(nèi)存少,并且精度高??磥砦覀兇蠹铱偙灰环N錯(cuò)誤的觀念領(lǐng)導(dǎo)著,面對內(nèi)存有限的單片機(jī)而言,編寫一個(gè)控制模塊,我們無論采用的哪種方法都不可能用完單片機(jī)內(nèi)部的程序存儲(chǔ)器,我覺得我們現(xiàn)在所做的事都是為我們后面做鋪墊的,所以我們現(xiàn)在就應(yīng)該去關(guān)心程序所占用的內(nèi)存和采用的優(yōu)于別人的算法。所以我們在程序中減少冗余

36、量,在此我舉幾個(gè)例子,比如在程序中我們完全可以采用單片機(jī)沒有用的標(biāo)志位F0,這樣我們可以減少變量的定義。利用C語言寫時(shí),難免會(huì)定義一些靜態(tài)變量,這些靜態(tài)變量相當(dāng)于一些寄存器,我們可以重復(fù)利用這些靜態(tài)變量,這樣會(huì)減少更多靜態(tài)變量的定義,即可以節(jié)約內(nèi)存。</p><p>  最后我覺得系統(tǒng)的設(shè)計(jì)需要我們?nèi)嬷タ紤]好多的問題,這對我們的成長會(huì)有更大的幫助。程序的實(shí)現(xiàn)不只是功能的實(shí)現(xiàn),還要有可靠的穩(wěn)定性,占用的內(nèi)存也要

37、較小。</p><p><b>  附錄:</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  ucha

38、r timerlr;</p><p>  uint startflag;</p><p>  uint bitnum; //</p><p>  uint irreceok; //接收完畢</p><p>  uchar irprosok; //轉(zhuǎn)換完畢</p><p>  uchar irdata[3

39、3];</p><p>  uchar ircode[4];</p><p>  uchar disp[8];</p><p>  sbit bre =P1^0;</p><p>  sbit dir =P1^1;</p><p>  sbit pwm =P1^2;</p><p>  s

40、tatic int s=20; //當(dāng)前pwmh+pwml</p><p>  uchar code table[]={ 0x3f,0x06,0x5b,0x4f,</p><p>  0x66,0x6d,0x7d,0x07,</p><p>  0x7f,0x6f,0x77,0xff,</p><p>  0

41、x39,0xbf,0x79,0x71 };</p><p>  uchar code table1[]={0x00,0x01,0x02,0x03,0x04,</p><p>  0x05,0x06,0x07} ;</p><p>  void delay_50us(uchar t)</p><p><b>  {</b>

42、;</p><p><b>  uchar j;</b></p><p>  for(;t>0;t--)</p><p>  for(j=0;j<19;j++);</p><p><b>  }</b></p><p>  void timer0init(void

43、)</p><p><b>  {</b></p><p>  TMOD=0X02;</p><p><b>  TH0=0X00;</b></p><p><b>  TL0=0X00;</b></p><p><b>  ET0=1;<

44、;/b></p><p><b>  EA=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  void int1init()</p><p><b>  {<

45、/b></p><p><b>  IT1=1;</b></p><p><b>  EX1=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p>  void

46、irwork(void)</p><p><b>  {</b></p><p>  disp[0]=ircode[0]/16;</p><p>  disp[1]=ircode[0]%16;</p><p>  disp[2]=ircode[1]/16;</p><p>  disp[3]=ir

47、code[1]%16;</p><p>  disp[4]=ircode[2]/16;</p><p>  disp[5]=ircode[2]%16;</p><p>  disp[6]=ircode[3]/16;</p><p>  disp[7]=ircode[3]%16;</p><p><b>  }

48、</b></p><p>  void display(void)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {&

49、lt;/b></p><p>  P0=table[disp[i]];</p><p>  P2=table1[i];</p><p>  delay_50us(20);</p><p><b>  }</b></p><p><b>  }</b></p>

50、<p>  void irpros(void)</p><p><b>  {</b></p><p>  uchar k=1,i,j;</p><p>  uchar value;</p><p>  for(j=0;j<4;j++)</p><p><b>  {

51、</b></p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  value=value>>1;</p><p>  if(irdata[k]>6)</p><p><b>  {</b&

52、gt;</p><p>  value=value | 0x80;</p><p><b>  }</b></p><p><b>  k++;</b></p><p><b>  }</b></p><p>  ircode[j]=value;<

53、/p><p><b>  }</b></p><p>  irprosok=1;</p><p><b>  }</b></p><p>  void putpwm()</p><p><b>  {</b></p><p><

54、b>  pwm=1;</b></p><p>  delay_50us(s);</p><p><b>  pwm=~pwm;</b></p><p>  delay_50us(40-s);</p><p><b>  }</b></p><p>  voi

55、d instruct()</p><p><b>  {</b></p><p>  if(ircode[2] == 0x45)//開動(dòng)電機(jī)</p><p><b>  {</b></p><p><b>  //TR1=1;</b></p><p>

56、;  //TH1=0x7c;</p><p>  //TL1=0x18;</p><p><b>  dir=1;</b></p><p><b>  bre=0;</b></p><p><b>  putpwm();</b></p><p><

57、b>  }</b></p><p>  if(ircode[2] == 0x46)//關(guān)電機(jī)</p><p><b>  {</b></p><p><b>  //TR1=0;</b></p><p><b>  bre=1;</b></p>

58、<p><b>  pwm=1;</b></p><p><b>  }</b></p><p>  if(ircode[2]==0x07)//正轉(zhuǎn)</p><p><b>  {</b></p><p><b>  bre=1;</b>

59、</p><p><b>  dir=1;</b></p><p><b>  bre=0;</b></p><p><b>  putpwm();</b></p><p><b>  }</b></p><p>  if(irco

60、de[2] == 0x15)//反轉(zhuǎn)</p><p><b>  {</b></p><p><b>  bre=1;</b></p><p><b>  dir=0;</b></p><p><b>  bre=0;</b></p>&

61、lt;p><b>  putpwm();</b></p><p><b>  }</b></p><p>  if(ircode[2] == 0x16) //加速</p><p><b>  {</b></p><p>  if(s < 40)</p&

62、gt;<p><b>  {</b></p><p><b>  s=s+1;</b></p><p><b>  putpwm();</b></p><p><b>  }</b></p><p><b>  else</b

63、></p><p><b>  {</b></p><p><b>  s=40;</b></p><p><b>  putpwm();</b></p><p><b>  }</b></p><p><b>  

64、}</b></p><p>  if(ircode[2] == 0x19)//減速</p><p><b>  {</b></p><p><b>  if(s > 5)</b></p><p><b>  {</b></p><p&g

65、t;<b>  s=s-1;</b></p><p><b>  putpwm();</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p&g

66、t;<p><b>  s=5;</b></p><p><b>  putpwm();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b>&

67、lt;/p><p>  void main()</p><p><b>  {</b></p><p>  // TMOD=0x12;</p><p><b>  bre=1;</b></p><p><b>  pwm=1;</b></p>

68、<p>  timer0init();</p><p>  // timer1init();</p><p>  int1init();</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(irre

69、ceok)</p><p><b>  {</b></p><p><b>  irpros();</b></p><p>  irreceok=0;</p><p><b>  }</b></p><p>  if(irprosok)</p>

70、;<p><b>  {</b></p><p><b>  irwork();</b></p><p>  irprosok=0;</p><p>  instruct();</p><p>  //pwmchange();</p><p><b>

71、  }</b></p><p><b>  putpwm();</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p>  void timer0_()

72、 interrupt 1</p><p><b>  {</b></p><p>  timerlr++;</p><p><b>  }</b></p><p>  void int1_() interrupt 2</p><p><b>  {</b&g

73、t;</p><p>  if(startflag)</p><p><b>  {</b></p><p>  if(timerlr>48)</p><p><b>  {</b></p><p><b>  bitnum=0;</b></

74、p><p><b>  }</b></p><p>  irdata[bitnum]=timerlr;</p><p>  timerlr=0;</p><p><b>  bitnum++;</b></p><p>  if(bitnum==33)</p><

75、;p><b>  {</b></p><p><b>  bitnum=0;</b></p><p>  irreceok=1;</p><p><b>  }</b></p><p><b>  }</b></p><p>

76、;<b>  else</b></p><p><b>  {</b></p><p>  timerlr=0;</p><p>  startflag=1;</p><p><b>  }</b></p><p><b>  }</b&

溫馨提示

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

評論

0/150

提交評論