基于51單片機(jī)的秒表設(shè)計(jì)_第1頁
基于51單片機(jī)的秒表設(shè)計(jì)_第2頁
基于51單片機(jī)的秒表設(shè)計(jì)_第3頁
基于51單片機(jī)的秒表設(shè)計(jì)_第4頁
基于51單片機(jī)的秒表設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí)訓(xùn)報(bào)告 題 目 秒表系統(tǒng)的設(shè)計(jì) 年 級(jí) 專 業(yè) 班 級(jí) 學(xué) 號(hào) 姓 名 地 點(diǎn) 日 期 目錄一,設(shè)計(jì)目標(biāo)3二,系統(tǒng)硬件設(shè)計(jì)4三,系統(tǒng)軟件設(shè)計(jì)7四,系統(tǒng)調(diào)試與設(shè)計(jì)結(jié)果12五,單片機(jī)實(shí)訓(xùn)小結(jié)13設(shè)計(jì)目標(biāo) 近年來隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)的應(yīng)用范圍越來越廣,也成為很多專業(yè)的必修課。本文簡(jiǎn)單闡述了基于單片機(jī)的秒表設(shè)計(jì)。本設(shè)計(jì)的主要特點(diǎn)是計(jì)時(shí)精度達(dá)到0.01秒,可以用來為各種體育競(jìng)賽計(jì)時(shí)等。 本設(shè)計(jì)的數(shù)字秒表采用AT89才51單片機(jī)為主要器件,利用其定時(shí)器的原理,結(jié)LED數(shù)碼管以及外部中斷電路來設(shè)計(jì)計(jì)時(shí)器。將軟硬件結(jié)合起來,使得系統(tǒng)能實(shí)現(xiàn)099.99秒的計(jì)時(shí),計(jì)時(shí)精度位0.0

2、1秒。當(dāng)按下一個(gè)鍵1時(shí),開始顯示數(shù)字,即計(jì)時(shí)開始,再按下鍵2時(shí),暫停計(jì)時(shí)并顯示剛才的結(jié)果,這個(gè)時(shí)候如果再按鍵1,則繼續(xù)計(jì)時(shí),也就是顯示的數(shù)字包括剛才的數(shù)據(jù)。按下鍵3時(shí),數(shù)據(jù)清零。系統(tǒng)硬件設(shè)計(jì) 1、1 總體方案的設(shè)計(jì)數(shù)字秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛應(yīng)用。本設(shè)計(jì)中用單片機(jī)和數(shù)碼管組成數(shù)字秒,力求結(jié)構(gòu)簡(jiǎn)單。 設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。硬件電路主要有主控制器、控制按鈕與顯示電路組成。主控制器采用單片機(jī)AT89才51,顯示電路采用四位共陰極數(shù)碼管顯示計(jì)時(shí)時(shí)間。本設(shè)計(jì)利用AT89才51單片機(jī)的定時(shí)器,使其能精確計(jì)時(shí)。利用鍵盤上的獨(dú)立按鍵實(shí)現(xiàn)開始計(jì)時(shí)和暫停以及清零。

3、P0口輸出段碼數(shù)據(jù),P2.0P2.2連上譯碼器作為位選。設(shè)計(jì)的基本要求是正確性。 計(jì)時(shí)器采用T0中斷實(shí)現(xiàn),定時(shí)溢出中斷周期為1ms,當(dāng)溢出中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出10次中斷請(qǐng)求就對(duì)10ms位(即最后一位)加一,達(dá)到100次就對(duì)100ms位加一,以此類推,直到99.99s為止。1.2 單片機(jī)的選擇 本設(shè)計(jì)在選取單片機(jī)時(shí),充分借鑒了許多成型產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn)。并根據(jù)自己的實(shí)際情況,選用了ATMEL公司的AT89才51。 ATMEL公司的89系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的電擦寫操作、低廉的價(jià)格完全替代了87C51/62和8751/52,低電壓、低功耗,有DIP、P

4、LCC、QFP封裝,是目前性能最好、價(jià)格最低、最受歡迎的單片機(jī)之一。AT89才51為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8XC52相同,其主要用于匯聚調(diào)整時(shí)的功能控制。功能包括對(duì)匯聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,匯聚調(diào)整控制,匯聚測(cè)試圖控制等。單片機(jī)外部結(jié)構(gòu)(1)主電源引腳Vss和Vcc:Vss接地,Vcc正常操作時(shí)為+5V接地。外接晶振引腳XTAL1和XTAL2a、XTAL1內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩時(shí),此引腳接地。b、XTAL2內(nèi)部振蕩電路反相放大器的輸出端,是外

