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

下載本文檔

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

文檔簡(jiǎn)介

1、福建電力職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)報(bào)告題 目 基于單片機(jī)的電子秒表設(shè)計(jì) 自動(dòng)化工程 系 電氣自動(dòng)化 專(zhuān)業(yè) 2008 級(jí) 2 班學(xué) 號(hào) 姓 名 指導(dǎo)教師 完成日期 2010 年 12 月摘 要電子秒表在生活中的應(yīng)用,它可廣泛應(yīng)用于對(duì)運(yùn)動(dòng)物體的速度、加速度的測(cè)量實(shí)驗(yàn),還可用來(lái)驗(yàn)證牛頓第二定律、機(jī)械能守恒等物理實(shí)驗(yàn),同時(shí)也適用于對(duì)時(shí)間測(cè)量精度要求較高的場(chǎng)合.測(cè)定短時(shí)間間隔的儀表。有機(jī)械秒表和電子秒表兩類(lèi)。機(jī)械秒表與機(jī)械手表相仿,但具有制動(dòng)裝置,可精確至百分之一秒;電子秒表用微型電池作能源,電子元件測(cè)量顯示,可精確至千分之一秒。廣泛應(yīng)用于科學(xué)研究、體育運(yùn)動(dòng)及國(guó)防等方面在當(dāng)今非常注重工作效率的社會(huì)環(huán)境中,定時(shí)

2、器能給我們的工作、生活以及娛樂(lè)帶來(lái)很大的方便,充分利用定時(shí)器,能有效的加強(qiáng)我們的工作效率。數(shù)字電子秒表是利用數(shù)字電子技術(shù)把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)來(lái)完成的,具有直觀、準(zhǔn)確性高的特點(diǎn)。本設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用at89c51單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、led數(shù)碼管以及外部中斷電路來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠?qū)崿F(xiàn)led顯示,顯示時(shí)間為059秒,計(jì)時(shí)精度為0.1秒,能正確地進(jìn)行計(jì)時(shí)。其中軟件系統(tǒng)采用c語(yǔ)言編寫(xiě)程序,包括顯示程序,定時(shí)中斷服務(wù),外部中斷服務(wù)程序,延時(shí)程序等,并在wave中調(diào)試運(yùn)行,硬件系統(tǒng)利用proteus強(qiáng)大的功能來(lái)實(shí)

3、現(xiàn),簡(jiǎn)單且易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。 關(guān)鍵詞 at89c51單片機(jī);電子秒表;c語(yǔ)言目 錄第一章 緒論11.1 秒表及其發(fā)展現(xiàn)狀11.2 設(shè)計(jì)目的及意義11.3 設(shè)計(jì)內(nèi)容11.4 課題設(shè)計(jì)要求1第二章 硬件設(shè)計(jì)22.1 總體方案的設(shè)計(jì)22.2 單片機(jī)的選擇32.2.1 at89c51單片機(jī)性能介紹42.2.2 單片機(jī)最小系統(tǒng)62.3 顯示電路的選擇與設(shè)計(jì)82.4 按鍵電路的選擇與設(shè)計(jì)92.5 時(shí)鐘電路的選擇與設(shè)計(jì)92.6 系統(tǒng)總電路的設(shè)計(jì)9第三章 軟件設(shè)計(jì)93.1 程序設(shè)計(jì)思想93.2 程序框93.3 源程序及說(shuō)明9第四章 系統(tǒng)的仿真與調(diào)試94.1 硬件的調(diào)試94.1.1

4、排除元器件失效94.1.2 排除電源故障94.1.3 聯(lián)機(jī)仿真調(diào)試94.2 軟件的仿真與調(diào)試94.2.1 proteus簡(jiǎn)介94.2.2 軟件的仿真94.2.3 軟件的調(diào)試9結(jié) 論9致 謝9參考文獻(xiàn)9附錄 源程序及說(shuō)明9第一章 緒論1.1 秒表及其發(fā)展現(xiàn)狀時(shí)間是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常遇到的一個(gè)物理量。測(cè)量時(shí)間的基本方法是使用秒表直接測(cè)量。其中秒表的精度是人們最關(guān)心的,這就要求它的計(jì)時(shí)最小單位足夠小,顯示模塊的靈敏度足夠高。目前人們所能測(cè)量的最小計(jì)時(shí)單位是毫秒級(jí)。1.2 設(shè)計(jì)目的及意義本設(shè)計(jì)要使時(shí)間的測(cè)量準(zhǔn)確,就必須使系統(tǒng)有更小的計(jì)時(shí)單位和更靈敏的按鍵。本設(shè)計(jì)還加入

