單片機電子時鐘課程設計報告_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  單片機原理與應用 課程設計報告</p><p>  (2014—2015學年 第二學期)</p><p>  題 目 基于單片機的電子時鐘設計 </p><p>  系 別 電子與電氣工程系 </p><p>  專 業(yè) 電子信息工程 </p><p> 

2、 班 級 </p><p>  學 號 </p><p>  姓 名 </p><p>  指導教師 </p><p>  完成時間 2015年6月13日 </p><p>

3、  評定成績 </p><p><b>  目 錄</b></p><p>  一、設計的目的3</p><p>  二、設計的內容與要求3</p><p><b>  三、設計方案3</b></p><p>  四、

4、硬件、軟件設計5</p><p><b>  五、設計總結8</b></p><p>  六、參考文獻10</p><p><b>  設計的目的</b></p><p>  在基本掌握了《單片機原理與應用》課程知識的基礎上,完成課程設計項目的設計。通過課程設計環(huán)節(jié)的訓練,包括設計方案的

5、論證、硬件設計、程序編寫和設計報告的撰寫,掌握單片機應用項目的設計流程和方法,加深對《單片機原理與應用》課程知識的理解和掌握,培養(yǎng)應用系統(tǒng)的設計能力,初步積累單片機系統(tǒng)開發(fā)經驗,以及分析問題和解決問題的方法,并進一步拓寬專業(yè)知識面,培養(yǎng)實踐應用技能和創(chuàng)新意識。 </p><p><b>  設計的內容與要求</b></p><p>  根據(jù)《單片機原理與應用》課程設計

6、教學大綱、《單片機原理與應用》課程設計指導書,開展課程設計環(huán)節(jié)。有三個設計項目供選擇:電子密碼鎖、電子琴或電子時鐘。</p><p><b>  設計內容與要求:</b></p><p> ?。?)選擇其中一個設計項目,進行設計方案的比較和論證,確定設計思路和方案;</p><p>  (2)進行硬件設計,畫出硬件結構框圖,完成電路原理圖的設計

7、和元器件選型,必要時應給出重要電路參數(shù)的設計和計算過程,以及元器件參數(shù)的選型依據(jù);</p><p> ?。?)編寫單片機的軟件程序,先理清程序設計思路并繪制程序流程圖,再編寫具體的匯編語言或C語言程序語句,并注釋說明。</p><p>  成績評定依據(jù):(分值百分比)</p><p> ?。?)確定設計思路和方案——20%;</p><p>

8、 ?。?)畫出硬件結構框圖、原理圖的設計、元器件選型,給出電路參數(shù)的設計依據(jù)——30%;</p><p> ?。?)繪制程序流程圖,再編寫程序語句,并注釋說明——30%;</p><p> ?。?)設計成果的功能完善程度、創(chuàng)新點、演示效果,撰寫設計報告的規(guī)范性——20%。</p><p><b>  設計方案</b></p>&l

9、t;p>  根據(jù)定時中斷的原理,數(shù)碼管顯示和鍵盤掃描電路,以及和MCS-51單片機的接口方式,通過軟件編程,實現(xiàn)時間初值設置,時鐘運行和顯示。</p><p>  1、可供使用的硬件電路:</p><p>  1)顯示電路可選用數(shù)碼管顯示電路或LCD1602;</p><p>  2)P2驅動七段顯示器,P3為七段顯示器的掃描模塊;</p>&l

10、t;p>  3)揚聲器和按鈕可接至P1口</p><p>  2、七段數(shù)碼管的字型代碼表如下表: </p><p>  2、數(shù)碼管動態(tài)掃描時間</p><p>  數(shù)碼管動態(tài)掃描顯示的時間要根據(jù)數(shù)碼管的數(shù)量來定的。一般來說,每一位數(shù)碼管需要一定的顯示時間,也就是說,你輸出一位數(shù)碼管的數(shù)據(jù)點亮這個數(shù)碼管之后,需要一定的時間才能熄滅它并點亮下一個數(shù)碼管,而不能一輸

