單片機課程設(shè)計-- 簡易直流電壓表的設(shè)計_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計</p><p><b>  資 料 袋</b></p><p>  題 目 簡易直流電壓表的設(shè)計 </p><p>  成 績 起止日期 2012 年 12 月 31 日~ 2013 年

2、1 月 11 日</p><p>  目 錄 清 單</p><p><b>  課程設(shè)計任務(wù)書</b></p><p>  2012 — 2013 學(xué)年第 1 學(xué)期</p><p>  課程名稱: 單片機應(yīng)用系統(tǒng)

3、 </p><p>  設(shè)計題目: 基于單片機的步進電機控制器 </p><p>  完成期限:自 2012 年 12 月 31 日至 2013 年 1 月 11 日共 2 周</p><p>  指 導(dǎo) 教 師 (簽字): 年 月

4、 日</p><p>  系(教研室)主任(簽字): 年 月 日</p><p><b> ?。▎纹瑱C應(yīng)用系統(tǒng))</b></p><p><b>  設(shè)計說明書</b></p><p>  起止日期: 2012 年 12 月

5、31 日 至 2013 年 1 月 11 日</p><p><b>  電氣與信息工程學(xué)院</b></p><p>  2013年 1 月 11 日</p><p><b>  一、設(shè)計任務(wù):</b></p><p>  試題 設(shè)計一個基于單片機的步進電機控制器。已知三相步進電機以三相6拍方式工

6、作,A、B、C分別由P1.2、P1.1、P1.0控制,正轉(zhuǎn)時狀態(tài)是:A→AB→B→BC→C→CA→A(100→110→010→011→001→101→100)。開關(guān)SA斷開時,步進電機正轉(zhuǎn),每步定時1mS,對應(yīng)速度167轉(zhuǎn)/分;開關(guān)SA閉合時,步進電機反轉(zhuǎn),每步定時2mS,對應(yīng)速度83轉(zhuǎn)/分。步進電機正轉(zhuǎn)速度(167轉(zhuǎn)/分)或反轉(zhuǎn)速度(-83轉(zhuǎn)/分)要求顯示在LED數(shù)碼管上。</p><p>  注:要求首先采用

7、PROTEUS完成單片機最小系統(tǒng)的硬件電路設(shè)計及仿真;程序仿真測試通過后,再下載到單片機實訓(xùn)板上執(zhí)行。</p><p>  二、單片機最小系統(tǒng)硬件資源介紹:</p><p><b>  89C51單片機;</b></p><p><b>  4位共陽極數(shù)碼管;</b></p><p>  2路獨立式

8、開關(guān)按鍵;</p><p><b>  外部晶振電路;</b></p><p>  3個LED發(fā)光二極管</p><p><b>  三、設(shè)計方案:</b></p><p>  根據(jù)要求整個設(shè)計大體可分為四塊:</p><p>  一是2個按鍵K0,K1,將用戶所需來選擇步進

9、電機的工作狀態(tài)。我們將開關(guān)連入單片機的P1口,通過按鍵開關(guān)的高低電平狀態(tài)來讀入我們所需的控制信號。硬件上直接把開關(guān)分別接在單片機的接口上,通過查詢端口信號來動作,將控制信號處理。在設(shè)計開關(guān)部分時,還考慮到機械抖動的影響,采取硬件方式—并聯(lián)電容來去抖。</p><p>  二是3個LED發(fā)光二極管的顯示步進電機工作狀態(tài)模塊。在設(shè)計中步進電機正轉(zhuǎn)是黃燈亮,反轉(zhuǎn)是紅燈亮,停止不轉(zhuǎn)是綠燈亮。設(shè)計中將3個發(fā)光二極管分別接到

10、單片機P3口,受到單片機的輸出信號控制。</p><p>  三是步進電機的工作模塊。要想步進電機按照我們想要的方式運轉(zhuǎn),將步進電機一端接到+12V的電源,一端接到單片機P3口,受單片機的輸出信號控制。</p><p>  四是4位數(shù)碼管顯示步數(shù)的模塊。設(shè)計中主要是利用軟件編程的算法來實現(xiàn)步數(shù)的累計和顯示,同樣,4位數(shù)碼管接到單片機的P0口和P2口受單片機輸出信號的控制,在硬件上使用的是動

