基于51單片機的數字秒表課程設計、畢業設計論文_第1頁
基于51單片機的數字秒表課程設計、畢業設計論文_第2頁
基于51單片機的數字秒表課程設計、畢業設計論文_第3頁
基于51單片機的數字秒表課程設計、畢業設計論文_第4頁
基于51單片機的數字秒表課程設計、畢業設計論文_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設計報告基于51單片機的數字秒表設計專業:通信工程學號:11100640225姓名:羅宏 時間:2014-6-26目錄一、 課程名稱1二、 設計目的和意義1三、 任務要求1四、 任務分析、設計方案1五、 具體實現過程9六、 仿真、實驗驗證過程及實現結果、現象12七、 結論14八、 總結與體會14一、 課題名稱基于51單片的數字秒表設計二、 目的和意義1、通過本次課程設計可以靈活運用單片機的基礎知識,依據課程設計內容,能夠完成從硬件電路圖設計,到電路搭建焊接,再到軟件編程及系統調試實現系統功能,完成課程設計,加深對單片機基礎知識的理解,并靈活運用,將各門知識綜合應用。 2、本

2、次課程設計還可以通過上網查詢器件資料,培養對新知識新技術的獨立的學習能力和應用能力。3、在這次課程設計中,我們運用到了很多一切所學的知識和一些很有用的軟件和工具,如keil4編程軟件、Proteus仿真軟件、Visio軟件、等。4、通過獨立完成一個小的數字秒表系統設計,從硬件設計到軟件設計,增強分析問題、解決問題的能力,為日后的畢業設計及科研工作奠定良好的基礎。5、掌握51單片機軟件編程知識、實現功能、設計方法,及KEIL軟件使用方法; 6、應用所學模擬電子線路的知識,掌握電路的設計與應用;7、熟悉PROTEUS的設計與仿真;8、STCISP的使用方法;9、掌握焊接電子元器件的方法以及查閱元件

3、功能與參數的方法、步驟。三、 設計目標或任務要求1 、設計目標以單片機為核心,設計數字秒表。通過硬件電路設計,軟件設計,電路搭建,作品調試。最后完成本次課程設計。2 、設計要求1、計時范圍:059分59.59秒,整數四位數和小數兩位數顯示;2、計時精度10毫秒;3、復位按鈕,計時器清零,并做好下次及時準備;4、可以對三個對象(A、B)計時,具有啟/停控制;5、設開始、停止A、停止B、顯示A、顯示B、復位按鈕。 四、 任務分析、設計方案1、 任務分析數字電子秒表具有顯示直觀、讀取方便、精度高等優點,在計時中廣泛使用。本設計用單片機組成數字電子秒表,力求結構簡單、精度高為目標。設計中包括硬件電路的

4、設計和系統程序的設計。其硬件電路主要有主控制器,計時與顯示電路和回零、啟動和停表電路等。主控制器采用單片機89C52顯示電路采用共陽極LED數碼管顯示計時時間。本設計利用89C52單片機的定時器/計數器定時和記數的原理,使其能精確計時。利用中斷系統使其能實現開始暫停的功能。P0口輸出段碼數據,P2.0-P2.4口作列掃描輸出,P1.1、P3.2、P3.3、P2.5口接四個按鈕開關,分別實現開始、暫停、清零和查看上次計時時間功能。電路原理圖設計最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照圖1.1進行設計。圖1.1 數字秒表硬件電路基本原理圖計時采用

5、定時器T0中斷完成,定時溢出中斷周期為1ms,當一處中斷后向CPU發出溢出中斷請求,每發出一次中斷請求就對毫秒計數單元進行加一,達到10次就對十毫秒位進行加一,依次類推,直到99.99秒重新復位。 再看按鍵的處理。這四個鍵可以采用中斷的方法,也可以采用掃描的方法來識別。復位鍵和查看主要功能在于數值復位和查詢上次計時時間,對于時間的要求不是很嚴格。而開始和停止鍵則是用于對時間的鎖定,需要比較準確的控制。因此可以對復位和查看按鍵采取掃描的方式。而對開始和停止鍵采用外部中斷的方式。設計中包括硬件電路的設計和系統程序的設計。其硬件電路主要有主控制器,顯示電路和回零、啟動、查看、計次電路等。主控制器采用