5、接晶體的的另一端。當(dāng)采用外部振蕩時(shí),此引腳接外部振蕩源。(2)控制或與其他電源復(fù)用引腳a、RST/VPD 當(dāng)振蕩器運(yùn)行是,在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位在Vcc掉電期間,此引腳可接上備用電源,由VPD向內(nèi)部提供備用電源,以保持內(nèi)部RAM中的數(shù)據(jù)。b、ALE/PROG 正常操作時(shí)為ALE功能(允許地址鎖存)提供把地址的低字節(jié)鎖存到外部存儲(chǔ)器,ALE引腳以不變的頻率(振蕩器頻率的1/6)周期性的發(fā)出正脈沖信號(hào)。因此,它可以用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。c、PSEN 外部程序存儲(chǔ)器讀選通信號(hào)輸出端,在從外部程序存儲(chǔ)取指令(或數(shù)據(jù))期間,PSEN在每個(gè)機(jī)器周期

6、內(nèi)兩次有效。d、EA/Vpp 內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng)EA/Vpp位高電平時(shí),訪問內(nèi)部程序存儲(chǔ)器,當(dāng)EA/Vpp為低電平時(shí),則訪問外部程序存儲(chǔ)器。對(duì)于EPROM編程期間,此引腳上加21VEPROM編程電源(Vpp)。(3)a、P0口(P0.0P0.7)是一個(gè)8位漏極開路型雙向I/O口,在訪問外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線,P0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)LSTTL負(fù)載。b、P1,P3口(P1.0P1.7)是一個(gè)帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口。能驅(qū)動(dòng)四個(gè)LSTTL負(fù)載。c、P2口(P2.0P2.7)是一個(gè)帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口,在訪問外部存儲(chǔ)

7、器時(shí),它輸出高8位地址。P2口可以驅(qū)動(dòng)四個(gè)LSTTL負(fù)載。1.3 顯示電路的選擇與設(shè)計(jì)對(duì)于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對(duì)于一般的段式液晶屏,需要專門的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性差,不適合遠(yuǎn)距離觀看;對(duì)于具有驅(qū)動(dòng)電路和單片機(jī)接口的液晶顯示模塊,一般多采用并行接口,對(duì)單片機(jī)的接口要求較高,占用資源多;另外,AT89S52單片機(jī)本身沒有專門的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、響應(yīng)速度快、價(jià)格便宜、易于購買等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺效果,很適合夜間或者遠(yuǎn)距離操作。因此在本設(shè)計(jì)中,我們采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示

8、兩種。由于本設(shè)計(jì)需要采用四位數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜,所以采用動(dòng)態(tài)顯示。動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè)8位的I/O口控制;各位的公共陰極位選線由另外的I/O口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管并送出相應(yīng)的段碼,在另一時(shí)刻選通另一數(shù)碼管,并送出相應(yīng)的段碼,依次規(guī)律循環(huán),即可以使各位數(shù)碼管顯示將要顯示的字符,雖然這些字符是在不同時(shí)刻分別顯示,但由于人眼存在視覺暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時(shí)顯示的

9、感覺。1.4系統(tǒng)總體電路的設(shè)計(jì)系統(tǒng)總體電路如下圖所示 AT89才51單片機(jī)為主電路的核心部分,各個(gè)電路均與單片機(jī)相連,由單片機(jī)統(tǒng)籌協(xié)調(diào)各個(gè)電路的運(yùn)行工作。顯示電路由四位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制和4位位控制,8位段接控制接P0口,P0.0P0.7分別控制數(shù)碼管的a b c d e f g dp顯示。系統(tǒng)軟件設(shè)計(jì)2.1主程序設(shè)計(jì)本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、程序組成。主程序主要是對(duì)定時(shí)器賦初值,開總中斷、定時(shí)器溢出中斷。2.2定時(shí)器T0中斷服務(wù)程序當(dāng)T0一處后,向CPU發(fā)出中斷請(qǐng)求信號(hào)。CPU跳轉(zhuǎn)到定時(shí)中斷程序執(zhí)行,當(dāng)中斷次數(shù)為2時(shí)為10ms。具體流程如下:定

