基于51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的畢業(yè)設(shè)計(jì)解讀_第1頁(yè)
基于51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的畢業(yè)設(shè)計(jì)解讀_第2頁(yè)
基于51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的畢業(yè)設(shè)計(jì)解讀_第3頁(yè)
基于51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的畢業(yè)設(shè)計(jì)解讀_第4頁(yè)
基于51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)的畢業(yè)設(shè)計(jì)解讀_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2018/8/8安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì) TOC o 1-5 h z 摘 要 2Abstract 錯(cuò)誤!未定義書(shū)簽。 HYPERLINK l bookmark2 o Current Document 第一章 緒論 2 HYPERLINK l bookmark4 o Current Document 多功能數(shù)字鐘設(shè)計(jì)的背景 2 HYPERLINK l bookmark6 o Current Document 第二章 AT89C51 單片機(jī)簡(jiǎn)介 2 HYPERLINK l bookmark8 o Current Document 單片機(jī)介紹 2 HYPERLI

2、NK l bookmark10 o Current Document 單片機(jī)的應(yīng)用特點(diǎn) 3 HYPERLINK l bookmark12 o Current Document 單片機(jī)的應(yīng)用領(lǐng)域 3單片機(jī)的中斷與定時(shí)系統(tǒng) 錯(cuò)誤!未定義書(shū)簽。MCS 51單片機(jī)中斷系統(tǒng) 錯(cuò)誤!未定義書(shū)簽。MCS-51 單片機(jī)的定時(shí)器/ 計(jì)數(shù)器 錯(cuò)誤!未定義書(shū)簽。MCS-51 定時(shí)器/計(jì)數(shù)器的四種工作方式 錯(cuò)誤!未定義書(shū)簽。 TOC o 1-5 h z AT89C51 引腳功能介紹 3 HYPERLINK l bookmark16 o Current Document 第三章 設(shè)計(jì)方案 4 HYPERLINK l b

3、ookmark18 o Current Document 主程序 4 HYPERLINK l bookmark22 o Current Document 數(shù)碼管顯示模塊 5定時(shí)器計(jì)數(shù)器 T0 中斷服務(wù)程序 錯(cuò)誤!未定義書(shū)簽。 HYPERLINK l bookmark24 o Current Document 按鍵處理模塊 5 HYPERLINK l bookmark26 o Current Document 第四章 硬件電路設(shè)計(jì) 5 HYPERLINK l bookmark28 o Current Document 復(fù)位電路 5 HYPERLINK l bookmark30 o Current

4、 Document 時(shí)鐘電路 6 HYPERLINK l bookmark32 o Current Document 按鍵電路 6 HYPERLINK l bookmark34 o Current Document 數(shù)碼管顯示電路 7電源電路設(shè)計(jì) 錯(cuò)誤!未定義書(shū)簽。 HYPERLINK l bookmark36 o Current Document 第五章 軟件設(shè)計(jì)與程序代碼 8軟件選擇與介紹 8軟件介紹 錯(cuò)誤!未定義書(shū)簽。Proteus7.8的特點(diǎn) 錯(cuò)誤!未定義書(shū)簽。 HYPERLINK l bookmark44 o Current Document 軟件仿真電路全圖 9 HYPERLINK

5、 l bookmark46 o Current Document 源程序代碼 9 HYPERLINK l bookmark48 o Current Document 第六章 結(jié)論 16 HYPERLINK l bookmark50 o Current Document 參考文獻(xiàn) 17 HYPERLINK l bookmark52 o Current Document 致謝 18安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第2 頁(yè)2018/8/8摘要近幾年,單片機(jī)在各個(gè)領(lǐng)域得到廣泛的應(yīng)用。從工業(yè)到人們的日常生活,大部分的科技產(chǎn)品都 是通過(guò)單片機(jī)來(lái)控制。在它問(wèn)世之前,自動(dòng)控制設(shè)備