5、了報(bào)警電路,每次清零都會(huì)報(bào)警。設(shè)計(jì)采用的元件功能較強(qiáng),省去了很多復(fù)雜的電路降低了設(shè)計(jì)成本。1.3 設(shè)計(jì)內(nèi)容本課題是基于單片機(jī)的數(shù)字秒表系統(tǒng)設(shè)計(jì),其利用單片機(jī)作為系統(tǒng)的主要控制器,通過(guò)單片機(jī)自身的定時(shí)計(jì)數(shù)器溢出標(biāo)志產(chǎn)生最小計(jì)時(shí)單元,經(jīng)過(guò)變量的累加和判斷后,通過(guò)led數(shù)碼管顯示。本人的主要是運(yùn)用at89c51單片機(jī)作為主控制單元及數(shù)據(jù)處理單元。1.4 課題設(shè)計(jì)要求課題需要以mcs-51系列單片機(jī)為核心,結(jié)合外圍電路,制作一款時(shí)間參數(shù)測(cè)量系統(tǒng)。具體要求如下:(1)提出基于單片機(jī)的時(shí)間測(cè)量系統(tǒng)實(shí)現(xiàn)方案。(2)制作完整的硬件電路圖并編寫(xiě)完整的源程序,實(shí)現(xiàn)時(shí)間參數(shù)的測(cè)量。(3)誤差要求小于1%。第二章 硬

6、件設(shè)計(jì)2.1 總體方案的設(shè)計(jì)數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡(jiǎn)單、精度高為目標(biāo)。本設(shè)計(jì)利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合集成電路芯片8051、led數(shù)碼管以及實(shí)驗(yàn)箱上的按鍵來(lái)設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來(lái),使得系統(tǒng)能夠正確地進(jìn)行計(jì)時(shí),數(shù)碼管能夠正確地顯示時(shí)間。方框圖如下圖:開(kāi)關(guān)mcs-51at89c51led顯示圖2.1 數(shù)字秒表設(shè)計(jì)導(dǎo)向圖本設(shè)計(jì)用at89c51設(shè)計(jì)一個(gè)3位led數(shù)碼顯示“秒表”,顯示時(shí)間為00.059.9秒。增加一個(gè)“復(fù)位00.0”按鍵(即清零)key1,一個(gè)“暫停/開(kāi)始”按鍵ke

7、y2,一個(gè)“復(fù)位60.0”按鍵(用來(lái)60秒倒計(jì)時(shí))key3,一個(gè)“倒計(jì)時(shí)”按鍵key4。方框圖如下圖:按下4鍵初始化判斷按鍵顯示 按下2鍵按下1/3鍵若無(wú)按鍵倒計(jì)復(fù)位開(kāi)始/暫停開(kāi)始倒計(jì)時(shí)顯示復(fù)位時(shí)間開(kāi)始/暫停計(jì)時(shí)調(diào)整時(shí)限到/有其他輸入圖2.2 按鍵示意圖本設(shè)計(jì)中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元79h7bh中。其中79h存放分秒位數(shù)據(jù),7ah存放秒位數(shù)據(jù),7bh存放十秒位數(shù)據(jù),79h和7ah單元內(nèi)均為十進(jìn)制bcd碼,7bh單元內(nèi)為六進(jìn)制bcd碼。由于采用軟件動(dòng)態(tài)掃描實(shí)現(xiàn)數(shù)據(jù)顯示功能,顯示用十/六進(jìn)制bcd碼數(shù)據(jù)的對(duì)應(yīng)段碼存放在rom表中。顯示時(shí),先取出79h-7bh某一地址中的數(shù)據(jù),然后查得對(duì)應(yīng)

8、的顯示用段碼,并從p0口輸出,p2口將對(duì)應(yīng)的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。計(jì)時(shí)采用定時(shí)器t0中斷完成,定時(shí)溢出中斷周期為100ms,當(dāng)一處中斷后向cpu發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)0.1秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)秒位進(jìn)行加一,依次類(lèi)推,直到59.9秒重新復(fù)位。 設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,顯示電路和啟動(dòng)、暫停、復(fù)位、倒計(jì)時(shí)電路等。主控制器采用單片機(jī)at89c51,顯示電路采用共陰極led數(shù)碼管顯示計(jì)時(shí)時(shí)間,四個(gè)按鍵均采用觸點(diǎn)式按鍵。2.2 單片機(jī)的選擇本課題在選取單片機(jī)時(shí),充分借鑒了許多成形產(chǎn)品使用單片機(jī)的經(jīng)驗(yàn),并根據(jù)自

9、己的實(shí)際情況,選擇了atmel公司的at89c51。2.2.1 at89c51單片機(jī)性能介紹at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱(chēng)單片機(jī)。該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。1主要特性:與mcs-51 兼容 4k字

10、節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫(xiě)/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0hz-24hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部ram32可編程i/o線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程低功耗的閑置和掉電模式串行通道片內(nèi)振蕩器和時(shí)鐘電路2 管腳說(shuō)明:3 vcc:供電電壓。4 gnd:接地。5 p0口:p0口為一個(gè)8位漏級(jí)開(kāi)路雙向i/o口,每腳可吸收8ttl門(mén)電流。當(dāng)p1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須被拉高。6 p1口:

11、p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門(mén)電流。p1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為第八位地址接收。7 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門(mén)電流,當(dāng)p2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用

12、內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。8 p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門(mén)電流。當(dāng)p3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。9 p3口也可作為at89c51的一些特殊功能口,如下表所示:10 口管腳 備選功能3.0 rxd(串行輸入口)3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時(shí)器0

13、外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想禁止ale的輸出可在sfr8eh

14、地址上置0。此時(shí),ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無(wú)效。/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/ea/vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放

15、大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來(lái)自反向振蕩器的輸出。2.2.2 單片機(jī)最小系統(tǒng)所謂最小系統(tǒng)就是指由單片機(jī)和一些基本的外圍電路所組成的一個(gè)可以工作的單片機(jī)系統(tǒng)。一個(gè)典型的單片機(jī)最小系統(tǒng)一般由時(shí)鐘電路、復(fù)位電路、片外ram、片外rom、按鍵、數(shù)碼管、led顯示器、外部擴(kuò)展接口等部分組成。以下為at89c51的最小系統(tǒng)電路圖,包括晶振電路和復(fù)位電路:圖 2.3 單片機(jī)最小系統(tǒng)1.晶振電路at89c51片內(nèi)有一個(gè)由高增益反相放大器構(gòu)成的振蕩電路。xtal1和xtal2分別為振蕩電路的輸入輸出端。其振蕩電路有兩種組成方式:片內(nèi)振蕩器和片外振蕩器。本設(shè)計(jì)采用是片內(nèi)振蕩器。片內(nèi)振蕩器如圖1

16、.4(a)所示。在xtal1和xtal2引腳兩端跨接石英晶體振蕩器和兩個(gè)微調(diào)電容構(gòu)成振蕩電路,通常c1和c2一般取30pf,晶振的頻率取值在1.2mhz12mhz之間。圖 2.4晶振電路2.復(fù)位電路為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使cpu及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開(kāi)始正常工作。單片機(jī)的復(fù)位是靠外電路來(lái)實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要rst引腳上出現(xiàn)兩個(gè)機(jī)器周期時(shí)間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果rst引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為ffh,堆棧指針sp置為07h, sbuf內(nèi)

17、置為不定值,其余的寄存器全部清0,內(nèi)部ram的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時(shí)ram的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(dòng)(開(kāi)關(guān))復(fù)位。電路如圖2.5所示:圖 2.5復(fù)位電路2.3 顯示電路的選擇與設(shè)計(jì)對(duì)于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。對(duì)于一般的段式液晶屏,需要專(zhuān)門(mén)的驅(qū)動(dòng)電路,而且液晶顯示作為一種被動(dòng)顯示,可視性差,不適合遠(yuǎn)距離觀看;對(duì)于具有驅(qū)動(dòng)電路和單片機(jī)接口的液晶顯示模塊(字符或點(diǎn)陣),一般多采用并行接口,對(duì)單片機(jī)的接口要求較高,占用資源多;另外,at89c51單片機(jī)本身無(wú)專(zhuān)門(mén)的液晶驅(qū)動(dòng)接口。而數(shù)碼管作為一種主動(dòng)顯示器件,具有亮度高、響應(yīng)速度快、防潮防濕性能好、

18、溫度特性極性、價(jià)格便宜、易于購(gòu)買(mǎi)等優(yōu)點(diǎn),而且有遠(yuǎn)距離視覺(jué)效果,很適合夜間或是遠(yuǎn)距離操作。因此,本設(shè)計(jì)的顯示電路采用7段數(shù)碼管作為顯示介質(zhì)。圖2.6 led數(shù)碼管數(shù)碼管顯示可以分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。由于本設(shè)計(jì)需要采用三位數(shù)碼管顯示時(shí)間,如果靜態(tài)顯示則占用的口線多,硬件電路復(fù)雜。所以采用動(dòng)態(tài)顯示。動(dòng)態(tài)顯示是一位一位地輪流點(diǎn)亮各位數(shù)碼管,這種逐位點(diǎn)亮顯示器的方式稱(chēng)為位掃描。通常各位數(shù)碼管的段選線相應(yīng)并聯(lián)在一起,由一個(gè)8位的i/o口控制;各位的公共陰極位選線由另外的i/o口線控制。動(dòng)態(tài)方式顯示時(shí),各數(shù)碼管分時(shí)輪流選通,要使其穩(wěn)定顯示必須采用掃描方式,即在某一時(shí)刻只選通一位數(shù)碼管,并送出相應(yīng)的段碼

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

