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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  電機測速系統設計</b></p><p><b>  設計目的</b></p><p>  測量小功率直流電機的轉速</p><p>  本次課程設計主要以單片機,直流電動機和顯示器等器件及軟件程序為基礎,設計了一個簡單的基于單片機的電機測速系統。本統采用PWM測量電動機的轉速,用STC89C

2、52單片機對直流電動機的轉速進行控制和檢速。本設計主要要求設計系統的基本結構、工作原理、運行特性及其設計方法有一定的掌握,且最終應用理論知識做出一個完整的簡單測速模型,從而對測速系統的專業(yè)知識及機械化等方面的知識有一定的拓展。</p><p><b>  二、設計要求</b></p><p>  1.用按鍵控制電機起停;</p><p>  2

3、.電機有兩種速度,可通過按鍵改變;</p><p>  3.用數碼管顯示電機每分鐘或每秒轉數。</p><p>  STC89C52單片機的介紹</p><p>  本系統采用單片機STC8952作為主控制器,使用光電傳感器測量電機的轉速,最終在LED上顯示測試結果。此外,還可以根據需要調整制電機的轉速,硬件組成由圖3.1所示。</p><p&g

4、t;  單片機( single Micro Controller Unit),又稱為微控制器,是指在一塊芯片上集成了中央處理器CPU、隨機存儲器RAM、程序存儲器ROM、定時器/計數器、中斷控制器以及串行和并行I/0 接口等部件,構成一個完整的微型計算機。目前,新型單片機內還有A/D(D/A)轉換器、高速輸入輸出部件、DMA 通道、浮點運算等特殊功能部件。由于它的結構和指令功能都是按工業(yè)控制要求設計的,特別適用于工業(yè)控制及其數據處理場

5、合。</p><p>  STC89C52是擁有256字節(jié)的RAM,8K的片內ROM,3個16位定時器,6個中斷源的微處理器,也就是俗稱的單片機。</p><p>  89系列單片機的內核是8031,所以其指令與Intel 8051 系列單片機完全兼容,并且具有以下優(yōu)點:</p><p>  (1)內部含有Flash 存儲器(STC89C52 有8k)。因此在系統的

6、開發(fā)過程中可以十分容易進行程序的修改,這就大大縮短了系統的開發(fā)周期。同時,在系統工作過程中,能有效地保存一些數據信息,即使外界電源損壞也不影響到信息的保存。</p><p> ?。?)插座與80C51兼容。89系列單片機的引腳和80C51是一樣的,當用89系列單片機取代80C51時,可以直接進行代換。</p><p> ?。?)靜態(tài)時鐘方式。89系列單片機采用靜態(tài)時鐘方式,可以節(jié)省電能,這

7、對于降低便攜式產品的功耗十分有用。</p><p> ?。?)錯誤編程亦無廢品產生。因為89系列單片機內部采用了Flash 存儲器,所以,錯誤編程之后仍可以重新編程,直到正確為止,故不存在廢品。</p><p> ?。?)可反復進行系統試驗。用89系列單片機設計的系統,可以反復進行系統試驗,每次試驗可以編入不同的程序,這樣可以保證用戶的系統設計達到最優(yōu)。而且隨著用戶的需要和發(fā)展,還可以進行

8、修改,使系統不斷能追隨用戶的最新要求。</p><p>  STC8952引腳圖如圖3.5所示。</p><p><b>  四、系統設計</b></p><p>  1、直流電機調速原理:</p><p>  本設計的主要思想為利用PWM控制占空比從而達到改變電機速度。下面為PWM控制原理:</p>&l

9、t;p>  圖1為PWM降壓斬波器的原理電路及輸出電壓波形。在圖1a中,假定晶體</p><p>  管V1先導通T1,秒(忽略V1的管壓降,這期間電源電壓Ud全部加到電樞上),然后關斷T2秒(這期間電樞端電壓為零)。如此反復,則電樞端電壓波形如圖1b中所示。電動機電樞端電壓Ua為其平均值。</p><p>  圖1 PWM降壓斬波器原理電路及輸出電壓波形</p>&

