版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、單片機課程設計報告基于51單片機的數(shù)字秒表設計專業(yè):通信工程學號:11100640225姓名:羅宏 時間:2014-6-26目錄一、 課程名稱1二、 設計目的和意義1三、 任務要求1四、 任務分析、設計方案1五、 具體實現(xiàn)過程9六、 仿真、實驗驗證過程及實現(xiàn)結(jié)果、現(xiàn)象12七、 結(jié)論14八、 總結(jié)與體會14一、 課題名稱基于51單片的數(shù)字秒表設計二、 目的和意義1、通過本次課程設計可以靈活運用單片機的基礎知識,依據(jù)課程設計內(nèi)容,能夠完成從硬件電路圖設計,到電路搭建焊接,再到軟件編程及系統(tǒng)調(diào)試實現(xiàn)系統(tǒng)功能,完成課程設計,加深對單片機基礎知識的理解,并靈活運用,將各門知識綜合應用。 2、本
2、次課程設計還可以通過上網(wǎng)查詢器件資料,培養(yǎng)對新知識新技術的獨立的學習能力和應用能力。3、在這次課程設計中,我們運用到了很多一切所學的知識和一些很有用的軟件和工具,如keil4編程軟件、Proteus仿真軟件、Visio軟件、等。4、通過獨立完成一個小的數(shù)字秒表系統(tǒng)設計,從硬件設計到軟件設計,增強分析問題、解決問題的能力,為日后的畢業(yè)設計及科研工作奠定良好的基礎。5、掌握51單片機軟件編程知識、實現(xiàn)功能、設計方法,及KEIL軟件使用方法; 6、應用所學模擬電子線路的知識,掌握電路的設計與應用;7、熟悉PROTEUS的設計與仿真;8、STCISP的使用方法;9、掌握焊接電子元器件的方法以及查閱元件
3、功能與參數(shù)的方法、步驟。三、 設計目標或任務要求1 、設計目標以單片機為核心,設計數(shù)字秒表。通過硬件電路設計,軟件設計,電路搭建,作品調(diào)試。最后完成本次課程設計。2 、設計要求1、計時范圍:059分59.59秒,整數(shù)四位數(shù)和小數(shù)兩位數(shù)顯示;2、計時精度10毫秒;3、復位按鈕,計時器清零,并做好下次及時準備;4、可以對三個對象(A、B)計時,具有啟/??刂?;5、設開始、停止A、停止B、顯示A、顯示B、復位按鈕。 四、 任務分析、設計方案1、 任務分析數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設計用單片機組成數(shù)字電子秒表,力求結(jié)構簡單、精度高為目標。設計中包括硬件電路的
4、設計和系統(tǒng)程序的設計。其硬件電路主要有主控制器,計時與顯示電路和回零、啟動和停表電路等。主控制器采用單片機89C52顯示電路采用共陽極LED數(shù)碼管顯示計時時間。本設計利用89C52單片機的定時器/計數(shù)器定時和記數(shù)的原理,使其能精確計時。利用中斷系統(tǒng)使其能實現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.4口作列掃描輸出,P1.1、P3.2、P3.3、P2.5口接四個按鈕開關,分別實現(xiàn)開始、暫停、清零和查看上次計時時間功能。電路原理圖設計最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照圖1.1進行設計。圖1.1 數(shù)字秒表硬件電路基本原理圖計時采用
5、定時器T0中斷完成,定時溢出中斷周期為1ms,當一處中斷后向CPU發(fā)出溢出中斷請求,每發(fā)出一次中斷請求就對毫秒計數(shù)單元進行加一,達到10次就對十毫秒位進行加一,依次類推,直到99.99秒重新復位。 再看按鍵的處理。這四個鍵可以采用中斷的方法,也可以采用掃描的方法來識別。復位鍵和查看主要功能在于數(shù)值復位和查詢上次計時時間,對于時間的要求不是很嚴格。而開始和停止鍵則是用于對時間的鎖定,需要比較準確的控制。因此可以對復位和查看按鍵采取掃描的方式。而對開始和停止鍵采用外部中斷的方式。設計中包括硬件電路的設計和系統(tǒng)程序的設計。其硬件電路主要有主控制器,顯示電路和回零、啟動、查看、計次電路等。主控制器采用
6、單片機89C52,顯示電路采用共陽極LED數(shù)碼管顯示計時時間,四個按鍵均采用觸點式按鍵。2、單片機的選擇本課題在選取單片機時,充分借鑒了許多成形產(chǎn)品使用單片機的經(jīng)驗,并根據(jù)自己的實際情況,選擇了stc公司的89C52。89C52單片機采用40引腳的雙列直插封裝方式。圖1.2為引腳排列圖, 40條引腳說明如下:主電源引腳Vss和Vcc Vss接地 Vcc正常操作時為+5伏電源外接晶振引腳XTAL1和XTAL2 XTAL1內(nèi)部振蕩電路反相放大器的輸入端,是外接晶體的一個引腳。當采用外部振蕩器時,此引腳接地。 XTAL2內(nèi)部振蕩電路反相放大器的輸出端。是外接晶體的另一端。當采用外部振蕩器時,此引腳接
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口,在訪問外部存儲器時,它是分時傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動八個LSTTL負載。 P1口(P1.0 - P1.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。 P2口(P2.0 - P2.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口,在訪問外部存儲器
8、時,它輸出高8位地址。P2口可以驅(qū)動(吸收或輸出電流)四個LSTTL負載。 P3口(P3.0 - P3.7)是一個帶有內(nèi)部提升電阻的8位準雙向I/O口。能驅(qū)動(吸收或輸出電流)四個LSTTL負載。(1) 運算器運算器的功能是進行算術運算和邏輯運算??梢詫Π胱止?jié)(4位)、單字節(jié)等數(shù)據(jù)進行操作。(2) 程序計數(shù)器PC程序計數(shù)器PC用來存放即將要執(zhí)行的指令地址,共16位,可對64K程序存儲器直接尋址。執(zhí)行指令時,PC內(nèi)容的低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。(3) 令寄存器指令寄存器中存放指令代碼。CPU執(zhí)行指令時,由程序存儲器中讀取的指令代碼送入指令寄存器,經(jīng)譯碼后由定時與控制電路發(fā)出相應的控
9、制信號,完成指令功能。3、 顯示電路的選擇與設計對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。本設計的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種。由于本設計需要采用五位數(shù)碼管顯示時間,如果靜態(tài)顯示則占用的口線多,硬件電路復雜。所以采用動態(tài)顯示。圖1.3 顯示電路基本原理圖動態(tài)顯示是一位一位地輪流點亮各位數(shù)碼管,這種逐位點亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應并聯(lián)在一起,由一個8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動態(tài)方式顯示時,各數(shù)碼管分時輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時刻只選通一位數(shù)碼管,并送出相
10、應的段碼,在另一時刻選通另一位數(shù)碼管,并送出相應的段碼,依此規(guī)律循環(huán),即可使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同的時刻分別顯示,但由于人眼存在視覺暫留效應,只要每位顯示間隔足夠短就可以給人同時顯示的感覺。數(shù)碼顯示管分為共陽數(shù)碼管和共陰數(shù)碼管兩種共陽極數(shù)碼管的8個發(fā)光二極管的陽極(二極管正端)連接在一起,如圖1.4(b),通常,公共陽極接高電平(一般接電源),其它管腳接段驅(qū)動電路輸出端。當某段驅(qū)動電路的輸出端為低電平時,則該端所連接的字段導通并點亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時,要求段驅(qū)動電路能吸收額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的
11、限流電阻。圖1.4 (a)數(shù)碼管引腳圖 (b)共陽極內(nèi)部結(jié)構圖 (c)共陰極內(nèi)部結(jié)構圖最大 4 、按鍵電路的選擇與設計本設計中有四個按鍵,分別實現(xiàn)開始、暫停、復位和計次功能。這四個鍵可以采用中斷的方法,也可以采用查詢的方法來識別。對于復位鍵和查看鍵,主要功能在于數(shù)值復位和對上次計時時間的查看,對于時間的要求不是很嚴格,而開始和暫停鍵主要用于時間的鎖定,需要比較準確的控制。因此可以考慮,對復位鍵和查看鍵采用查詢的方式,而對于開始和暫停鍵采用外部中斷。四個按鍵均采用低電平有效,具體電路連接圖如圖1.5所示。5、 時鐘電路的選擇與設計單片機的時鐘信號用來提供單片機內(nèi)各種微操作的時間基準,8051片內(nèi)
12、設有一個由反向放大器所構成的振蕩電路,XTAL1和 XTAL2分別為振蕩電路的輸入和輸出端,8051單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式與外部振蕩方式。外部方式的時鐘很少用,若要用時,只要將XTAL1接地,XTAL2接外部振蕩器就行。對外部振蕩信號無特殊要求,只要保證脈沖寬度,一般采用頻率低于11.05926MHz的方波信號。圖中,電容器C1 、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為533pF。但在時鐘電路的實際應用中一定要注意正確選擇其大小,并保證電路的對稱性,盡可能匹配,選用正牌的瓷片或云母電容,如果可能的話,溫度系數(shù)盡可能低。本設計中采用大小為30pF
13、的電容和11.05926MHz的晶振。圖1.6 內(nèi)部振蕩電路6、 復位電路的選擇與設計當8051單片機的復位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就完成了復位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài),而無法執(zhí)行程序。因此要求單片機復位后能脫離復位狀態(tài)。而本系統(tǒng)選用的是11.05926MHz的晶振,因此一個機器周期為1.09s,那么復位脈沖寬度最小應為2.18s。在實際應用系統(tǒng)中,考慮到電源的穩(wěn)定時間,參數(shù)漂移,晶振穩(wěn)定時間以及復位的可靠性等因素,必須有足夠的余量。根據(jù)應用的要求,復位操作通常有兩種基本形式:上電復位、手動復位。圖1.10 單片機復位電路
14、7、 系統(tǒng)總電路的設計系統(tǒng)總電路由以上設計的顯示電路,時鐘電路,按鍵電路和復位電路組成,只要將單片機與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖附錄B所示。8051單片機為主電路的核心部分,各個電路均和單片機相連接,由單片機統(tǒng)籌和協(xié)調(diào)各個電路的運行工作。8051單片機提供了XTAL1和XTAL2兩個專用引腳接晶振電路,因此只要將晶振電路接到兩個專用引腳即可為單片機提供時鐘脈沖,但在焊接晶振電路時要盡量使晶振電路靠近單片機,這樣可以為單片機提供穩(wěn)定的始終脈沖。 復位電路同晶振電路,單片機設有一個專用的硬件復位接口,并設置為高電平有效。按鍵電路與單片機的端口連接可以由用戶自己設定,本
15、設計中軟件復位鍵和查看鍵分別接單片機的P1.1和P2.5,均設為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到單片機的特殊接口P3.3和P3.2,這兩個I/O口的第二功能分別為單片機的外部中斷1端口和外部中斷0端口。同樣設置為位低電平有效。顯示電路由五位數(shù)碼管組成,采用動態(tài)顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,8051的P0口沒有集成上拉電阻,高電平的驅(qū)動能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動能力。五位位控制則由低位到高位分別接到P2.0P2.4口,NPN三極管
16、9013做為位控制端的開關,當P2.0P2.4端口任意一個端口為高電平時,與其相對應的三極管就導通,對應的數(shù)碼管導通顯示。通過以上設計已經(jīng)將各部分電路與單片機有機的結(jié)合到一起,硬件部分的設計以大功告成,剩下的部分就是對單片機的編程,使單片機按程序運行,實現(xiàn)數(shù)字電子秒表的全部功能。五、 具體實現(xiàn)過程1、對數(shù)字秒表設計進行分析,敲定幾組方案;2、在PROTUES軟件中,畫電路圖,進行仿真、調(diào)試;3、對自己想要實現(xiàn)的秒表現(xiàn)象進行編程,運用KEIL軟件;并于Proteus聯(lián)調(diào)。4、調(diào)試過程中要不斷改進自己的方案;6、測試各個所需元件,STC89C52RC,數(shù)碼管。7、將方案敲定之后,對LED數(shù)字秒表進
17、行焊接其中最主要的是對最小系統(tǒng)的焊接時非常關鍵的,在進行焊接數(shù)碼管時,很關鍵。8、將最小系統(tǒng)焊接好以后要用數(shù)字萬用表進行測試,首先要測試有沒有短接、斷接的地方,再將焊好的板子放在電源上進行加電,看電路板子是否正常工作。9、將最小系統(tǒng)板子與數(shù)碼管板子連在一個,通過USB口與電腦相連,打開串口助手,將KEIL軟件中的程序下載到單片機中,進行驗證。10、具體程序/* 文 件 名 : 秒表.c * 描 述 : 基于51單片機的數(shù)碼管數(shù)字秒表;帶有指示燈,蜂鳴器,按鍵(啟動、清零、計次)* 創(chuàng) 建 人 : 羅宏 * 單 位 : 佳木斯大學 信息電子技術學院 電子協(xié)會 * 日 期 : 2014.6.26*
18、 開 發(fā) 環(huán) 境: Keil 4* 郵 箱 : 744544126* 晶 振 :11.05926MHZ* 版 本 號 : */#include<reg52.h>#define uint unsigned int /宏定義無符號整型#define uchar unsigned char /宏定義無符號字符型#define DUAN (P0) /宏定義數(shù)碼管段代碼#define WEI (P2) /宏定義數(shù)碼管位代碼sbit keystart_stop =P32;/定義啟動/停止按鍵sbit keyrest =P33;/定義復位/清零按鍵sbit keyrecord=P34;/定義計數(shù)
19、/存儲按鍵sbit keydispaly = P35;/定義計數(shù)/顯示按鍵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; /共陽數(shù)碼管數(shù)組不帶點顯示uchar code table2 = 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x58,0x00,0x10; /共陽數(shù)碼管
20、帶點顯示/*函數(shù)名稱: 延時函數(shù) delay功 能: 延時指定毫秒?yún)?數(shù): uchar x返 回 值: 無*/void delay(uchar x) uint b,c; for(b = x;b>0;b-) for(c = 110;c>0;c-);/*函數(shù)名稱: 定時器初始化函數(shù)time_init(void)功 能: 定時器初始化參 數(shù): 無返 回 值: 無*/void time_init(void)msec5=0;TMOD = 0x01;TH0 = (65536-9174)/256; TL0 = (65536-9174)%256;ET0 = 1;TR0 = 1;EA = 1; /*
21、函數(shù)名稱: 顯示函數(shù)display()功 能: 數(shù)碼管顯示參 數(shù): 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(sec
22、%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; /*函數(shù)名稱: 蜂鳴器函數(shù)功 能: 蜂鳴器發(fā)聲參 數(shù):
23、無返 回 值: 無*/void beep_led() beep = 0; delay(600); beep = 1; delay(600); led = 0; delay(600); led = 1;/*函數(shù)名稱: 按鍵函數(shù) 功 能: 調(diào)試按鍵的函數(shù)參 數(shù): 無返 回 值: 無*/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; msec5
24、=0; msec10=0, second=0; minute=0; beep_led(); while(!keyrest); /*函數(shù)名稱: 主函數(shù) 功 能: 參 數(shù): 無返 回 值:*/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(); / 鍵盤的掃描函數(shù)一定要放在while循環(huán)里邊 msec=msec10; sec=second; min=minute; if(flag=1) displ
25、ay(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(!keyrecor
26、d); if(keydispaly=0)delay(5);if(keydispaly=0)beep_led();flag+;if(flag>2)flag=0;while(!keydispaly);/*函數(shù)名稱: 中斷函數(shù) 功 能: 參 數(shù): 無返 回 值:*/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 為1minut
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國多層陶瓷基板行業(yè)需求動態(tài)與盈利前景預測報告
- 2024-2030年中國復合消化酶產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報告
- 2024-2030年中國塑料阻隔層壓管行業(yè)營銷動態(tài)與盈利前景預測報告
- 2024-2030年中國地被植物行業(yè)發(fā)展分析及投資規(guī)劃研究報告
- 2024-2030年中國噴霧干燥機械行業(yè)銷售模式與競爭趨勢預測報告
- 2024-2030年中國味付海苔行業(yè)市場運營模式及未來發(fā)展動向預測報告
- 2024-2030年中國合同能源管理(EMC)行業(yè)發(fā)展規(guī)劃及項目投資分析報告
- 2024-2030年中國發(fā)泡設備行業(yè)市場深度調(diào)研及發(fā)展趨勢與投資前景預測研究報告
- 2024-2030年中國廚房專用電器產(chǎn)業(yè)未來發(fā)展趨勢及投資策略分析報告
- 2024年工程改造建設項目合同樣本
- 電動叉車堆垛車日常點檢表
- 2022年1月浙江高考讀后續(xù)寫分析課件-2023屆高三英語寫作專項突破
- 危險化學品和煙花爆竹安全管理
- 細胞工程學:第9章 植物離體受精
- 統(tǒng)編版高一語文必修上冊主題寫作:“生命的詩意”作文+課件19張
- 山東航空招飛報名表
- 第23課《孟子三章-富貴不能淫》對比閱讀 (含答案)
- MORA-Super技術與功能(完整版)
- 第一單元勞動編織美好生活(教案)四年級上冊綜合實踐活動勞動教育通用版
- 外墻鋁格柵施工方案
- 醫(yī)院家庭病床工作流程及注意事項學習培訓課件
評論
0/150
提交評論