20、阻。共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,如圖1.7(c),通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。 圖2.7 (a)數(shù)碼管引腳圖 (b)共陽(yáng)極內(nèi)部結(jié)構(gòu)圖 (c)共陰極內(nèi)部結(jié)構(gòu)圖本設(shè)計(jì)采用共陰極數(shù)碼顯示管做顯示電路,由于采用的是共陰的數(shù)碼顯示管,所以只要數(shù)碼管的a、b、c、d、e、f、g、h引腳為高電平,那么其對(duì)應(yīng)的二極管就會(huì)發(fā)光,使數(shù)碼顯示管

21、顯示09的編碼見(jiàn)表1.1。表2.1共陰極數(shù)碼顯示管字型代碼字型共陰極代碼字型共陰極代碼03fh56dh106h67dh25bh707h34fh87fh466h96fh動(dòng)態(tài)顯示電路由顯示塊、字形碼驅(qū)動(dòng)模塊、字位驅(qū)動(dòng)模塊三部分組成。本系統(tǒng)的3位led動(dòng)態(tài)顯示器接口電路。圖中,3個(gè)數(shù)碼管的8段段選線分別與外接上拉電阻的單片機(jī)p0口對(duì)應(yīng)相連,而3個(gè)數(shù)碼管的位控制端則和npn型三極管的集電極相連接。單片機(jī)的p2.0p2.4口則分別對(duì)應(yīng)數(shù)碼顯示管的最低位到最高位,p2.0p2.4口分別和五個(gè)npn型三極管的基極相連,做三極管導(dǎo)通的控制端,而npn型三極管選用9013型三極管。根據(jù)9013的資料顯示:其耐壓

22、值為40v,最大功率為0.65w,最大電流為0.5a,電氣性能完全滿足本設(shè)計(jì)的要求。另外數(shù)碼管顯示是采用動(dòng)態(tài)顯示,所以對(duì)三極管的開(kāi)關(guān)頻率有一定的要求。根據(jù)電子秒表的設(shè)計(jì)計(jì)算可知?jiǎng)討B(tài)顯示的頻率最高為3khz,而9013的導(dǎo)通頻率為150mhz,完全能滿足本設(shè)計(jì)的要求,所以最終選取9013三極管為位控制開(kāi)關(guān)。由于數(shù)碼管是有p0口來(lái)驅(qū)動(dòng),它內(nèi)部沒(méi)有上拉電阻,作為輸出口時(shí)驅(qū)動(dòng)能力比較弱,不能點(diǎn)亮數(shù)碼顯示管,因此p0口必須接上拉電阻來(lái)提高驅(qū)動(dòng)能力。另外一位共陰數(shù)碼管的驅(qū)動(dòng)電流一般為20ma左右,如果電流太大容易造成數(shù)碼管損壞,所以也需要根據(jù)電源的電壓值來(lái)確定上拉電阻的大小。如果電阻過(guò)小,勢(shì)必會(huì)形成灌電流

23、過(guò)大,造成單片機(jī)io的損壞,如果電阻過(guò)大,那么對(duì)拉電流沒(méi)有太大的影響。電源供電電壓為5v,當(dāng)上拉電阻選用220電阻時(shí)灌電流為22ma。不會(huì)損壞單片機(jī)的i/o口,同時(shí)也可以為數(shù)碼顯示管起到限制電流的保護(hù)作用。 2.4 按鍵電路的選擇與設(shè)計(jì)在按鍵電路中,我們可以在i/o口上直接接按鍵,或者通過(guò)i/o口設(shè)計(jì)一個(gè)鍵盤(pán),然后通過(guò)鍵盤(pán)掃描程序判斷是否有鍵按下等。鍵盤(pán)掃描電路節(jié)省i/o口,但編程有些復(fù)雜,在這里,由于我們所用的按鍵較少,且系統(tǒng)是一個(gè)小系統(tǒng),有足夠的i/o口可以使用,為了使程序簡(jiǎn)化,我們采用按鍵電路,k1:復(fù)位“00.0”,k2:開(kāi)始/暫停,k3:復(fù)位“60.0”,k4:倒計(jì)時(shí);將四個(gè)按鍵與p

24、3.4、p3.5、p3.6和p3.7相接。通過(guò)掃描按鍵,讀取按鍵實(shí)現(xiàn)四個(gè)功能的控制。電路圖如下所示:圖2.8 鍵盤(pán)電路圖當(dāng)按鍵沒(méi)有按下時(shí),單片機(jī)的i/o口直接連接電源,因此需要接上拉電阻來(lái)進(jìn)行限流,本設(shè)計(jì)中選取阻值為2k 的電阻作為上拉電阻,根據(jù)計(jì)算可知此時(shí)的灌電流為2.5ma,查看at89c51的資料得知次電流在安全范圍內(nèi),符合安全設(shè)計(jì)要求。按鍵電路中由于采用了外部中斷,所以需要用到p3口的第二功能。p3口引腳的第二功能如表2.2:表2.2 p3口引腳第二功能表 p3口引腳特殊功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2int0(外部中斷0請(qǐng)求輸入端)p3.3int1