10、lt;p>  原理圖 b)輸出電壓波形</p><p><b>  (3)</b></p><p><b>  式(3)中</b></p><p><b> ?。?)</b></p><p>  為一個周期T中,晶體管V1導通時間的比率,稱為負載率或占空比。使用下面三種方

11、法中的任何一種,都可以改變的值,從而達到調壓的目的:</p><p>  (1)定寬調頻法:T1保持一定,使T2在0~∞范圍內變化;</p><p>  (2)調寬調頻法:T2保持一定,使T1在0~∞范圍內變化</p><p>  (3)定頻調寬法:T1+T2=T保持一定,使T,在0~T范圍內變化。</p><p>  不管哪種方法,的變化范

12、圍均為0≤≤l,因而電樞電壓平均值Ua的調節(jié)范圍為0~Ud,均為正值,即電動機只能在某一方向調速,稱為不可逆調速。當需要電動機在正、反向兩個方向調速運轉,即可逆調速時,就要使用圖1—2a所示的橋式(或稱H型)降壓斬波電路。</p><p>  在圖2a中,晶體管V1、V4是同時導通同時關斷的,V2、V3也是同時導通同時關斷的,但V1與V2、V3與V4都不允許同時導通,否則電源Ud直通短路。設V1、V4先同時導通T

13、1秒后同時關斷,間隔一定時間(為避免電源直通短路。該間隔時間稱為死區(qū)時問)之后,再使V2、V3同時導通T2秒后同時關斷,如此反復,則電動機電樞端電壓波形如圖2b所示。</p><p>  圖2 橋式PWM降壓斬波器原理電路及輸出電壓波形</p><p>  a)原理圖 b)輸出電壓波形</p><p>  電動機電樞端電壓的平均值為</p>&l

14、t;p><b>  (4)</b></p><p>  由于0≤≤1,Ua值的范圍是 -Ud~+Ud,因而電動機可以在正、反兩個方向調速運轉。</p><p>  圖3給出了兩種PWM斬波電路的電樞電壓平均值的特性曲線。</p><p>  圖3兩種斬波器的輸出電壓特性</p><p>  2、直流電動機測速原理

15、</p><p>  電機的葉輪置于紅外對射管之間,葉輪轉過,擋住傳感器,產生中斷,給單片機,從而實現計數,進而計算出電機的速度。</p><p>  四、設計方案及分析(包含設計電路圖)</p><p><b>  總體設計思路:</b></p><p>  電機轉動,利用光電傳感器采集信號,送給單片機,單片機通過計算

16、,將傳感器采集到的信號通過數碼管顯示出來,流程圖如下:</p><p>  3、各硬件部分電路的設計:</p><p>  電機驅動及調速電路的設計</p><p>  采用專用電機控制集成芯片ULN2003a來控制電機轉動及調速,該方案簡單,可靠。其電路圖如下</p><p>  其原理是:ULN2003a芯片是16腳7路電機驅動芯片,這塊

17、芯片可以看做是7非門芯片,作用是保證1腳和16腳的輸出為一高一低。當某一時刻占空比大于50%時,電機呈現正轉加速或者反轉減速狀態(tài);某一時刻占空比小于50%時,電機呈現正轉減速或者反轉加速狀態(tài),電機就是通過矩形波占空比的不同來調節(jié)轉速的電機呈現出來的轉速是平均轉速。而我們這次是要測電機的兩種轉速,不需要電機的正反轉,所以我們選擇電機正轉加速和正轉減速。</p><p><b>  4、轉速測量原理<

18、/b></p><p>  轉速的測量方法很多,根據脈沖計數來實現轉速測量的方法主要有M法(測頻法)、T法(測周期法)和MPT法(頻率周期法)等,該系統我們采用了M法。</p><p>  M法(測頻法):在規(guī)定(定時)的檢測時間內,檢測光電傳感器所產生的脈沖信號的個數來確定轉速。雖然檢測時間一定但檢測的起止時間具有隨機性,因此M法測量轉速在極端情況下會產生±1多個高低電平

