畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第1頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第2頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第3頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第4頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于單片機(jī)的數(shù)字鐘設(shè)計(jì)基于單片機(jī)的數(shù)字鐘設(shè)計(jì)摘要在單片機(jī)技術(shù)日趨成熟的今天,其靈活的硬件電路的設(shè)計(jì)和軟件的設(shè)計(jì),由于它具有功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用方便等特點(diǎn),因此特別適合于與控制有關(guān)的系統(tǒng),越來越廣泛地應(yīng)用于自動控制,智能化儀器,儀表,數(shù)據(jù)采集,軍工產(chǎn)品以及家用電器等各個領(lǐng)域,單片機(jī)往往是作為一個核心部件來使用,在根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點(diǎn)的軟件結(jié)合,以作完善。其中鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,諸如定時自動報(bào)警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉電路、定時開關(guān)烘箱、通斷動力設(shè)備,甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。關(guān)鍵詞數(shù)字鐘、單片機(jī)、動態(tài)顯示、調(diào)時、調(diào)分、蜂鳴器目錄第一章 概述41.1 設(shè)計(jì)目的41.2 設(shè)計(jì)任務(wù)及要求4設(shè)計(jì)要求及基本功能41.3 任務(wù)分析51.4 方案選擇與論證61.4.1 單片機(jī)芯片的選擇方案和論證61.4.2 時鐘芯片的選擇方案和論證71.4.3 電路設(shè)計(jì)最終方案決定7第二章 硬件電路設(shè)計(jì)82.1系統(tǒng)硬件概述82.2單片機(jī)主控制模塊的設(shè)計(jì)82.3控制器的選擇82.4 數(shù)碼管的選擇92.4.1產(chǎn)品分類92.4.2顯示方式112.5.石英晶體振蕩器112.6.蜂鳴器的介紹122.6.1蜂鳴器的作用122.6.2蜂鳴器的分類122.7 復(fù)位電路132.8元件清單142.9 原理圖14第三章 軟件設(shè)計(jì)153.1中斷方式應(yīng)注意的問題:153.2 定時準(zhǔn)確性的討論:153.3軟件消抖:163.4原理框圖17第四章 調(diào)試22心得體會22附錄一 :電路原理圖23附錄二 :程序24參考文獻(xiàn)36第一章 概述1.1 設(shè)計(jì)目的通過數(shù)字鐘的制作,進(jìn)一步熟悉led數(shù)碼管與單片機(jī)的接口方式以及定時/計(jì)數(shù)器、中斷技術(shù)的綜合運(yùn)用,并學(xué)會鍵盤的使用.1.2 設(shè)計(jì)任務(wù)及要求本次畢業(yè)設(shè)計(jì)要求設(shè)計(jì)一個數(shù)字鐘,基本要求為數(shù)字鐘的時間周期為24小時,數(shù)字鐘顯示時、分、秒,數(shù)字鐘的時間基準(zhǔn)一秒對應(yīng)現(xiàn)實(shí)生活中的時鐘的一秒。鍵盤是單片機(jī)應(yīng)用系統(tǒng)中最常用的輸入設(shè)備,用它輸入數(shù)據(jù)或命令。顯示器是單片機(jī)應(yīng)用系統(tǒng)中最常見的輸出設(shè)備,用它顯示單片機(jī)輸出的視覺信息。本課題制作的數(shù)字鐘,利用按鍵實(shí)現(xiàn)數(shù)字鐘的校時,定時等操作,利用蜂鳴器輸出音頻信息,利用led數(shù)碼管顯示時間。設(shè)計(jì)要求及基本功能1.掌握數(shù)字鐘的設(shè)計(jì)、組裝與調(diào)試方法。2.熟悉單片機(jī)邏輯功能及使用方法。3.掌握面包板結(jié)構(gòu)及其接線方法4.熟悉仿真軟件的使用。5.設(shè)計(jì)要求及指標(biāo)6.時鐘顯示功能,能夠正確顯示“時”、“分”、“秒”。7.具有快速校準(zhǔn)時、分、秒的功能。8.具有整點(diǎn)報(bào)時的功能,具有鬧鐘的功能。 1.3 任務(wù)分析此部分主要介紹定時模塊,和顯示模塊。定時部分采用經(jīng)典的定時器定時。它實(shí)現(xiàn)了數(shù)字鐘的主要部分,和秒表的主要部分,以及產(chǎn)生報(bào)時信號,定時設(shè)置。顯示模塊是實(shí)現(xiàn)數(shù)字鐘的又一重要部分,其模塊的的獨(dú)立程度直接影響到數(shù)字鐘的可視化程度。在此部分的設(shè)計(jì)中,設(shè)置專用顯示數(shù)據(jù)緩沖區(qū),與分,時及其他數(shù)據(jù)緩沖區(qū)數(shù)據(jù)區(qū)別,在其中存放的是顯示段碼,而其他緩沖區(qū)存放的是時間數(shù)據(jù)。在顯示時,首先將時間十進(jìn)制數(shù)據(jù)轉(zhuǎn)化為顯示段碼,然后送往數(shù)碼管顯示。顯示段碼采用動態(tài)掃描的方式。在要求改變顯示數(shù)據(jù)的類別數(shù)據(jù)調(diào)整有多種方式。一,可以直接進(jìn)入相關(guān)狀態(tài)進(jìn)行有關(guān)操作,二,將調(diào)整分兩步,先進(jìn)入狀態(tài),然后執(zhí)行操作,這兩步分別由兩個鍵控制。方式一,比較直接,設(shè)計(jì)思想也比較簡單,但是,這種方式存在操作時間和控制鍵數(shù)目的矛盾。如果用比較少的鍵,那么可能會在進(jìn)入狀態(tài)后處于數(shù)據(jù)調(diào)整等待狀態(tài),這樣會影響到顯示的掃描速度。 當(dāng)然在這種方式下,還可以使用多個狀態(tài)鍵,每個狀態(tài)鍵,完成一個對應(yīng)數(shù)據(jù)的調(diào)整。如果采用二的方式,就不會出現(xiàn)這種情況。因?yàn)闋顟B(tài)的調(diào)整,與狀態(tài)的操作可以分別由兩個鍵控制,其狀態(tài)的調(diào)整數(shù)可以多達(dá)256個(理論上),操作的完成是這樣的,一鍵控制狀態(tài)的調(diào)整,一鍵控制數(shù)據(jù)的調(diào)整。以上兩種方式的實(shí)現(xiàn)都可以采用查詢和中斷的方式。兩種方式必須注意的問題是兩者進(jìn)行相關(guān)操作的過程不能太長否則會影響顯示的掃描。利用查詢的方式,方法傳統(tǒng),對此就不作過多的討論,以下是采用中斷的方式實(shí)現(xiàn)的數(shù)字鐘的一些討論和有關(guān)問題作的一些處理?;谝陨系挠懻摽梢栽O(shè)計(jì)如下:將調(diào)整分為狀態(tài)調(diào)整和數(shù)據(jù)調(diào)整兩部分,每次進(jìn)入中斷只執(zhí)行一次操作,然后返回,這樣,就不必讓中斷處于調(diào)整等待狀態(tài),這樣,可以使中斷的耗時很小。將定時器中斷的優(yōu)先級設(shè)置為最高級,那么中斷的方式和查詢的方式一樣不會影響到時鐘的記數(shù)。1.4 方案選擇與論證1.4.1 單片機(jī)芯片的選擇方案和論證方案一: 采用89c51芯片作為硬件核心,采用flash rom,內(nèi)部具有4kb rom 存儲空間,能于3v的超低壓工作,而且與mcs-51系列單片機(jī)完全兼容,但是運(yùn)用于電路設(shè)計(jì)中時由于不具備isp在線編程技術(shù), 當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞。方案二:采用at89s521,片內(nèi)rom全都采用flash rom;能以3v的超底壓工作;同時也與mcs-51系列單片機(jī)完全該芯片內(nèi)部存儲器為8kb rom 存儲空間,同樣具有89c51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對電路進(jìn)行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,所以不會對芯片造成損壞。所以選擇采用at89s521作為主控制系統(tǒng).1.4.2 時鐘芯片的選擇方案和論證方案一: 直接采用單片機(jī)定時計(jì)數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是,實(shí)現(xiàn)的時間誤差較大。所以不采用此方案。方案二: 采用ds1302時鐘芯片實(shí)現(xiàn)時鐘,ds1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的ram做為數(shù)據(jù)暫存區(qū),工作電壓2.5v5.5v范圍內(nèi),2.5v時耗電小于300na.1.4.3 電路設(shè)計(jì)最終方案決定綜上各方案所述,對此次作品的方案選定: 采用at89s521作為主控制系統(tǒng); ds1302提供時鐘;led數(shù)碼管動態(tài)掃描作為顯示。第二章 硬件電路設(shè)計(jì)2.1系統(tǒng)硬件概述本電路是由at89s521單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3v超低壓工作;時鐘電路由ds1302提供,它是一種高性能、低功耗、帶ram的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計(jì)時,具有閏年補(bǔ)償功能,工作電壓為2.5v5.5v。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或ram數(shù)據(jù)。ds1302內(nèi)部有一個31*8的用于臨時性存放數(shù)據(jù)的ram寄存器。可產(chǎn)生年、月、日、周日、時、分、秒,具有使用壽命長,精度高和低功耗等特點(diǎn),同時具有掉電自動保存功能。2.2單片機(jī)主控制模塊的設(shè)計(jì) at89s521單片機(jī)為40引腳雙列直插芯片,有四個i/o口p0,p1,p2,p3, mcs-51單片機(jī)共有4個8位的i/o口(p0、p1、p2、p3),每一條i/o線都能獨(dú)立地作輸出或輸入。18引腳和19引腳接時鐘電路,xtal1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,xtal2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端.2.3控制器的選擇單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制。由于其功耗低、體積小、技術(shù)成熟和成本低等優(yōu)點(diǎn),各個領(lǐng)域應(yīng)用廣泛。2.4 數(shù)碼管的選擇2.4.1產(chǎn)品分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點(diǎn)顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。led顯示方式有共陰極和共陽極兩種。在本實(shí)驗(yàn)中采用共陽極數(shù)碼管。以共陽極為例, led七段數(shù)碼管的每一段接高電平時亮,不同的組合可以顯示不同的數(shù)字,有一定的對應(yīng)關(guān)系。具體的對應(yīng)關(guān)系如下圖2-1,表2-1:af b g e c d 圖2-10gfedcba10000001gfedcba11110012gfedcba01001003gfedcba01100004gfedcba00110015gfedcba00100106gfedcba00000107gfedcba11110008gfedcba00000009gfedcba0010000表2-1 數(shù)碼管段碼2.4.2顯示方式 (1)靜態(tài)顯示 在靜態(tài)顯示方式下,每一位顯示器的字段控制線是獨(dú)立的。當(dāng)顯示某一字時,該位的各字段線和字位線的電平不變,也就是各字段的亮滅狀態(tài)不變。靜態(tài)顯示方式下led顯示器的電路連接方法是:每位led的字位控制線門共陰極點(diǎn)或共陽極點(diǎn)連在一起,接地或接 5v;由于顯示的是整數(shù),所以小數(shù)點(diǎn)那位可以不接,所以其字段控制線 (ag)分別接到一個7位口。(2)動態(tài)顯示 利用人眼的視覺暫留效應(yīng),通過位選分時顯示不同的數(shù)碼管,這樣可以看到正常的顯示。調(diào)用延時子程序循環(huán)顯示各路水壓值, 使能清楚的看到八路水壓的大小。2.5.石英晶體振蕩器 石英晶體振蕩器的特點(diǎn)是振蕩頻率準(zhǔn)確、電路結(jié)構(gòu)簡單、頻率易調(diào)整。它被廣泛應(yīng)用于彩電、計(jì)算機(jī)、遙控器等各類振蕩電路中。它還具有壓電效應(yīng):在晶體某一方向加一電場,晶體就會產(chǎn)生機(jī)械變形;反之,若在晶片的兩側(cè)施加機(jī)械壓力,則在晶片相應(yīng)的方向上將產(chǎn)生電場,這種物理現(xiàn)象稱為壓電效應(yīng)。在這里,我們在晶體某一方向加一電場,從而在與此垂直的方向產(chǎn)生機(jī)械振動,有了機(jī)械振動,就會在相應(yīng)的垂直面上產(chǎn)生電場,從而使機(jī)械振動和電場互為因果,這種循環(huán)過程一直持續(xù)到晶體的機(jī)械強(qiáng)度限制時,才達(dá)到最后穩(wěn)定,這種壓電諧振的頻率即為晶體振蕩器的固有頻率。2.6.蜂鳴器的介紹2.6.1蜂鳴器的作用 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時器等電子產(chǎn)品中作發(fā)聲器件。2.6.2蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。 (1) 壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.515v直流工作電壓),多諧振蕩器起振,輸出1.52.5khz的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。 (2)電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。2.7 復(fù)位電路 無論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。系統(tǒng)有時會出現(xiàn)一些不可預(yù)料的現(xiàn)象,如無規(guī)律可循的“死機(jī)”、“程序走飛”等。而用仿真器調(diào)試時卻無此現(xiàn)象發(fā)生或極少發(fā)生此現(xiàn)象。圖2-2復(fù)位電路2.8元件清單元件名稱類型數(shù)量晶震12m17段數(shù)碼管紅6單片機(jī)at89s52111排阻respack81三極管s9013h3317電阻4.7k6按鍵button4電阻1k4蜂鳴器speaker1電阻2201電容33p4電容10u12.9 原理圖見附錄圖4-1第三章 軟件設(shè)計(jì)3.1中斷方式應(yīng)注意的問題: 采用中斷的方式,最好將定時器中斷的優(yōu)先級設(shè)置為最高級,關(guān)于程序數(shù)據(jù)的穩(wěn)定性應(yīng)注意兩個問題:一,在低優(yōu)先級中斷響應(yīng)時,應(yīng)在入棧保護(hù)數(shù)據(jù)時禁止高優(yōu)先級的中斷響應(yīng)。二,在入棧保護(hù)有關(guān)數(shù)據(jù)后,對中斷程序執(zhí)行有影響的狀態(tài)位,寄存器,必須恢復(fù)為復(fù)位狀態(tài)的值。例如,在以下程序中,由于用到了十進(jìn)制調(diào)整,所以在中斷進(jìn)入時,將psw中的ac,cy位清零,否則,十進(jìn)制調(diào)整出錯。3.2 定時準(zhǔn)確性的討論: 程序中定時器,一直處于運(yùn)行狀態(tài),也就是說定時器是理想運(yùn)作的,其中斷程序每隔0.1秒執(zhí)行一次,在理想狀態(tài)下,定時器定時是沒有系統(tǒng)誤差的,但由于定時器中斷溢出后,定時器從0開始計(jì)數(shù),直到被重新置數(shù),才開始正確定時,這樣中斷溢出到中斷響應(yīng)到定時器被重新置數(shù),其間消耗的時間就造成了定時器定時的誤差。如果在前述定時器不關(guān)的情況下,在中斷程序的一開始就給定時器置數(shù),此時誤差最小,誤差大約為:每0.1秒,誤差712個機(jī)器周期。當(dāng)然這是在定時器定時剛好為0.1秒時的情況,由以上分析,如果數(shù)字鐘設(shè)計(jì)為查詢的方式或是在中斷的方式下將定時器中斷設(shè)置為最高級,我們在定時值設(shè)置時,可以適當(dāng)?shù)目鄢?個機(jī)器周期的時間值。但如果在中斷的情況下,沒有將定時器中斷設(shè)置為最高級,那就要視中斷程序的大小,在定時值設(shè)置時,扣除相應(yīng)的時間值。第 37 頁 3.3軟件消抖: 消抖可以采用硬件(施密特觸發(fā)器)的方式,也可以采用軟件的方式。在此只討論軟件方式。軟件消抖有定時器定時,和利用延時子程序兩種方式。一,定時器定時消抖可以不影響顯示模塊掃描速度,其實(shí)現(xiàn)方法是:設(shè)置標(biāo)志位,在定時器中斷中將其置位,然后在程序中查詢。將其中斷優(yōu)先級設(shè)置為低于時鐘定時中斷,那么它就可以完全不影響時鐘定時。二,在采用延時子程序時,如果顯示模塊的掃描速度本來就不是很快,此時可能會影響到顯示的效果,一般情況下,每秒的掃描次數(shù)不應(yīng)小于50次,否則,數(shù)碼的顯示會出現(xiàn)閃爍的情況。因此,延時子程序的延時時間應(yīng)該小于20毫秒,如果采用定時器定時的方式,延時時間不影響時鐘。3.4原理框圖子程序延時延時鍵按下鍵按下處理程序結(jié)束ynn采用定時器延時中斷入口定時器中斷關(guān)延時n開定時器中斷執(zhí)行操作鍵按下,開定時器中斷查詢方式消抖 圖3-1延時消抖程序框圖流程圖3-1為消抖程序,去除因?yàn)槿藶樵蚝陀布驇淼亩秳印2捎醚訒r檢測按鍵的方法來避免應(yīng)抖動對程序的干擾,采用定時器定時的方式,延時時間不影響時鐘。中斷入口關(guān)本中斷執(zhí)行操作出口置位標(biāo)志位bz查詢標(biāo)志位bzbz為1?延時n時間開中斷,清bzyn采用中斷的方式,軟件消抖設(shè)計(jì)圖3-2中斷程序框圖流程圖3-2為中斷程序,程序段置于時鐘中斷程序中。利用此定時器的定時可以延時設(shè)置為0.3秒,甚至更長,而不影響計(jì)數(shù)。使中斷程序能定時執(zhí)行。開始各緩沖區(qū)初始化對定時器,中斷設(shè)置開始計(jì)數(shù)顯示緩沖單元首址送r0,掃描初值送r2取顯示單元值,轉(zhuǎn)為段顯碼送段數(shù)據(jù)口 掃描值送位數(shù)據(jù)口p1 延時一小段時間 顯示單元地址加一掃描值右移一位 顯示狀態(tài)是否切換查詢讓調(diào)整位的dp點(diǎn)亮?xí)r鐘數(shù)據(jù)顯示區(qū) 定時設(shè)置數(shù)據(jù)顯示單元 秒表數(shù)據(jù)單元分調(diào)整?在顯示的低位斷碼上加80h,即點(diǎn)亮dp。yn查詢下一個調(diào)整位點(diǎn)亮dp的處理程序取斷碼送到顯示緩沖區(qū)單元6位顯示完?yn三個要顯示的狀態(tài)圖3-3報(bào)時模塊標(biāo)志位為1?秒表計(jì)數(shù)單元分值清零時值加一時值等于24?時值清零y時值比較bs=1?y標(biāo)志位為1?中斷入口定時模塊定時器置初值時間計(jì)數(shù)單元加一計(jì)數(shù)值等于10?計(jì)數(shù)值單元清零秒值加一秒值等于60?秒值清零分值加一分值等于60?yyyny分,時設(shè)定值等于時鐘值?標(biāo)志位 bs置1,輸出報(bào)時脈沖y分值比較定時器置初值結(jié)束以定時器定時頻率為報(bào)時頻率輸出,做法是:在每個定時中斷時,取反一個輸出引腳圖3-4第四章 調(diào)試 第一次按電子鐘啟動調(diào)整鍵,電子鐘從0時0分0秒開始運(yùn)行,進(jìn)入時鐘運(yùn)行狀態(tài),再次按啟動調(diào)整鍵,電子鐘進(jìn)入時鐘調(diào)整狀態(tài),此時可利用各調(diào)整鍵調(diào)整時間,調(diào)整結(jié)束后可按啟動調(diào)整鍵再次進(jìn)入時鐘運(yùn)行狀態(tài)。 關(guān)于亮度一致性的問題是一個行業(yè)內(nèi)的常見問題。有二個大的因素影響到亮度一致性。一是使用原材料芯片的選取,一是使用數(shù)碼管時采取的控制方式。1、原材料-芯片的vf和亮度和波長是一個正態(tài)分布,即使篩選過芯片,vf和亮度和波長已在一個很小的范圍了,生產(chǎn)出來的產(chǎn)品還是在一個范圍內(nèi),結(jié)果就是亮度不一致。2、要保證數(shù)碼管亮度一樣,在控制方式選取上也有差別。最好的辦法是恒流控制,流過每一個發(fā)光二極管的電流都是相同的,這樣發(fā)光二極管看起來亮度就是一樣的了。如恒壓控制,則導(dǎo)致vf不相同的發(fā)光二極管分到的電流不相同,所以亮度也不同。當(dāng)然以上二個條件是相輔相成的。 3、測量數(shù)碼管引腳分共陰和共陽找公共共陰和公共共陽:首先,我們找個電源(3到5伏)和1個1k(幾百歐的也行)的電阻,vcc串接個電阻后和gnd接在任意2個腳上,組合有很多,但總有一個led會發(fā)光的,找到一個就夠了,然后gnd不動,vcc(串電阻)逐個碰剩下的腳,如果有多個led(一般是8個),那它就是共陰的了。相反用vcc不動,gnd逐個碰剩下的腳,如果有多個led(一般是8個),那它就是共陽的。也可以直接用數(shù)字萬用表,紅表筆是電源的正極,黑表筆是電源的負(fù)極。心得體會本次畢業(yè)設(shè)計(jì)是在指導(dǎo)老師方小坤的指導(dǎo)下完成的。我做的是基于單片機(jī)的數(shù)字鐘設(shè)計(jì)!在論文的設(shè)計(jì)過程中,我查閱了許多有關(guān)數(shù)字鐘系統(tǒng)設(shè)計(jì)方面的文獻(xiàn)資料,使我對數(shù)字鐘的設(shè)計(jì)和使用有了更深的認(rèn)識。每方面的經(jīng)歷對我來說都是一個難能可貴的鍛煉機(jī)會! 然而,實(shí)驗(yàn)并沒有我預(yù)期的那么順利,當(dāng)我收集好材料,擬定好設(shè)計(jì)步驟開始編寫程序時,卻總是出錯,幸好有老師和同學(xué)的指導(dǎo)幫助,終于一步一步把程序編寫完畢!通過幾天的數(shù)字鐘設(shè)計(jì)過程,將從書本上學(xué)到的知識應(yīng)用于實(shí)踐,學(xué)會了初步的電子電路仿真設(shè)計(jì),雖然過程中遇到了一些困難,但是在解決這些問題的過程無疑也是對自己自身專業(yè)素質(zhì)的一種提高。當(dāng)最終調(diào)試成功的時候也是對自己的一種肯定。此次的設(shè)計(jì)作業(yè)不僅增強(qiáng)了自己在專業(yè)設(shè)計(jì)方面的信心,鼓舞了自己,更是一次興趣的培養(yǎng),為自己以后的學(xué)習(xí)方向的明確了重點(diǎn)。在現(xiàn)代這個社會,沒有知識是不行的!但是學(xué)貴一致用!有了知識再應(yīng)用到現(xiàn)實(shí)社會中,這才是我們21世紀(jì)的人應(yīng)該努力的方向!數(shù)字鐘是個很有意思的課程設(shè)計(jì),它同實(shí)際聯(lián)系比較緊密,所以做起來會很有趣味。在課題設(shè)計(jì)的過程中,我通過實(shí)踐發(fā)現(xiàn)了理論上還是有一些漏洞,這給我不少的壓力,這讓我下定決心利用業(yè)余時間努力加深文化知識。在使用protuse軟件進(jìn)行仿真的時候,遇到了很多問題,但當(dāng)仔細(xì)檢查時,總是能找到因粗心而遺忘的連線或是迭錯的元件。好在我一次次的改正克服,終于完成了我們在大學(xué)里的最后一次學(xué)習(xí)任務(wù)。我們要畢業(yè)了,要畢業(yè)了,我們要開始真正的為我們的人生去努力拼搏,但是那種激情一定不會讓我失望的!我喜歡這種感覺!附錄一 :電路原理圖圖4-1附錄二 :程序:name zfport equ 0cfa0hhour equ 26h ;設(shè)置數(shù)據(jù)緩沖區(qū)buf equ 23h sbf equ 22h mbf equ 21h saequ 27hfaequ 28hhh equ 29hmb0equ 2ahmb1equ 2bhmb2equ 2ch mm0 equ 2dh cseg at 0000h ljmp start ;中斷初始化cseg at 0003h ljmp key0 cseg at 0013h ljmp key1cseg at 401bh ljmp clockcseg at 4100hstart: mov r0, #40h ;數(shù)據(jù)緩沖區(qū)初始化 mov r6,#00h mov a, #00h mov r0, a inc r0 mov r0, a inc r0 mov r0, a inc r0 mov r0, a inc r0 mov r0, a inc r0 mov r0, a mov sp, #30h mov tmod, #10h mov th1, #38h mov tl1, #00h mov buf, #00h mov sbf, #00h mov mbf, #00h mov hour,#00h mov sa, #00h mov fa, #00h mov hh, #00h mov mb0, #00h mov mb1, #00h mov mb2, #00h mov mm0, #00h setb et1 setb ex1 setb pt1 setb ea setb p3.5 clr p3.0 mov tcon, #45h mov r5, #01hds1: mov r0, #40h ;掃描顯示 mov r2, #20h ds2: mov dptr, #port mov a, r0 acall table cjne r5, #02 ,l3 sjmp l2l3: cjne r5, #04h,l1 ;讓調(diào)整位的dp點(diǎn)亮l2: cjne r0, #42h,l0 add a,#80h sjmp l0l1: cjne r5,#03h, l4 sjmp l5l4: cjne r5, #05h,l0l5: cjne r0, #44h,l0 add a,#80hl0: movx dptr, a mov a, r2 cpl a mov p1, a mov r3, #07fh del: nop djnz r3, del inc r0 clr c mov a, r2 rrc a mov r2, a s2: cjne r5,#06h,s3 ;切換到顯示秒表計(jì)數(shù) setb ex0 sjmp miaobiaos3: cjne r5,#04h,s1 ;切換到定時設(shè)置狀態(tài)的顯示 sjmp dingshi s1: cjne r5,#05h,s0 sjmp dingshi s0: jnz ds2 mov r0, #40h ;取緩沖區(qū)到顯示緩沖區(qū) mov a, sbf acall get mov a, mbf acall get mov a, hour acall get sjmp ds1miaobiao:jnz ds2 ;秒表顯示 mov r0, #40h mov a, mb0 acall get mov a, mb1 acall get mov a, mb2 acall get ajmp ds1 dingshi: jnz ds2 ; 定時設(shè)置顯示 mov r0, #40h mov a, hh acall get mov a, fa acall get mov a, sa acall get ajmp ds1 table: inc a ;查表取段碼 movc a, a+pc ret db 3fh db 06h db 5bh db 4fh db 66h db 6dh db 7dh db 07h db 7fh db 6fh db 40hget: ;將一個兩位十進(jìn)制數(shù)放入兩個數(shù)碼管對應(yīng)的兩個緩沖區(qū) mov r4, a anl a, #0fh mov r0, a inc r0 mov a, r4 swap a anl a, #0fh mov r0, a inc r0 ret clock: ;定時器中斷服務(wù)程序 jnb p3.0,d4 ;產(chǎn)生定時輸出脈沖 cpl p3.4 d4: mov tl1, #0afh mov th1, #3ch push psw push acc jnb p3.5,c0 ;秒表計(jì)數(shù)模塊 inc mb0 mov a, mb0 cjne a, #0ah,c0 mov mb0, #00h mov a, mb1 inc a da a mov mb1, a cjne a, #60h, c0 mov mb1, #00h mov a, mb2 inc a da a mov mb2, a cjne a, #60h, c0 mov mb2, #00h c0: jnb 78h, z1 ;時鐘計(jì)數(shù)程序 inc r6 cjne r6,#05h,z1 mov r6,#00h clr 78h setb ex0 z1: jnb 79h, z2 ;去抖延時程序 inc r6 cjne r6,#0fh,z2 mov r6,#00h clr 79h setb ex1 z2: inc buf mov a, buf cjne a, #0ah,quit mov buf, #00h mov a, sbf inc a da a mov sbf, a cjne a, #60h, quit mov sbf, #00h mov a, mbf clr p3.0 ;定時脈沖輸出一分鐘 d2: inc a da a mov mbf, a mov a, fa ;定時比較分值 cjne a, mbf,d0 sjmp d1 d0: mov a, mbf cjne a, #60h, quit mov mbf, #00h mov a, hour inc a da a mov hour ,a d1: mov a,sa ;定時比較時值 cjne a, h

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論