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

下載本文檔

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

文檔簡介

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

最新文檔

評論

0/150

提交評論