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

下載本文檔

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

文檔簡(jiǎn)介

1、 摘要 近年來(lái)隨著科學(xué)技術(shù)的發(fā)展,單片機(jī)的應(yīng)用正在不斷走下面還深入。本文簡(jiǎn)單闡述了基于單片機(jī)的數(shù)字秒表的的設(shè)計(jì)。本設(shè)計(jì)的主要特點(diǎn)是計(jì)時(shí)精度達(dá)到0.01秒,是各種體育競(jìng)賽的必要設(shè)備之一。 本設(shè)計(jì)的數(shù)字秒表采用at89s52單片機(jī)為主要器件,利用其定時(shí)器的原理,結(jié)合顯示電路、led數(shù)碼管以及外部外部中斷電路來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟硬件結(jié)合起來(lái),使得系統(tǒng)能實(shí)現(xiàn)099.99秒的計(jì)時(shí),計(jì)時(shí)精度位0.01秒。硬件系統(tǒng)利用proteus仿真,在仿真中就能觀察到系統(tǒng)的實(shí)際運(yùn)行情況。關(guān)鍵字:?jiǎn)纹瑱C(jī) 數(shù)字秒表 仿真 一 硬件設(shè)計(jì) 1、1 總體方案的設(shè)計(jì)數(shù)字秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛應(yīng)用。本設(shè)

2、計(jì)中用單片機(jī)和數(shù)碼管組成數(shù)字秒,表力求結(jié)構(gòu)簡(jiǎn)單。設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。硬件電路主要有主控制器、控制按鈕與顯示電路組成。主控制器采用單片機(jī)at89s52,顯示電路采用四位共陰極數(shù)碼管顯示計(jì)時(shí)時(shí)間。本設(shè)計(jì)利用at89s52單片機(jī)的定時(shí)器,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其實(shí)現(xiàn)啟動(dòng)和暫停的功能,p0口輸出段碼數(shù)據(jù),p2.0p2.2連上譯碼器作為位選,p3.2和p3.3接口的兩個(gè)按鈕分別實(shí)現(xiàn)啟動(dòng)和暫停功能。設(shè)計(jì)的基本要求是正確性。硬件電路按下圖進(jìn)行設(shè)計(jì)。 at89s52單片機(jī)控制開(kāi)關(guān)四位數(shù)碼管位控制 計(jì)時(shí)器采用t0中斷實(shí)現(xiàn),定時(shí)溢出中斷周期為1ms,當(dāng)溢出中斷后向cpu發(fā)出溢出中斷請(qǐng)

3、求,每發(fā)出10次中斷請(qǐng)求就對(duì)10ms位(即最后一位)加一,達(dá)到100次就對(duì)100ms位加一,以此類推,直到99.99s為止。 再看按鍵的處理。兩個(gè)按鍵采用中斷的方法,設(shè)置外部中斷0和外部中斷1位脈沖邊沿觸發(fā)方式,這樣一來(lái)每當(dāng)按鍵按下時(shí)便會(huì)觸發(fā)中斷,從而實(shí)現(xiàn)啟動(dòng)和暫停。1.2 單片機(jī)的選擇 本設(shè)計(jì)在選取單片機(jī)時(shí),充分借鑒了許多成型產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn)。并根據(jù)自己的實(shí)際情況,選用了atmel公司的at89s52。 atmel公司的89系列單片機(jī)以其卓越的性能、完善的兼容性、快捷便利的電擦寫(xiě)操作、低廉的價(jià)格完全替代了87c51/62和8751/52,低電壓、低功耗,有dip、plcc、qfp封裝,是

4、目前性能最好、價(jià)格最低、最受歡迎的單片機(jī)之一。 at89s52為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)at89s52單片機(jī)采用40腳的dip封裝,如下所示。p1.0 vccp1.1 p0.0p1.2 p0.1p1.3 p0.2p1.4 p0.3p1.5 p0.4p1.6 p0.5p1.7 p0.6rst/vpd p0.7p3.0 vppp3.1 alep3.2 psenp3.

5、3 p2.7p3.4 p2.6p3.5 p2.5p3.6 p2.4p3.7 p2.3 p2.2xtal2 xtal1 p2.1vss p2.0(1)主電源引腳vss和vcca、 vss接地b、 vcc正常操作時(shí)為+5v接地外接晶振引腳xtal1和xtal2a、xtal1內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的一個(gè)引腳。當(dāng)采用外部振蕩時(shí),此引腳接地。b、xtal2內(nèi)部振蕩電路反相放大器的輸出端,是外接晶體的的另一端。當(dāng)采用外部振蕩時(shí),此引腳接外部振蕩源。(2)控制或與其他電源復(fù)用引腳a、rst/vpd 當(dāng)振蕩器運(yùn)行是,在此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平(由低到高跳變),將使單片機(jī)復(fù)位在vcc