10、時(shí)器中斷入口重置計(jì)數(shù)初值 中斷次數(shù)加1 中斷次數(shù)等于2?中斷次數(shù)清零,0.01秒位加1 0.01秒位到10?0.01秒位清零,0.1秒位加10.1秒位到10?0.1秒位清零,1秒位加1 1秒位到10?1秒位清零,10秒位加110秒位到10?10秒位清零中斷返回。2.3 程序清單#include<reg52.h>#define uint unsigned int#define uchar unsigned charvoid delay(uint); /延時(shí)程序sbit k1=P34;/定義開始鍵sbit k2=P35;/定義暫停鍵sbit k3=P36;/定義清零鍵sbit dula

11、=P26;sbit wela=P27;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uchar tt,i,j,k,l;void display(uchar i,uchar j,uchar k,uchar l); /數(shù)碼管顯示數(shù)void main()tt=0;i=0;j=0;k=0;l=0;/數(shù)碼管顯示0TMOD=0x01; /設(shè)置定時(shí)器為模式1TH0=(65536-5000)/256; /給定時(shí)器賦定時(shí)初值TL0=(65536-5000)%256;EA=1; /開總中斷ET0=1; TR0=0; while

12、(1) if(k1=0) /判斷是否按下開始鍵delay(10); /消抖if(k1=0) TR0=1;if(k2=0) /判斷是否按下暫停鍵delay(10); /消抖if(k2=0) TR0=0;if(k3=0) /判斷是否按下清零鍵 delay(10); if(k3=0) i=0;j=0;k=0;l=0; TR0=0;/清零display(i,j,k,l); /數(shù)碼管顯示void delay(uint z)uint x,y;for(x=100;x>0;x-)for(y=z;y>0;y-); /延時(shí)void exter0() interrupt 1 /定時(shí)器溢出中斷TH0=(6

13、5536-5000)/256; /重裝計(jì)時(shí)初值TL0=(65536-5000)%256;tt+;if(tt=2)tt=0;i+; /溢出兩次,0.01秒位加1if(i=10)i=0;j+; /0.01秒位到10,0.1位加1if(j=10)j=0;k+; /0.1秒位到10,1秒位加1if(k=10)k=0;l+;/1秒位到10,10秒位加1if(l=10)l=0;/10秒位到10,清零void display(uchar i,uchar j,uchar k,uchar l)dula=1;P0=tablei; /顯示數(shù)值dula=0;wela=1;P0=0xf7;/0.01秒位顯示wela=0

14、;delay(1);dula=1;/數(shù)值顯示P0=tablej;dula=0;wela=1;P0=0xfb; /0.1秒位顯示wela=0;delay(1);dula=1; /數(shù)值顯示P0=tablek|0x80; /始終在1秒位后面顯示小數(shù)點(diǎn)dula=0;wela=1;P0=0xfd; /1秒位顯示wela=0;delay(1);dula=1;P0=tablel; /數(shù)值顯示dula=0;wela=1;P0=0xfe; /10秒位顯示wela=0;delay(1);系統(tǒng)調(diào)試與設(shè)計(jì)結(jié)果利用開發(fā)板顯示結(jié)果:通過STC-ISP V29 Beta5,將程序與開發(fā)板連接起來,此時(shí),數(shù)碼管前4位均顯示0

15、.按下鍵盤上獨(dú)立鍵中的P34鍵,開始計(jì)時(shí)。按下P35鍵,即暫停計(jì)時(shí)。此時(shí)若繼續(xù)按下P34鍵,則繼續(xù)計(jì)時(shí),在此前數(shù)據(jù)基礎(chǔ)上計(jì)時(shí)。按下P36鍵,則表示清零,數(shù)碼管前四位均顯示0。當(dāng)計(jì)數(shù)值到99.99時(shí),接下來數(shù)碼管又會(huì)回到開始那樣,從0累加并顯示。單片機(jī)實(shí)訓(xùn)小結(jié)不知不覺,十天的單片機(jī)實(shí)訓(xùn)又結(jié)束了,不得不感慨,有事做了,時(shí)間也過的超快。此前的labview實(shí)訓(xùn),由于學(xué)的不那么難,就導(dǎo)致我不是很重視,上課的時(shí)候就盼著下課。而這個(gè)單片機(jī)實(shí)訓(xùn),一直在忙活,竟然就這樣結(jié)束了。很久以前就聽說過單片機(jī),也嘗試過去圖書館借閱,可是借回來后,一直放到超期都沒動(dòng)過,后來翻了一下正文第一頁,根本不知道說的什么,從那以后

