單片機秒表設計課程設計報告_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機課程設計報告</b></p><p>  一、實驗題目秒表系統(tǒng)設計——用兩個數(shù)碼管來顯示秒表數(shù)據(jù),一個顯示秒,另一個顯示十分之一秒。</p><p>  二、系統(tǒng)總體功能用兩個數(shù)碼管來顯示秒表數(shù)據(jù),一個顯示秒,另一個顯示十分之一秒。有一個按鍵來啟動秒表的開始和結(jié)束。增加一個清零按鈕,計時結(jié)束后可以清零。</p>&

2、lt;p><b>  三、實驗目的</b></p><p>  1、利用單片機定時器/計數(shù)器中斷設計秒表,從而實現(xiàn)秒、十分之一秒的計時。2、綜合運用所學的《單片機原理與應用》理論知識,通過實踐加強對所學知識的理解,具備設計單片機應用系統(tǒng)的能力。3、 通過本次課程設計加深對單片機掌握定時器、外部中斷的設置和編程原理的全面認識復習和掌握,對單片機實際的應用作進一步的了解。4、 通過本次

3、試驗,增強自己的動手能力。認識單片機在日常生活中的應用的廣泛性,實用性。</p><p><b>  四、系統(tǒng)設計方案</b></p><p>  本實驗利用單片機的定時器/計數(shù)器定時和記數(shù)的原理,通過采用proteus仿真軟件來模擬實現(xiàn)。模擬利用AT89C51單片機、LED數(shù)碼管以及控件來控制秒表的計數(shù)以及計數(shù)的開啟/暫停/繼續(xù)與復位! 其中有兩個數(shù)碼管用

4、來顯示數(shù)據(jù),一個數(shù)碼管顯示秒(兩位),另一個數(shù)碼管顯示十分之一秒,十分之一秒的數(shù)碼管計數(shù)從0~9,滿十進一后顯示秒的數(shù)碼管的數(shù)字加一,并且十分之一秒顯示清零重新從零計數(shù)。計秒數(shù)碼管采用兩位的數(shù)碼管,當計數(shù)超過范圍是所有數(shù)碼管全部清零重新計數(shù)。</p><p>  五、試驗設計所需硬件(模擬硬件)</p><p>  Atmel89C51單片機芯片一個、LED數(shù)碼顯示管三個,低壓電源、開關(guān)(

5、按鈕)兩個、電阻、電容及導線若干。</p><p>  由于條件限制本實驗采用軟件模擬硬件系統(tǒng),采用proteus軟件進行模擬設計及調(diào)試工作。</p><p>  圖2 Atmel89C52單片機外部引腳圖</p><p>  六、試驗設計原理圖 </p><p>  圖3 試驗設計電路圖</p><p>

6、<b>  七、軟件設計分析</b></p><p><b>  程序流程圖:</b></p><p><b>  實驗程序清單:</b></p><p>  #include<reg52.h></p><p>  #define uint unsigned int

7、</p><p>  #define uchar unsigned char</p><p>  uchar code table[]="2010-05-18";</p><p>  uchar code time[]="23:00:00";</p><p>  uchar code xi1[]=&qu

8、ot;mon";</p><p>  uchar code xi2[]="tue";</p><p>  uchar code xi3[]="wed";</p><p>  uchar code xi4[]="thu";</p><p>  uchar code xi5[]

9、="fri";</p><p>  uchar code xi6[]="sat";</p><p>  uchar code xi7[]="sun";</p><p>  sbit wr=P3^3;</p><p>  sbit rd=P3^5;</p><p&g