19、。當被測轉速較高或電機轉動一圈發(fā)出的轉速脈沖信號的個數較大時,才有較高的測量精度,因此M法適合于較高速測量。</p><p>  由于轉速是以單位時間(秒)內轉數來測量,在變換過程中多數是有規(guī)律的重復運動。根據光電效應原理,將一片5齒葉輪固定定在電機轉軸上。轉盤隨測軸旋轉,葉輪也將跟著同步旋轉,在轉盤掃過光電器件ST151間時轉動時,光敏三極管時所產生三極管的導通與否。光電器(三極管E端)輸出脈沖信號,其頻率和轉

20、速成正比。脈沖信號的周期與電機的轉速有以下關系:</p><p><b>  R=N/(5*T)</b></p><p>  式中:N 為電機轉轉過圈數;5為電機轉一圈的脈沖數;T定時時長。</p><p>  根據上式即可計算出直流電機的轉速(r/s)。</p><p>  鑒于M法即測頻法,能夠很好的測量較高轉速的電

21、機,且其原理容易被設計者和使用者理解、掌握,故本次設計采用了M法。</p><p><b>  5、傳感檢測電路</b></p><p>  速度檢測電路是由光電傳感器和電機、葉輪組成。</p><p>  測量電機轉速的第一步就是要將電機地轉速表示為單片機可以識別的脈沖信號,從而進行脈沖計數。光電器件作為一種轉速測量系統的傳感器,具有結構牢固

22、、體積小、重量輕、壽命長、安裝方便等優(yōu)點,當電機轉動時,帶動傳感器,產生對應頻率的脈沖信號,經過信號處理后輸出到計數器或其他的脈沖計數裝置,進行轉速的測量。</p><p>  在傳感檢測電路中,將光電傳感器和電機進行有效相連,然后把光電傳感器連接在單片機的外部中斷端口。工作時,當葉輪隨轉軸經過光電傳感器時,由光電轉換工作原理知,每次有一個葉輪轉過時,將輸出一個低電平信號;而當葉輪離開光電傳感器后,又將輸出一個高

23、電平。這樣通過高低電平的轉換,將其送入單片機后就可以測量它的轉速。其電路如圖所示。</p><p>  6、單片機最小系統電路</p><p>  單片機最小系統電路如圖3.4所示,由主控器STC89C52、時鐘電路和復位電路三部分組成。單片機STC89C52作為核心控制器控制著整個系統的工作,而時鐘電路負責產生單片機工作所必需的時鐘信號,復位電路使得單片機能夠正常、有序、穩(wěn)定地工作。&l

24、t;/p><p>  圖3.4 單片機最小系統</p><p><b>  7、復位電路</b></p><p>  單片機在RESET端加一個大于20ms正脈沖即可實現復位,上電復位和按鈕組合的復位電路如圖2。</p><p>  在系統上電的瞬間,RST與電源電壓同電位,隨著電容的電壓逐漸上升,RST電位下降,于是在RS

25、T形成一個正脈沖。只要該脈沖足夠寬就可以實現復位,即ms。一般取R1,C22uF。</p><p>  當人按下按鈕S1時,使電容C1通過R1迅速放電,待S1彈起后,C再次充電,實現手動復位。R1一般取200。</p><p><b>  圖2 復位電路</b></p><p><b>  8.時鐘電路</b></

26、p><p>  當使用單片機的內部時鐘電路時,單片機的XATL1和XATL2用來接石英晶體和微調電容,如圖3所示,晶體一般可以選擇3M~24M,電容選擇30pF左右。我們選擇晶振為12MHz,電容33pF。</p><p><b>  圖3 時鐘電路</b></p><p><b>  4)軟件設計</b></p>

27、;<p><b>  (1)主程序設計</b></p><p>  本系統采用STC89C52中的T0定時器和T1計數器配合使用對轉速脈沖定時計數。計數器T1工作于計數狀態(tài)對外部脈沖進行計數;T0工作為定時器方式每次定時1s。本設計程序編程的思想就是在給定的1s之內,用單片機的計數器T0對外部脈沖進行計數。主程序的流程圖如圖4.1所示。</p><p>

