基于單片機的步進電機控制單片機課程設計_第1頁
基于單片機的步進電機控制單片機課程設計_第2頁
基于單片機的步進電機控制單片機課程設計_第3頁
基于單片機的步進電機控制單片機課程設計_第4頁
基于單片機的步進電機控制單片機課程設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的步進電機控制單片機課程設計單片機課程設計 江南大學物聯網工程學院課程設計報告課程名稱:單片機原理及應用設計題目:班級:姓名:學號:指導教師:評分:年月日目錄一、設計要求目的錯誤!未定義書簽。二、設計要求及任務錯誤!未定義書簽。三、儀器設備2四、硬件線路圖及芯片說明錯誤!未定義書簽。1、總體設計框圖32、主要硬件線路圖3、ULN2003芯片說明五、系統工作原理頭文件程序定義及變量聲明#defineuintunsignedint宏定義#defineucharunsignedchar宏定義ucharcodeZF8=0 xO190 x0390 x0290 x06,0 xO490 x0c90

2、 x08,0 x09;正轉編碼表ucharcodeFF8=0 x09,0 x08,0 x0c,0 x04,0 x06,0 x02,0 x03,0 x01;反轉編碼表ucharcodeSM10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;數碼表sbitk1=P3A2;定義K1為啟動/停止按鍵sbitk2=P3A3;定義K2為加速按鍵sbitk3=P3A4;定義K3為減速按鍵sbitk4=P3A5;定義K4為正/反轉按鍵ucharj=0;uinttime=12000;/time為每兩拍之間的間隔時間uinttemp2;vo

3、iddelay(ucharz)延時函數uchars,v;for(s=0;svz;s+)for(v=0;v125;v+);/一個for循環8個機器周期(125*8*1us=1ms)voiddisplay(uchara,ucharb,ucharc,uchard)顯示函數if(f%2)p2=0Xfe;P0=0 xbf;f為奇數時代表反轉,則第一個數碼管顯示“-”否則不顯示del町;P0=0 xff;消隱P2=0 xfd;P0=SMa;顯示十位del町;P0=0 xff;消隱P2=0 xfb;P0=SMb&0 x7f;顯示個位(帶小數點)delay(1);P0=0 xff;消隱P2=0 xf7;P0=

4、SMc;顯示小數點后第一位小數delay(1);P0=0 xff;消隱P2=0 xef;P0=SMd;顯示小數點后第二位小數delay(1);P0=0 xff;消隱13單片機課程設計 voiddispose。數值處理函數temp1=14648/time;h=temp1/10;十位w=temp1%10;個位temp2=14648%time;p=temp2/1000;/小數點后第一位小數q=temp2%1000*10/1000;/小數點后第二位小數voidmain()主函數uchark;TMOD=0 x01;EA=1;ET0=1;TH0=(65536-time)/256;TL0=(65536-ti

5、me)%256;TR0=1;while(1)if(k1=0)delay(5);定義定時器0工作方式1/開總中斷開定時器0中斷裝定時器初值開定時器0延時消抖if(k1=0)TR0=TR0;k+;啟動/停止while(!k1);if(k2=0)delay(5);if(k2=0)time=time-150;加速while(!k2);if(k3=0)delay(5);if(k3=0)time=time+150;減速while(!k3);if(k4=0)delay(5);if(k4=0)f+;/正/反轉while(!k4);dispose();if(k%2)display(0,0,0,0);elsedi

6、splay(h,w,p,q);/等待按鍵釋放延時消抖/等待按鍵釋放延時消抖/等待按鍵釋放延時消抖/等待按鍵釋放停止時顯示00.00正常運轉時調用顯示函數單片機課程設計 voidtimerO()interrupt1定時器0中斷處理函數if(f%2)if(j=8)j=0;P1=FFj+;/f為奇數時代表反轉,則送反轉編碼到P1口elseif(j=8)j=0;P1=ZFj+;/否則送正轉編碼到P1口TH0=(65536-time)/256;TL0=(65536-time)%256;/重新裝初值八、設計體會這一學期我們學習了單片機原理及其應用這門課程,作為一名自動化專業的大三學生,我覺得做單片機課程設

7、計是十分有意義的,而且是十分必要的。在課程設計環節中,我覺得最困難的是程序設計,首先要理解原理,然后進行流程設計,轉化為程序,進行調試,我們在調試的時候出現很多錯誤,改錯的過程是非常痛苦的,好在我們耐心的一一克服了,最后敲定了合理的程序。但問題并沒有因此結束,當我們裝上步進電機后,轉速等級之間的轉速差別,是否能夠帶動電機,顯示閃爍快慢,轉速變慢時出現轉動打嗝和顫抖的情況,往往讓我感到手足無措,但是在老師的指導和同學的幫助下我們小組都一一克服了,最后得到了較為滿意的結果,在此感謝老師的悉心指導。還有一點體會就是要養成注釋程序的好習慣,一個程序的完美與否不僅僅是實現功能,而應該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便,通過這次設計,我懂得了學習的

溫馨提示

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

最新文檔

評論

0/150

提交評論