10、t;  sbit lcde=P3^4;</p><p>  uint i,shi,fen,miao,nian,yue,ri,count,num,x;</p><p>  void delay(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b>

11、;</p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  void write_add(uchar add)</p><p><b>  {</b&g

12、t;</p><p><b>  rd=0;</b></p><p><b>  P0=add;</b></p><p><b>  lcde=1;</b></p><p><b>  delay(5);</b></p><p>&

13、lt;b>  lcde=0;</b></p><p><b>  }</b></p><p>  void write_date(uchar date)</p><p><b>  {</b></p><p><b>  rd=1;</b></p>

14、<p><b>  P0=date;</b></p><p><b>  lcde=1;</b></p><p><b>  delay(5);</b></p><p><b>  lcde=0;</b></p><p><b> 

15、 }</b></p><p>  void writesfm(uchar add,uchar date)</p><p><b>  {</b></p><p>  uchar s,g;</p><p>  s=date/10;</p><p>  g=date%10;</p&g

16、t;<p>  write_add(0x80+0x40+add);</p><p>  write_date(0x30+s);</p><p>  write_date(0x30+g);</p><p><b>  }</b></p><p>  void writenyr(uchar add,uchar

17、date)</p><p><b>  {</b></p><p>  uchar s,g;</p><p>  s=date/10;</p><p>  g=date%10;</p><p>  write_add(0x80+0x00+add);</p><p>  wr

18、ite_date(0x30+s);</p><p>  write_date(0x30+g);</p><p><b>  }</b></p><p>  void xi(uchar a)</p><p><b>  {</b></p><p><b>  if(a

19、==1)</b></p><p><b>  {</b></p><p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  write_da

20、te(xi1[i]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  if(a==2)</b></p><p>

21、<b>  {</b></p><p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  write_date(xi2[i]);</p><p><

22、;b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  if(a==3)</b></p><p><b>  {</b></p>&

23、lt;p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  write_date(xi3[i]);</p><p><b>  delay(5);</b></p&g

24、t;<p><b>  } </b></p><p><b>  }</b></p><p><b>  if(a==4)</b></p><p><b>  {</b></p><p>  write_add(0x80+0x00+10);&

25、lt;/p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>  write_date(xi4[i]);</p><p><b>  delay(5);</b></p><p><b>  } </b>

26、;</p><p><b>  }</b></p><p><b>  if(a==5)</b></p><p><b>  {</b></p><p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i<

27、3;i++)</p><p><b>  {</b></p><p>  write_date(xi5[i]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }&

28、lt;/b></p><p><b>  if(a==6)</b></p><p><b>  {</b></p><p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i<3;i++)</p><p><b>

29、;  {</b></p><p>  write_date(xi6[i]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b

30、>  if(a==7)</b></p><p><b>  {</b></p><p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i<3;i++)</p><p><b>  {</b></p><p>

31、  write_date(xi7[i]);</p><p><b>  delay(5);</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  }</b></p><p&

32、gt;  void init()</p><p><b>  {</b></p><p><b>  lcde=0;</b></p><p><b>  wr=0;</b></p><p>  write_add(0x38);</p><p>  wri

33、te_add(0x0c);</p><p>  write_add(0x06);</p><p>  write_add(0x01);</p><p>  write_add(0x80+0x00+0);</p><p>  for(i=0;i<10;i++)</p><p><b>  {</b&

34、gt;</p><p>  write_date(table[i]);</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  write_add(0x80+0x00+10);</p><p>  for(i=0;i

35、<3;i++)</p><p><b>  {</b></p><p>  write_date(xi7[i]);</p><p><b>  delay(5);</b></p><p><b>  }</b></p><p>  write_ad

36、d(0x80+0x40+0);</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p>  write_date(time[i]);</p><p><b>  delay(5);</b></p><p><b

37、>  }</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  init();</b></p><p>  TMOD=0x01;&

38、lt;/p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  TR0=

39、1;</b></p><p><b>  while(1)</b></p><p><b>  { </b></p><p><b>  key();</b></p><p>  if(count==20)</p><p><b>

40、  {</b></p><p><b>  count=0;</b></p><p><b>  miao++;</b></p><p>  if(miao==60)</p><p><b>  {</b></p><p><b>

41、  miao=0;</b></p><p><b>  fen++;</b></p><p>  if(fen==60)</p><p><b>  {</b></p><p><b>  fen=0;</b></p><p><b&g

42、t;  shi++;</b></p><p>  if(shi==24)</p><p><b>  {</b></p><p><b>  shi=0;</b></p><p><b>  ri++;</b></p><p><b&g

43、t;  x++;</b></p><p><b>  xi(x);</b></p><p><b>  if(x==7)</b></p><p><b>  {</b></p><p><b>  x=0;</b></p><

44、;p><b>  }</b></p><p>  if(ri==30)</p><p><b>  {</b></p><p><b>  ri=0;</b></p><p><b>  yue++;</b></p><p>

45、  if(yue==13)</p><p><b>  {</b></p><p><b>  yue=0;</b></p><p><b>  nian++;</b></p><p>  if(nian==100)</p><p><b> 

46、 {</b></p><p><b>  nian=0;</b></p><p><b>  }</b></p><p>  writenyr(2,nian);</p><p><b>  }</b></p><p>  writenyr(5

47、,yue);</p><p><b>  }</b></p><p>  writenyr(8,ri);</p><p><b>  }</b></p><p>  writesfm(0,shi);</p><p><b>  }</b></p&g

48、t;<p>  writesfm(3,fen);</p><p><b>  }</b></p><p>  writesfm(6,miao);</p><p><b>  }</b></p><p><b>  }</b></p><p>

49、;<b>  }</b></p><p>  void t()interrupt 1</p><p><b>  {</b></p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>&

50、lt;b>  count++;</b></p><p><b>  }</b></p><p><b>  八、試驗設計總結(jié)</b></p><p>  通過這一周的課程設計,我對一些專業(yè)知識和電子設計有了更深的了解,同時也嘗試著去應用自己的所掌握的知識。本次電子課程設計主要是對已學習的模擬電子技術(shù)、數(shù)字

51、電子技術(shù)和單片機的綜合應用,同時加上電路等知識,設計完成了利用軟件模擬的秒表。經(jīng)過幾天的奮戰(zhàn),我感受很深.</p><p>  我和劉傲輝、龍賢三個人一塊兒討論設計了此次試驗,在設計過程中深感自己在培養(yǎng)動手能力這方面還需很大的努力。同時,通過這次我們積極的通過網(wǎng)絡,書籍等資源,在同學的幫助下,把這個課程設計作為一次鍛煉,為以后生活學習中培養(yǎng)善于動手,樂于動手的習慣。</p><p>  單

52、片機課程設計不僅給我們提供了一個很好的展現(xiàn)應用自己所掌握的知識的平臺,又是檢驗自己所學知識的一次考核。 我們運用各自在各方面的優(yōu)勢中和起來,形成了一個團隊.通過團隊力量,才使設計得以完成.可以說,我們?nèi)齻€人是一個不可或缺的整體,少了任何一個人都是無法完成任務的。</p><p>  在設計的過程中我們也不可避免的遇到了很多的問題。尤其是在調(diào)試過程中,會因為某些原因出不來結(jié)果,或三個人之間出現(xiàn)了意見分歧,但在最后都

53、達成了</p><p>  一致。通過這次的課程設計,我們也發(fā)現(xiàn)了不少自己不會的知識,通過查詢各方面資料,我們也進步了很多,有學會了很多上課時沒掌握的東西, 最后在調(diào)試結(jié)果出來后,我們更是無比的興奮,無比的自豪。總之,通過這次電子課程設計,我不僅對自己的知識有了更好的掌握和應用,更了解到團隊精神的力量.在以后的學習和生活中受用終身.</p><p>  二十世紀跨越了三個“電”的時代,即電

54、氣時代、電子時代和現(xiàn)已進入的電腦時代。但是,實際工作中并不是任何需要計算機的場合都要求計算機有很高的性能,一個控制電冰箱溫度的計算機難道要用P4嗎?應用的關(guān)鍵是看是否夠用,是否有很好的性能價格比。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。自從1976年問世以來,單片機獲得了巨大的發(fā)展?,F(xiàn)

55、在比較流行的單片機是美國Intel 的MCS51/96以及Motorola的MC系列,Zilog 的Z8系列,同時還有更多新型的、功能更強的單片機不斷出現(xiàn)。 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程

56、控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。</p><p>  中國使用單片機的歷史只有短短的30年,在初始的短短五年時間里 發(fā)展極為迅速??v觀我們現(xiàn)在生活的各個領域,從導 彈的導航裝置,到飛機上各種儀表的控制,從計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,到工業(yè)自動化過程的實時控制和數(shù)據(jù) 處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,這些都離不開單片機。以前沒有

57、單片機時,這些 東西也能做,但是只能使用復雜的模擬電路,然而這樣做出來的產(chǎn)品不僅體積大,而且成本高,并且由于長期使用, 元器件不斷老化,控制的精度自然也會達不到標準。在單片機產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀?只需要在單片機外圍接一點簡單的接口電路,核心部分只是由人為的寫入程序來完成。這樣產(chǎn)品的體積變小了,成 本也降低了,長期使用也不會擔心精度達不到了。所以,它的魔力不僅是在現(xiàn)在,在將來將會有更多的 人來接受它、使用它。據(jù)統(tǒng)

58、計,我國的單片機年容量已達3 億片,且每年以大約20%的速度增長,但相對于 世界市場我國的占有率還不到1%。特別是沿海地區(qū)的玩 具廠等生產(chǎn)產(chǎn)品多數(shù)用到單片機,并不斷地輻射向內(nèi)地。 所以,學習單片機在我國是有著廣闊前景的。</p><p><b>  十、參考文獻</b></p><p>  51單片機學習網(wǎng) http://www.51c51.com/</p&g

溫馨提示

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

評論

0/150

提交評論