25、(外部中斷1請(qǐng)求輸入端)p3.4 t0(定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端)p3.5 t1(定時(shí)器/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端)p3.6wr(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通信號(hào)輸出端)p3.7 rd(片內(nèi)數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端)2.5 時(shí)鐘電路的選擇與設(shè)計(jì)時(shí)鐘電路一般由晶體震蕩器、晶震控制芯片和電容組成。如圖2.9所示:圖2.9 時(shí)鐘電路現(xiàn)在流行的串行時(shí)鐘電路很多,如ds1302、ds1307、pcf8485等。這些電路的接口簡(jiǎn)單、價(jià)格低廉、使用方便,被廣泛地采用。實(shí)時(shí)時(shí)鐘電路ds1302是dallas公司的一種具有涓細(xì)電流充電能力的電路,主要特點(diǎn)是采用串行數(shù)據(jù)傳輸,可為掉電保護(hù)電源提供可編程的充電功能,并

26、且可以關(guān)閉充電功能。采用普通32.768khz晶振。 本設(shè)計(jì)采用ds1302。ds1302 是美國(guó)dallas公司推出的一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的ram寄存器。ds1302是ds1202的升級(jí)產(chǎn)品,與ds1202兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。 ds1302與cpu的連接需要三條線,即sclk(

27、7)、i/o(6)、rst(5)。 如圖1.9所示。2.6 系統(tǒng)總電路的設(shè)計(jì)系統(tǒng)總電路由以上設(shè)計(jì)的顯示電路,按鍵電路,時(shí)鐘電路和復(fù)位電路組成,只要將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖如圖2.10所示。at89c51單片機(jī)為主電路的核心部分,各個(gè)電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個(gè)電路的運(yùn)行工作。at89c51單片機(jī)提供了xtal1和xtal2兩個(gè)專(zhuān)用引腳接晶振電路,因此只要將晶振電路接到兩個(gè)專(zhuān)用引腳即可為單片機(jī)提供時(shí)鐘脈沖,但在焊接晶振電路時(shí)要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。圖2.10 系統(tǒng)總電路復(fù)位電路同晶振電路,單片機(jī)設(shè)有

28、一個(gè)專(zhuān)用的硬件復(fù)位接口,并設(shè)置為高電平有效。按鍵電路與單片機(jī)的端口連接可以由用戶(hù)自己設(shè)定,本設(shè)計(jì)中軟件復(fù)位鍵接單片機(jī)的p3.4和p3.6,均設(shè)為低電平有效。開(kāi)始/暫停鍵接到單片機(jī)的p3.5,同樣設(shè)置為位低電平有效。顯示電路由三位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制端和三位位控制端,八位段控制接p0口,p0.0p0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,at89c51的p0口沒(méi)有集成上拉電阻,高電平的驅(qū)動(dòng)能力很弱,所以需要接上拉電阻來(lái)提高p0的高電平驅(qū)動(dòng)能力。三位位控制則由低位到高位分別接到p2.0p2.4口,npn三極管9013做為位控制端的開(kāi)關(guān),當(dāng)p2.0p2

29、.4端口任意一個(gè)端口為高電平時(shí),與其相對(duì)應(yīng)的三極管就導(dǎo)通,對(duì)應(yīng)的數(shù)碼管導(dǎo)通顯示。通過(guò)以上設(shè)計(jì)已經(jīng)將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)以大功告成,剩下的部分就是對(duì)單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子秒表的全部功能。第三章 軟件設(shè)計(jì)3.1 程序設(shè)計(jì)思想此次選用c語(yǔ)言來(lái)編程,首先要有初始化程序,通過(guò)初始化程序,將對(duì)主程序所用到的變量、常量以及各個(gè)參數(shù)和所調(diào)用的子函數(shù)定義。其次還有顯示程序、按鍵掃描及處理程序、時(shí)鐘程序和倒計(jì)時(shí)程序,系統(tǒng)軟件流程圖圖如圖3.1所示:開(kāi)始系統(tǒng)初始化while (1)數(shù)碼管顯示選擇按鍵的掃描及處理圖3.1 系統(tǒng)軟件流程圖3.2 程序框程序初始化開(kāi)各

30、中斷關(guān)定時(shí)器0,1調(diào)用顯示子程序程序開(kāi)始p1.0=?1p1.0=?0開(kāi)定時(shí)器0,1r1=r1+114h=r113h=r2r1=?#0ahhhhh?#ahr2=?#0ahr1=#00hr2=r2+1r2=#00h圖3.2 主程序流程圖 圖3.3 加1子程序流程圖 int0入口地址開(kāi)定時(shí)器0中斷返回圖3.4 int0中斷子程序 r7=#02h 置數(shù)碼管個(gè)數(shù)r0=14h 置首地址r6=#08h 置數(shù)碼管個(gè)數(shù)a=r0 a=a+dptr中斷返回定時(shí)器t0入口地址調(diào)用數(shù)碼顯示子程序調(diào)用加一子程序置初值r3=#20h重置循環(huán)次數(shù)a循環(huán)左移 p3.3清零p3.0=cp3.1置位r6-1=?0r7-1=?0r0