6、掉電期間,此引腳可接上備用電源,由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ī)器周期內(nèi)兩次有效。d、ea/vpp 內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器選擇端。當(dāng)ea/vpp位高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,當(dāng)ea/vpp為低電平時(shí),則訪問(wèn)外部程序存儲(chǔ)器。對(duì)于eprom編程期間,此引腳上加

7、21veprom編程電源(vpp)。(3)輸入/輸出引腳p0.0p0.7,p1.0p1.7,p2.0p2.7,p3.0p3.7。a、p0口(p0.0p0.7)是一個(gè)8位漏極開(kāi)路型雙向i/o口,在訪問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)傳送的低字節(jié)地址和數(shù)據(jù)總線,p0口能以吸收電流的方式驅(qū)動(dòng)八個(gè)lsttl負(fù)載。b、p1口(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口,在訪問(wèn)外部存儲(chǔ)器時(shí),它輸出高8位地址。p2口可以驅(qū)動(dòng)四個(gè)lsttl負(fù)載。d、p3口(p3.0p3.7)是一個(gè)帶有內(nèi)部上拉電阻的8位

8、準(zhǔn)雙向i/o口。能驅(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ī)本身沒(méi)有專門的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、響應(yīng)速度快、價(jià)格便宜、易于購(gòu)買等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺(jué)效果,很適合夜間或者遠(yuǎn)距離操作。因此在本設(shè)計(jì)中,我們采用7段數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)

9、需要采用四位數(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í)刻分別顯示,但由于人眼存在視覺(jué)暫留效應(yīng),只要每位顯示間隔足夠短就可以給人同時(shí)顯示的感覺(jué)。at89s

10、52段驅(qū)動(dòng)位驅(qū)動(dòng)四位數(shù)碼管1.4系統(tǒng)總體電路的設(shè)計(jì)系統(tǒng)總體電路如下圖所示at89s52單片機(jī)為主電路的核心部分,各個(gè)電路均與單片機(jī)相連,由單片機(jī)統(tǒng)籌協(xié)調(diào)各個(gè)電路的運(yùn)行工作。開(kāi)始鍵和暫停鍵使用了外部中斷,所以需要連到單片機(jī)的p3.2和p3.3引腳上,這兩個(gè)i/o口的第二功能是單片機(jī)的外部中斷0端口和外部中斷1端口。顯示電路由四位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制和4位位控制,8位段接控制接p0口,p0.0p0.7分別控制數(shù)碼管的a b c d e f g dp顯示,位控制接在p2.0和p2.1兩個(gè)口,在通過(guò)一個(gè)24譯碼器實(shí)現(xiàn)位控制。二 軟件設(shè)計(jì)2.1主程序設(shè)計(jì)本系統(tǒng)程序主要模塊由主程

11、序、定時(shí)中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序之間的關(guān)系。主程序主要是設(shè)置定時(shí)器大的工作模式,對(duì)定時(shí)器賦初值,開(kāi)總中斷、兩個(gè)外部中斷以及定時(shí)器溢出中斷。并設(shè)置外部中斷為脈沖邊沿觸發(fā)方式。2.2中斷程序設(shè)計(jì)本方案中用到了三個(gè)中斷:外部中斷0、外部中斷1和定時(shí)器t0溢出中斷。cpu在響應(yīng)中斷時(shí),先處理高級(jí)中斷,后處理低級(jí)中斷,若有多個(gè)同級(jí)中斷時(shí),則應(yīng)按自然優(yōu)先順序處理。例如當(dāng)cpu正在處理一個(gè)中斷申請(qǐng)時(shí),又出現(xiàn)了另一個(gè)優(yōu)先級(jí)比它高的中斷請(qǐng)求,這時(shí),cpu就暫停對(duì)當(dāng)前優(yōu)先級(jí)較低的中斷源的服務(wù),轉(zhuǎn)去響應(yīng)優(yōu)先級(jí)比它

12、高的中斷請(qǐng)求,并為其服務(wù)。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來(lái)較低級(jí)的中斷服務(wù)程序。而當(dāng)cpu為級(jí)別高的中斷服務(wù)程序服務(wù)時(shí),如果級(jí)別低的中斷發(fā)出中斷請(qǐng)求,此時(shí)cpu是不會(huì)響應(yīng)的,所以為了避免開(kāi)始和暫停兩個(gè)按鍵中的一個(gè)出現(xiàn)沒(méi)有響應(yīng)的情況,在進(jìn)行編程是要注意中斷的使用,避免出現(xiàn)中斷的嵌套。合理分配中斷對(duì)本設(shè)計(jì)是很重要的。(1)外部中斷0服務(wù)程序外部中斷0服務(wù)程序結(jié)合外部p3.2鍵實(shí)現(xiàn)數(shù)字秒表的啟動(dòng)功能。流程如下圖所示。外部中斷0入口啟動(dòng)定時(shí)器t0 tr0=1中斷返回(2)外部中斷1服務(wù)程序外部中斷1服務(wù)程序結(jié)合外部p3.3鍵實(shí)現(xiàn)數(shù)字秒表的停止功能。流程圖如下所示。外部中斷1入口停止計(jì)時(shí)tr1=0 中斷返回(

13、3)定時(shí)器t0中斷服務(wù)程序當(dāng)t0一處后,向cpu發(fā)出中斷請(qǐng)求信號(hào)。cpu跳轉(zhuǎn)到定時(shí)中斷程序執(zhí)行,具體流程如下。定時(shí)器中斷入口重裝計(jì)數(shù)初值中斷次數(shù)加1中斷次數(shù)到10嗎中斷次數(shù)清零,0.01秒位加一0.01秒位到10嗎0.01秒位清零,0.1秒位加一0.1秒位到10嗎0.1秒位清零,1秒位加一1秒位到10嗎1秒位清零,10秒位加一10秒位到10嗎10秒位清零中斷返回2.3程序清單#include<reg52.h>unsigned int data table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /顯示碼值unsigned