11、態(tài)顯示的接法。</p><p><b>  四、設(shè)計思路與原理</b></p><p>  此系統(tǒng)主要由單片機、步進電機、速度顯示模塊、工作狀態(tài)控制與顯示模塊組成。整體框圖如圖1。</p><p><b>  圖1 系統(tǒng)整體框圖</b></p><p>  1、步進電機的工作原理</p>

12、<p>  步進電機通過輸入脈沖信號進行控制,即電機的總轉(zhuǎn)動角度由輸入脈沖總數(shù)決定,而電機的轉(zhuǎn)速由脈沖信號頻率決定。步進電機的驅(qū)動電路是根據(jù)單片機產(chǎn)生的控制信號進行工作。因此,單片機通過向步進電機驅(qū)動電路發(fā)送控制信號就能實現(xiàn)對步進電機的控制。</p><p>  如圖2所示,U1、V1、W1接電源,分別有三個開關(guān)控制,U2、V2、W2分別接地。</p><p>  如果給處于

13、錯齒狀態(tài)的相通電,則轉(zhuǎn)子在電磁力的作用下,將向磁導(dǎo)率最大(即最小磁阻位置)位置轉(zhuǎn)動,即向趨于對齒的狀態(tài)轉(zhuǎn)動。</p><p>  圖2 步進電機工作原理圖</p><p>  2、步進電機的啟??刂?lt;/p><p>  步進電機由于其電氣特性,運轉(zhuǎn)時會有步進感 ,即振動感。為了使電機轉(zhuǎn)動平滑 ,減小振動 ,可在步進電機控制脈沖的上升沿和下降沿采用細(xì)分的梯形波 ,可以

14、減小步進電機的步進角 ,提高電機運行的平穩(wěn)性。在步進電機停轉(zhuǎn)時 ,為了防止因慣性而使電機軸產(chǎn)生順滑 ,則需采用合適的鎖定波形 ,產(chǎn)生鎖定磁力矩 ,鎖定步進電機的轉(zhuǎn)軸 ,使步進電機的轉(zhuǎn)軸不能自由轉(zhuǎn)動。</p><p>  3、步進電機的轉(zhuǎn)向控制</p><p>  如果給定工作方式正序換相通電 ,步進電機正轉(zhuǎn)。若步進電機的勵磁方式為三相六拍 ,即 A-AB-B-BC-C-CA。如果按反序通電

15、換相 ,即則電機就反轉(zhuǎn)。在這種工作方式下,繞組以A—AB—B—BC—C—CA—A時序(或反時序)轉(zhuǎn)換6次,磁場旋轉(zhuǎn)一周,轉(zhuǎn)子前進一個齒距,每次切換均使轉(zhuǎn)子轉(zhuǎn)動1. 5°,故這種通電方式稱為三相六柏工作方式。其步距角為:</p><p>  表1 六拍的數(shù)學(xué)模型</p><p>  4、步數(shù)顯示模塊原理</p><p>  速度顯示模塊和工作狀態(tài)顯示模塊,都

16、是通過單片機輸出信號控制發(fā)光二極管LED的亮滅。其中速度顯示模塊中LED構(gòu)成數(shù)碼管,要求顯示4位十進制數(shù),故用到4位數(shù)碼管。要控制多位的顯示電路,需要有字段控制和字位控制??刂品绞椒譃殪o態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示方式,每一位的顯示器都需要配一個8位輸出口來輸出該字位的七段碼,需要片外擴展輸出口。而動態(tài)顯示方式將各數(shù)碼管的對應(yīng)字段的引腳都并聯(lián)在一起,線路簡單,減少接口,不需片外擴展。這里選用動態(tài)顯示方式。</p>&

17、lt;p>  5、步進電機工作方式</p><p> ?。?)K0為啟/??刂崎_關(guān),控制整個系統(tǒng)的開啟和關(guān)閉。</p><p> ?。?)K1為正/反轉(zhuǎn)控制開關(guān),控制步進電機的轉(zhuǎn)向。</p><p>  6、工作狀態(tài)顯示模塊</p><p>  LED發(fā)光二極管顯示步進電機的工作狀態(tài),它們分別接到單片機的P3.3~P3.5。讓單片機輸出