6、得不到廣泛的應(yīng)用,這是因?yàn)榭刂圃O(shè)備的體積 龐大,耗電量大,價(jià)格昂貴。在第一臺(tái)微處理器成功研制不久,第一個(gè)單片機(jī)就問(wèn)世了。因?yàn)槠湫?巧的體積,低功耗,以及高效的性能,單片機(jī)受到了大家的歡迎。本設(shè)計(jì)利用 STC89C51單片機(jī)對(duì)電子時(shí)鐘進(jìn)行開(kāi)發(fā),設(shè)計(jì)了實(shí)現(xiàn)所需功能的硬件電路,應(yīng)用C語(yǔ)言進(jìn)行軟件編程,并用 Proteus 軟件進(jìn)行演示、驗(yàn)證。主要介紹用單片機(jī)內(nèi)部的定時(shí)/ 計(jì)數(shù)器來(lái)實(shí)現(xiàn)電子時(shí)鐘的方法,本設(shè)計(jì)由單片機(jī)STC89C51芯片和 LED數(shù)碼管為核心,輔以必要的電路,構(gòu)成了一個(gè)單片機(jī)的數(shù)字電子時(shí)鐘。它的計(jì)時(shí)周期為24 小時(shí),顯滿(mǎn)刻度為“ 23 時(shí) 59 分 59 秒”,且配有 8個(gè)獨(dú)立鍵盤(pán),可以

7、靈活地調(diào)節(jié)時(shí)間和日期,并具有一定的擴(kuò)展性。關(guān)鍵詞: 單片機(jī),數(shù)字時(shí)鐘,動(dòng)態(tài)顯示, LED數(shù)碼管顯示,獨(dú)立按鍵。第一章 緒論多功能數(shù)字鐘設(shè)計(jì)的背景單片機(jī)自從 1976 年由 Intel 公司推出 MCS-48開(kāi)始,迄今已有二十多年之久了。由 于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等一系 列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,單片機(jī)應(yīng)用領(lǐng)域已經(jīng)從面向工業(yè) 控制、通訊、交通、智能儀表等方面迅速發(fā)展到家用消費(fèi)產(chǎn)品、 辦公自動(dòng)化、 汽車(chē)電子、 PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。本文討論的單片機(jī)多功能數(shù)字鐘系統(tǒng)的核心是目前應(yīng)用極為廣泛的 51 系列單片機(jī), 配置了

8、外圍設(shè)備,構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng),具有體積小,可靠性高,功能多 等多種特點(diǎn)。不僅能滿(mǎn)足所需要求而且還有很多功能可供擴(kuò)展,有著廣泛的應(yīng)用實(shí)踐領(lǐng) 域。第二章STC89C5單1 片機(jī)簡(jiǎn)介單片機(jī)介紹單片機(jī)又稱(chēng)單片微控制器 ,它不是完成某一個(gè)邏輯功能的芯片 , 而是把一個(gè)計(jì)算機(jī) 系統(tǒng)集成到一個(gè)芯片上。 概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。 它的體積小、 質(zhì)量輕、 價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī) 原理與結(jié)構(gòu)的最佳選擇。安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第3 頁(yè)2018/8/8單片機(jī)內(nèi)部也用和電腦功能類(lèi)似的模塊,比如 CPU,

9、內(nèi)存,并行總線,還有和硬盤(pán) 作用相同的存儲(chǔ)器件,不同的是它的這些部件性能都相對(duì)我們的家用電腦弱很多,不過(guò) 價(jià)錢(qián)也是低的,一般不超過(guò) 10元即可。用它來(lái)做一些控制電器一類(lèi)不是很復(fù)雜的工作足 矣了。我們現(xiàn)在用的全自動(dòng)滾筒洗衣機(jī)、排煙罩、 VCD等等的家電里面都可以看到它的 身影!它主要是作為控制部分的核心部件。它是一種在線式實(shí)時(shí)控制計(jì)算機(jī),在線式就是現(xiàn)場(chǎng)控制,需要的是有較強(qiáng)的抗干擾 能力,較低的成本,這也是和離線式計(jì)算機(jī)的(比如家用PC)的主要區(qū)別。單片機(jī)是靠程序的,并且可以修改。通過(guò)不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊 的獨(dú)特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很

