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

下載本文檔

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

文檔簡介

1、<p><b>  單片機課程設計報告</b></p><p>  課程名稱: 秒表設計</p><p><b>  姓名: </b></p><p><b>  學號:</b></p><p><b>  專業(yè)班別: </b></p>

2、;<p><b>  院系: </b></p><p><b>  指導老師: </b></p><p>  完成時間:2011.12.20</p><p><b>  目錄</b></p><p>  一、前言……………………………………………………………………

3、…………………1</p><p>  1、摘要……………………………………………………………………………………..1</p><p>  2、關鍵詞…………………………………………………………………………………..1</p><p>  二、設計背景…………………………………………………………………………………1</p><p>  三、設計

4、目的…………………………………………………………………………………1</p><p>  四、設計任務與要求…………………………………………………………………………2</p><p>  1、設計題目………………………………………………………………………………..2</p><p>  2、設計任務………………………………………………………………………………..2&

5、lt;/p><p>  3、設計要求………………………………………………………………………………..2</p><p>  五、設計方案與基本原理……………………………………………………………………2</p><p>  1、預備知識………………………………………………………………………………..2</p><p>  2、實驗儀器…………………

6、……………………………………………………………..2</p><p>  3、LED顯示原理………………………………………………………………………….2</p><p>  4、AT89C52單片機……………………………………………………………………….3</p><p>  5、顯示電路………………………………………………………………………………..4</p

7、><p>  六、軟件系統(tǒng)設計……………………………………………………………………………5</p><p>  1、主程序流程圖…………………………………………………………………………..5</p><p>  2、設計程序………………………………………………………………………………..6</p><p>  七、調(diào)試結(jié)果………………………………

8、…………………………………………………10</p><p>  八、設計結(jié)論與體會…………………………………………………………………………10</p><p>  1、設計結(jié)論………………………………………………………………………………..10</p><p>  2、設計體會………………………………………………………………………………..10</p>

9、<p>  九、參考文獻………………………………………………………………………………….11</p><p><b>  一、前言</b></p><p>  1、摘要:秒表是單片機常見的裝置,這次課程設計通過AT89C52單片機來控制秒表的計時,編寫程序,使程序?qū)崿F(xiàn)開始計時,停止計時和復位等功能。通過這次課程設計使我對單片機有了進一步的理解,并且讓對單片

10、機產(chǎn)生了濃厚的興趣。</p><p>  2、關鍵詞:單片機 秒表 程序設計 按鍵控制</p><p><b>  二、設計背景</b></p><p>  目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的

11、各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械以及各種智能機械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。單片機廣泛應用于儀器儀表、家用電器、醫(yī)用設備、航空航天、專用設備的智能化管理及過程控制等領域。</p><p>  單片機模塊中最常見的是秒

12、表、數(shù)字鐘等顯示時間類的裝置,此裝置是一種用數(shù)字電路實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。</p><p><b>  三、設計目的</b></p><p>  隨著單片機的應用日益廣泛,學生在完成前面的基礎實驗之后,初步掌握了單片機仿真開發(fā)工具的使用和程序的基本調(diào)試方法以及常用程序

13、的設計方法。如果條件允許,下一步就是進行課程設計。通過課程設計,可將所學過的電子技術(shù)、模/數(shù)轉(zhuǎn)換技術(shù)、傳感器技術(shù)、單片機技術(shù)及智能儀器等知識綜合串聯(lián)起來,通過理論聯(lián)系實際,從題目分析、電路設計調(diào)試、程序編制調(diào)試到傳感器的標定等這一完整的實驗過程,培養(yǎng)學生正確的設計思想,使學生充分發(fā)揮主觀能動性,去獨立解決實際問題,以達到提升學生的綜合能力、動手能力、文獻資料查閱能力的作用,從而培養(yǎng)和提高學生的獨立工作能力及解決實際問題的能力,為畢業(yè)設計

14、和以后的工作打下一個良好的基礎。當然課程設計不僅僅要求學生完成所規(guī)定的題目要求,同時還要培養(yǎng)學生養(yǎng)成良好的科學態(tài)度和嚴謹?shù)脑O計習慣。</p><p><b>  1</b></p><p><b>  四、設計任務與要求</b></p><p>  1、設計題目:秒表設計</p><p>  2、設

15、計任務:用89C51設計一個2位的LED數(shù)碼作為“秒表”。</p><p>  3、設計要求:顯示時間為00—99秒,每秒自動加1,另設計一個“開始”鍵和一個“復位”鍵。</p><p>  五、設計方案及基本原理</p><p><b>  1、預備知識</b></p><p> ?。?)熟悉單片機的工作原理</