11、出就馬上熄滅它,否則亮度會非常低。 全部數(shù)碼管全部掃描一遍的總時間最好不要超過25mS,否則閃爍會比較嚴重,通??偟膾呙桀l率要在60Hz以上,才看不到閃爍。比如說要掃描8位數(shù)碼管,那么可以讓每一位數(shù)碼管點亮1mS,這樣全部顯示一遍就大約是8mS或稍微多一點點(算上顯示處理的指令執(zhí)行時間),此時的總掃描頻率就是125Hz左右,這樣的話,即能保證亮度,又看不到閃爍。</p><p>  3、LCD1602的

12、基本操作時序:</p><p>  寫指令 輸入:RS=L,=L,D0~D7=指令碼,E=正脈沖 輸出:D0~D7=數(shù)據(jù);</p><p>  寫數(shù)據(jù) 輸入:RS=H,=L,D0~D7=數(shù)據(jù),E=正脈沖 輸出:無</p><p> ?。?)LCD1602內部帶有80B的RAM緩沖區(qū),對應的地址為第一行地址:00H~27H,第二行地址為為:40H~67H,當我

13、們向00H~0FH和40H~4FH寫入顯示的數(shù)據(jù)時,液晶可以立即顯示出來,當寫入到10H~27H和50H~67H時,必須通過移屏指令將它們移入可現(xiàn)實區(qū)域方可正常顯示。</p><p><b> ?。?)數(shù)據(jù)指針設置</b></p><p>  指令碼:0x80+地址碼(00H~27H, 40H~67H)</p><p><b>  硬

14、件和軟件設計</b></p><p><b>  4.1硬件設計思想</b></p><p>  主要用到這些元件:AT89C51單片機與單片機的最小系統(tǒng),八位顯示數(shù)字管,74LS245鎖存器。用12MHZ的晶振和兩個較小的22pF的電容組成振蕩器電路,用一個按鍵,一個電解電容,一個10K電阻組成具有上電自動復位和手動復位兩種操作的復位電路。用P0口作為輸

15、出需接上拉電阻,即需RESPACK-8排阻,74LS245鎖存器保存要開通的位碼。通過控制P0,P2,P3口來控制時間的計時。P0口送入要顯示的字段,P2口送入要顯示的位碼,P3口低三位即為查詢是否需要調整時分秒數(shù)。開通計時器中斷0來查表得到要顯示的數(shù)字。</p><p>  4.2 軟件設計思想</p><p>  整個程序先給數(shù)碼管送初值12 00 00,然后進行初始化工作。程序由一個

16、主函數(shù),一個定時器中斷程序,一個延時子程序,三個判斷子程序,一個顯示子程序構成。程序通過按鍵掃描程序來確定是否調用中斷程序來對時間進行調整。用一子程序完成時分秒的調整,通過循環(huán)掃描三個按鍵的電平變化來判斷對應按鍵是否按下,并帶有去抖動功能,當某個按鍵按下時,則對應的進行增一操作。若分秒增一到達60次或者時增一到達24次,將對其清零,各個操作均實時的通過數(shù)碼管顯示。</p><p><b>  4.3 流

17、程圖</b></p><p><b>  (1)軟件系統(tǒng)框圖</b></p><p>  圖4.1 軟件系統(tǒng)框圖</p><p>  (2)系統(tǒng)流程圖:如圖4.2所示整個程序先給數(shù)碼管送初值12 00 00,然后進行初始化工作,包括定時器及其初值設置、開中斷等。程序通過按鍵掃描程序來確定是否調用中斷程序來對時間進行調整,整個程序較為

18、簡短,但是時間誤差很小。</p><p>  圖4.2 系統(tǒng)流程圖</p><p>  (3)按鍵子函數(shù)流程圖: 如圖4.3所示加一子程序完成時分秒的調整,通過循環(huán)掃描三個按鍵的電平變化來判斷對應按鍵是否按下,并帶有去抖動功能,當某個按鍵按下時,則對應的進行增一操作。若分秒增一到底60次或者時增一到達24次,將對其清零,各個操作均實時的通過數(shù)碼管顯示。</p><p&