10、 難做到的。一個(gè)不是很復(fù)雜的功能要是用美國(guó)50年代開(kāi)發(fā)的 74系列,或者 60年代的CD4000系列這些純硬件來(lái)搞定的話,電路一定是一塊大 PCB板!但是如果要是用美國(guó) 70 年代成功投放市場(chǎng)的系列單片機(jī),結(jié)果就會(huì)有天壤之別!只因?yàn)閱纹瑱C(jī)的通過(guò)你編寫(xiě)的 程序可以實(shí)現(xiàn)高智能,高效率,以及高可靠性!單片機(jī)的應(yīng)用特點(diǎn)隨著集成電路技術(shù)的發(fā)展,單片機(jī)的功能越變?cè)綇?qiáng),涉及到各個(gè)電子應(yīng)用領(lǐng)域。 目前單片機(jī)的系列也十分多,各有各的特點(diǎn),如目前的 MCS51系列、 PIC 系列等等,通 過(guò)這幾年的應(yīng)用,普通感覺(jué)到特別需要單片機(jī)具有如下幾個(gè)應(yīng)用特點(diǎn):低功耗、寬電壓工作范圍,內(nèi)部看門(mén)狗;高速指令系統(tǒng),單字節(jié)指令,精

11、簡(jiǎn)指令集易學(xué)易用;內(nèi)部 ROM結(jié)構(gòu),且具有廉價(jià) OTP(一次性寫(xiě)入程式) ROM,以便小批量生產(chǎn),減 少 MASK風(fēng)險(xiǎn);程序保密功能,防止拷貝,保護(hù)成果;方便的開(kāi)發(fā)工具(仿真器與燒入器)。單片機(jī)的應(yīng)用領(lǐng)域目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤 跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自 動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能 IC 卡,民用豪華轎車(chē)的安全保 障系統(tǒng),錄象機(jī)、攝象機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些 都離不開(kāi)單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械了。因此,單 片機(jī)的學(xué)

12、習(xí)、開(kāi)發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專(zhuān)用設(shè)備的智能化 管理及過(guò)程控制等領(lǐng)域。HT1380 引腳功能介紹1、 HT1380 的引腳功能HT1380 采用 DIP8 封裝形式封裝,其引腳分配如圖 3 所示。各引腳的功能及其用法如下。1)、腳 (NC):空引腳。2)、腳( X1 ):內(nèi)部振蕩器輸入腳。3)、腳( X2 ):內(nèi)部振蕩器輸出腳。安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第4 頁(yè)2018/8/8HT1380 片內(nèi)集成有高增益的自激振蕩放大電路, 2)腳、 3)腳為該放大電路的輸入、輸出引

13、腳, 2) 腳、 3)腳間接外接 32.768khz 的晶振,就可以產(chǎn)生頻率為 32.768khz 的時(shí)鐘信號(hào)。4)、腳( GND ):接地引腳。5)、腳( RST):復(fù)位引腳。當(dāng) RST=0 時(shí),芯片復(fù)位,單片機(jī)對(duì) HT1380 所建立的控制邏輯無(wú)效,所 有數(shù)據(jù)傳送終止。 當(dāng) RST=1 時(shí),所建立的控制邏輯有效。 只有 RST=1 時(shí),才可以對(duì) HT1380 進(jìn)行讀、 寫(xiě)或測(cè)試操作。6)、腳( I/O ):數(shù)據(jù)輸入 /輸出引腳。7)、腳( SCLK ):串行時(shí)鐘輸入引腳。8)、腳( VCC ):電源引腳。2、 HT1380 的應(yīng)用電路 HT1380 的應(yīng)用電路如下。 HT1380 的SCL