18、通過一個反相器再接到LED陰極,LED陽極接VCC。這樣可以提高電流,有利于二極管的導(dǎo)通,我們可以通過控制P3口的數(shù)據(jù),實現(xiàn)LED的亮滅。</p><p>  7、位數(shù)碼管顯示步數(shù)模塊</p><p>  LED數(shù)碼管實際上是由七個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會發(fā)亮,以形成我們

19、眼睛看到的字樣了。通過分時輪流控制各個LED數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。</p><p>  P0口和P2口的前四個分別接步數(shù)顯示中對數(shù)碼管的字段控制及數(shù)碼管片選,這里主要是由軟件算法來實現(xiàn)單片機輸出的控制。</p><p><b>  設(shè)計內(nèi)容:</b></p><p><b>  1、程序流程圖&

20、lt;/b></p><p>  首先是數(shù)碼管顯示清零,單片機再讀入P1口輸入的按鍵狀態(tài),先判斷是否啟動,如果沒有啟動則是綠燈亮并再判斷,如果啟動了,就接著判斷所需的電機工作模式,再讀入P1口狀態(tài)判斷電機的轉(zhuǎn)向,輸出控制信號為正轉(zhuǎn)黃燈亮,反轉(zhuǎn)紅燈亮,由此可以讓步進電機按照指定的方式運轉(zhuǎn),并且累計步數(shù)再顯示到數(shù)碼管上。最后檢驗P1口是否狀態(tài)改變,如果改變則步數(shù)清零重新開始判斷,不改變則繼續(xù)轉(zhuǎn)動。流程圖如圖3所

21、示。</p><p><b>  圖3</b></p><p>  PROTUES仿真圖</p><p>  PROTEUS仿真圖圖4所示。</p><p><b>  圖4</b></p><p><b>  程序</b></p><

22、;p>  #include<reg51.h></p><p>  #include<stdio.h></p><p>  void delay1(void);</p><p>  void delay2(void);</p><p>  void display(int);</p><p>

23、;<b>  int bs=0;</b></p><p><b>  main()</b></p><p><b>  { </b></p><p>  char a,b,c,d,j,*q,</p><p>  done[14]={0x01,0x03,0x02,0x06

24、,0x04,0x05,0x00,0x01,0x05,0x04,0x06,0x02,0x03,0x00};</p><p><b>  a=P3;</b></p><p><b>  q=done;</b></p><p>  P3=0x20; //P3.5口置1,綠燈亮,不工作</p><

25、p>  delay1(); </p><p>  L: a=P3; </p><p>  while(!(a&0x08)) //判斷是否啟動,若沒啟動則重新啟動</p><p>  { P3=0x20;</p><p><b>  a=P3;</b></p><

26、p>  delay1();}</p><p>  if(a&0x10) //判斷電機是否要正轉(zhuǎn)</p><p>  { P3=0x80; //P3.4口為1,電機正轉(zhuǎn),紅燈亮</p><p><b>  b=0;}</b></p><p><b>  e

27、lse</b></p><p>  { P3=0x40; //P3.4口為,電機反轉(zhuǎn),黃燈亮</p><p>  if(a&0x04)b=7;</p><p><b>  else b=4;</b></p><p><b>  }</b></p>

28、;<p><b>  d=b;</b></p><p><b>  while(1)</b></p><p>  { c=*(q+b); //判斷電機步數(shù)是否走完</p><p>  if(c==0)b=d; //步數(shù)走完,電機重新再走</p>

29、;<p><b>  else</b></p><p>  { P1=c; //從P1輸出電機控制信號</p><p><b>  b++;</b></p><p>  if(a&0x10)</p><p><b>  { </

30、b></p><p><b>  bs=83;</b></p><p>  display(bs);</p><p>  display(bs);</p><p><b>  }</b></p><p><b>  else</b></p&g

31、t;<p>  bs=167; </p><p>  display(bs); //顯示步數(shù)</p><p><b>  j=a;</b></p><p><b>  a=P3;</b></p><p>  if(a!=j)

32、 //判斷P3口狀態(tài)信號是否改變</p><p>  { if(!(a&0x08))bs=0; //若為停止信號,總步數(shù)清零</p><p>  goto L; } //狀態(tài)信號改變,返回到開始,重新對電機控制</p><p><b>  }</b></p&g

33、t;<p><b>  }</b></p><p><b>  }</b></p><p>  void delay1()</p><p>  { int i,j;</p><p>  for(i=0;i<200;i++)</p><p>  for(j=

34、0;j<300;j++);</p><p><b>  }</b></p><p>  void display(int n)</p><p>  { unsigned char tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};</p><p>