31、=r0-1返回r3-1=?0圖3.5數(shù)碼顯示流程圖 圖3.6 定時(shí)器t0子程序3.3 源程序及說(shuō)明本節(jié)見(jiàn)附錄a。第四章 系統(tǒng)的仿真與調(diào)試4.1 硬件的調(diào)試4.1.1 排除元器件失效造成這類(lèi)錯(cuò)誤的原因有兩個(gè):一個(gè)是元器件買(mǎi)來(lái)時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞??梢圆扇z查元器件與設(shè)計(jì)要求的型號(hào)、規(guī)格和安裝是否一致。在保證安裝無(wú)誤后,用替換方法排除錯(cuò)誤。4.1.2 排除電源故障在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查vcc與gnd之間電位,若在5v4.8v之間屬正常。若有高壓,聯(lián)機(jī)仿真器調(diào)試時(shí),將會(huì)損壞仿真器等,有時(shí)會(huì)

32、使應(yīng)用系統(tǒng)中的集成塊發(fā)熱損壞。4.1.3 聯(lián)機(jī)仿真調(diào)試聯(lián)機(jī)仿真必須借助仿真開(kāi)發(fā)裝置、示波器、萬(wàn)用表等工具。這些工具是單片機(jī)開(kāi)發(fā)的最基本工具。信號(hào)線是聯(lián)絡(luò)8031和外部器件的紐帶,如果信號(hào)線連結(jié)錯(cuò)誤或時(shí)序不對(duì),那么都會(huì)造成對(duì)外圍電路讀寫(xiě)錯(cuò)誤。51系列單片機(jī)的信號(hào)線大體分為讀、寫(xiě)信號(hào)線、片選信號(hào)線、時(shí)鐘信號(hào)線、外部程序存貯器讀選通信號(hào)(psen)、地址鎖存信號(hào)(ale)、復(fù)位信號(hào)等幾大類(lèi)。這些信號(hào)大多屬于脈沖信號(hào),對(duì)于脈沖信號(hào)借助示波器(這里指通用示波器)用常規(guī)方法很難觀測(cè)到,必須采取一定措施才能觀測(cè)到。應(yīng)該利用軟件編程的方法來(lái)實(shí)現(xiàn)。例如對(duì)片選信號(hào),運(yùn)行下面的小程序就可以檢測(cè)出譯碼片選信號(hào)是否正常

33、。4.2 軟件的仿真與調(diào)試4.2.1 proteus簡(jiǎn)介proteus軟件是英國(guó)labcenter electronics公司出版的eda工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、

34、pcb設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即將增加cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。本設(shè)計(jì)在proteus isis中仿真通過(guò),proteus軟件作為一個(gè)從設(shè)計(jì)到完成的完整電子設(shè)計(jì)與仿真平臺(tái),由于其能實(shí)現(xiàn)電路仿真與處理器仿真的有機(jī)結(jié)合,為電子學(xué)的教學(xué)與實(shí)驗(yàn)提供了革命性的手段,現(xiàn)在已經(jīng)被越來(lái)越多大學(xué)采用為電路、單片機(jī)與嵌入式系統(tǒng)實(shí)驗(yàn)室平臺(tái)及創(chuàng)新平臺(tái)。因?yàn)閜

35、roteus軟件功能強(qiáng)大,調(diào)試軟硬件非常方便,所以采用proteus進(jìn)行仿真。4.2.2 軟件的仿真軟件測(cè)試步驟如下:(1)打開(kāi)proteus軟件。(2)選擇file菜單下的 open design.選項(xiàng),找到所需的元器件,按照電路圖連接后并保存。(3)將用keil編譯過(guò)的hex格式程序,下載到單片機(jī)中:右擊51單片機(jī)再左擊,再?gòu)棾龅膶?duì)話框中,選擇program file文本框或單擊文件圖標(biāo),瀏覽找到所編譯的程序。單擊確定。(4) 單擊左下角運(yùn)行按鈕,進(jìn)行軟件仿真、調(diào)試,直到出現(xiàn)正確的結(jié)果。4.2.3 軟件的調(diào)試本設(shè)計(jì)的軟件編譯是在keil uvision3上進(jìn)行的,此軟件可以生成hex文件用

