鍵控秒表課程設計_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《單片機應用技術》</b></p><p><b>  課程設計</b></p><p>  2012年 6 月18</p><p> 題 目∶鍵控秒表</p><p> 院 系∶機電工程系</p><p> 專業(yè)班級∶電氣1011

2、</p><p> 姓 名∶</p><p> 學 號∶</p><p> 指導教師∶</p><p><b>  摘要</b></p><p>  二十世紀跨越了三個“電”的時代,即電氣時代,電子時代和現(xiàn)已進入的電腦時代。但是,實際工作中,并不是需要計算機的場合都需要計算機很高的性能

3、。應用的關鍵是看能否夠用,是否有很好的性能價格比。單片機又稱單片微控制器,它不是完成某一個邏輯工程的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一個芯片就成了一臺計算機。它的體積小、質量輕、價格便宜,為學習、應用和開發(fā)提供了便利條件。</p><p>  自從1976年問世以來,單片機獲得了巨大的發(fā)展,縱觀我們現(xiàn)在生活的各個領域,從導彈的導航裝置,到飛機上的各種儀表的控制,從計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,

4、到工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,這些都離不開單片機。所以,學習單片機在我國是有著廣泛前景的。</p><p><b>  目錄</b></p><p><b>  摘要1</b></p><p>  一、課題研究目的3</p><p>  二、實驗內容及要求4</p>&l

5、t;p><b>  1、實驗內容4</b></p><p><b>  2、實驗要求4</b></p><p><b>  三、仿真原理圖5</b></p><p><b>  四、系統(tǒng)程序6</b></p><p><b>  五

6、、材料清單9</b></p><p>  六、鍵控秒表實物圖10</p><p>  七、心得及體會11</p><p><b>  八、總結12</b></p><p><b>  九、參考文獻13</b></p><p><b>  一、課

7、題研究目的</b></p><p>  1.通過本次課程設計加深對單片機課程的全面認識復習和掌握,對單片機課程的應用進一步的了解。</p><p>  2.掌握鍵控秒表系統(tǒng)的制作,進一步熟悉單片機計數(shù)器結構的工作方式,初始值設置和停止等基本應用方法,掌握C語言控制單片機的基本技能。</p><p>  3.通過此次課程設計能夠將單片機軟硬件結合起來,對程

8、序進行編輯,校驗。</p><p>  4.該實驗通過單片機的鍵控原理,設計簡單的系統(tǒng),擁有正確的增一、減一、清零、自動加一功能,并同時可以用數(shù)碼管顯示,在現(xiàn)實生活中應用廣泛,具有現(xiàn)實意義。</p><p>  5.通過本次設計,提高自身電路設計能力,并鍛煉團隊合作精神。</p><p><b>  二、實驗內容及要求</b></p>

9、;<p><b>  1、實驗內容</b></p><p>  利用AT89C52設計一個2位LED數(shù)碼管顯示“秒表”,可顯示時間為00~59秒。并設計一個“增一”按鍵,一個“減一”按鍵,一個“清零”按鍵,一個“自動增一”按鍵。</p><p>  按鍵說明:按“增一”按鍵,系統(tǒng)加一計數(shù),數(shù)碼管顯示數(shù)字加一;</p><p>  

10、按“減一”按鍵,系統(tǒng)減一計數(shù),數(shù)碼管顯示數(shù)字減一;</p><p>  按“清零”按鍵,系統(tǒng)清零,數(shù)碼管顯示“00”;</p><p>  按一下“自動加一”按鍵,系統(tǒng)自動進行加一循環(huán),并在數(shù)碼管上顯示,再按一下“自動加一”按鍵,系統(tǒng)會暫停自動加一循環(huán),數(shù)碼管顯示的數(shù)字將停留在當前顯示值上。</p><p><b>  2、實驗要求</b>&l

11、t;/p><p>  了解AT89c52芯片的的工作原理和工作方式 ,使用該芯片對LED數(shù)碼管進行顯示控制,實現(xiàn)用單片機的端口控制數(shù)碼管,顯示數(shù)字,并能用按鍵實現(xiàn)秒表增一、減一、清零復位功能。</p><p>  畫出使用單片機控制LED數(shù)碼管顯示的電路圖,并編程完成軟件部分,最后調試秒表的增一、減一、清零、自動加一。</p><p><b>  三、仿真原理

12、圖</b></p><p><b>  四、系統(tǒng)程序</b></p><p>  #include <reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><

13、p>  sbit dula=P2^0;</p><p>  sbit wela=P2^1;</p><p>  sbit key1=P1^0; //加1</p><p>  sbit key2=P1^1; //減1</p><p>  sbit key3=P1^2; //清0</p><p>

14、  sbit key4=P1^3; //按下自動加1,再按下停止保持</p><p>  uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};</p><p>  uchar n,num;</p><p>  v

15、oid display(uchar);</p><p>  void delay(uint xms)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=xms;x>0;x--)</p><p>

