畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的數(shù)字鐘設(shè)計(jì)1.doc_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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)介

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

溫馨提示

  • 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)論