36、于下載到單片機(jī)上工作。生成hex文件后可以在protues上進(jìn)行仿真調(diào)試。由于在用proteus作仿真的時(shí)候,軟件并不能完全符合實(shí)物的物理特性,所以在本設(shè)計(jì)的仿真方面,尤其是動(dòng)態(tài)掃描方面,效果并不很成功,主要是動(dòng)態(tài)掃描時(shí),數(shù)碼管出現(xiàn)不能完全點(diǎn)亮,導(dǎo)致只有一部分段選顯示。經(jīng)過(guò)調(diào)查了解到,這是由于在proteus仿真時(shí),軟件中,數(shù)碼管只有點(diǎn)亮和不亮兩種狀態(tài),而實(shí)際做動(dòng)態(tài)掃描時(shí),數(shù)碼管是處于亮與不亮之間,通過(guò)二極管的余暉及人眼的視覺(jué)延遲來(lái)實(shí)現(xiàn)的,所以在軟件仿真時(shí)并不能完美的展示時(shí)鐘時(shí)間。不過(guò),通過(guò)放慢掃描顯示的頻率,可以看到略顯閃爍的結(jié)果,證明軟硬件的仿真成功。結(jié) 論經(jīng)過(guò)一個(gè)多月的努力,我的畢業(yè)設(shè)計(jì)

37、在規(guī)定的時(shí)間內(nèi)順利地完成。設(shè)計(jì)制作出了基于單片機(jī)的秒表。本系統(tǒng)的特點(diǎn)是硬件控制電路簡(jiǎn)單,以單片機(jī)at89c51為核心,利用led數(shù)碼管進(jìn)行顯示。采用單片機(jī)控制可提高系統(tǒng)的可靠性和穩(wěn)定性,縮小系統(tǒng)的體積,調(diào)試和維護(hù)方便。由于采用了定時(shí)器中斷的方法進(jìn)行計(jì)時(shí),所以計(jì)時(shí)誤差小。雖然設(shè)計(jì)基本實(shí)現(xiàn)了題目要求,但系統(tǒng)本身還存在一些缺陷,如計(jì)時(shí)的最小單位不夠小,會(huì)造成一定的誤差;功能太單一,使得硬件資源有點(diǎn)浪費(fèi)。經(jīng)過(guò)這次畢業(yè)設(shè)計(jì),使我覺(jué)得不論從理論知識(shí)還是從實(shí)際操縱中都學(xué)到了不少知識(shí),我想歸納起來(lái),主要有以下四個(gè)方面: 1、經(jīng)過(guò)這次畢業(yè)設(shè)計(jì),它讓我接觸更多平時(shí)沒(méi)有接觸過(guò)的科學(xué)儀器設(shè)備、元器件以及獲得相關(guān)的儀器

38、調(diào)試經(jīng)驗(yàn),同時(shí)我也發(fā)現(xiàn)自己在這方面很多不足之處。體會(huì)到理論知識(shí)對(duì)實(shí)踐有很大的指導(dǎo)作用,她讓我知道,只有在正確的理論指引下,才能設(shè)計(jì)出合乎實(shí)際需要的硬件電路。 2、學(xué)會(huì)了高效率的查閱資料、運(yùn)用工具書(shū)、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們所使用的書(shū)籍上有一些知識(shí)在實(shí)際應(yīng)用中其實(shí)并不是十分理想,各種參數(shù)都需要自己去調(diào)整。偶而還會(huì)遇到錯(cuò)誤的資料現(xiàn)象,這就要求我們應(yīng)更加注重實(shí)踐環(huán)節(jié)。 3、在畢業(yè)設(shè)計(jì)中,我們應(yīng)當(dāng)注意重點(diǎn)與細(xì)節(jié)的關(guān)系。 4、失敗不可怕,只要不趴下,昂首向前走,希望總會(huì)有??梢哉f(shuō)畢業(yè)設(shè)計(jì)是對(duì)大學(xué)三年所學(xué)知識(shí)的一次運(yùn)用和檢閱,同時(shí)對(duì)自學(xué)能力提出很高的要求,所以平時(shí)的學(xué)習(xí)脫離思考,就是嚴(yán)重的錯(cuò)誤,我

39、們學(xué)習(xí)不應(yīng)該有偏科現(xiàn)象,各方面的知識(shí)都應(yīng)該有接觸,這樣做才能為畢業(yè)設(shè)計(jì)打下基石。致 謝首先感謝張繼偉老師的悉心指導(dǎo)和教誨,張老師淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度以及為人師表的言行舉止,都給我留下了深刻的印象。這也是為什么我會(huì)選擇張老師作為我本科畢業(yè)論文導(dǎo)師的原因所在。在接下來(lái)將近三個(gè)月的畢業(yè)設(shè)計(jì)過(guò)程中,張老師在論文的選題、框架的調(diào)整、內(nèi)容的刪增、乃至具體格式的規(guī)范等方面,都投入了大量的精力,提出了大量很有價(jià)值的建議意見(jiàn),給了我很大的啟發(fā)和幫助,讓我領(lǐng)會(huì)到了一個(gè)真正學(xué)者所應(yīng)該具有的風(fēng)采以及為人處事的道理,深受感動(dòng)。同時(shí),自動(dòng)化工程系的其他老師在我的學(xué)習(xí)和成長(zhǎng)過(guò)程中也都付出了大量的精力,在此一并衷心感謝