16、;  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  void keyscan()</p><p><b>  {</b></p><p>  if(key1==0)</p><p><b>  {</

17、b></p><p>  delay(10);</p><p>  if(key1==0)</p><p><b>  {</b></p><p><b>  num++;</b></p><p>  if(num==60)</p><p>&l

18、t;b>  num=0;</b></p><p>  while(!key1);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key2==0)</p><p><b>  {</b

19、></p><p>  delay(10);</p><p>  if(key2==0)</p><p><b>  {</b></p><p>  if(num==0)</p><p><b>  num=60;</b></p><p><

20、;b>  num--;</b></p><p>  while(!key2);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key3==0)</p><p><b>  {</b&

21、gt;</p><p>  delay(10);</p><p>  if(key3==0)</p><p><b>  {</b></p><p><b>  num=0;</b></p><p>  while(!key3);</p><p>&l

22、t;b>  }</b></p><p><b>  }</b></p><p>  if(key4==0)</p><p><b>  {</b></p><p>  delay(10);</p><p>  if(key4==0)</p>&

23、lt;p><b>  {</b></p><p>  while(!key4);</p><p><b>  TR0=~TR0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p

24、><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000

25、)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  key

26、scan();</p><p>  display(num);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void display(uchar num1)</p><p><b>  {</b>&

27、lt;/p><p>  uchar shi,ge;</p><p>  shi=num1/10;</p><p>  ge=num1%10;</p><p><b>  dula=1;</b></p><p>  P0=table[shi];</p><p><b>

28、  dula=0;</b></p><p><b>  P0=0xff;</b></p><p><b>  wela=1;</b></p><p><b>  P0=0xfe;</b></p><p><b>  wela=0;</b><

29、;/p><p><b>  delay(5);</b></p><p><b>  dula=1;</b></p><p>  P0=table[ge];</p><p><b>  dula=0;</b></p><p><b>  P0=0xf

30、f;</b></p><p><b>  wela=1;</b></p><p><b>  P0=0xfd;</b></p><p><b>  wela=0;</b></p><p>  delay(5); </p><p><b

31、>  }</b></p><p>  void timer0() interrupt 1</p><p><b>  {</b></p><p><b>  n++;</b></p><p><b>  if(n==20)</b></p><

32、;p><b>  {</b></p><p><b>  n=0;</b></p><p><b>  num++;</b></p><p>  if(num==60)</p><p><b>  num=0;</b></p><

33、p><b>  }</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b> ?。?lt;/b></p><p><b>  五、材料清單</b></p>

34、<p><b>  六、鍵控秒表實物圖</b></p><p><b>  七、心得及體會</b></p><p>  根據(jù)課程設計的要求和芯片的功能寫出相應的程序。然后再進行程序調試和相應的修改,達到了本次設計的目的。</p><p>  通過本次設計,我從中感受到了自己優(yōu)缺點。優(yōu)點是我能很好并迅速的將電路布置

35、并組裝好,但是對于電路組線設計還有很多不足。雖然元器件布置比較美觀,但是背部的組線就比較凌亂,不利用出現(xiàn)問題后對其進行排查。</p><p>  在本次設計過程中,我做的準備工作相對于其他同學來說是做得最好的,需要的相關工具我都準備的很齊全,以至于在制作的時候很多同學來我這里借東西,所以我感覺,無論做什么事情,準備工作一定要做好,才能一氣呵成,減少走的彎路。</p><p>  在本次設計

36、中,在寫程序時,我得到了一些啟發(fā)。就是在寫程序時候,要盡量做到由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。</p><p>  本次設計,最大的收獲就是讓我學會將理論知識與實際相結合,并從中收獲到一些書本和課堂上學不到的知識。</p><p><b>  八、總結</b></p><

37、;p>  通過這次的設計,我對單片機這門課程有了更深的了解,同時也嘗試著去怎么應用自己所掌握的知識,將知識以最好的方式融入到現(xiàn)實中。</p><p>  在這其中,深感自己在電路線路設計排布這方面還需很大的努力,單片機課程設計不僅給我提供了展現(xiàn)應用自己所掌握的知識平臺,又是檢驗自己所學知識的一次考核。在設計過程中,難免會遇到一些困難,尤其在調試過程中,會因為某些原因出不來結果,但通過同學的鼓勵和老師的幫助,

38、我還是順利完成了。從中我明白要把所學到的理論轉化為實踐需要一段努力學習的過程。在學習過程中,一定要注意理論和實踐同步進行,光有理論知識還是遠遠不夠的,要用時間去檢驗理論,用理論指導實踐。</p><p>  社會在進步,我們不論在什么地方,什么崗位我門都要以學為主.學以學以置用,才能把我們的工作做的更好。并要堅持不懈的去努力,不能因為困難而懦弱,要遇強更強,以最大的信心去接受更嚴峻的挑戰(zhàn)。</p>

溫馨提示

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

評論

0/150

提交評論