16、p><p> ?。?)了解數(shù)碼管的顯示原理</p><p><b>  (3)熟悉c語言</b></p><p><b>  2、實驗儀器</b></p><p>  集成電路芯片89c52,七段數(shù)碼管,單片機開發(fā)板,MCS-51系列單片機微機仿真實驗系統(tǒng)中的軟件。</p><p&g

17、t;<b>  3、LED顯示原理</b></p><p>  靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就不再管,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新數(shù)據(jù),系那是數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。</p><p>  動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。這兩種顯示方式各有利弊:靜態(tài)顯示雖然

18、數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)系那是雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路空間。</p><p>  基本的半導體數(shù)碼管是由七個條狀發(fā)光二極管芯片排列而成的,可實現(xiàn)0~9的顯示。LED數(shù)碼管是由發(fā)光二極管顯示字段組成的顯示器,有8段和“米”字段之分,這種顯示器有共陰極兩種。所謂共陽方式是指筆畫顯示器各段發(fā)光管得陽極(即P區(qū))是公共

19、的,而陰極互相隔離。所謂共陰方式是筆畫顯示器各段發(fā)光管的陰極(即N區(qū))是公共的,而陽極是互相隔離的。</p><p><b>  2</b></p><p>  4、AT89C52單片機</p><p>  AT89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的

20、隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應用。AT89C52為8 位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會

21、聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接電阻電容組成的復位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(32~39 腳)被定義為N1 功</p>

22、;<p><b>  3</b></p><p><b>  5、顯示電路</b></p><p>  單片機應用系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成。硬件系統(tǒng)是指單片機以及擴展的存儲器、I\0接口、外圍擴展的功能芯片以及接口電路。軟件系統(tǒng)包括監(jiān)控程序和各種應用程序。K1 開始計時,k2停止計時,k3復位。秒表時間顯示電路設計:<

23、;/p><p><b>  4</b></p><p><b>  六、軟件系統(tǒng)設計</b></p><p><b>  1、主程序流程圖</b></p><p><b>  5</b></p><p><b>  2、設計程

24、序</b></p><p>  #include<reg52.h></p><p>  #define uint unsigned int</p><p>  #define char unsigned char</p><p>  sbit weil=P2^5; //定義鎖存使能端口 位鎖存</p>

25、<p>  sbit duanl=P2^6; // 段鎖存</p><p>  sbit start=P1^0;</p><p>  sbit stop=P1^1;</p><p>  sbit reset=P1^2;</p><p>  uint code table_duan[]={0x3f,0x06,0x5b,0x4f,0x6

26、6,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9</p><p>  uint code table_wei[]={0xfe,0xfd,0xf7,0xef}; //位控制字</p><p>  void delay(uint z); // 聲明延時函數(shù)</p><p>  void chushih(); // 聲明按鍵函數(shù)</p

27、><p>  void display(); // 聲明宣函數(shù)</p><p>  uint aa,bb,s[4]; // 變量聲明</p><p>  void main() //主函數(shù)入口</p><p><b>  {</b></p><p>  chushih();</p&

28、gt;<p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  P0=0xfb;</b></p><p><b>  weil=1;</b></p><p><b>  wei

29、l=0;</b></p><p><b>  P0=0x40;</b></p><p><b>  duanl=1;</b></p><p><b>  duanl=0;</b></p><p><b>  6</b></p>&

30、lt;p>  delay(2); </p><p>  display();</p><p>  if(!start) //開始</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p&

31、gt;  if(!start)</p><p><b>  {</b></p><p>  display();</p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p><b>  }</

32、b></p><p>  if(!stop) //暫停</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p><b>  if(!stop)</b></p><p&

33、gt;<b>  {</b></p><p>  display();</p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(

34、!reset) //復位</p><p><b>  {</b></p><p><b>  delay(5);</b></p><p>  if(!reset)</p><p><b>  {</b></p><p><

35、;b>  aa=0;</b></p><p>  display();</p><p><b>  }</b></p><p><b>  } </b></p><p><b>  7</b></p><p><b> 

36、 } </b></p><p><b>  }</b></p><p>  void chushih()</p><p><b>  {</b></p><p>  TMOD=0x01; //設置T0定時器</p><p>  TH0=(65536-1000

37、0)/256; //裝入初值</p><p>  TL0=(65536-10000)%256;</p><p>  EA=1; //開總中斷</p><p>  ET0=1; //開啟定時器T0中斷</p><p>  TR0=1; //啟動T0</p><p><b>  }</b&