35、;  unsigned char i,k,t,num[4];</p><p>  num[0]=n%10; //將總步數(shù)的各位分別存在num數(shù)組中</p><p>  num[1]=(n/10)%10;</p><p>  num[2]=(n/100)%10;</p><p>  num[3]=(n/1000)%

36、10;</p><p>  for(t=0;t<5;t++) //掃描5次</p><p>  { k=0x08; //位選碼指向最左一位,第四位</p><p>  for(i=0;i<4;i++)</p><p>  { P2=k;

37、 //從P2口輸入位選碼</p><p>  P0=~(tab[num[i]]); //取出顯示碼,并從P0口輸出顯示碼</p><p>  k=k>>1; //求下一個位選碼</p><p><b>  delay2();</b></p><p><b> 

38、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay2()</p><p>  { int i,j;</p><p>  for(i=0;i<10;i++)</p&g

39、t;<p>  for(j=0;j<60;j++);</p><p><b>  }</b></p><p><b>  六、心得體會</b></p><p>  本次課設(shè)是在實習(xí)與考試之中穿插進行的,所以時間比較緊張,給課設(shè)的順利完成增加了難度。單片機應(yīng)用技術(shù)是一門應(yīng)用性很強綜合性很強的學(xué)科,在這次課

40、設(shè)中,我充分感受到了這一點,在老師給的課題之中,是來自于各個方面各個領(lǐng)域的應(yīng)用,不得不說,單片機很強大,確實改變了我們的生活。</p><p>  課設(shè)里最困難的部分就是編寫程序和仿真調(diào)試,也許硬件連接沒問題,程序運行沒問題,但是,當(dāng)把程序?qū)耄l(fā)現(xiàn)電動機就是不轉(zhuǎn),燈就是不亮,數(shù)碼管就是亂跳,這是很考驗?zāi)托牡臅r候,一遍一遍地去調(diào)試程序,修改連接部分,有時真的看著很崩潰,但是當(dāng)你不放棄地調(diào)試,才有仿真成功的可能,在

41、這種反復(fù)中,對我們自身的能力是提高很多的。另一個收獲就是關(guān)于軟件的使用了。PROTEUS,KEIL51,以前好像也用過,但是平時較少接觸,這次的課設(shè)讓我比較熟練的掌握了這兩個學(xué)習(xí)軟件強大的功能。</p><p>  單片機技術(shù)一直是比較實用的一門學(xué)科,拿到課程設(shè)計的題目也想著可以好好檢驗自己的學(xué)習(xí)成果,一直認(rèn)為,期末考試是所謂的應(yīng)試教育,而課程設(shè)計似乎更加地考驗所學(xué)的知識,所謂實踐與理論相結(jié)合就是這個道理吧。課程

42、設(shè)計總能讓我有一種我站在山面前的感覺,看上去比較陌生高大,但是攀登的技巧早已在平時的學(xué)習(xí)中習(xí)得,不斷地去攀登,不斷地在回味課堂上老師講的東西,書本上的東西,這是一種奇妙的體驗。</p><p>  我明白遇到的電路或者課題并不一定在你的知識范圍之內(nèi),而面對新的東西,我們要冷靜地去尋求解決之道,去搜尋網(wǎng)絡(luò)資源,圖書館資源以及和同學(xué)們的討論之中,再結(jié)合自己所學(xué)過的知識來吃透理解那些未知的東西,擴寬知識面,這樣就會覺得

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論