19、gt;  圖4.3 按鍵子函數(shù)流程圖</p><p><b>  設計總結</b></p><p>  1.當按下K1鍵一次即進入時間秒秒鐘設定狀態(tài),然后再按一次K1鍵即進入時間分鐘設定狀態(tài)。最后再按一次K1進入時間小時設定狀態(tài)。設定完成后如圖5-1所示。</p><p><b>  圖5-1</b></p>

20、<p>  2.按K1鍵進入時間秒鐘設定狀態(tài)后,然后按一下K2鍵進行加時。設定完成后如圖5-2所示。</p><p><b>  圖5-2</b></p><p>  3.按K1鍵進入時間秒鐘設定狀態(tài)后,然后按一下K3鍵進行減時。設定完成后如圖5-3所示。</p><p><b>  圖5-3</b></

21、p><p>  4.按K1鍵兩次進入時間分鐘設定狀態(tài)后,然后按一下K2鍵進行加時。設定完成后如圖5-4所示。</p><p><b>  圖5-4</b></p><p>  5.按K1鍵兩次進入時間分鐘設定狀態(tài)后,然后按一下K3鍵進行減時。時間設定完成后如圖5-5所示。</p><p><b>  圖5-5<

22、;/b></p><p>  6.按K1鍵三次進入時間小時設定狀態(tài)后,然后按一下K2進行加時。時間設定完成后如圖5-6所示。</p><p><b>  圖5-6</b></p><p>  7.按K1鍵三次進入時間小時設定狀態(tài)后,然后按一下K3進行減時。時間設定完成后如圖5-7所示。</p><p><b&

23、gt;  圖5-7</b></p><p>  經過這次電子鐘的設計,讓我鞏固和運用了在“模擬電子技術”、“數(shù)字電子技術”及“電路分析”等課程中所學的理論知識和實驗技能,基本掌握了常用電子電路的一般設計方法,提高了設計能力和實驗技能。 </p><p>  本次的電子鐘實驗中,我學會了很多,平時的學習只是理論的學習,課程設計使得我對理論知識有了更加深刻的認識,通過實驗

24、的調試,我也初步學會了如何排解錯誤,解決問題。還有這次的課程設計告訴我,只有將理論和實踐相結合才是真正的學到了知識。碰到不懂的問題要學會多自行查閱相關資料,提高自學能力。同時做事需要耐心,不能碰到一點困難就退縮。  </p><p>  本次設計使我對已學過的基礎知識有了更深入的理解,獨立思考、獨立工作以及應用所學基本理化分析和解決實際問題的能力有了很大的提高。另外,本次設計使我們的實際操作技

25、能得到了訓練,同時也培養(yǎng)了我們嚴謹?shù)膽B(tài)度。 </p><p><b>  參考文獻</b></p><p>  單片機原理及接口技術(第二版),李全利,北京:高等教育出版社,2009年。</p><p>  單片機原理及應用(第二版),李建忠,西安:西安電子科技大學出版社,2008。</p><p>  單片機原理及應用

26、,馮文旭等,北京:機械工業(yè)出版社,2008。</p><p>  單片機基礎(第3版),李廣弟等, 北京:北京航空航天大學出版社,2007。</p><p>  單片機高級教程:應用與設計(第2版),何立民,北京:北京航空航天大學出版社,2007。</p><p>  指導老師評閱依據(jù)和分數(shù)</p><p>  綜合評定成績:

27、 </p><p>  評閱人: </p><p><b>  附錄</b></p><p>  #include<reg51.h> </p><p>  #define uint unsigned int</p><p>  #define

28、 uchar unsigned char </p><p>  sbit k1=P3^5; </p><p>  sbit k2=P3^6; </p><p>  sbit k3=P3^7; </p><p>  uchar code duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F

29、,0x6F,0x40}; </p><p>  uchar hc[8]; </p><p>  uchar jishu,jishu1=0,k,set,shan,a,b,c,time; </p><p>  char shi,fen,miao;</p><p>  void delay(uint t) </p><p&g