14、K、I/O、RST腳分別與單片機(jī)的 3根I/O口線 P1.1、 P1.2、P1.3相接,單片機(jī)的 P1.1 口線充當(dāng)時(shí)鐘線,向 HT1380 傳送時(shí)鐘信號(hào), P1.2 口線充當(dāng)數(shù)據(jù)線,用來(lái)與 HT1380 之間傳輸 數(shù)據(jù), p1.3 口線充當(dāng)芯片選擇控制線,控制芯片的選擇。C1、 C2 為 5P8P 的小電容,起穩(wěn)頻和加速起振的作用。第三章 設(shè)計(jì)方案通常通過(guò)單片機(jī)設(shè)計(jì)電子時(shí)鐘有 2 種方法:一是通過(guò)單片機(jī)內(nèi)部的定時(shí)器計(jì)數(shù)器。 采用軟件編程實(shí)現(xiàn)時(shí)鐘計(jì)數(shù), 一般稱(chēng)為軟時(shí)鐘, 這種方法硬件線路簡(jiǎn)單, 程序比較復(fù)雜 系統(tǒng)的功能一般與軟件相關(guān)。通常用于對(duì)時(shí)間精度要求不高的場(chǎng)合。二是采用時(shí)鐘芯片 他的功能

15、強(qiáng)大,功能不見(jiàn)集成在芯片內(nèi)需,自動(dòng)產(chǎn)生時(shí)鐘等相關(guān)功能。硬件成本較高, 軟件編程。通常對(duì)時(shí)鐘精確度要求較高的場(chǎng)合。電子時(shí)鐘的系統(tǒng)軟件程序有、 由主程序和子程序組成, 主程序包含初始化參數(shù)設(shè)置, 按鍵處理,數(shù)碼管顯示模塊等。在設(shè)計(jì)時(shí)候、各個(gè)模塊都采用子程序結(jié)構(gòu)設(shè)計(jì)。在主程 序中調(diào)用。由于定時(shí)器,計(jì)數(shù)器采用中斷方式處理,應(yīng)此還用辨析定時(shí)器,中斷服務(wù)子 程序,在定時(shí)器,計(jì)數(shù)器中斷服務(wù)子程序種對(duì)時(shí)鐘進(jìn)行調(diào)整。主程序主程序執(zhí)行流程圖如圖 1 所示。主程序先對(duì)顯示單元和定時(shí)器計(jì)數(shù)器初始化,然后 重復(fù)調(diào)用數(shù)碼管顯示模塊和按鍵處理模塊,當(dāng)有建按下,則轉(zhuǎn)入相應(yīng)的功能程序。圖1 主程序執(zhí)行流程圖系統(tǒng)框圖項(xiàng)目系統(tǒng)框圖

16、如圖 2 所示。安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第5 頁(yè)2018/8/8數(shù)碼管顯示模塊本設(shè)計(jì)的顯示模塊采用 6 位一體共陰極數(shù)碼管,顯示分為時(shí)鐘顯示模式,顯示時(shí)鐘 模式,從右到左依次顯示秒個(gè)位,秒十位,分個(gè)位,分十位,時(shí)個(gè)位,時(shí)十位;數(shù)碼管 顯示的信息用 6個(gè)內(nèi)存單元存放,這 6個(gè)內(nèi)存單元為顯示緩沖區(qū), 其中秒個(gè)位和秒十位, 分個(gè)位和分十位,時(shí)個(gè)位和時(shí)十位分別由秒數(shù)據(jù),分?jǐn)?shù)據(jù)和小時(shí)數(shù)據(jù)分拆得到。在本系 統(tǒng)種數(shù)碼管顯示采用軟件譯碼動(dòng)態(tài)顯示。在存儲(chǔ)器中首先建立一張顯示信息字段碼表, 顯示的時(shí)候,先從顯示緩沖區(qū)中取出顯示的信息,然后通過(guò)查表程序在字段碼表中查出 的所顯示