28、  圖4.5 主程序流程圖</p><p>  (2) T0定時中斷程序設計</p><p>  T0定時中斷程序主要是完成10ms的定時任務,并且對變量buf_min進行加一處理,其中在對T0進行賦初值時,選擇為10236而不是10000。主要是c語言在經過反匯編后,一條c語句將會編譯成幾條語句,這樣就增加了指令執(zhí)行的時間,使定時產生誤差,而在經過多次調試后,選擇10236為T0初值是

29、最接近10ms的。</p><p>  2.傳感器脈沖信號采集電路的設計</p><p>  采用光電式傳感器ST151采集信號,其電路圖如下</p><p>  其原理是:ST151光電式傳感器內部是由一個發(fā)光二極管(左端)及一個光敏三極管(右端)組成,當電機的扇葉擋住發(fā)光二極管的時候,光敏三極管接收不到信號,不導通,此時,輸出端出書低電平送給單片機進行處理,再送

30、給數碼管顯示一個數,當電機扇葉(假設電機只有一個扇葉)連續(xù)擋住發(fā)光二極管的時候,光敏三極管連續(xù)不導通,連續(xù)送給單片機低電平,數碼管就會顯示一段時間內采集到的信號數量,即為電機的轉速。</p><p>  3.單片機時鐘電路的設計</p><p>  STC89C52單片機芯片內部設有一個由反向放大器所構成的振蕩器,19腳為振蕩器。反相放大器和內部時鐘發(fā)生電路的輸入端,18腳為振蕩器反相放大

31、器的輸出端,在18,19引腳上外接定時元器件,內部振蕩電路就會產生自激震蕩。本系統采用的定時元器件為石英晶體(晶振)和電容組成的并聯諧振回路,晶振頻率為12MHz,電容大小為33pF。電路圖如下</p><p>  該部分電路負責產生單片機所必需的時鐘信號。</p><p>  4.單片機復位電路的設計</p><p>  STC89C52的復位是由外部的復位電路來

32、實現的,復位電路通常采用上電復位和按鈕復位兩種方式。本設計采用的是按鈕復位方式,時鐘頻率選用12MHz,電容選用100uF的電解電容,電阻選用10千歐。電路圖如下</p><p>  該部分電路作用是使單片機能夠正常,有序,穩(wěn)定地工作。</p><p>  4.按鍵控制電路的設計</p><p>  實驗要求通過按鍵控制電機的轉速,其電路圖如下</p>

33、<p>  開關按鍵是控制電機的起停,高低速按鍵是控制電機的兩種轉速</p><p><b>  5.數碼管顯示電路</b></p><p>  點亮LED顯示器由兩種方式:靜態(tài)顯示和動態(tài)顯示。所謂靜態(tài)顯示,就是顯示器顯示某一個字符時,相應的發(fā)光二極管恒定的導通或截止,這種方式的電路,每一位可單獨顯示。只要在要顯示的那位段選線上保持段選電平,該位就能保持顯

34、示相應的顯示字符。這種電路的優(yōu)點是:在同一瞬間可以顯示不同的字符;但缺點是占用的端口資源較多。所謂動態(tài)顯示,就是將要顯示的多位LED顯示器采用一個8位的段選端口,然后采用動態(tài)掃描方式一位一位地輪流點亮各位顯示器。本設計采用動態(tài)顯示,采用四位共陽極數碼管顯示,電路圖如下:</p><p>  其中用到一個排阻作為保護電阻,保護數碼管。還用到四個三極管,是為了放大信號,一是為了提高數碼管的亮度,二是為了避免信號太弱而

