基于單片機的定時器設(shè)計_第1頁
基于單片機的定時器設(shè)計_第2頁
基于單片機的定時器設(shè)計_第3頁
基于單片機的定時器設(shè)計_第4頁
基于單片機的定時器設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的定時器設(shè)計摘要:生活處處都有單片機,家里的所有電器只要是智能控制的都是單片機控制、現(xiàn)在智能中arm處理器也是一種高級單片機。本文是對實時控制中的,實時顯示這一功能進行進一步的研究。實時控制系統(tǒng),相對于其他的控制系統(tǒng),最重要的一點就是實時。文中的實時,指的是對時間的顯示。時間的顯示包括對時、分的顯示。這些時間的顯示,可以按照自己的需求進行進一步的設(shè)定。這個實時系統(tǒng),可以是通過串口接收的上位機,接收上位機中的信號,根據(jù)需求來進行時間的顯示,幫助系統(tǒng)實現(xiàn)實時的效果。同時,它可進行時間的獨立顯示。利用STC89C51RC單片機作為本系統(tǒng)的中控模塊。上電后,按下功能鍵進入調(diào)時狀態(tài),通過各單元電路將按鍵局部設(shè)定的時間通過定時時間顯示局部中的LED數(shù)碼管顯示出來。中途可重新設(shè)置定時數(shù)值,復(fù)位局部除上電初實現(xiàn)復(fù)位外,也可人工復(fù)位。關(guān)鍵詞:實時;單片機;數(shù)碼管;按鍵復(fù)位。BasedonsinglechipmicrocomputertimerdesignAbstract:Lifeisasinglechip,allappliancesathomeaslongastheintelligentcontrolisnowSCMcontrolIntelligentmobilephoneARMprocessorisakindofadvancedsinglechipmicrocomputer.Thisarticleisinreal-timecontrol,real-timedisplaythisfunctionforfurtherstudies.Real-timecontrolsystem,relativetoothercontrolsystem,themostimportantthingisthatinrealtime.Inthispaper,thereal-time,referstothedisplayoftime.Thedisplayincludespair,thedisplayofthetime.Thedisplayofthetime,canaccordingtoyourneedsfurther.Thereal-timesystem,canbeviaaserialporttoreceivetheuppermachine,receivingsignalsinthePC,accordingtothedemandfortimedisplay,helpsystemtorealizerealtimeeffect.Atthesametime,itcanbeindependentoftime.Using89C51microcontrollerasthesystemcontrolmodule.Afterpoweron,pressthefunctionkeytotransferstate,througheachunitcircuittimingLEDdigitaldisplaypartofthedisplaythroughthekeypartofthesettime.Youmayresetthetimervalues,resetpartsinadditiontopowerupreset,thebuttonscanberesetatanytime.KeyWords:microcontrolle;digitaltube;TheKeytoreturn.目錄TOC\o"1-3"\h\u248371引言 148751.1課題的來源和意義 163901.2定時器的應(yīng)用 1184131.3電子定時器的開展前景 1314411.4確定設(shè)計方案 222380251單片機內(nèi)部結(jié)構(gòu)及計數(shù)原理 2223822.151單片機內(nèi)部機構(gòu) 243422.2計數(shù)原理217023系統(tǒng)硬件配件設(shè)計 4102193.1芯片的選擇 4167783.2交流控制接口電路 5120553.3顯示電路 5115373.4繼電器 542253.5數(shù)碼管 621074硬件電路設(shè)計 7240264.1中繼觸發(fā)電路 7322024.2繼電器開關(guān)電路 8302144.3時鐘電路 955955軟件設(shè)計 10109255.1實現(xiàn)功能 109590結(jié)論 111739參考文獻 1313681致謝 146782附錄1:程序 157561附錄2:系統(tǒng)仿真原理圖 211引言我們在日常生活中,經(jīng)常碰到一些需要定時的事情,例如:印相或放大照片,需要定在零點幾秒的時間,洗衣機洗滌衣物需要定在幾分鐘到幾十分鐘的時間,電風(fēng)扇需要定在數(shù)十分鐘的時間。完成這種定時的定時器有多種多樣,在家用電器中采用機械定時器就是根據(jù)一般上弦鐘表原理設(shè)計的,這種定時器雖然結(jié)構(gòu)簡單,本錢低,維修也比擬方便,但是它的觸頭頻繁接觸和斷開,大大的縮減了它的使用壽命,也不利于進一步全自動化。在電子技術(shù)突飛猛進的今天,電子定時器一定會逐步取而代之,這是不言而喻的。本文就是基于51系列單片機設(shè)計的定時器的設(shè)計方案。1.1課題的來源和意義本課題是通過導(dǎo)師篩選提出的,電子設(shè)計課題不一定很大,只要通過親手做一遍全過程,完成一個產(chǎn)品制作,收獲是很大的。本課題的意義在于通過設(shè)計和制作本課題把在學(xué)校學(xué)習(xí)到的知識融會貫穿并應(yīng)用到實際當(dāng)中。做到學(xué)有所成,學(xué)有所用。1.2定時器的應(yīng)用定時器在家用電器中經(jīng)常用于延時自動關(guān)機、定時。延時自動關(guān)機可用于:收音機、電視機、錄音機、催眠器、門燈、路燈、汽車頭燈、轉(zhuǎn)彎燈以及其他電器的延時斷電及延時自停電源等。定時可用于:照相定時曝光、定時閃光、定時放大、定時調(diào)速、定時烘箱、冰箱門開定時報警、水位定時報警、延時催眠器、延時電鈴、延時電子鎖、觸摸定時開關(guān)等。例如:空調(diào)中的定時器,在工作一段時間之后便能自動切斷電源停止工作。夏季夜間使用,入睡前先頂好時間,等睡熟后到了預(yù)定時間,空調(diào)自動關(guān)機。方便節(jié)能。定時器除了應(yīng)用于家用電器外,還廣泛地用于工業(yè)農(nóng)業(yè)生產(chǎn)和效勞設(shè)施,甚至軍事等。1.3電子定時器的開展前景傳統(tǒng)的定時器絕大多數(shù)都是發(fā)條驅(qū)動式、電機傳動式或電鐘式等機械定時器,局部電子器械中也有試用時間繼電器的。相對于傳統(tǒng)的定時器,電子定時器的體積小、重量輕、造價低、精度高、壽命長、而且平安可靠、調(diào)整方便、適于頻繁使用。所以電子定時器的開展必定大有前途。同時隨著現(xiàn)代電子技術(shù)的開展,電子定時器也在不斷的進步,朝向著更多用途、更高精度、更小體積開展著。例如:一個可編程電子定時器,它可以設(shè)置20組開、關(guān)電源設(shè)置,可以當(dāng)時鐘使用,還也可以按星期組合讓它在一周內(nèi)的任意一天或幾天按設(shè)置程序工作。而且它只有長12.5cm×寬5.5cm×厚5cm大小。且它的功耗特別小只有3W??梢哉f是小巧玲瓏,節(jié)能省電。1.4確定設(shè)計方案綜上所述,此次的設(shè)計方案選定為:以單片機STC89C51RC為主控制器,采用單片機內(nèi)部定時、鍵盤和動態(tài)LED顯示數(shù)碼管設(shè)計定時器。251單片機內(nèi)部結(jié)構(gòu)及計數(shù)原理2.151單片機內(nèi)部機構(gòu)51單片機內(nèi)部有一個8位的CPU,同時CPU內(nèi)部包含了運算器,控制器及假設(shè)干存放器如圖〔圖1〕所示。圖1CPU內(nèi)部結(jié)構(gòu)圖2.2計數(shù)原理STC單片機內(nèi)部設(shè)有兩個16位的可編程定時器/計數(shù)器。可編程的意思是指其功能〔如工作方式、定時時間、量程、啟動方式等〕均可由指令來確定和改變。在定時器/計數(shù)器中除了有兩個16位的計數(shù)器之外,還有兩個特殊功能存放器〔控制存放器和方式存放器〕。從上面定時器/計數(shù)器的結(jié)構(gòu)圖中我們可以看出,16位的定時/計數(shù)器分別由兩個8位專用存放器組成,即:T0由TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。其訪問地址依次為8AH-8DH。每個存放器均可單獨訪問。這些存放器是用于存放定時或計數(shù)初值的。此外,其內(nèi)部還有一個8位的定時器方式存放器TMOD和一個8位的定時控制存放器TCON。這些存放器之間是通過內(nèi)部總線和控制邏輯電路連接起來的。TMOD主要是用于選定定時器的工作方式;TCON主要是用于控制定時器的啟動停止,此外TCON還可以保存T0、T1的溢出和中斷標(biāo)志。當(dāng)定時器工作在計數(shù)方式時,外部事件通過引腳T0〔P3.4〕和T1〔P3.5〕輸入。定時器/計數(shù)器方式存放器TMOD:定時器方式控制存放器TMOD在特殊功能存放器中,字節(jié)地址為89H,無位地址。TMOD的格式如下列圖〔圖2〕所示。圖2TMOD格式圖由圖可見,TMOD的高4位用于T1,低4使用于T0,4種符號的含義如下:

GATE:門控制位。GATE和軟件控制位TR、外部引腳信號INT的狀態(tài),共同控制定時器/計數(shù)器的翻開或關(guān)閉。TCON的作用是控制定時器的啟、停,標(biāo)志定時器溢出和中斷情況。TCON的格式如下列圖(圖3)所示。其中,TFl,TRl,TF0和TR0位用于定時器/計數(shù)器;IEl,ITl,IE0和IT0位用于中斷系統(tǒng)。圖3TCON格式圖各位定義如下:TF1:定時器1溢出標(biāo)志位。當(dāng)字時器1計滿溢出時,由硬件使TF1置“1〞,并且申請中斷。進入中斷效勞程序后,由硬件自動清“0〞,在查詢方式下用軟件清“0〞。TR1:定時器1運行控制位。由軟件清“0〞關(guān)閉定時器1。當(dāng)GATE=1,且INT1為高電平時,TR1置“1〞啟動定時器1;當(dāng)GATE=0,TR1置“1〞啟動定時器1。TF0:定時器0溢出標(biāo)志。其功能及操作情況同TF1。TR0:定時器0運行控制位。其功能及操作情況同TR1。IE1:外部中斷1請求標(biāo)志。IT1:外部中斷1觸發(fā)方式選擇位。IE0:外部中斷0請求標(biāo)志。IT0:外部中斷0觸發(fā)方式選擇位。TCON中低4位與中斷有關(guān),我們將在下節(jié)課講中斷時再給予講解。由于TCON是可以位尋址的,因而如果只清溢出或啟動定時器工作,可以用位操作命令。例如:執(zhí)行“CLRTF0〞后那么清定時器0的溢出;執(zhí)行“SETBTR1〞后可啟動定時器1開始工作〔當(dāng)然前面還要設(shè)置方式定〕。3系統(tǒng)硬件配件設(shè)計3.1芯片的選擇硬件電路要實現(xiàn)對交流大電流電源的控制、定時時間的設(shè)定顯示和到點提醒等功能。假設(shè)采用40腳的單片機有利于設(shè)計,但會增大電路板的體積。本設(shè)計采用的STC89C52RCC89系列單片機是深圳宏晶科技公司推出的新一代高速、低功耗、超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機。STC89系列單片機具有ISP〔在系統(tǒng)中可編程〕動能和IAP(在應(yīng)用可編程)功能,無需購置專用編輯器,可以通過串行口直接下載用戶程序,性價比比擬高如下列圖〔圖4〕所示。圖4STC89C51RC單片機STC89C51RC是一個有40個引腳的芯片,引腳如下列圖〔圖5〕所示。圖5STC89C51RC引腳圖3.2交流控制接口電路交流接口電路可以選擇繼電器控制,也可采用可控硅控制等。本設(shè)計采用的是前一種——繼電器控制。3.3顯示電路顯示電路采用4個共陽極LED數(shù)碼管。為了在定時到達分〔鐘〕的時候能顯示出時鐘在計時,兩個數(shù)碼管之間增加一個發(fā)光二極管,以其閃爍來代表秒走動;為了使硬件電路簡單,采用單片機直接驅(qū)動LED數(shù)碼管〔AT89C2051輸出口能吸收20mA電流〕,用動態(tài)掃描法實現(xiàn)LED顯示。3.4繼電器繼電器是一種電子控制器件,它具有控制系統(tǒng)〔又稱輸入回路〕和被控制系統(tǒng)〔又稱輸出回路〕,通常應(yīng)用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關(guān)〞。故在電路中起著自動調(diào)節(jié)、平安保護、轉(zhuǎn)換電路等作用。它的主要技術(shù)參數(shù)分為以下幾點:1、額定工作電壓額定工作電壓是指繼電器正常工作時線圈所需要的電壓。根據(jù)繼電器的型號不同,可以是交流電壓,也可以是直流電壓。2、直流電阻直流電阻是指繼電器中線圈的直流電阻,可以通過萬能表測量。3、吸合電流吸合電流是指繼電器能夠產(chǎn)生吸合動作的最小電流。在正常使用時,給定的電流必須略大于吸合電流,這樣繼電器才能穩(wěn)定地工作。而對于線圈所加的工作電壓,一般不要超過額定工作電壓的1.5倍,否那么會產(chǎn)生較大的電流而把線圈燒毀。4、釋放電流釋放電流是指繼電器產(chǎn)生釋放動作的最大電流。當(dāng)繼電器吸合狀態(tài)的電流減小到一定程度時,繼電器就會恢復(fù)到未通電的釋放狀態(tài)。這時的電流遠遠小于吸合電流。5、觸點切換電壓和電流觸點切換電壓和電流是指繼電器允許加載的電壓和電流。它決定了繼電器能控制電壓和電流的大小,使用時不能超過此值,否那么很容易損壞繼電器的觸點。3.5數(shù)碼管數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其根本單元是發(fā)光二極管如下列圖〔圖6〕所示。圖6數(shù)碼管數(shù)碼管分類:數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元〔多一個小數(shù)點顯示〕;按能顯示多少個“8〞可分為1位、2位、4位等等數(shù)碼管。按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。驅(qū)動方式:數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。①靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的I/O端口進行驅(qū)動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示那么需要5×8=40根I/O端口來驅(qū)動,要知道一個89S51單片機可用的I/O端口才32個呢:〕,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。②動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制翻開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。4硬件電路設(shè)計4.1中斷電路中斷電路主要用于當(dāng)按鍵按下之后8輸入與非門74HC30的輸出端輸出高電平,經(jīng)非門電路74LS04倒相后,按鍵按下時輸出為低電平,該低電平信號接單片機的外部中斷信號輸入端(即P3.2引腳),74HC30引.腳1,2,3,4,5,6,11,12是與非門的輸入腳,8腳是與非門的輸出腳.7腳是GND,14腳是VCC.9,10,13未連為N/C如下列圖〔圖〕所示:圖7中斷電路圖4.2繼電器開關(guān)電路通過如下列圖〔圖8〕的連接方式,可以提高驅(qū)動負載的能力,并且利用三極管截至和飽和導(dǎo)通的性質(zhì)可以很方便的用于單片機控制。圖8繼電器開關(guān)電路4.3時鐘電路時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號。芯片引腳XTAL1為輸入端,引腳XTAL2為輸出端,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調(diào)電容,形成反應(yīng)電路,構(gòu)成了一個穩(wěn)定的自激振蕩器。電路中的電容C2和C3一般取30pF左右,而晶體的振蕩頻率范圍通常是1.2MHz~12MHz,晶體振蕩頻率高,那么系統(tǒng)的時鐘頻率也高,單片機運行速度也就快。但反過來運行速度快對存儲器的速度要求就高,對印刷電路板的工藝要求也高〔線間寄生電容要小〕。由于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是振蕩脈沖的十二分頻。當(dāng)振蕩脈沖頻率為12MHz時,一個機器周期為1us,當(dāng)振蕩脈沖頻率為6MHz時,一個機器周期為2us。時鐘電路如下列圖〔圖9〕所示:圖9時鐘電路4.4復(fù)位電路復(fù)位電路的復(fù)位信號為高電平有效,其有效時間應(yīng)持續(xù)24個振蕩脈沖周期〔即2個機器周期〕以上。電阻R1與電容C1構(gòu)成RC電路,電容C1充放電。當(dāng)5V電壓加上的瞬間,電容C1為正極朝上的電解電容。此刻C短路,因為電容C1不能突變,所以點A此刻也為5V,而后電壓送到RST上,隨著時間推移,C1充電至5V,此刻電容C1相當(dāng)于斷路,點A電壓為0V,RST端低電平無效。復(fù)位電路如下列圖〔圖10〕所示:圖10復(fù)位電路5軟件設(shè)計5.1實現(xiàn)功能程序開始首先對按鍵變量和小時、分鐘變量進行定義,對共陰極數(shù)碼管的段碼〔字型碼〕以一維數(shù)組方式定義。另外對延時函數(shù)、定時器初始化子函數(shù)、求按鍵子函數(shù)、按鍵處理子函數(shù)、計時子函數(shù)、顯示子函數(shù)進行聲明〔如圖11所示〕。在定時器T0、T1初始化和外部中斷0〔〕子函數(shù)中,規(guī)定定時器T0、T1的工作模式為方式1,定時時間為50ms。外部中斷0采用下降沿觸發(fā)方式。定時器工作在中斷方式,即定時時間到,立即停止執(zhí)行主函數(shù),轉(zhuǎn)而去執(zhí)行中斷效勞函數(shù)〔如圖12、13、14所示〕。在顯示子函數(shù)中,上電復(fù)位后4位數(shù)碼管顯示“----〞。其中包括走時轉(zhuǎn)換函數(shù),負責(zé)將定時器走時數(shù)據(jù)轉(zhuǎn)換為分鐘的十位和個位,超過60分鐘的數(shù)據(jù)再轉(zhuǎn)換為小時的十位和個位。在計時子函數(shù)中,設(shè)置每50ms中斷1次,秒計數(shù)器中計數(shù)值為200時,時間為1分鐘。分鐘計數(shù)器計數(shù)值為60時,時間為1小時預(yù)約時間到,單片機P3.6引腳輸出低電平,驅(qū)動三極管飽和導(dǎo)通,繼電器的線圈中有電流經(jīng)過,從而產(chǎn)生吸合動作,接通電源,用電器開始工作。圖11主函數(shù)圖圖12定時器T0中斷效勞函數(shù)圖13外部中斷T1中斷效勞函數(shù)圖14外部中斷0中斷效勞函數(shù)結(jié)論本文在回憶電子定時器開展歷程的根底上,首先闡述了電子定時器的根本原理,進而詳細介紹了和電子定時器相關(guān)的各種專業(yè)名詞和術(shù)語。硬件選型方面選用ATMEL公司的STC89C51RC單片機作為核心,用LED數(shù)碼管顯示和繼電器作為電源輸出控制。論文的軟件局部給出了系統(tǒng)運行的流程圖和程序。由于能力和知識水平的限制,設(shè)計中存在著缺乏。如硬件選擇和連接可能有不合理,定時器中未能有電子表功能等人性化局部,以后還需改良。從這次畢業(yè)論文設(shè)計中,無論對于單片機還是定時器,都進一步清晰了設(shè)計概念、學(xué)習(xí)了專業(yè)理論、掌握了芯片知識,而且還增長了實踐經(jīng)驗,提高了認知水平,促進了自學(xué)能力。從諸多方面獲得了很大的收益。參考文獻[1] 張志利.FPGA的單片機多機串行通信網(wǎng)絡(luò)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2023[2] 姚曉光.基于GPRS的單片機固件升級系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2023[3] 李輝,寧祎,鄧遵義.SPCE061A單片機程序存儲器的擴展技術(shù)[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2023[4] 向鵬,李繡峰,杜遙雪.分布式全電動注塑機控制系統(tǒng)[J].機械與電子,2007[5] 李俊,王金海.基于TFTP協(xié)議的ARM軟件遠程更新系統(tǒng)[J].工礦自動化,2023[6] 朱飛龍,楊鳴.基于IAP功能單片機的遠程更新系統(tǒng)設(shè)計[J].機電工程,2023[7]李廣弟等.單片機根底[M].北京航空航天出版社,2001

[8]王東峰等.單片機C語言應(yīng)用100例[M].電子工業(yè)出版社,2023

[9]陳海宴.51單片機原理及應(yīng)用[M].北京航空航天大學(xué)出版社,2023

[10]劉守義等.單片機技術(shù)根底[M].西安電子科技大學(xué)出版社,2007

[11]鐘富昭等.8051單片機典型模塊設(shè)計與應(yīng)用[M].人民郵電出版社,2007

致謝大學(xué)生活一晃而過,回首走過的歲月,心中倍感充實,當(dāng)我寫完這篇畢業(yè)論文的時候,有一種如釋重負的感覺,感慨良多。首先誠摯的感謝我的論文指導(dǎo)老師李學(xué)明老師。他在忙碌的教學(xué)工作中擠出時間來審查、修改我的論文。還有教過我的所有老師們,你們嚴謹細致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的典范;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。感謝三年中陪伴在我身邊的同學(xué)、朋友,感謝他們?yōu)槲姨岢龅挠幸娴慕ㄗh和意見,有了他們的支持、鼓勵和幫助,我才能充實的度過了三年的學(xué)習(xí)生活。由于專業(yè)水平有限,論文難免有缺乏、錯誤之處,懇請廣闊老師。同學(xué)批評指正!附錄1:程序#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitKEYON=P2^0;//開始鍵sbitKEYOFF=P2^1;//關(guān)閉鍵sbitKEYSET=P2^2;//預(yù)約鍵sbitKEYINC=P2^3;//加1鍵sbitKEYDEC=P2^4;//減1鍵sbitKEYFREE=P2^5;//預(yù)留鍵sbitPOWER=P3^6;//電源開關(guān)指示燈sbitLED=P3^3;//按鍵指示燈ucharcodedispcode[]={0x3f,0x06,0x05b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9的字型碼uchardatadisbuf[]={0,0,0,0};//顯示緩沖區(qū)ucharhour,min;//小時、分變量bitOnflag,flag;ucharSetflag;voiddelay(uchar);//延時子函數(shù)voidinit(void);//定時器初始化子函數(shù)ucharGetKeyNum();//求按鍵號voidKeyprocess(uchar);//按鍵處理子函數(shù)voidcalculate();//計時子函數(shù)voiddisplay();//顯示子函數(shù)//主函數(shù)voidmain(void){init();P1=0x00;while(1)display();}//定時器TO、T1初始化,外部中斷0初始化子函數(shù)voidinit(){TMOD=0x11;//TO、T1作定時器、工作方式1TH0=(65536-50000)/256;//定時50msTL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;IT0=1;//選擇外部中斷0為下降沿觸發(fā)方式EX0=1;//開外部中斷0ET1=1;//開定時器1ET0=1;//開定時器0EA=1;//開總中斷TR0=1;}//顯示子函數(shù)voiddisplay(){uchari,j=0x08;if((Setflag==0)&&!(min|hour))//數(shù)碼管顯示“----〞{for(i=0;i<4;i++)disbuf[i]=dispcode[10];}else//正常顯示時間{disbuf[0]=dispcode[min%10];//分個位disbuf[1]=dispcode[min/10];//分十位disbuf[2]=dispcode[hour%10]+0x80;//小時個位disbuf[3]=dispcode[hour/10];//小時十位}if((Setflag!=0)&flag)//如果調(diào)時,數(shù)碼管閃爍顯示{for(i=0;i<4;i++){if((disbuf[i]==0x3f)&&(i>2))//不顯示前面的0P0=0;elseP0=disbuf[i];if(Setflag==1)P1=j&0xfc;//調(diào)時,關(guān)斷前兩位位碼elseP1=j&0xf3;//調(diào)分,關(guān)斷后兩位位碼delay(5);//延時2.5msP1=0x00;j=j>>1;}}else//數(shù)碼管正常顯示{for(i=0;i<4;i++){if((disbuf[i]==0x3f)&&(i>2))P0=0;//不顯示前面的0elseP0=disbuf[i];P1=j;//位選通delay(5);//延時2.5msP1=0X00;j=j>>1;}}}//外部中斷0中斷函數(shù)voidint0()interrupt0using0{ucharkeynum;display();//動態(tài)顯示程序作為去抖動if(INT0==0)//判斷是否有按鍵按下{keynum=GetKeyNum();//有效鍵,獲取鍵值while(INT0==0);//等待按鍵釋放Keyprocess(keynum);//按鍵處理}}//定時器0中斷子函數(shù)voidtime0()interrupt1//處理調(diào)時、顯示器閃爍{staticucharledcnt,num;//設(shè)置靜態(tài)變量TH0=(65536-50000)/256;//定時50msTL0=(65536-50000)%256; if((Onflag&&((hour|min)!=0))|!Onflag)//指示燈每隔0.5s閃爍{ledcnt++;if(ledcnt==10)//10X50mS=0.5S{ledcnt=0;LED=~LED;}}if(Setflag!=0)//調(diào)時閃爍{num++;if(num==5){num=0;flag=~flag;}}}//定時器1中斷子函數(shù)voidtime1()interrupt3{TH1=(65536-50000)/256;

溫馨提示

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

評論

0/150

提交評論