17、的字段碼。從 P2 口輸出,同時(shí)在 P1 口將對(duì)應(yīng)的位選碼輸出,選中顯示的數(shù)碼 管,就能在相應(yīng)的數(shù)碼管上顯示顯示緩沖區(qū)的內(nèi)容。按鍵處理模塊按鍵處理設(shè)置為:如果沒(méi)有按鍵,則為時(shí)鐘模式,時(shí)鐘正常走時(shí),當(dāng)依次按下時(shí)間 按鍵和秒按鍵時(shí)秒單元每次加 1 或減 1,當(dāng)加到 59 后跳為 00,當(dāng)按下分按鍵的時(shí)候, 分單元每次加 1 或減 1,當(dāng)加到 59 的時(shí)候跳到 00;當(dāng)按下時(shí)按鍵的時(shí)候,時(shí)單元每次 加 1 ,當(dāng)加到 23 的時(shí)候跳為 00,反之亦然。第四章 硬件電路設(shè)計(jì)復(fù)位電路MCS-51 單片機(jī)的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。 復(fù)位引腳 RST通過(guò)一個(gè)斯密特 觸發(fā)器與復(fù)位電路相連, 斯密特觸發(fā)器

18、用來(lái)抑制噪聲, 在每個(gè)機(jī)器周期的 S5P2,斯密特 觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。上電復(fù)位:上電復(fù)位電路是種簡(jiǎn)單的復(fù)位電路,只要在RST復(fù)位引腳接一個(gè)電容到 VCC,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過(guò)電容 加到 RST復(fù)位引腳一個(gè)短暫的高電平信號(hào), 這個(gè)復(fù)位信號(hào)隨著 VCC對(duì)電容的充電過(guò)程而 回落,所以 RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全 可靠的復(fù)位, RST引腳的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。 只要 Vcc 的上升時(shí)間不超 過(guò) 1ms

19、,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。按鍵復(fù)位:電路在運(yùn)行過(guò)程中,也可以通過(guò)按鍵進(jìn)行復(fù)位。當(dāng)按下復(fù)位按鍵,復(fù)位 引腳 RST通過(guò)按鍵與地相接,得到低電平,從而實(shí)現(xiàn)復(fù)位。電路圖如圖 2 所示:5安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第6 頁(yè)2018/8/8圖 2 復(fù)位電路時(shí)鐘電路時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊 的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影 響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種為 外部時(shí)鐘方式。本文用的是內(nèi)部時(shí)鐘方式。電路圖如圖 3 所示:圖 3 時(shí)鐘震蕩電路

20、MCS-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器, 該高增益反向放大 器的輸入端為芯片引腳 XTAL1,輸出端為引腳 XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器 和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。按鍵電路按鍵的開(kāi)關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、 低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng)的 I/O 端口形成一個(gè)負(fù)脈沖。閉合和釋放過(guò)程都要經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定,這一過(guò)程是 處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱(chēng)為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開(kāi)關(guān)的機(jī) 械特性有關(guān),一般在 5-10ms 之間。為了避免 CPU多次處理按鍵的一次閉合,應(yīng)采用措 施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵,直接用 I/O

21、口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵 占用一條 I/O 口線,每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生互相影響。電路圖如圖 4 所示:6安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第7 頁(yè)2018/8/8圖 4 按鍵電路P1.4 口所接的按鍵為模式切換按鍵,當(dāng)不按下此按鍵時(shí)為時(shí)鐘顯示模式,當(dāng)按下 此按鍵時(shí)為日期和星期顯示模式。當(dāng)為時(shí)鐘顯示模式的時(shí)候,端口連接分別表示如下:P0.4 口表示調(diào)整秒、分“ +”,按一下則時(shí)加 1,當(dāng)加到 59 后再加一次為 0;P0.3 口表示調(diào)整秒、分“ - ”,按一下則時(shí)減 1,當(dāng)減到 0后再減一次為 59;P0.4 口表示調(diào)整時(shí)“ +”,按一下則時(shí)加 1,當(dāng)加到