38、gt;</p><p>  timer0()interrupt 1</p><p><b>  {</b></p><p>  TH0=(65536-10000)/256; </p><p>  TL0=(65536-10000)%256;</p><p><b>  aa++;<

39、;/b></p><p>  if(aa==10000)</p><p><b>  aa=0;</b></p><p>  s[0]=table_duan[aa/1000];</p><p>  s[1]=table_duan[aa/100%10];</p><p>  s[2]=tabl

40、e_duan[aa%100/10];</p><p>  s[3]=table_duan[aa%10];</p><p><b>  }</b></p><p>  void delay(uint z) //延時子函數(shù)</p><p><b>  {</b></p><p

41、><b>  uint x,y;</b></p><p><b>  8</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p>&

42、lt;p>  void display()</p><p><b>  {</b></p><p><b>  uint i;</b></p><p>  for(i=0;i<4;i++)</p><p><b>  {</b></p><p&g

43、t;  P0=table_wei[i];</p><p><b>  weil=1;</b></p><p><b>  weil=0;</b></p><p><b>  P0=s[i];</b></p><p><b>  duanl=1;</b>&l

44、t;/p><p><b>  duanl=0;</b></p><p><b>  delay(4);</b></p><p><b>  P0=0;</b></p><p><b>  duanl=1;</b></p><p><

45、;b>  duanl=0;</b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  9</b></p><p><b>  七、調(diào)試結(jié)果</b></p>&l

46、t;p>  本裝置將實現(xiàn)0—99的計數(shù),第4個數(shù)碼管10ms跳轉(zhuǎn)一次,第3個數(shù)碼管100ms跳轉(zhuǎn)一次,第2個數(shù)碼管1s跳轉(zhuǎn)一次,第1個數(shù)碼管10s跳轉(zhuǎn)一次。具體如下:</p><p>  1、開機時數(shù)碼管顯示0000</p><p>  2、按k1 開始計時數(shù)碼管從00開始計數(shù)到99結(jié)束再從00開始循環(huán)</p><p>  3、按k2 停止計時數(shù)碼管顯示當前數(shù)

47、值</p><p>  4、按k3 復位,從00開始計數(shù)</p><p><b>  八、設計結(jié)論與體會</b></p><p><b>  1、設計結(jié)論</b></p><p> ?。?)在設計中,由于對單片機開發(fā)板的不了解,很多接口都不知如何連接,但通過自己的查閱資料和上網(wǎng)搜索終于弄懂了<

48、/p><p> ?。?)由于對單片機c語言程序編寫的不熟悉,很多指令不理解,但最后通過查看課本把它解決了</p><p>  (3)由于單片機的不穩(wěn)定開始運行時顯示不出來,但是通過檢查線路,把問題給找出來了,由于有些線插得不穩(wěn)定而造成的。</p><p><b>  2、心得體會</b></p><p>  經(jīng)過幾個星期的課

49、程設計,我學會了很多知識和技能。我從一開始對單片機一竅不通到現(xiàn)在的理解,我花費了很多的時間和精力,比如上網(wǎng)查閱資料,去圖書館借相關的書籍,向身邊的同學討教等等。我重新對c語言又有了一些新的理解,也對單片機產(chǎn)生了濃厚的興趣。單片機對于我們電子專業(yè)的學生來說是一門很重要的學科,所以我們要好好學號這一門技術(shù),這對于我們未來的發(fā)展有很大的幫助。</p><p>  下面我來談談本人通過這次課程設計的一些體會:</p

50、><p>  (1)、這段日子里,通過學習的理論知識和實踐相結(jié)合,我收獲了很多,這些收獲將是我人生的寶貴財富。</p><p><b>  10</b></p><p>  (2)、通過這次課程設計,讓我養(yǎng)成了發(fā)現(xiàn)問題、提出問題、解決問題的好習慣,也使我善于思考和動手,更增強了我與同學們的交流合作。</p><p>  (3

51、)、這次課程設計不僅讓我對c語言有了很大的認識,使我的編程能力有了很大的提高,也讓我對單片機產(chǎn)生了濃厚的興趣。</p><p>  (4)、通過這次課程設計,切實的提高了我的動手能力和解決實際問題的能力。</p><p>  總之,這次課程設計雖然沒有達到我的預期,但是結(jié)果我還是可以接受的,畢竟這是自己的第一次接觸單片機。通過這次課程設計,不僅加深了我對c語言的理解,更是讓我認識了單片機理

52、論,鍛煉了我的動手能力和思考能力,使我養(yǎng)成了做事耐心和細心的習慣。</p><p>  最后感謝老師的指導和同學們的幫助。</p><p><b>  九、參考文獻</b></p><p>  [1]于海生。微型計算機控制技術(shù)、清華大學出版社</p><p>  [2]周立功。單片機實驗與實踐、北京航空航艦大學出版社&l

溫馨提示

  • 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

提交評論