30、t;  { uchar i; </p><p>  while(t--) </p><p>  for(i=110;i>0;i--);</p><p><b>  } </b></p><p>  void key() </p><p>  { if(k1==0) </p>

31、;<p>  { delay(5); </p><p>  while(k1==0); </p><p>  if(++set==4) </p><p><b>  set=0; </b></p><p><b>  }</b></p><p>  if

32、(k2==0) </p><p>  { delay(5); </p><p>  while(k2==0); </p><p>  if(set==1) </p><p>  { if(++miao==60) </p><p>  miao=0; </p><p><

33、b>  } </b></p><p>  if(set==2) </p><p><b>  { </b></p><p>  if(++fen==60) fen=0; </p><p><b>  } </b></p><p>  i

34、f(set==3) </p><p>  { if(++shi==24) </p><p><b>  shi=0; </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(k3==0

35、) </p><p>  { delay(5); </p><p>  while(k3==0); </p><p>  if(set==1) </p><p><b>  { </b></p><p>  if(--miao<0) </p><p> 

36、 miao=59; </p><p><b>  } </b></p><p>  if(set==2) </p><p><b>  { </b></p><p>  if(--fen<0) </p><p><b>  fen

37、=59; </b></p><p><b>  } </b></p><p>  if(set==3) </p><p><b>  { </b></p><p>  if(--shi<0) </p><p><b>  shi=23; &

38、lt;/b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(set==1) </p><p>  a=0xff*shan; </p><p>  else{a=0;} </p><

39、;p>  if(set==2) </p><p>  b=0xff*shan; </p><p>  else{b=0;} </p><p>  if(set==3) </p><p>  c=0xff*shan; </p><p>  else{c=0;}</p><p>

40、;<b>  } </b></p><p>  void init() </p><p><b>  { </b></p><p>  TMOD=0x01; </p><p>  TH0=(65535-5000)/256; </p><p>  TL0=(6553

41、5-5000)%256; </p><p><b>  EA=1; </b></p><p><b>  ET0=1; </b></p><p><b>  TR0=1; </b></p><p><b>  } </b></p><

42、p>  void tint(void) interrupt 1 </p><p>  { TH0=(65535-5000)/256; </p><p>  TL0=(65535-5000)%256; </p><p>  if(set!=0) </p><p>  {if((k1==0)||(k2==0)||(k3==0))

43、</p><p>  time=0; </p><p>  if(time>=10) </p><p><b>  {set=0;</b></p><p>  time=0; </p><p><b>  } </b></p><p>

44、;<b>  } </b></p><p><b>  jishu++; </b></p><p>  if(jishu==40) </p><p>  { jishu=0; </p><p>  shan=!shan;</p><p>  if(++k==4) &l

45、t;/p><p>  { k=0; </p><p><b>  time++; </b></p><p>  if(++miao==60) </p><p>  { miao=0; </p><p>  if(++fen==60) </p><p>  { f

46、en=0; </p><p>  if(++shi==24) </p><p><b>  shi=0; </b></p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }

47、</b></p><p><b>  }</b></p><p>  hc[0]= c|shi/10; </p><p>  hc[1]= c|shi%10;</p><p>  hc[2]=10; </p><p>  hc[3]=b|fen/10;</p><

48、p>  hc[4]=b|fen%10;</p><p>  hc[5]=10; </p><p>  hc[6]=a|miao/10; </p><p>  hc[7]=a|miao%10;</p><p>  jishu1++; </p><p>  if(jishu1==8) </p>

49、<p>  jishu1=0; </p><p>  P2=(P2+1)%8;</p><p>  P0=duan[hc[jishu1]]; </p><p><b>  } </b></p><p>  void main() </p><p>  { init(); <

50、;/p><p><b>  P2=0x00;</b></p><p>  while(1) </p><p><b>  { </b></p><p><b>  key(); </b></p><p><b>  } </b>

溫馨提示

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

評論

0/150

提交評論