




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGEPAGEIII摘要設(shè)計用AT89C51芯片的單片機作為控制部件的核心,顯示方式使用動態(tài)掃描的方式,通過AT89C51單片機的控制,并結(jié)合7407驅(qū)動電路來作為顯示電路的驅(qū)動部分,利用發(fā)光二極管來作為顯示器件。從而實現(xiàn)顯示日期、定時、顯示時間、鬧鈴等功能的顯示通過6個發(fā)光二極管顯示出來,同時,倒計時、進行調(diào)時、設(shè)置日期、設(shè)定鬧鈴等功能利用6個按鍵來實現(xiàn)。各功能的實現(xiàn)都通過數(shù)碼管相應(yīng)的顯示出來,定時時間或鬧鈴時間到時,蜂鳴器會自動響起,當按下定時鍵或鬧鈴鍵時,蜂鳴器聲音會停止。利用匯編語言來編寫軟件部分的程序,分為鬧鈴、延遲、調(diào)時、顯示等部分。通過軟硬件結(jié)合來實現(xiàn)整體功能,從而,達到設(shè)計目的。關(guān)鍵詞:電子鐘;單片機;動態(tài)掃描;匯編語言
AbstractDesignusingAT89C51chipmicrocontrollerasthecoreofthecontrolunit,displaymodeusingdynamicscanningway,byAT89C51singlechipmicrocomputercontrol,andcombinedwith7407drivenpartofthedrivingcircuitforuseasadisplaycircuit,usinglight-emittingdiodesasadisplaydevice.Soastorealizedisplaydatetime,time,alarmdisplaythrough6leddisplay,atthesametime,thecountdown,adjusting,setdate,setthealarmfunctionssuchasusingsixkeystoimplementation.Therealizationofeachfunctionisthroughdigitaltubedisplaythecorresponding,timeroralarmtimearrives,buzzerrang,automaticallywhenpressthetimerbuttonoralarmbutton,buzzersoundwillstop.Usingassemblylanguagetowritethesoftwarepartoftheprogram,isdividedintoalarm,suchasdelay,adjustment,displaypart.Combiningsoftwareandhardwaretoachievetheoverallfunction,thereby,tomeetthedesignpurpose.Keywords:Electricclock;MCU;Dynamicstatescanning;assemblerlanguage
目錄1緒論 11.1電子時鐘的研究背景 11.2電子時鐘的國內(nèi)外研究現(xiàn)狀 12器件概述 12.1MCS-51單片機簡介 12.2電子鐘 32.3LED數(shù)碼管的原理 32.4LED數(shù)碼管驅(qū)動方式 52.4.1靜態(tài)顯示驅(qū)動 52.4.2動態(tài)顯示驅(qū)動 53設(shè)計方案 54硬件電路設(shè)計 64.1復位電路 64.2按鍵電路 64.3時鐘電路 74.4顯示控制電路 84.5數(shù)碼管顯示電路 84.6電源電路設(shè)計 84.7時鐘芯片模塊 84.8綜合電路的實現(xiàn) 94.9本章小結(jié) 95軟件程序設(shè)計 95.1設(shè)計方案 95.2程序流程圖 95.3源程序 126總結(jié) 206.1工作總結(jié) 206.2未來展望 20參考文獻 21致謝 22PAGEPAGE221緒論1.1電子時鐘的研究背景20世紀后期是電子技術(shù)發(fā)展的高速時期,毫無疑問,在此基礎(chǔ)推動下,各種高科技電子產(chǎn)品大量應(yīng)用到了社會的各個領(lǐng)域,這大大地促進了生產(chǎn)力的發(fā)展、綜合科技水平的提高[1],但電子元器件被研發(fā)和淘汰的頻率也日趨加快。由于科學技術(shù)大力發(fā)展,人們生活節(jié)奏比較緊和全球化競爭的日益激烈,人們需要功能更加強大的數(shù)字鐘來滿足他們的生活,并且能更好的服務(wù)他們的生活。應(yīng)社會的需求,各種大的改變不得不發(fā)生在電子鐘身上,這主要包括用途、性能、樣式等方面。鬧鐘、秒表等功能已經(jīng)加在了電子鐘身上。同時人們經(jīng)常用單片機來實現(xiàn)多功能數(shù)字鐘[2]。利用數(shù)字電路來對秒、時、分顯示數(shù)字的電子產(chǎn)品,被叫做數(shù)字電子時鐘。其應(yīng)用場所及其廣泛,人們的生活已經(jīng)和它密不可分,伴隨石英晶體振蕩器大量使用和數(shù)字集成電路大力研發(fā),在精度方面,老式鐘表已經(jīng)無法與電子時鐘相比,自從有了數(shù)字化鐘表以后,人們的時間概念得到了進一步的強化,其中報時功能的進一步發(fā)展,讓人們生活變的更加方便。例如定時自動報警、準時開關(guān)路燈、定時通斷電源、通斷火力裝置等,所有這些,源于鐘表數(shù)字化。因此,研究數(shù)字時鐘及擴大其應(yīng)用,有著重大意義[3]。1.2電子時鐘的國內(nèi)外研究現(xiàn)狀自從數(shù)字電子時鐘問世以來,它就給我們提供準確的時間,鬧鐘功能能夠準確無誤地提醒我們按時做事,就像是我們的家人朋友一樣。工業(yè)上的一些自動通斷動力裝置,能夠根據(jù)需要及時通斷動力,避免因工人的疏忽,而帶來經(jīng)濟損失,因此方便了工人的工作。大街上的自動開關(guān)路燈裝置,方便了人們的生活。學校里的電鈴,能夠根據(jù)學生上課時間與休息的需要而設(shè)定,這樣方便了人為的打鈴,也方便了學生的學習生活[4]。許多種方案可以來設(shè)計電子時鐘,其中,電子鐘可以被中小規(guī)模的集成電路構(gòu)成,還可以利用電子鐘芯片,加顯示電路和一些外圍電路來構(gòu)成,甚至對單片機編程來構(gòu)成電子鐘[5]。其中,通過單片機構(gòu)成的電子時鐘外部結(jié)構(gòu)更加簡單、內(nèi)部程序更加多樣化、具有的功能也更多。數(shù)字鐘主要控制部件是單片機,所以通過單片機的時鐘信號實現(xiàn)計時功能,經(jīng)單片機傳輸出來的數(shù)據(jù),在發(fā)光二極管或液晶顯示器構(gòu)成的顯示器顯示出來。液晶顯示技術(shù)或者數(shù)碼管顯示技術(shù)都是目前比較成熟的外部顯示技術(shù)。2器件概述2.1MCS-51單片機簡介二十世紀九十年代,作為高科技云集的美國INTE公司開發(fā)出了MCS-51單片機,與MCS-48單片機相比,其結(jié)構(gòu)先進,功能強大,更多的電路單元和指令加在MCS-51上,有111條指令,迄今為止,MCS-51系列或其兼容的單片機仍是相當成功的主流產(chǎn)品[6]。8751、8031和8051等都是MCS-51系列單片機的主要通用產(chǎn)品,其功能主要如下:程序存儲器(ROM)、8位CPU、的數(shù)據(jù)存儲器(RAM)32條I/O口線、111條指令(大部分為單字節(jié)指令)專用寄存器、可編程定時/計數(shù)器全雙工串行通信口外部數(shù)據(jù)存儲器尋址、外部程序存儲器尋址、邏輯操作位尋址功能單一+5V電源供電AT89C51單片機:該單片機具有非常強大的功能,在達到基本設(shè)計標準的前提下,還能為滿足進一步的標準而擴展。單片機的結(jié)構(gòu)如下:圖2.1單片機引腳圖在使用時上端VCC接+5V的電源,同時GND接地。P0,P1,P2,P3可作為輸入或輸出端口,RST是復位輸入,因此,接復位電路。XTAL1和XTAL2接復位電路。在硬件設(shè)計方面這都可以得到顯現(xiàn)。就是由于MCS-51以其典型的結(jié)構(gòu)和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統(tǒng),被堪稱為一代“名機”[7],奠定了以后其他單片機的發(fā)展基礎(chǔ)。許多廠商考慮到它結(jié)構(gòu)的完善、性能的優(yōu)越,因此,它的結(jié)構(gòu)體系多被參考、沿用,MCS-51單片機也得到了豐富發(fā)展。近年來C51被大力發(fā)展,INTEL公司是C51的鼻祖,在性能方面,PHILIPS公司為其性能的提高,做出了很大的貢獻,使高速I/O口在原有基礎(chǔ)上得到了發(fā)展,A/D轉(zhuǎn)換器,PWM(脈寬調(diào)制)、WDT等功能也在很大程度上得到了增強,并在低電壓、微功耗的情況下,擴展串行總線(I2C)和控制網(wǎng)絡(luò)總線(CAN)等功能加以完善。ATMEL公司推出的AT89Cxx系列兼容C51的單片機,完美地將Flash(非易失閃存技術(shù))EEPROM與80C51內(nèi)核結(jié)合起來,其仍采用C51的總體結(jié)構(gòu)和指令系統(tǒng),F(xiàn)lash的可反擦寫程序存儲器能有效地降低開發(fā)費用,并能使單片機作多次重復使用[8]。正是由于51系列單片機的不斷改進,使得其有了更為廣泛的應(yīng)用與發(fā)展;也正是由于其廣泛的應(yīng)用范圍和廣泛的發(fā)展,促使了51系列單片機的功能的不斷完善。單片機之所以在生活的各個領(lǐng)域都有很大的應(yīng)用,是因為它所占體積空間不大,質(zhì)量不笨重,況且非常便宜;同時不易被外界信號干擾;指令還特別多,擴展的功能也很多等優(yōu)點,因此它在我們的日常生活中占據(jù)了重要地位,和我們的生活息息相關(guān),這也成為很多商家和科研機構(gòu)不斷研發(fā)出新的單片機的原因,使單片機這個大家族也不斷地壯大和發(fā)展。根據(jù)目前電子產(chǎn)品的發(fā)展趨勢,未來的單片機的功能會更多,速度會更快,各方面性能也會更高,而所需工作電壓會更低,功率也會有很大的提高,這和未來世界低碳,環(huán)保,綠色,低污染,甚至零污染的發(fā)展趨勢相一致,相信到那個時候,單片機更是我們生活的助手。2.2電子鐘電子鐘即數(shù)顯鐘(數(shù)字顯示鐘),它的時、分、秒的計時是利用數(shù)字電路完成的,它更直觀,壽命更長,更準確。電子鐘能夠用來顯示時間這是人們所熟知的、鬧鐘功能能夠提醒人們準確的時間,這也得到了應(yīng)用,隨著工業(yè)自動化的加速發(fā)展,電子鐘也用在了工業(yè)設(shè)備的控制。2.3LED數(shù)碼管的原理把多數(shù)載流子和少數(shù)載流子注入到半導體PN結(jié)中中合的時候,就會以光能的形式將剩余的能量釋放到外部,這樣等于說把電能轉(zhuǎn)換成了光能。當給PN結(jié)通上相反的電壓時,載流子相互之間進行排斥,不發(fā)生能量的中和,不會有剩余的能量釋放出來,所以不會亮。根據(jù)加同相電壓亮的原理制成的二極管被稱作發(fā)光二極管,英文簡稱為LED,全稱為LightEmittingDiode。8字形構(gòu)成的LED數(shù)碼管,如圖2.2所示,分別由字母A,B,C,D,E,F(xiàn),G,DP來表示,DP表示小數(shù)點,數(shù)碼管特定的段加上電壓后,特定的段就會亮[9]。發(fā)光二極管的陰極連接到一起連接到低電平的稱為共陰極數(shù)碼管,如圖2.3所示,發(fā)光二極管的陽極連接到一起連接到電源正極的稱為共陽極數(shù)碼管,如圖2.4所示。圖2.2數(shù)碼管圖2.3共陰極數(shù)碼管圖2.4共陽極數(shù)碼管各段碼位的對應(yīng)關(guān)系,如表2.1所示:表2.1碼位對應(yīng)關(guān)系段碼位D7D6D5D4D3D2D1D0顯示段DpgfedcbaLED顯示斷碼如表2.2所示:根據(jù)我們所采用的8051單片機的特點,我們選用共陰極數(shù)碼管。將8051的P0.0~P0.7通過74LS245芯片與共陰極數(shù)碼管的a~p相連,高電平的位對應(yīng)的LED數(shù)碼管的段亮,低電平的位對應(yīng)的LED數(shù)碼管的段暗,這樣,當P0口輸出不同的段碼,就可以控制數(shù)碼管顯示不同的字符[10]。表2.2LED顯示段碼字型共陽極段碼共陰極段碼字型共陽極斷碼共陰極段碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H—FFH00H880H7FHP8CH73H2.4LED數(shù)碼管驅(qū)動方式LED數(shù)碼管要正常顯示出所需要的數(shù)字,就應(yīng)該使得所對應(yīng)的段碼用驅(qū)動電路來驅(qū)動。所以按照驅(qū)動方式分為靜態(tài)式和動態(tài)式。2.4.1靜態(tài)顯示驅(qū)動靜態(tài)驅(qū)動也稱直流驅(qū)動。若數(shù)碼管顯示為某一個字符時相應(yīng)的發(fā)光二極管恒定導通或截止。靜態(tài)顯示方式時所有數(shù)碼管同時點亮[11],字符顯示的時候加在數(shù)碼管上的七段碼不會改變,也就是說每一個數(shù)碼管對應(yīng)一個8位I/O接口,所以占用的硬件資源較多。2.4.2動態(tài)顯示驅(qū)動動態(tài)顯示是輪流點亮各數(shù)碼段,不斷掃描顯示器。任何時刻只給一個數(shù)碼管通電,通電一定時間后再給下一個數(shù)碼管通電[12]。只要刷新率足夠高,動態(tài)顯示方式同樣可以實現(xiàn)穩(wěn)定顯示。動態(tài)顯示優(yōu)點是節(jié)約I/O口。3設(shè)計方案這個電子鐘的設(shè)計工作分以下幾步驟,第一,需要清楚知道單片機等硬件的結(jié)構(gòu),包括引腳的具體作用,甚至明確各寄存器、存儲單元的詳細用法,要不然,我們根本無法編程,也不能做硬件電路的相關(guān)設(shè)計。第二,根據(jù)想要實現(xiàn)的功能逐個設(shè)計所對應(yīng)的硬件電路,例如輸入的開關(guān)電路,輸出的顯示驅(qū)動電路和數(shù)碼管電路等。第三,學習并掌握匯編語言編程,之后要編寫對應(yīng)硬件電路所實現(xiàn)功能的程序,再用編好的程序來調(diào)試對應(yīng)的硬件電路,驗證能否得到預先想要的結(jié)果。第四,根據(jù)軟件執(zhí)行過程畫出流程圖,并畫出設(shè)計好的電路圖。第五,進行軟件的仿真:將寫好的程序加載到單片機以及一些芯片中,結(jié)合外部硬件電路來驗證程序部分的對錯,以及硬件電路設(shè)計的是否合理,不斷進行驗證修改,直到達到設(shè)計目的為止。第六,功能的擴展:本設(shè)計加進了日期顯示功能與調(diào)整功能。4硬件電路設(shè)計根據(jù)對電子鐘系統(tǒng)的全面把握,和具體各個部分所要完成的任務(wù),對所需要的各個部分的電路做詳細的設(shè)計。4.1復位電路利用外部的復位電路來完成51單片機的復位。一個斯密特觸發(fā)器連接了外部的復位電路與RST復位引腳,抑制噪聲,是斯密特觸發(fā)器在此的特殊作用。上電復位:上電復位電路是相對比較簡單的復位電路,將RST復位引腳和一個電容連接在一起,并連接到VCC端,RST另一端和一個電阻連接起來,并一起接地即可。上電復位是指在給系統(tǒng)上電時,復位電路就是將一個短暫的高電平信號經(jīng)過電容加到RST復位引腳的電路。復位信號會依據(jù)VCC給電容的充電而降低,所以RST引腳復位的高電平維持時間的長短決定于電容的充電時間長短[13]。電路圖如下:圖4.1復位電路上電自動復位是利用電容器的充電完成的。自動上電復位的條件是VCC的上升時間不超過1ms即可。4.2按鍵電路按鍵電路是指利用特定的電路將高、低電平狀態(tài)與按鍵開關(guān)狀態(tài)建立起一定的聯(lián)系。按鍵閉合就會有一個負脈沖在相應(yīng)的I/O口出現(xiàn)。閉合和釋放都需要經(jīng)過一段時間趨于穩(wěn)定,此現(xiàn)象的原因在于高低電平的抖動造成的。抖動時間的長短取決于開關(guān)的機械特性,維持在5-10ms間。只有消除抖動,才能防止CPU連續(xù)解決按鍵一次閉合。為此我們特意采用的是獨立式按鍵,一個按鍵只占用一條I/O口線只構(gòu)成一個按鍵電路,這樣工作的時候各個按鍵不會導致相互干擾。電路圖如圖4.2所示:圖4.2按鍵電路當P1.0低電平時,說明有健按下,并且是對秒進行調(diào)節(jié);當升成高電平時,表示停止調(diào)秒。當P1.1低電平時,同樣說明有健按下,并且是對分進行調(diào)節(jié);當升成高電平時,表示停止調(diào)分。P1.2變低電平,有健按下進行調(diào)時,當升高電平,停止調(diào)節(jié)。4.3時鐘電路時鐘是單片機的心臟,時鐘頻率是單片機各結(jié)構(gòu)工作的最小單位,單片機各結(jié)構(gòu)都按照時鐘頻率的步驟有序地進行各自的工作。所以,單片機運行速度地快慢在很大程度上受時鐘頻率影響,干擾單片機系統(tǒng)穩(wěn)定的另一個因素則是時鐘電路的質(zhì)量。常用的兩種時鐘電路方式內(nèi)部時鐘方式和外部時鐘方式。本文用的是內(nèi)部時鐘方式。電路圖如圖4.3所示:圖4.3時鐘電路4.4顯示控制電路我們使用發(fā)光二極管構(gòu)成的共陰極結(jié)構(gòu)作為顯示結(jié)構(gòu)。所以,當我們將高電平加到相應(yīng)的數(shù)碼管上時,對應(yīng)的數(shù)碼管發(fā)出光來。將數(shù)碼管的數(shù)字輸入端和總線連接起來,數(shù)位控制由單片機來進行,數(shù)位數(shù)碼管同時顯示是利用循環(huán)掃描技術(shù),再結(jié)合人眼視覺暫留來共同實現(xiàn)的效果。其原理示意圖如圖4.4所示:圖4.4顯示控制電路4.5數(shù)碼管顯示電路數(shù)碼管顯示器之所以被普遍采用,是因為其配置靈活多洋,結(jié)構(gòu)簡單,造價低廉。作為單片機的顯示部件使用已成為不錯的選擇。數(shù)碼管的工作原理:數(shù)碼管的每一個數(shù)碼段是一個發(fā)光二極管,當給發(fā)光二極管加正相電壓,且足以使其導通時,此發(fā)光二極管發(fā)光,控制發(fā)光二極管發(fā)光組合,可以顯示所需字符。由八個發(fā)光二極管構(gòu)成的顯示器件。在數(shù)碼管中,若將二極管的陽極連在一起,通過陰極控制其顯示,則構(gòu)成共陽極結(jié)構(gòu);若將各發(fā)光二極管的陰極連在一起,通過陽極控制其顯示,則構(gòu)成共陰極結(jié)構(gòu)。我們用到的八個數(shù)碼管構(gòu)成共陰極結(jié)構(gòu)。若發(fā)光二極管導通時發(fā)光。一個發(fā)光二極管構(gòu)成一個筆劃,若干個發(fā)光的二極管構(gòu)成一字符。把控制相應(yīng)芯片的單片機的輸入、輸出接口與數(shù)碼管的a-g相接,此時,輸出高電平的端口所接的發(fā)光二極管變亮,那么,通過控制I/O口輸出代碼的不同,就能夠讓數(shù)碼管顯示出不一樣的字符。本文顯示當前時間的數(shù)碼管均采用的是動態(tài)顯示方式。4.6電源電路設(shè)計電源電路通過利用變壓器可以將220V的交流電壓變?yōu)?V的交流電壓,再利用橋式整流電路將交流電變成脈動的直流電,然后經(jīng)過電容的濾波作用,濾去脈動直流中的交流成分,有些電路對電源要求比較高,就要用穩(wěn)壓器的穩(wěn)壓作用,最后輸出5V的穩(wěn)定電壓。我們在設(shè)計中可以借助實驗室的數(shù)字工作箱來設(shè)計。4.7時鐘芯片模塊本設(shè)計用DS12887時鐘芯片,能夠提高電子鐘的精確度,單片機采取并聯(lián)總線的方式與時鐘芯片實現(xiàn)通信,從而進行顯示時間。4.8綜合電路的實現(xiàn)根據(jù)以上各部分電路的分析與設(shè)計,再考慮到所設(shè)計的電子鐘具有實現(xiàn)時,分,秒24小時制的功能,另外還有調(diào)時調(diào)分調(diào)秒的擴展功能。我們設(shè)計出如下的綜合電路,如圖4.5所示:圖4.5電子鐘基本部分參考電路原理圖4.9本章小結(jié)本章介紹的是本設(shè)計的硬件結(jié)構(gòu),單片機的相關(guān)I/O口輸入輸出就可以實現(xiàn)相應(yīng)的控制功能。還介紹了單片機的復位電路和時鐘電路。5軟件程序設(shè)計5.1設(shè)計方案在硬件設(shè)計結(jié)束以后,緊接著將是本設(shè)計中最重要的軟件部分設(shè)計。把對軟件的具體需求轉(zhuǎn)換成對軟件的具體設(shè)計方案,這一過程被叫作軟件設(shè)計。本設(shè)計是從總體上把握所要實現(xiàn)的功能,然后將大的功能依據(jù)要求和硬件設(shè)計的結(jié)構(gòu),分割成各個小的功能模塊,根據(jù)各個功能模塊編寫實現(xiàn)其功能的對應(yīng)程序,這種設(shè)計方案被稱作模塊化結(jié)構(gòu)設(shè)計,這樣得設(shè)計方案能夠讓系統(tǒng)的整體功能和各部分的功能更加趨于明朗化。一旦系統(tǒng)有問題,我們就能夠從功能設(shè)置來發(fā)現(xiàn)問題的根源,從而迅速解決問題。5.2程序流程圖圖5.1主程序流程圖上圖為主程序流程圖,其清晰的反應(yīng)了整個程序的執(zhí)行過程。主程序開始以后,就會進入到設(shè)定定時器常數(shù),并且開中斷階段,緊接著會進行一個是否到一秒的判斷,如果到了一秒,就會進入顯示時間階段,如果不到一秒則會返回,等到一秒時,再進行顯示時間。由于程序圖能夠給我們清晰的思路,所以繪制了中斷服務(wù)程序流程圖如下:圖5.2中斷服務(wù)程序流程圖圖5.3時鐘調(diào)整子程序流程圖5.3源程序中斷入口程序:ORG0000H ;程序執(zhí)行開始地址LJMPSTART ;跳到標號START執(zhí)行ORG0003H ;外中斷0中斷程序入口RETI ;外中斷0中斷返回ORG000BH ;定時器T0中斷程序入口LJMPINTT0 ;跳至INTTO執(zhí)行ORG0013H ;外中斷1中斷程序入口RETI ;外中斷1中斷返回ORG001BH ;定時器T1中斷程序入口LJMPINTT1 ;跳至INTT1執(zhí)行ORG0023H ;串行中斷程序入口地址RETI ;串行中斷程序返回主程序:START:MOVR0,#70H;清70H-7AH共11個內(nèi)存單元MOVR7,#0; CLRR3.0 ;CLEARDISP:MOV@R0,#00H;INCR0;DJNZR7,CLEARDISP;MOV20H,#00H;清20H(標志用)MOV7AH,#0AH;放入"熄滅符"數(shù)據(jù)MOV TMOD,#11H;設(shè)T0、T1為16位定時器MOVTL0,#0B0H;50MS定時初值(T0計時用)MOVTH0,#3CH;50MS定時初值MOVTL1,#0B0H;50MS定時初值(T1閃爍定時用)MOVTH1,#3CH;50MS定時初值SETBEA;總中斷開放SETBET0;允許T0中斷SETBTR0;開啟T0定時器MOVR4,#14H;1秒定時用初值(50MS×20)START1:LCALDISPLAY;調(diào)用顯示子程序JNB P3.7,SETMM1;P3.7口為0時轉(zhuǎn)時間調(diào)整程序SJMPSTART1;P3.7口為1時跳回START1SETMM1:LJMPSETMMT0中斷程序:INTT0:PUSHACC;累加器入棧保護PUSHPSW;狀態(tài)字入棧保護CLRET0;關(guān)T0中斷允許CLRTR0;關(guān)閉定時器T0MOVA,#0B7H;中斷響應(yīng)時間同步修正ADDA,TL0;低8位初值修正MOVTL0,A;重裝初值(低8位修正值)MOVA,#3CH;高8位初值修正ADDCA,TH0MOVTH0,A;重裝初值(高8位修正值)SETBTR0;開啟定時器T0DJNZR4,OUTT0;20次中斷未到中斷退出ADDSS:MOV R4,#14H;20次中斷到(1秒)重賦初值MOV R0,#71H;指向秒計時單元(71H-72H)ACALLADD1;調(diào)用加1程序(加1秒操作)MOVA,R3CLR C;清進位標志CJNEA,#60H,ADDMMADDMM:JC OUTT0;小于60秒時中斷退出ACALLCLR0MOV R0,#77H;指向分計時單元(76H-77H)ACALLADD1;分計時單元加1分鐘MOV A,R3;分數(shù)據(jù)放入ACLRC;清進位標志CJNEA,#60H,ADDHHADDHH:JC OUTT0;小于60分時中斷退出ACALLCLR0MOV R0,#79H;指向小時計時單(78H-79H)ACALLADD1;小時計時單元加1小時MOVA,R3;時數(shù)據(jù)放入ACLRC;清進位標志CJNEA,#24H,HOURHOUR:JCOUTT0;小于24小時中斷退出ACALLCLR0OUTT0:MOV72H,76HMOV73H,77H;入對應(yīng)顯示單元MOV74H,78H;MOV75H,79H;POP PSW;恢復狀態(tài)字(出棧)POPACC;恢復累加器SETBET0;開放T0中斷RETI;中斷返回T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示:INTT1:PUSHACC;中斷現(xiàn)場保護PUSHPSW;MOVTL1,#0B0H;裝定時器T1定時初值MOVTH1,#3CH ;DJNZR2,INTT1OUT;0.3秒未到退出中斷(50MS中斷6次)MOVR2,#06H ;重裝0.3秒定時用初值CPL02H ;0.3秒定時到對閃爍標志取反JB02H,FLASH1 ;02H位為1時顯示單元"熄滅"MOV72H,76H;02H位為0時正常顯示MOV73H,77H;MOV74H,78H;MOV75H,79H;INTT1OUT:POPPSW ;恢復現(xiàn)場POPACC;RETI;中斷退出FLASH1:JB01H,FLASH2;01H位為1時,轉(zhuǎn)小時熄滅控制MOV72H,7AH;01H位為0時,"熄滅符"數(shù)據(jù)放入分MOV73H,7AH;顯示單元(72H-73H),將不顯示分數(shù)MOV74H,78H;MOV75H,79H;AJMPINTT1OUT;轉(zhuǎn)中斷退出FLASH2:MOV72H,76H;01H位為1時,"熄滅符"數(shù)據(jù)放入小MOV73H,77H;顯示單元(74H-75H),小時數(shù)據(jù)MOV74H,7AH;MOV75H,7AH;AJMPINTT1OUT;轉(zhuǎn)中斷退出加1子程序:ADD1:MOV A,@R0;取當前計時單元數(shù)據(jù)到ADEC R0;指向前一地址SWAPA;A中數(shù)據(jù)高四位與低四位交換ORL A,@R0;前一地址中數(shù)據(jù)放入A中低四位ADD A,#01H;A加1操作DA A;十進制調(diào)整MOVR3,A;移入R3寄存器ANL A,#0FH;高四位變0MOV @R0,A;放回前一地址單元MOV A,R3;取回R3中暫存數(shù)據(jù)INC R0;指向當前地址單元SWAP A;A中數(shù)據(jù)高四位與低四位交換ANL A,#0FH;高四位變0MOV @R0,A;數(shù)據(jù)放入當削地址單元中RET;子程序返清零程序?qū)τ嫊r單元復零用,對計時單元復零用CLR0:CLRA;清累加器MOV@R0,A;清當前地址單元DECR0;指向前一地址MOV@R0,A;前一地址單元清0RET;子程序返回時鐘調(diào)整程序當調(diào)時按鍵按下時進入此程序SETMM:CLR ET0;關(guān)定時器T0中斷CLR TR0;關(guān)閉定時器T0LCALLDL1S;調(diào)用1秒延時程序JBP3.7,CLOSEDISMOVR2,#06HSETB ET1;允許T1中斷SETB TR1;開啟定時器T1SET2:JNBP3.7,SET1;P3.7口為0(鍵未釋放),等待SETB 00H;鍵釋放,分調(diào)整閃爍標志置1SET4:JBP3.7,SET3;等待鍵按下LCALL DL05S;有鍵按下,延時0.5秒JNBP3.7,SETHHMOVR0,#77H;按下時間小于0.5秒1分鐘操作LCALL ADD1;調(diào)用加1子程序MOVA,R3;取調(diào)整單元數(shù)據(jù)CLRC;清進位標志CJNE A,#60H,HHH;調(diào)整單元數(shù)據(jù)與60比較HHH:JCSET4;調(diào)整單元數(shù)據(jù)小于60SET4循環(huán)LCALL CLR0;調(diào)整單元數(shù)據(jù)大于等于60時清0CLRC清進位標志AJMP SET4跳轉(zhuǎn)到SET4循環(huán)CLOSEDIS:SETB ET0;省電(LED不顯示)狀態(tài)。T0中SETB TR0;開啟T0定時器(開時鐘)CLOSE:JB P3.7,CLOSE;無按鍵按下,等待。LCALLDISPLAYJB P3.7,CLOSE;是干擾返回CLOSE等待WAITH:JNB P3.7,WAITH;等待鍵釋放LJMP START1;返回主程序(LED數(shù)據(jù)顯示亮)SETHH:CLR 00H;分閃爍標志清除SETHH1:JNBP3.7,SET5;等待鍵釋放SETB01HSET6:JBP3.7,SET7;等待按鍵按下LCALL DL05S;有鍵按下延時0.5秒JNB P3.7,SETOUT;按下時間大于0.5秒退出時間調(diào)整MOVR0,#79H;按下時間小于0.5秒加1小時操作LCALL ADD1;調(diào)加1子程序MOVA,R3CLRCCJNE A,#24H,HOUU;計時單元數(shù)據(jù)與24比較HOUU:JCSET6;小于24轉(zhuǎn)SET6循環(huán)LCALL CLR0;大于或等于24時清0操作AJMP SET6;跳轉(zhuǎn)到SET6循環(huán)SETOUT:JNB P3.7,SETOUT1;調(diào)時退出程序。等待鍵釋放LCALL DISPLAY;延時削抖JNB P3.7,SETOUT;是抖動,返回SETOUT再等待CLR 01H;清調(diào)小時標志CLR 00H;清調(diào)分標志CLR 02H;清閃爍標志CLR TR1;關(guān)閉定時器T1CLR ET1;關(guān)定時器T1中斷SETB TR0;開啟定時器T0SETBET0LJMP START1;跳回主程序SET1:LCALLDISPLAYAJMPSET2;防止鍵按下時無時鐘顯示SET3:LCALLDISPLAY;等待調(diào)分按鍵時時鐘顯示用AJMPSET4SET5:LCALLDISPLAY;鍵釋放等待時調(diào)用顯示程序AJMPSETHH1;防止鍵按下時無時鐘顯示SET7:LCALLDISPLAY;等待調(diào)小時按鍵時時鐘顯示用AJMPSET6SETOUT1:LCALLDISPLAY;退出時鐘調(diào)整時鍵釋放等待AJMPSETOUT;防止鍵按下時無時鐘顯示顯示數(shù)據(jù)在70H-75H單元內(nèi),用六位LED共陽數(shù)碼管顯示,P0口輸出段碼數(shù)據(jù),P3口作掃描控制,每個LED數(shù)碼管亮1MS時間再逐位循環(huán)。DISPLAY:MOVR1,#70H;指向顯示數(shù)據(jù)首址MOVR5,#0FEH;掃描控制字初值PLAY:MOVA,R5;掃描字放入AMOVP2,A;從P2口輸出MOVA,@R1;取顯示數(shù)據(jù)到AMOVDPTR,#TAB;取段碼表地址MOVCA,@A+DPTR;查顯示數(shù)據(jù)對應(yīng)段碼MOVP1,A;段碼放入P0口LCALL DL1MS;顯示1MSINCR1;指向下一地址MOVA,R5;掃描控制字放入AJNBACC.5,ENDOUT;ACC.5=0時一次顯示結(jié)束RLA;A中數(shù)據(jù)循環(huán)左移MOVR5,A;放回R5內(nèi)AJMP PLAY;跳回PLAY循環(huán)ENDOU:SETB P2.5;一次顯示結(jié)束,P2口復位MOVP1,#0FFH;P0口復位RET;子程序返回TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH1MS延時程序,LED顯示程序用DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RET20MS延時程序,采用調(diào)用顯示子程序以改善LED的顯示閃爍現(xiàn)象DS20MS:ACALLDISPLAYACALLDISPLAYACALLDISPLAYRET延時程序,用作按鍵時間的長短判斷DL1S:LCALLDL05SLCALLDL05SRETDL05S:MOVR3,#20H;8毫秒*32=0.196秒DL05S1:LCALLDISPLAYDJNZR3,DL05S1RETEND;程序結(jié)束6總結(jié)6.1工作總結(jié)該設(shè)計主要是利用AT89C51單片機來完成電子時鐘所具備的顯示時、分、秒的功能,和擴展出來的調(diào)節(jié)時、分、秒的功能。涉及到下面工作:介紹單片機的發(fā)展過程,并熟練掌握單片機的結(jié)構(gòu)和功能,考慮到本設(shè)計所要實現(xiàn)的功能,我們選擇51單片機中的AT89C51單片機來完成設(shè)計。至于電子時鐘的顯示部分,我們結(jié)合目前發(fā)光二極管的結(jié)構(gòu)簡單、顯示效果優(yōu)越,造價低等優(yōu)點。所以使用LED數(shù)碼管來顯示?;趯T89C51單片機和LED相關(guān)知識的熟悉和掌握,采用DS12887芯片對時鐘信號來做比較完整的保存,同時也要熟知DS12887芯片的結(jié)構(gòu)和工作原理。完成了硬件的選擇和電路的設(shè)計,又做了程序部分的設(shè)計,將軟件部分和硬件部分相結(jié)合,然后輸入程序,設(shè)計的電子鐘實現(xiàn)了分、秒、時的顯示功能,同時,也具備了調(diào)節(jié)分、時、秒的功能。6.2未來展望經(jīng)過完成這個設(shè)計,我了解到了單片機的發(fā)展歷史,深深體會到了其發(fā)展速度的驚人,和其與我們生活的聯(lián)系越來越密不可分。同時對發(fā)光二級管的發(fā)光原理有了更好地掌握。對數(shù)碼管的組成和顯示字符原理也更加清楚。今后的改進有:想辦法讓我們的電子鐘更加精準,同時具有更多附加功能,比如我們的萬年歷,今后設(shè)法加上更多的傳感器,使其具備顯示空氣質(zhì)量,穿衣指數(shù)等功能??傊?,希望今后電子鐘具備更多人性話功能,來更好地服務(wù)我們的生活。
參考文獻[1]牛昱光,李曉林,閻高偉.單片機原理與接口技術(shù)[M].北京:電子工業(yè)出版社,2008:16-228.[2]王婕,艾紅.熱釋電紅外傳感器應(yīng)用與車流量檢測系統(tǒng)[J].自動化儀表,2010.03:17-19.[3]任善榮,方仕雄.總線技術(shù)在LED亮化工程中的應(yīng)用[J].微處理機,2010.02:53-55.[4]李群芳.單片微型計算機與接口技術(shù)[M].北京:電子工業(yè)出版社,2005:60-128.[5]李正浩,姜寶鈞,鄧興成.51單片機在LED數(shù)碼顯示中的應(yīng)用[J].實驗科學與技術(shù),2006:12-17.[6]張曉林.嵌入式系統(tǒng)設(shè)計與實踐[M].北京:北京航空航天大學出版社,2006:36-97.[7]付向艷.淺談MCS51單片機原理與應(yīng)用[J].計算機光盤軟件與應(yīng)用,2010.7(3):56-58.[8]張齊.單片機應(yīng)用系統(tǒng)設(shè)計技術(shù)—基于C51的Proteus仿真[M].北京:電子工業(yè)出版社,2010:95-210.[9]賈巍.單片機仿真開發(fā)軟件的應(yīng)用[J].中國水運,2007,40(11):134-135.[10]榮霞,譚寶成,倪原,張荷芳.MCS51/96單片機教學實驗裝置的研制[M].西安工業(yè)學院出版社,2006:67-114.[11]唐德禮,王襄.單片機學習機及編程器的設(shè)計與制作[J].現(xiàn)代電子技術(shù),2005,(05).45-75.[12]徐偉.經(jīng)濟型51仿真器[J].電子制作,2004,(08).30-32.[13]SpringerLondon.Supportingroutinedecision-makingwithanext-generationalarmclock[J].presonalandubiquitouscomputing.2004:24-176.
致謝基于C8051F單片機直流電動機反饋控制系統(tǒng)的設(shè)計與研究基于單片機的嵌入式Web服務(wù)器的研究MOTOROLA單片機MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統(tǒng)的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機控制的二級倒立擺系統(tǒng)的研究基于增強型51系列單片機的TCP/IP協(xié)議棧的實現(xiàn)基于單片機的蓄電池自動監(jiān)測系統(tǒng)基于32位嵌入式單片機系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機的交流伺服電機運動控制系統(tǒng)研究與開發(fā)基于單片機的泵管內(nèi)壁硬度測試儀的研制基于單片機的自動找平控制系統(tǒng)研究基于C8051F040單片機的嵌入式系統(tǒng)開發(fā)基于單片機的液壓動力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機實現(xiàn)一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設(shè)計基于單片機控制的高速快走絲電火花線切割機床短循環(huán)走絲方式研究基于單片機的機電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機的智能手機充電器基于單片機的實時內(nèi)核設(shè)計及其應(yīng)用研究基于單片機的遠程抄表系統(tǒng)的設(shè)計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統(tǒng)單片機系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設(shè)計和應(yīng)用基于單片機的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機單片機控制系統(tǒng)的研制基于單片機的數(shù)字磁通門傳感器基于單片機的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統(tǒng)設(shè)計Pico專用單片機核的可測性設(shè)計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構(gòu)建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現(xiàn)基于單片機的電液伺服控制系統(tǒng)用于單片機系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機的時控和計數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機和CPLD的粗光柵位移測量系統(tǒng)研究單片機控制的后備式方波UPS提升高職學生單片機應(yīng)用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設(shè)計基于單片機的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機的溫度智能控制系統(tǒng)的設(shè)計與實現(xiàn)基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機的膛壁溫度報警系統(tǒng)設(shè)計基于AVR單片機的低壓無功補償控制器的設(shè)計基于單片機船舶電力推進電機監(jiān)測系統(tǒng)基于單片機網(wǎng)絡(luò)的振動信號的采集系統(tǒng)基于單片機的大容量數(shù)據(jù)存儲技術(shù)的應(yīng)用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務(wù)器技術(shù)的研究及實現(xiàn)\t"_b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 掛靠聯(lián)營協(xié)議合同
- 各行業(yè)人才招聘量統(tǒng)計表
- 二手房房屋買賣合同書
- 礦用管路安裝施工方案
- 萃取塔清洗施工方案
- 屋面臺階維修施工方案
- 衡水罐體鐵皮保溫施工方案
- 腦血管病用藥項目風險識別與評估綜合報告
- 安徽拼接式蓄水池施工方案
- 同花順:2024年年度審計報告
- 10廣東省事業(yè)單位工作人員年度考核登記表(申報評審衛(wèi)生版表十)
- 幼兒游戲活動指導第二版全套教學課件
- 南京市城市用地分類和代碼標準
- 教育管理學(陳孝彬第三版)筆記整理
- 向下管理高爾夫-完整備注版104張課件
- 護理技術(shù)操作考核評分標準患者約束法
- 慢性心功能不全的護理查房
- 電氣第一種第二種工作票講解-課件
- 輸血與創(chuàng)傷性凝血病
- 人工挖孔樁爆破技術(shù)方案
- 2023年牡丹江大學單招面試題庫及答案解析
評論
0/150
提交評論