40、。并祝愿各位老師身體健康、工作順利、萬(wàn)事如意!最后,我要感謝的是我最親愛(ài)的家人。在我二十多年的成長(zhǎng)過(guò)程中,你們無(wú)時(shí)不刻無(wú)私地關(guān)懷和付出,是我獨(dú)在異鄉(xiāng)求學(xué)的最大精神支柱,也是我可以依偎的最溫馨港灣。你們是我永遠(yuǎn)的牽掛和眷念!參考文獻(xiàn)1 王守中. 51單片機(jī)開(kāi)發(fā)入門(mén)與典型實(shí)例m. 北京:人民郵電出版社,2007: p195-204,p395-416.2 鄒友朋. 80c51單片機(jī)實(shí)用技術(shù)m. 北京:北京航空航天大學(xué)出版社,2008: p161-167.3 張毅剛. mcs-51單片機(jī)應(yīng)用設(shè)計(jì)m. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997年,第二版: p69-71.4 徐君毅等. 單片微型計(jì)算機(jī)原理及

41、應(yīng)用m. 上海:上??茖W(xué)技術(shù)出版社,1988年,第一版: p44-57.5 何立民. mcs-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)m. 北京:北京航空航天大學(xué)出版社,1991年,第一版: p30-46.6 李華. mcs-51 系列單片機(jī)使用接口技術(shù)m. 北京:北京航空航天大學(xué)出版社,1993年,第一版: p80-89.7 王毅. 單片機(jī)器件應(yīng)用手冊(cè)m. 北京:人民郵電出版社,1995年,第一版: p55-58.8 李廣弟. 單片機(jī)基礎(chǔ)m. 北京:北京航空航天大學(xué)出版社,2001年,第一版: p38-42.9 孫育才. mcs-51系列單片微型計(jì)算機(jī)及其應(yīng)用m. 東南大學(xué)出版社.2009.12: p15-1

42、7.10 郭天祥. 51單片機(jī)c語(yǔ)言教程-入門(mén)、提高、開(kāi)發(fā)、拓展全攻略m. 電子工業(yè)出版社.2010.05: p21-23.11 丁峻嶺. c語(yǔ)言程序設(shè)計(jì)m. 中國(guó)鐵道出版社.2009.12: p26-30.附錄 源程序及說(shuō)明#include /51系列單片機(jī)頭文件#define uchar unsigned char /宏定義#define uint unsigned intsbit dula=p26; /申明u1鎖存器的鎖存端sbit wela=p27; /申明u2鎖存器的鎖存端sbit key1=p34; /申明四個(gè)按鍵的鎖存端sbit key2=p35;sbit key3=p36;sb

43、it key4=p37;uchar code table= /含有09的數(shù)字?jǐn)?shù)組0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delayms(uint); /聲明延時(shí)函數(shù)void display(uchar,uchar,uchar); /聲明顯示函數(shù)void keyscan(); /聲明按鍵函數(shù)uchar num1,num2,bai,shi,ge; /變量聲明uint num;void main() /主函數(shù)入口tmod=0x11; /設(shè)置to,t1定時(shí)器th0=(65536-45872)/256; /裝初值11.05992m晶振

44、定時(shí)50ms數(shù)為45872tl0=(65536-45872)%256;th1=(65536-45872)/256;tl1=(65536-45872)%256;ea=1; /開(kāi)總中斷et0=1; /開(kāi)啟定時(shí)器t0中斷et1=1; /開(kāi)啟定時(shí)器t1中斷while(1) /程序停在這里等待中斷的發(fā)生,這個(gè)大循環(huán)也是實(shí)現(xiàn)數(shù)據(jù)顯示的主體keyscan();/三個(gè)數(shù)碼管要選送的數(shù)據(jù)bai=num/100; /百位 shi=(num-100*bai)/10; /十位ge=num-100*bai-shi*10; /個(gè)位 /直接把第二只數(shù)碼管的小數(shù)點(diǎn)燒出來(lái)dula=1; /打開(kāi)段選p0=0x80; /送段選數(shù)據(jù)dula=0; /關(guān)閉斷選p0=0xff; /送位選數(shù)據(jù)前關(guān)閉所有顯示,防止打開(kāi)位選鎖存時(shí)原來(lái)段選數(shù)據(jù)通過(guò)位鎖存端造成混亂wela=1; /打開(kāi)位選p0=0xfd; /送位選數(shù)據(jù)wela=0; /關(guān)閉位選delayms(5); /延時(shí)dis

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論