35、無法顯示。</p><p>  4、數碼管及顯示電路</p><p>  LED又稱為數碼管,它主要由8段發(fā)光二極管組成的不同組合,可以顯示a~g為數字和字符顯示段,h段為小數點顯示,通過a~g為7個發(fā)光段的不同組合,可以顯示0~9和A~F共16個數字和字母。LED可以分為共陰極和共陽極兩種結構。共陰極結構即把8個發(fā)光二極管陰極連在一起。這種裝入數碼管中顯示字形的數據稱字形碼,又稱段選碼。

36、</p><p>  點亮LED顯示器有兩種方式:一是靜態(tài)顯示:二是動態(tài)顯示。</p><p>  所謂靜態(tài)顯示,就是當顯示器顯示某一個字符時,相應的發(fā)光二極管恒定的導通或截止。如圖3.4所示</p><p>  圖3.4  靜態(tài)顯示電路</p><p><b>  5、光電傳感器</b></p><

37、p>  光電傳感器是指能夠將可見光轉換成某種電量的傳感器。光敏二極管是最常見的光傳感器。光敏二極管的外型與一般二極管一樣,只是它的管殼上開有一個嵌著玻璃的窗口,以便于光線射入,為增加受光面積,PN結的面積做得較大,光敏二極管工作在反向偏置的工作狀態(tài)下,并與負載電阻相串聯,當無光照時,它與普通二極管一樣,反向電流很?。ǎ?#181;A),稱為光敏二極管的暗電流;當有光照時,載流子被激發(fā),產生電子-空穴,稱為光電載流子。在外電場的作用

38、下,光電載流子參于導電,形成比暗電流大得多的反向電流,該反向電流稱為光電流。光電流的大小與光照強度成正比,于是在負載電阻上就能得到隨光照強度變化而變化的電信號。</p><p>  光敏三極管除了具有光敏二極管能將光信號轉換成電信號的功能外,還有對電信號放大的功能。光敏三級管的外型與一般三極管相差不大,一般光敏三極管只引出兩個極——發(fā)射極和集電極,基極不引出,管殼同樣開窗口,以便光線射入。為增大光照,基區(qū)面積做得