6、單片機89C52,顯示電路采用共陽極LED數碼管顯示計時時間,四個按鍵均采用觸點式按鍵。2、單片機的選擇本課題在選取單片機時,充分借鑒了許多成形產品使用單片機的經驗,并根據自己的實際情況,選擇了stc公司的89C52。89C52單片機采用40引腳的雙列直插封裝方式。圖1.2為引腳排列圖, 40條引腳說明如下:主電源引腳Vss和Vcc Vss接地 Vcc正常操作時為+5伏電源外接晶振引腳XTAL1和XTAL2 XTAL1內部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當采用外部振蕩器時,此引腳接地。 XTAL2內部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當采用外部振蕩器時,此引腳接

7、外部振蕩源。圖1.2 8051單片機引腳圖控制或與其它電源復用引腳RST/VPD,ALE/,和/Vpp輸入/輸出引腳P0.0 - P0.7,P1.0 - P1.7,P2.0 - P2.7,P3.0 - P3.7。 P0口(P0.0 - P0.7)是一個8位漏極開路型雙向I/O口,在訪問外部存儲器時,它是分時傳送的低字節地址和數據總線,P0口能以吸收電流的方式驅動八個LSTTL負載。 P1口(P1.0 - P1.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載。 P2口(P2.0 - P2.7)是一個帶有內部提升電阻的8位準雙向I/O口,在訪問外部存儲器

8、時,它輸出高8位地址。P2口可以驅動(吸收或輸出電流)四個LSTTL負載。 P3口(P3.0 - P3.7)是一個帶有內部提升電阻的8位準雙向I/O口。能驅動(吸收或輸出電流)四個LSTTL負載。(1) 運算器運算器的功能是進行算術運算和邏輯運算。可以對半字節(4位)、單字節等數據進行操作。(2) 程序計數器PC程序計數器PC用來存放即將要執行的指令地址,共16位,可對64K程序存儲器直接尋址。執行指令時,PC內容的低8位經P0口輸出,高8位經P2口輸出。(3) 令寄存器指令寄存器中存放指令代碼。CPU執行指令時,由程序存儲器中讀取的指令代碼送入指令寄存器,經譯碼后由定時與控制電路發出相應的控

9、制信號,完成指令功能。3、 顯示電路的選擇與設計對于數字顯示電路,通常采用液晶顯示或數碼管顯示。本設計的顯示電路采用7段數碼管作為顯示介質。數碼管顯示可以分為靜態顯示和動態顯示兩種。由于本設計需要采用五位數碼管顯示時間,如果靜態顯示則占用的口線多,硬件電路復雜。所以采用動態顯示。圖1.3 顯示電路基本原理圖動態顯示是一位一位地輪流點亮各位數碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數碼管的段選線相應并聯在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態方式顯示時,各數碼管分時輪流選通,要使其穩定顯示必須采用掃描方式,即在某一時刻只選通一位數碼管,并送出相

10、應的段碼,在另一時刻選通另一位數碼管,并送出相應的段碼,依此規律循環,即可使各位數碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應,只要每位顯示間隔足夠短就可以給人同時顯示的感覺。數碼顯示管分為共陽數碼管和共陰數碼管兩種共陽極數碼管的8個發光二極管的陽極(二極管正端)連接在一起,如圖1.4(b),通常,公共陽極接高電平(一般接電源),其它管腳接段驅動電路輸出端。當某段驅動電路的輸出端為低電平時,則該端所連接的字段導通并點亮,根據發光字段的不同組合可顯示出各種數字或字符。此時,要求段驅動電路能吸收額定的段導通電流,還需根據外接電源及額定段導通電流來確定相應的

11、限流電阻。圖1.4 (a)數碼管引腳圖 (b)共陽極內部結構圖 (c)共陰極內部結構圖最大 4 、按鍵電路的選擇與設計本設計中有四個按鍵,分別實現開始、暫停、復位和計次功能。這四個鍵可以采用中斷的方法,也可以采用查詢的方法來識別。對于復位鍵和查看鍵,主要功能在于數值復位和對上次計時時間的查看,對于時間的要求不是很嚴格,而開始和暫停鍵主要用于時間的鎖定,需要比較準確的控制。因此可以考慮,對復位鍵和查看鍵采用查詢的方式,而對于開始和暫停鍵采用外部中斷。四個按鍵均采用低電平有效,具體電路連接圖如圖1.5所示。5、 時鐘電路的選擇與設計單片機的時鐘信號用來提供單片機內各種微操作的時間基準,8051片內

12、設有一個由反向放大器所構成的振蕩電路,XTAL1和 XTAL2分別為振蕩電路的輸入和輸出端,8051單片機的時鐘信號通常用兩種電路形式得到:內部振蕩方式與外部振蕩方式。外部方式的時鐘很少用,若要用時,只要將XTAL1接地,XTAL2接外部振蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于11.05926MHz的方波信號。圖中,電容器C1 、C2起穩定振蕩頻率、快速起振的作用,電容值一般為533pF。但在時鐘電路的實際應用中一定要注意正確選擇其大小,并保證電路的對稱性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話,溫度系數盡可能低。本設計中采用大小為30pF

13、的電容和11.05926MHz的晶振。圖1.6 內部振蕩電路6、 復位電路的選擇與設計當8051單片機的復位引腳RST(全稱RESET)出現2個機器周期以上的高電平時,單片機就完成了復位操作。如果RST持續為高電平,單片機就處于循環復位狀態,而無法執行程序。因此要求單片機復位后能脫離復位狀態。而本系統選用的是11.05926MHz的晶振,因此一個機器周期為1.09s,那么復位脈沖寬度最小應為2.18s。在實際應用系統中,考慮到電源的穩定時間,參數漂移,晶振穩定時間以及復位的可靠性等因素,必須有足夠的余量。根據應用的要求,復位操作通常有兩種基本形式:上電復位、手動復位。圖1.10 單片機復位電路

14、7、 系統總電路的設計系統總電路由以上設計的顯示電路,時鐘電路,按鍵電路和復位電路組成,只要將單片機與以上各部分電路合理的連接就組成了系統總電路。系統總電路圖附錄B所示。8051單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統籌和協調各個電路的運行工作。8051單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩定的始終脈沖。 復位電路同晶振電路,單片機設有一個專用的硬件復位接口,并設置為高電平有效。按鍵電路與單片機的端口連接可以由用戶自己設定,本

15、設計中軟件復位鍵和查看鍵分別接單片機的P1.1和P2.5,均設為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到單片機的特殊接口P3.3和P3.2,這兩個I/O口的第二功能分別為單片機的外部中斷1端口和外部中斷0端口。同樣設置為位低電平有效。顯示電路由五位數碼管組成,采用動態顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0P0.7分別控制數碼顯示管的a、b、c、d、e、f、g、dp顯示,8051的P0口沒有集成上拉電阻,高電平的驅動能力很弱,所以需要接上拉電阻來提高P0的高電平驅動能力。五位位控制則由低位到高位分別接到P2.0P2.4口,NPN三極管

16、9013做為位控制端的開關,當P2.0P2.4端口任意一個端口為高電平時,與其相對應的三極管就導通,對應的數碼管導通顯示。通過以上設計已經將各部分電路與單片機有機的結合到一起,硬件部分的設計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現數字電子秒表的全部功能。五、 具體實現過程1、對數字秒表設計進行分析,敲定幾組方案;2、在PROTUES軟件中,畫電路圖,進行仿真、調試;3、對自己想要實現的秒表現象進行編程,運用KEIL軟件;并于Proteus聯調。4、調試過程中要不斷改進自己的方案;6、測試各個所需元件,STC89C52RC,數碼管。7、將方案敲定之后,對LED數字秒表進

17、行焊接其中最主要的是對最小系統的焊接時非常關鍵的,在進行焊接數碼管時,很關鍵。8、將最小系統焊接好以后要用數字萬用表進行測試,首先要測試有沒有短接、斷接的地方,再將焊好的板子放在電源上進行加電,看電路板子是否正常工作。9、將最小系統板子與數碼管板子連在一個,通過USB口與電腦相連,打開串口助手,將KEIL軟件中的程序下載到單片機中,進行驗證。10、具體程序/* 文 件 名 : 秒表.c * 描 述 : 基于51單片機的數碼管數字秒表;帶有指示燈,蜂鳴器,按鍵(啟動、清零、計次)* 創 建 人 : 羅宏 * 單 位 : 佳木斯大學 信息電子技術學院 電子協會 * 日 期 : 2014.6.26*

18、 開 發 環 境: Keil 4* 郵 箱 : 744544126qq * 晶 振 :11.05926MHZ* 版 本 號 : */#include<reg52.h>#define uint unsigned int /宏定義無符號整型#define uchar unsigned char /宏定義無符號字符型#define DUAN (P0) /宏定義數碼管段代碼#define WEI (P2) /宏定義數碼管位代碼sbit keystart_stop =P32;/定義啟動/停止按鍵sbit keyrest =P33;/定義復位/清零按鍵sbit keyrecord=P34;/定

19、義計數/存儲按鍵sbit keydispaly = P35;/定義計數/顯示按鍵sbit beep =P36;/定義蜂鳴器sbit led =P37;/定義uchar x,msec5,msec10,second,minute;/時間變量uchar msec,sec,min;/顯示變量uchar code table1 = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /共陽數碼管數組不帶點顯示uchar code table2 = 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x58,0x00,0x10; /共陽

20、數碼管帶點顯示/*函數名稱: 延時函數 delay功 能: 延時指定毫秒參 數: uchar x返 回 值: 無*/void delay(uchar x) uint b,c; for(b = x;b>0;b-) for(c = 110;c>0;c-);/*函數名稱: 定時器初始化函數time_init(void)功 能: 定時器初始化參 數: 無返 回 值: 無*/void time_init(void)msec5=0;TMOD = 0x01;TH0 = (65536-9174)/256; TL0 = (65536-9174)%256;ET0 = 1;TR0 = 1;EA = 1;

21、 /*函數名稱: 顯示函數display()功 能: 數碼管顯示參 數: uchar msec,uchar sec,uchar min返 回 值: 無*/void display(uchar msec,uchar sec,uchar min)DUAN = table1(msec%10)%10;/ 0.01秒 5.64%10=64%10=0.04WEI = 0x01;delay(2);WEI = 0x00; DUAN = table1(msec/10)%10;/ 0.1秒 5.64/10=56%10=0.6WEI = 0x02;delay(2);WEI = 0x00;DUAN = table2(

22、sec%10); / 1秒 564%10=6WEI = 0x04;delay(2);WEI = 0x00;DUAN = table1(sec/10); / 10秒 564/10=56%10=6WEI = 0x08;delay(2);WEI = 0x00;DUAN = table1(min%10); / 1分 564/10=56%10=6WEI = 0x10;delay(2);WEI = 0x00;DUAN = table1(min/10); / 10分 564/10=56%10=6WEI = 0x20;delay(2);WEI = 0x00; /*函數名稱: 蜂鳴器函數功 能: 蜂鳴器發聲參

23、數: 無返 回 值: 無*/void beep_led() beep = 0; delay(600); beep = 1; delay(600); led = 0; delay(600); led = 1;/*函數名稱: 按鍵函數 功 能: 調試按鍵的函數參 數: 無返 回 值: 無*/void keys() if(keystart_stop=0) delay(5); if(keystart_stop=0) TR0 = TR0;beep_led(); while(!keystart_stop); if(keyrest=0) delay(5); if(keyrest=0) TR0 = 0; ms

24、ec5=0; msec10=0, second=0; minute=0; beep_led(); while(!keyrest); /*函數名稱: 主函數 功 能: 參 數: 無返 回 值:*/void main() uchar jishu=0; uchar flag=0; uchar msec1=0,sec1=0,min1=0; uchar msec2=0,sec2=0,min2=0; time_init(); while(1) keys(); / 鍵盤的掃描函數一定要放在while循環里邊 msec=msec10; sec=second; min=minute; if(flag=1) di

25、splay(msec1,sec1,min1); else if(flag=0) display(msec,sec,min); else display(msec2,sec2,min2); if(keyrecord=0) delay(5);if(keyrecord=0) beep_led();jishu+;if(jishu>2)jishu=0;else if(jishu=1) msec1=msec10; sec1=second; min1=minute; else if(jishu=2)msec2=msec10; sec2=second; min2=minute; while(!keyre

26、cord); if(keydispaly=0)delay(5);if(keydispaly=0)beep_led();flag+;if(flag>2)flag=0;while(!keydispaly);/*函數名稱: 中斷函數 功 能: 參 數: 無返 回 值:*/void timer0 () interrupt 1 TH0 = (65536-9174)/256; TL0 = (65536-9174)%256; msec10+; /msec10加一次等于 10ms if(msec10=100) /j=100 為1s msec10 = 0; second+; if(second=60) / second=60 為

溫馨提示

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

評論

0/150

提交評論