22、 23 后再加一次為 0;P0.3 口表示調(diào)整時(shí)“ - ”,按一下則時(shí)減 1,當(dāng)減到 0 后再減一次為 23;P0.2 口表示確認(rèn)鍵;P0.1 口表示調(diào)整秒按鍵;P0.5 口表示調(diào)整分按鍵;P0.6 口表示調(diào)整時(shí)按鍵;數(shù)碼管顯示電路數(shù)碼管是由 6 個(gè)發(fā)光二極管構(gòu)成的顯示器件。在數(shù)碼管中,若將二極管的陽(yáng)極連在 一起,稱(chēng)為共陽(yáng)極數(shù)碼管;若將二極管的陰極連在一起,稱(chēng)為共陰極數(shù)碼管。本設(shè)計(jì)用 到的 6 個(gè)數(shù)碼管均是共陰極的。當(dāng)發(fā)光二極管導(dǎo)通時(shí),它就會(huì)發(fā)光。每個(gè)二極管就是一 個(gè)筆劃,若干個(gè)二極管發(fā)光時(shí),就構(gòu)成了一個(gè)顯示字符。將單片機(jī)的 I/O 口控制相應(yīng)的 芯片與數(shù)碼管的 a-g 相連,低電平的位對(duì)應(yīng)的

23、發(fā)光二極管亮,這樣,由 I/O 口輸出不同 的代碼,就可以控制數(shù)碼管顯示不同的字符。本設(shè)計(jì)的 6 個(gè)數(shù)碼管均采用動(dòng)態(tài)顯示方式,系統(tǒng)采用動(dòng)態(tài)顯示方式,用P0 口來(lái)控制 LED數(shù)碼管的段控線,而用 P2 口來(lái)控制其位控線。動(dòng)態(tài)顯示通常都是采用動(dòng)態(tài)掃描 的方法進(jìn)行顯示,即循環(huán)點(diǎn)亮每一個(gè)數(shù)碼管,這樣雖然在任何時(shí)刻都只有一位數(shù)碼管被 點(diǎn)亮,但由于人眼存在視覺(jué)殘留效應(yīng),只要每位數(shù)碼管間隔時(shí)間足夠短,就可以給人以 同時(shí)顯示的感覺(jué)。電 路 圖 如 圖 5 所 示 :安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第8 頁(yè)2018/8/8圖 5 數(shù)碼管顯示電路電路第五章 軟件設(shè)計(jì)與程序代碼5.1

24、軟件設(shè)計(jì)5.1.1 系統(tǒng)框圖如圖程序流程圖如圖安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第9 頁(yè)2018/8/8軟件仿真電路全圖圖 7 軟件仿真電路全圖此圖為時(shí)鐘顯示模式,顯示內(nèi)容為 15時(shí) 9 分 49秒圖 8 軟件仿真電路全圖此圖為日期和星期顯示模式,顯示內(nèi)容為 6月 4日星期二源程序代碼#include #define uchar unsigned char#define DCOUNT 6#define MinusVal 0 x02安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 10 頁(yè)2018/8/8#define PlusVal 0 x04#de

25、fine RightVal 0 x08#define LeftVal 0 x10#define TimeVal 0 x20#define DateVal 0 x40 #define SetVal 0 x80#define CKeyVal 25#define port_s P1#define port_b P2#define keyport P0 uchar data wcnt,second; int data timcnt;uchar data h,m,s;uchar code led=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,

26、0 x6f; /uchar code ledctrl=0 xfe,0 xfd;uchar buf8;uchar code ledctrl=0 x80,0 x40,0 x20,0 x10,0 x08,0 x04,0 x02,0 x01; uchar idata disdat6;uchar idata keytim;uchar data flashsite;uchar second_buff;uchar m_buff;uchar h_buff;int k;bit down,keytreated,setdis,dattim;void display(uchar);void display_hms()