39、很大,發(fā)射區(qū)較小,入射光主要被基區(qū)吸收。工作時集電結反偏,發(fā)射結正偏。在無光照時管子流過的電流為暗電流Iceo=(1+β)Icbo(很?。纫话闳龢O管的穿透電流還小;當有光照時,激發(fā)大量的電子-空穴對,使得基極產生的電流Ib增大,此刻流過管子的電流稱為光電流,集電極電流Ic=(1+β)Ib,可見光電三極管要比光電二極管具有更高的靈敏度。</p><p>  圖 3.6 光電傳感器</p><

40、p>  本次設計采用的光電傳感器如圖3.6所示。</p><p><b>  軟件部分的設計</b></p><p>  對于電機轉速的測定,一般有兩種方法:一種是測頻率,就是在給定時間內測電機轉了幾圈,這種方法適合于高速旋轉的電機;另一種則是測周期,就是測電機轉一圈的時間,這種方法適合于測低速的電機。而我們這次使用的電機是一個高速的直流電機,所以就選用測頻法來

41、編程。</p><p>  本系統采用STC89C52中的T0定時器和T1計數器配合使用對轉速脈沖定時計數。計數器T1工作于計數狀態(tài)對外部脈沖進行計數;T0工作為定時器方式每次定時10ms。本設計程序編程的思想就是在給定的10ms之內,用單片機自帶的計數器T1對外部脈沖進行計數。主程序的流程圖如下:</p><p>  五.問題分析與解決方法</p><p>  問

42、題1.電路板剛搭建好,接通電源的時候,數碼管不亮。</p><p>  分析:電源有可能沒接好,或者芯片沒供電,或者是程序編寫有問題。</p><p>  解決方法:通過檢查編寫的程序,沒有發(fā)現錯誤。再檢查整個電路板,發(fā)現確實是因為單片機沒有接電源,最后接上電源,數碼管點亮了,但是有點暗,也就是出現的第二個問題。</p><p>  問題2.數碼管亮度很低,顯示不清

43、楚。</p><p>  分析:電壓不夠,或者是哪個部分所加的電阻太大。</p><p>  解決方法:通過用萬用表檢測電源,顯示電壓源是5V左右,沒什么問題。再檢測每個管腳的電壓高低,也沒有問題。最后考慮到信號的強弱問題,在單片機和數碼管顯示電路之間加了三極管,最后數碼管亮度明顯提高,能夠清楚的顯示數字。</p><p>  問題3.接通電源,接上電機,發(fā)現數碼管

44、沒反應,不計數。</p><p>  分析:可能是計數部分的程序問題,還有數碼管的連接,傳感器的連接有問題。</p><p>  解決方法:通過檢查程序,沒有發(fā)現錯誤,再檢查顯示電路的設計,也沒發(fā)現問題,最后考慮到是不是數碼壞了,或者是接法不對,通過更換傳感器,數碼管依然沒變化,再通過網上查閱有關光電式傳感器的資料,發(fā)現傳感器接法不對,因為本次設計我們用的是光電式傳感器,當電機扇葉每遮住傳

45、感器中的光敏二極管一次,就采集一個低電平作為脈沖信號送給單片機處理,而我們所連接的電路是每當電機扇葉不遮住光敏二極管,就采集一個高電平。所以最后通過改變傳感器的接法,實現了信號的采集,數碼管才有了反應,整個電路的所有問題到此也就解決了。</p><p><b>  六.設計結果</b></p><p><b>  1.設計總電路圖</b><

46、/p><p>  開關按鍵控制電機的起停,高低速開關是控制電機的兩種轉速,從而測得這兩種速度時的轉速,并通過數碼管顯示其轉數。</p><p><b>  2.設計總程序:</b></p><p>  #include <reg52.h></p><p>  #define uchar unsigned char

47、</p><p>  #define uint unsigned int</p><p>  sbit a0 = P2^0;// 千</p><p>  sbit a1 = P2^1; //百</p><p>  sbit a2 = P2^2; //數碼管位選--十位</p><p>  sbit a3

48、= P2^3; //數碼管位選--個位</p><p>  sbit test=P3^2; //傳感器測試</p><p>  sbit motor=P1^0; //連接電機</p><p>  sbit kaiguan=P1^4; //電機開關</p><p>  sbit sudu1=P1^5;//速度改變按鍵</p>

49、;<p>  sbit sudu2=P1^6;</p><p>  uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數值 </p><p>  uint dat;//計數變量 </p><p>  uint qian,bai,shi,ge; //

50、計數變量</p><p>  uchar x; //定時標志</p><p>  ucharz; //開關標志</p><p>  uinttimer1,aa;</p><p>  /**************延時函數****************/</p><p>  void delay(uint z

51、)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }<