14、 int i,j,k,l,count;void delay(unsigned int z) /延時(shí)程序unsigned int x,y;for(x=z;x!=0;x-)for(y=110;y!=0;y-);void main()tmod=0x01; /設(shè)置定時(shí)器為模式1th0=(65536-1000)/256; /給定時(shí)器賦定時(shí)初值tl0=(65536-1000)%256; ea=1; /開(kāi)中斷ex0=1;ex1=1;et0=1;it0=1; /設(shè)置外部中斷位脈沖邊沿觸發(fā)方式 it1=1; while(1) / 數(shù)碼顯示p2=0x03;p0=tablei;delay(1);p2=0x02;p0

15、=tablej;delay(1);p2=0x01;p0=(tablek+0x80);delay(1);p2=0x00;p0=tablel;delay(1);void ex0() interrupt 0 /外部中斷0tr0=1; /開(kāi)定時(shí)器,開(kāi)始計(jì)數(shù)void ex1() interrupt 2 /外部中斷0tr0=0; /停止計(jì)數(shù)void timer0() interrupt 1 /定時(shí)器t0溢出中斷th0=(65536-1000)/256; /重裝計(jì)數(shù)初值tl0=(65536-1000)%256;count+; /溢出中斷次數(shù)加一if(count=10)count=0;i+; /溢出10次,0

16、.01s位加一if(i=10)i=0; /0.01s位到10了,清零,0.1s位加一j+;if(j=10)j=0; /0.1s位到10了,清零,1s位加一k+;if(k=10)k=0; /1s位到10了,清零,10s位加一l+;三 系統(tǒng)調(diào)試proteus isis是英國(guó)labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件,它可以仿真、分析各種模擬器件和集成電路。該軟件的主要特點(diǎn)為:實(shí)現(xiàn)了單片機(jī)仿真和spice電路仿真相結(jié)合的功能,支持目前主流單片機(jī)系統(tǒng)的仿真,提供了軟件調(diào)試的功能,具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和spice分析于一身的仿真軟件,功能極其強(qiáng)大。在電子領(lǐng)域中起到

17、了很大的作用,它的出現(xiàn)仿真不需要先焊接電路板,可以先仿真調(diào)試通過(guò)之后再焊接電路,節(jié)省了不少在硬件調(diào)試上花費(fèi)的時(shí)間。打開(kāi)已經(jīng)畫(huà)好的proteus dsn文件,雙擊圖中的at89s52芯片,就彈出一個(gè)窗口,在program file項(xiàng)中通過(guò)路徑選擇在keil中生成hex文件,雙擊選中后確定,這樣仿真圖中的at89s52芯片就已經(jīng)讀取了本設(shè)計(jì)中的hex文件。然后進(jìn)行仿真,仿真圖如下所示。系統(tǒng)運(yùn)行時(shí)的情況:四 結(jié)束語(yǔ)本設(shè)計(jì)的數(shù)字秒表是由at89s52單片機(jī)、共陰極數(shù)碼管和控制按鍵等器件組成的,設(shè)有四位計(jì)時(shí)顯示。計(jì)時(shí)精度能達(dá)到0.01s。系統(tǒng)設(shè)計(jì)合理,線路簡(jiǎn)單,性能穩(wěn)定、程序簡(jiǎn)單。給出了較為詳盡的電路設(shè)計(jì)方法。本系統(tǒng)以單片機(jī)為核心,但僅單片機(jī)方面的知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟硬件結(jié)合,以作完善。本系統(tǒng)主要由三章完成,第一章中,主要是硬件電路和其實(shí)現(xiàn)的功能,在本次設(shè)計(jì)中各部分都實(shí)現(xiàn)了其功能。在第二章中,主要介紹的是軟件實(shí)現(xiàn)過(guò)程的框圖。在第三章中,粗略地介紹了硬件和軟件的調(diào)試,最終保證系能夠正常運(yùn)行。通過(guò)本次課程設(shè)計(jì),我們復(fù)習(xí)鞏固了以前所學(xué)的數(shù)字電路、單片機(jī)原理及接口技術(shù)等知識(shí),加深了對(duì)各門課程間相互關(guān)系的理解,并成功使用了keil、prote

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論