27、;void init_T1(void);void disdate(void);void distim(void);void key(void);void main()second_buff=0; m_buff=0;h_buff=0;second=0;h=m=s=0;init_T1();timcnt=0;wcnt=0;while(1)display_hms();/ PCON|=0 x01;10安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 11 頁(yè)2018/8/811void init_T1(void)TMOD=0 x11;TL1=(65536-9216)%256;TH1=(6

28、5536-9216)/256;TL0=(65536-1843)%256;TH0=(65536-1843)/256;PT1=1;ET1=1;ET0=1;EA=1;TR1=1;TR0=1;void tim_T1(void) interrupt 3 using 1 TL1=(65536-9216)%256;TH1=(65536-9216)/256; timcnt+;if(timcnt=100)timcnt=0;second+;if(second=60)second=0;m+;if(m=60)m=0;h+;if(h=24) h=0;buf0=second%10;buf1=second/10;buf2=

29、0 x40;buf3=m%10;buf4=m/10;buf5=0 x40;buf6=h%10;buf7=h/10; /display_hms(h,m,second);安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 12 頁(yè)2018/8/8/*void display(uchar time)port_s=0;port_b=ledctrlwcnt; if(wcnt=0)xzzxport_s=ledtime%10; elseport_s=ledtime/10; wcnt+;wcnt=wcnt%2;*/void tim_T0(void) interrupt 1 using 2 TL0

30、=(65536-1843)%256;TH0=(65536-1843)/256;key();wcnt+;wcnt=wcnt%8;void display_hms()/port_s=0;switch(wcnt) case 0:port_b=ledctrlwcnt;port_s=ledbuf0;break;case 1:port_b=ledctrlwcnt; port_s=ledbuf1;break; case 2:port_b=ledctrlwcnt;port_s=buf2;break;case 3:port_b=ledctrlwcnt;port_s=ledbuf3;break;case 4:po

31、rt_b=ledctrlwcnt;port_s=ledbuf4;break;case 5:12安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 13 頁(yè)2018/8/8port_b=ledctrlwcnt;port_s=buf5;break;case 6:port_b=ledctrlwcnt;port_s=ledbuf6;break;case 7:port_b=ledctrlwcnt;port_s=ledbuf7;break;void init_distim(void) distim();flashsite=6;setdis=0;dattim=0;void init_disda

32、t(void) disdate();flashsite=6;setdis=0;dattim=1;void init_settim(void) distim();flashsite=6;setdis=1;dattim=0;void init_setdat(void) disdate();flashsite=0;setdis=1;dattim=1;void kplus(void) /0 x04 確定 /if(setdis)/ disdatflashsite=(disdatflashsite+1)%10;second=second_buff;m=m_buff;h=h_buff; TR1=1;13安徽

33、財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 14 頁(yè)2018/8/814void kminus(void) /0 x02 秒的設(shè)置/ if(setdis)/ disdatflashsite=(disdatflashsite+10-1)%10;TR1=0;second_buff=second;k=0;void ktim(void) /0 x20 分的設(shè)置 /if(setdis) init_settim();/else init_distim();TR1=0;m_buff=m;k=1;void kdat(void) /0 x40 時(shí)的設(shè)置 /if(setdis) init_set

34、dat();/else init_disdat();TR1=0;h_buff=h;k=2;void kleft(void) /0 x10 自加 /if(setdis)/ flashsite=(flashsite+1)%DCOUNT;switch(k)case (0):second_buff+;if(second_buff59) second_buff=0;buf0=second_buff%10;buf1=second_buff/10;break;case (1):m_buff+;if(m_buff59) m_buff=0;buf3=m_buff%10;buf4=m_buff/10;break;

35、case (2):h_buff+;if(h_buff23) h_buff=0;buf6=h_buff%10;buf7=h_buff/10;break;void kright(void) /0 x08 自減安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 15 頁(yè)2018/8/8 /if(setdis)/ flashsite=(flashsite+DCOUNT-1)%DCOUNT; switch(k)case (0):second_buff-;if(second_buff=255) second_buff=59;buf0=second_buff%10;buf1=second_bu

36、ff/10;break;case (1):m_buff-;if( m_buff=255) m_buff=59;buf3=m_buff%10;buf4=m_buff/10;break;case (2):h_buff-;if(h_buff=255) h_buff=23;buf6=h_buff%10;buf7=h_buff/10;break;void kset(void) if(setdis) init_distim();else init_settim();void key(void) uchar keyval;keyport=0 xff;keyval=keyport;/ keyval=keyva