52、/b></p><p>  /******************數碼管顯示函數***********************/</p><p>  voiddisplay()</p><p><b>  {</b></p><p>  a3=1; //顯示ge位</p><p> 

53、 P0=table[ge];</p><p><b>  delay(5);</b></p><p><b>  a3=0;</b></p><p>  a2=1; //顯示shi位</p><p>  P0=table[shi];</p><p><b> 

54、 delay(5);</b></p><p><b>  a2=0;</b></p><p>  a1=1; //顯示bai位</p><p>  P0=table[bai];</p><p><b>  delay(5);</b></p><p><

55、b>  a1=0;</b></p><p>  a0=1; //顯示qian位</p><p>  P0=table[qian];</p><p><b>  delay(5);</b></p><p><b>  a0=0;</b></p><p>&

56、lt;b>  }</b></p><p>  /***************外部中斷0**********************/</p><p>  void int0(void) interrupt 0</p><p><b>  {</b></p><p><b>  dat++;

57、</b></p><p><b>  }</b></p><p>  /***************定時器0中斷********************************/</p><p>  void time0_int(void) interrupt 1</p><p><b>  {

58、</b></p><p>  TH0=0x3C;//50毫秒</p><p><b>  TL0=0xB0;</b></p><p><b>  x--;</b></p><p><b>  if(x==0)</b></p><p><

59、;b>  { </b></p><p><b>  x=21;</b></p><p><b>  EX0=0;</b></p><p>  dat=dat/5;</p><p>  qian=dat/1000 ;</p><p>  bai=(dat%10

60、00)/100;</p><p>  shi=(dat%100)/10;</p><p>  ge=dat%10;</p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p><b>  }</b><

61、/p><p>  /***************定時器1中斷函數**********************/</p><p>  void time1_int() interrupt 3 </p><p><b>  {</b></p><p>  TH1 = 0xFC; // 10ms</p>&l

62、t;p>  TL1 = 0x18;</p><p><b>  timer1++;</b></p><p>  if(aa==1) //速度1</p><p>  if((timer1<600)&&timer1>2) motor=1;</p><p>  elsemotor=0;&

63、lt;/p><p>  if(timer1>600)</p><p><b>  {</b></p><p><b>  timer1=0;</b></p><p><b>  }</b></p><p>  if(aa==2) //速度2

64、</p><p>  if((timer1<600)&&timer1>550) motor=1;</p><p>  elsemotor=0;</p><p><b>  }</b></p><p>  /***************變速函數************************

65、*/</p><p>  voidBianSu()</p><p><b>  {</b></p><p>  if(sudu1==0) //速度1</p><p><b>  {</b></p><p><b>  delay(3);</b>&l

66、t;/p><p>  while(sudu1==0) ;</p><p>  ET0=1;//開T0定時器</p><p>  EX0=1; //外部中斷0</p><p><b>  aa=1;</b></p><p><b>  timer1=0;</b></p&

67、gt;<p><b>  }</b></p><p>  if(sudu2==0)//速度2</p><p><b>  { </b></p><p><b>  delay(3);</b></p><p>  while(sudu2==0) ;</p&

68、gt;<p>  ET0=1;//開T0定時器</p><p>  EX0=1; //外部中斷0</p><p><b>  aa=2;</b></p><p><b>  timer1=0;</b></p><p><b>  } </b></p&g

69、t;<p><b>  }</b></p><p>  /*************開關函數*********************/</p><p>  voidKaiGguan()</p><p><b>  {</b></p><p>  if(kaiguan==0)<

70、/p><p><b>  {</b></p><p><b>  delay(3);</b></p><p>  while(kaiguan==0);</p><p>  motor=1; //打開電機</p><p><b>  z++;</b>&l

71、t;/p><p>  // ET0=1;//開T0定時器</p><p>  ET1=1;//開T1定時器</p><p>  // EX0=1; //外部中斷0</p><p><b>  if(z==2)</b></p><p><b>  {</b><

72、/p><p><b>  motor=0;</b></p><p><b>  z=0;</b></p><p><b>  ET0=0;</b></p><p><b>  ET1=0;</b></p><p><b>  

73、EX0=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*****************初始化函數*****************/</p>

74、<p>  voidInti()</p><p><b>  {</b></p><p><b>  motor=0;</b></p><p>  kaiguan=1;</p><p>  x=21; //定時一秒</p><p>  P0=0xFF;

75、 //關閉數碼管</p><p><b>  test=1;</b></p><p>  TMOD= 0x11;//T1定時輸出PWM波形調速,T0定時測速用</p><p>  TH1 = 0xFC; //10 毫秒定時</p><p>  TL1 = 0x18;</p><p>  TH0=

76、0x3C;//50毫秒定時</p><p>  TL0=0xB0; </p><p>  IT0=1; //下降沿觸發(fā)</p><p><b>  EA=1; </b></p><p><b>  TR0=1;</b></p><p><b>  TR1=

77、1;</b></p><p><b>  PX0=1;</b></p><p><b>  }</b></p><p>  /******************主函數***************************/</p><p>  voidmain()</p>

78、<p><b>  {</b></p><p><b>  Inti();</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  KaiGguan();</p>

79、<p><b>  BianSu();</b></p><p>  display();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  設計體會與收獲</b></p>

溫馨提示

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

評論

0/150

提交評論