16、,就一直認(rèn)為單片機(jī)是個(gè)很難很難的東西。有了那個(gè)想法后,就一直排斥單片機(jī),覺得自己肯定學(xué)不會(huì)。所以,在8月12號(hào)到14號(hào)實(shí)訓(xùn)期間,我什么都沒干,老師講課沒聽,別人在看視頻我在玩。當(dāng)我開始看視頻的時(shí)候,別人已經(jīng)開始編程,然后用protues仿真了,這個(gè)時(shí)候我就意識(shí)到自己的問題大了。于是,開始狂追,我看的是郭天祥的51單片機(jī)視頻教程,也沒看書,沒看其他東西,就只依靠他的視頻,好在他講課的內(nèi)容也是一步一步從基本講起,在我的接受范圍之內(nèi)。剛看的時(shí)候,覺得自己當(dāng)初的排斥太錯(cuò)誤了,所以有點(diǎn)怠慢,越到后期越覺得,學(xué)單片機(jī)真耗時(shí)間,不能小覷。后來便開始認(rèn)真對(duì)待。因此,到現(xiàn)在為止,也學(xué)到了很多東西。單板機(jī)也就是將

17、CPU芯片、存儲(chǔ)器芯片、I/O接口芯片和簡(jiǎn)單的I/O設(shè)備(小鍵盤、LED顯示器)等裝配在一塊印刷電路板上,再配上監(jiān)控程序(固化在ROM中),就構(gòu)成了一臺(tái)單板微型計(jì)算機(jī)(簡(jiǎn)稱單板機(jī))。單片機(jī)的用途非常廣泛,主要有:一,實(shí)物展示、用到單片機(jī)的項(xiàng)目經(jīng)驗(yàn)介紹、手持糧庫溫度尋檢設(shè)備、畢頁設(shè)計(jì)答辯打分器、電話臺(tái)燈、自動(dòng)感應(yīng)水龍頭等等。二,工業(yè)自動(dòng)化:數(shù)據(jù)采集、測(cè)控技術(shù)。三,智能儀器儀表:數(shù)字示波器、數(shù)字信號(hào)源、數(shù)字萬用表、感應(yīng)電流表等。四,消費(fèi)類電子產(chǎn)品:洗衣機(jī)、電冰箱、空調(diào)機(jī)、電視機(jī)、微波爐、手機(jī)、IC卡、汽車電子設(shè)備等。五,通訊方面:調(diào)制解調(diào)器、程控交換技術(shù)、手機(jī)、小靈通等。六,武器裝備:飛機(jī)、軍艦、

18、坦克、導(dǎo)彈、航天飛機(jī)、魚雷制導(dǎo)、智能武器等。凡是與控制或簡(jiǎn)單計(jì)算有關(guān)的電子設(shè)備都可以用單片機(jī)來實(shí)現(xiàn),可見單片機(jī)對(duì)科技發(fā)展的作用之大。學(xué)單片機(jī)需要的基礎(chǔ):與以前所學(xué)的知識(shí)關(guān)聯(lián)很少,只需要掌握很基本的數(shù)電模電知識(shí),如二進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換,與、或、非邏輯關(guān)系等,對(duì)各種器件的概念基本上是從0開始,如果要用C語言編程,需具備簡(jiǎn)單的C語言基礎(chǔ)。而我們之前都學(xué)過C語言,這也讓我們對(duì)單片機(jī)的學(xué)習(xí)稍微簡(jiǎn)化了一點(diǎn),這樣幾乎所有人都站在了同一起跑線上。其實(shí)到現(xiàn)在,我也只學(xué)到了鍵盤那里,看了接近5集視頻,平均每集都差不多3個(gè)小時(shí),而且在看的過程中還要停下來,自己編程,再仿真。眼睛一直對(duì)著電腦,看的眼都花了,而且有些程序即使編對(duì)了,在protues仿真時(shí)也可能出錯(cuò)。后來買了開發(fā)板,就頓時(shí)覺得興趣上來了,可以準(zhǔn)確的看到自己的程序的效果,自豪感油然而生。,每天對(duì)著電腦,但是有所收獲,雖然身體受傷害,精神上卻非常開心。這也極大的提高了我對(duì)單片機(jī)的興趣。后來老師布置了作業(yè),題目是基于51單片機(jī)的秒表設(shè)計(jì),當(dāng)時(shí)聽到這個(gè)題目,憑想像再加上想到之前的labview就覺得這個(gè)設(shè)計(jì)應(yīng)該不難,因此,開始沒想著做題,還是依舊慢吞吞的看我的視頻,直到前天我企圖編程序的時(shí)候才發(fā)現(xiàn),我壓根不知道要用到哪些程序,或者說不

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論