37、l;if(keyval) if(down) if(!keytreated) switch (keyval) case MinusVal:kminus();break;case PlusVal:kplus(); break;case LeftVal:kleft(); break;15安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 16 頁(yè)2018/8/8case RightVal:kright(); break;case TimeVal:ktim(); break;case DateVal:kdat(); break;case SetVal: kset();default: b

38、reak;keytreated=1;else; /*if(keyval=MinusV al)|(keyval=PlusVal) keytim+;if(keytim=CKeyVal) keytim=0;if(keyval=PlusVal) kplus();else kminus();*/else down=1;else down=0;keytreated=0;第六章 結(jié)論通過(guò)做這一次畢業(yè)論文,感覺(jué)自己的收獲很多。畢業(yè)論文是為了讓我們對(duì)平時(shí)學(xué)習(xí) 的理論知識(shí)與實(shí)際操作相結(jié)合, 在理論和實(shí)踐教學(xué)的基礎(chǔ)上進(jìn)一步鞏固已學(xué)基本理論及 應(yīng)用知識(shí)并加以綜合提高,學(xué)會(huì)將知識(shí)應(yīng)用于實(shí)際,提高分析和解決問(wèn)題的能力。本

39、次設(shè)計(jì)主要涉及了單片機(jī)原理及接口技術(shù)的相關(guān)知識(shí)和 C語(yǔ)言編程的諸多要領(lǐng)。 設(shè)計(jì)中涉及到的許多問(wèn)題, 更是對(duì)以前所學(xué)的知識(shí)的回顧及在過(guò)去的三年中學(xué)到知識(shí)的 總結(jié),這次設(shè)計(jì)對(duì)我將來(lái)的工作有著重要的意義。在此設(shè)計(jì)中,我積極查閱資料,細(xì)心鉆研各個(gè)細(xì)節(jié),完成了數(shù)字電子時(shí)鐘時(shí)鐘的電 路設(shè)計(jì),也讓我明白了在設(shè)計(jì)中考慮問(wèn)題應(yīng)該全面。在設(shè)計(jì)中既鞏固了我的理論知識(shí), 又學(xué)會(huì)提煉需要的信息的方法。16安徽財(cái)貿(mào)職業(yè)學(xué)院 電子 1201 班 單片機(jī)技術(shù)及應(yīng)用課程設(shè)計(jì)第 17 頁(yè)2018/8/8這次對(duì)數(shù)字電子時(shí)鐘的設(shè)計(jì),讓我了解了設(shè)計(jì)電路的步驟,也讓我了解了有關(guān)數(shù)字 電子時(shí)鐘的原理與設(shè)計(jì)理念,要實(shí)現(xiàn)電路功能總要先設(shè)計(jì),成功之后才實(shí)際接線的?,F(xiàn) 在還只停留在理想階段, 也許在設(shè)計(jì)實(shí)際電路過(guò)程中會(huì)有困難但是我相信只要努力一定 能真正設(shè)計(jì)出實(shí)際產(chǎn)品。在做畢業(yè)論文的過(guò)程中,我深深地感受到了自己所學(xué)到知識(shí)的有限,明白了只學(xué)好 課本上的知識(shí)是不夠的,要通過(guò)圖書(shū)館和互聯(lián)網(wǎng)等各種渠道來(lái)擴(kuò)充自己的知識(shí)面。我并不在乎設(shè)計(jì)是否會(huì)成功,這不重要,最重要的是設(shè)計(jì)的過(guò)程。因?yàn)樵O(shè)計(jì)的過(guò)程 在整個(gè)過(guò)程中所占時(shí)間最多,鍛煉我們的價(jià)值也是最大的。設(shè)計(jì)開(kāi)始的時(shí)候我真的是毫 無(wú)頭緒,手足無(wú)措,甚至有過(guò)放棄的想法,但終于堅(jiān)持了下來(lái)。我明白了要設(shè)計(jì)一個(gè)成 功的電路,除了有

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論