




已閱讀5頁(yè),還剩23頁(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)介
課程設(shè)計(jì)說(shuō)明書(shū) 題題 目目 單片機(jī)電子時(shí)鐘 班班 級(jí)級(jí) 姓姓 名名 指導(dǎo)教師指導(dǎo)教師 時(shí)時(shí) 間間 目目錄錄 摘要摘要.1 第一章第一章 系統(tǒng)設(shè)系統(tǒng)設(shè)計(jì)計(jì)要求要求.2 1.1 基本功能 2 1.2 擴(kuò)展功能 2 第二章第二章 硬件總體設(shè)計(jì)方案硬件總體設(shè)計(jì)方案.3 2.1 系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路.3 2.2 各部分功能實(shí)現(xiàn).4 2.3 系統(tǒng)工作原理.5 2.4 時(shí)鐘各功能分析及圖解.6 2.4.1 電路各功能圖解分析6 2.4.2 電路功能使用說(shuō)明10 第三章軟件總體設(shè)計(jì)方案第三章軟件總體設(shè)計(jì)方案.11 3.1 主程序流程圖 11 3.2 總中斷程序流程 12 3.3 控制電路的 C 語(yǔ)言源程序 16 第四章第四章 課程設(shè)計(jì)結(jié)果分析課程設(shè)計(jì)結(jié)果分析.23 第五章第五章 總結(jié)總結(jié).24 致謝致謝.25 參考文獻(xiàn)參考文獻(xiàn).26 1 單單片機(jī)片機(jī)電電子子時(shí)鐘時(shí)鐘 摘要摘要: :?jiǎn)纹瑱C(jī) 即單片微型計(jì)算機(jī)。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定時(shí),計(jì)數(shù)和多 種接口于一體的微控制器。他體積小,成本低,功能強(qiáng),廣泛 應(yīng)用于工業(yè)自動(dòng)化上和智能產(chǎn)品。時(shí)鐘,自從它被發(fā)明的那 天起,就成為了人類(lèi)的好朋友,但隨著時(shí)間的推移,科學(xué)技 術(shù)的不斷發(fā)展,時(shí)鐘的應(yīng)用越來(lái)越廣范,人們對(duì)時(shí)間計(jì)量的 精度要求也越來(lái)越高。怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣 讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設(shè)計(jì) 出新型的時(shí)鐘,來(lái)不斷滿足人們的日常生活需要。然而市場(chǎng) 上的時(shí)鐘便宜的比較笨重,簡(jiǎn)單實(shí)用的又比較昂貴。那么, 有沒(méi)有一款既簡(jiǎn)單實(shí)用價(jià)格又便宜的時(shí)鐘呢? 我們課程設(shè)計(jì)小組設(shè)想:可不可以利用單片機(jī)功能集成 化高,價(jià)格又便宜的特點(diǎn)設(shè)計(jì)一款結(jié)構(gòu)既簡(jiǎn)單,價(jià)格又便宜 的單片機(jī)電子時(shí)鐘呢? 基于這種情況,我們課程設(shè)計(jì)小組成員多方查閱資料,反 復(fù)論證設(shè)計(jì)出了這款既簡(jiǎn)單實(shí)用,又價(jià)格便宜的單單片片 機(jī)機(jī)電電子子時(shí)鐘時(shí)鐘。 。 關(guān)關(guān)鍵詞鍵詞: :?jiǎn)螁纹瑱C(jī)片機(jī) 時(shí)鐘時(shí)鐘 計(jì)時(shí)計(jì)時(shí) 2 第一章第一章 系統(tǒng)設(shè)計(jì)要求系統(tǒng)設(shè)計(jì)要求 1.1 基本功能基本功能 (1)能夠顯示時(shí)分秒 (2)能夠調(diào)整時(shí)分秒 1.2 擴(kuò)展功能擴(kuò)展功能 (1)能夠任意設(shè)置定時(shí)時(shí)間 (2)定時(shí)時(shí)間到鬧鈴能夠報(bào)警 (3)實(shí)現(xiàn)了秒表功能 3 第二章第二章 硬件總體設(shè)計(jì)方案硬件總體設(shè)計(jì)方案 本次設(shè)計(jì)時(shí)鐘電路,使用了 AT89C51 單片機(jī)芯片控制 電路,單片機(jī)控制電路簡(jiǎn)單且省去了很多復(fù)雜的線路,使得 電路簡(jiǎn)明易懂,使用鍵盤(pán)鍵上的按鍵來(lái)調(diào)整時(shí)鐘的時(shí)、分、 秒,用一揚(yáng)聲器來(lái)進(jìn)行定時(shí)提醒,同時(shí)使用 C 語(yǔ)言程序來(lái)控 制整個(gè)時(shí)鐘顯示,使得編程變得更容易,這樣通過(guò)四個(gè)模塊: 鍵盤(pán)、芯片、揚(yáng)聲器、顯示屏即可滿足設(shè)計(jì)要求。 2.1 系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路系統(tǒng)功能實(shí)現(xiàn)總體設(shè)計(jì)思路 此設(shè)計(jì)原理框圖如圖 2-1 所示,此電路包括以下四個(gè)部 分:?jiǎn)纹瑱C(jī),鍵盤(pán),鬧鈴電路及顯示電路。 51 單片機(jī) 獨(dú) 立 鍵 盤(pán) 數(shù)碼管顯示 鬧鈴電路 4 圖 2-1 設(shè)計(jì)原理框圖 經(jīng)多方論證硬件我們小組采用 AT89C51 單片機(jī)和 7SED 八位共陽(yáng)極數(shù)碼管等來(lái)實(shí)現(xiàn)單片機(jī)電子時(shí)鐘的功能。 詳細(xì)元器件列表如表 2.1 所示: 表 2.1 詳細(xì)元器件列表 AT89c511 片片 7SED 八位共陽(yáng)極數(shù)八位共陽(yáng)極數(shù)碼碼管管1 片片 NPN 三極管三極管1 個(gè)個(gè) 104p 電電容容6 個(gè)個(gè) 30p 電電容容2 個(gè)個(gè) 10K 電電阻阻6 個(gè)個(gè) 560 歐姆歐姆電電阻阻8 個(gè)個(gè) 200 歐姆歐姆電電阻阻1 個(gè)個(gè) 100 歐姆歐姆電電阻阻6 個(gè)個(gè) 2.2 各部分功能實(shí)現(xiàn)各部分功能實(shí)現(xiàn) (1(單片機(jī)發(fā)送的信號(hào)通過(guò)程序控制最終在數(shù)碼管上顯示 出來(lái)。 (2(單片機(jī)通過(guò)輸出各種電脈沖信號(hào)來(lái)驅(qū)動(dòng)控制各部分正 常工作。 5 (3(為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的, 鍵盤(pán)用來(lái)校正數(shù)碼管上顯示的時(shí)間。 (4(單片機(jī)通過(guò)控制鬧鈴電路來(lái)完成 定時(shí)鬧鐘的功能。 2.3 系統(tǒng)工作原理系統(tǒng)工作原理 設(shè)計(jì)的電路主要由四模塊構(gòu)成:?jiǎn)纹瑱C(jī)控制電路,顯示 電路、鬧鈴電路以及校正電路。 詳細(xì)電路功能圖如圖 2-2: AT89C51 XTAL1 XTAL2 10K10K10K 10K10K 10K 100100 100100 100 100 100pF 23 45 6 VCC 01 0203 04 05 06 Q1PNP 200 R13 LS1 Speaker VCC 22uf C7 22uf C8 PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 01 02 03 04 05 06 07 08 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 1 2 3 4 5 6 7 8 VCC RST VCC 1 2 Y1 XTAL 1 2 3 4 5 6 7 8 a b c d e f g dp abc d ef g dp 1 圖 2-2 詳細(xì)電路功能圖 本設(shè)計(jì)采用 C 語(yǔ)言程序設(shè)計(jì),使單片機(jī)控制數(shù)碼管顯示 時(shí)、分、秒,當(dāng)秒計(jì)數(shù)計(jì)滿 60 時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿 60 后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“23 翻 0”規(guī)律計(jì)數(shù)。時(shí)、 分、秒的計(jì)數(shù)結(jié)果經(jīng)過(guò)數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計(jì) 6 時(shí)發(fā)生誤差的時(shí)候可以用校時(shí)電路進(jìn)行校正。設(shè)計(jì)采用的是 時(shí)、分、秒顯示,單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理同時(shí)在數(shù)碼管上顯 示。 2.4 時(shí)鐘各功能分析時(shí)鐘各功能分析及圖解及圖解 2.4.1 電路各功能圖解分析電路各功能圖解分析 ( (1) ) 時(shí)鐘運(yùn)行圖 仿真開(kāi)始運(yùn)行時(shí),或按下 key4 鍵時(shí),時(shí)鐘從 12:00:00 開(kāi)始運(yùn)行,其中 key2 鍵對(duì)分進(jìn)行調(diào)整,key3 對(duì)小時(shí)進(jìn)行調(diào) 整,key6 可以讓時(shí)鐘暫停。 時(shí)鐘運(yùn)行圖如圖 2-3 所示: a b c d e f g dp a b c d e f g dp 8 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 050604030201 01 02 03 04 05 06 07 08 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 R13 LS1 SPEAKER X1 12MHz C7 30p C8 30p Q1 PNP 單單片片機(jī)機(jī)電電子子時(shí)時(shí)鐘鐘 電電子子信信息息0701 王王勇勇貴貴 曹曹文文忠忠 劉劉志志強(qiáng)強(qiáng) 原原娟娟慧慧 鍵鍵盤(pán)盤(pán)控控制制區(qū)區(qū) 時(shí)時(shí)間間顯顯示示區(qū)區(qū) 外外設(shè)設(shè)鬧鬧鈴鈴 核核心心控控制制區(qū)區(qū) 秒秒表表調(diào)調(diào)時(shí)時(shí)調(diào)調(diào)分分顯顯時(shí)時(shí)鬧鬧鈴鈴暫暫停停 主主要要功功能能: 1、秒秒表表 2、時(shí)時(shí)間間調(diào)調(diào)整整 3、數(shù)數(shù)字字顯顯示示 4、鬧鬧鈴鈴設(shè)設(shè)置置 7 圖 2-3 時(shí)鐘運(yùn)行圖 (2)秒表計(jì)時(shí)圖 當(dāng)按下 key1 鍵進(jìn)入秒表計(jì)時(shí)狀態(tài),key6 是秒表暫停鍵, 可按 key4 鍵跳出秒表計(jì)時(shí)狀態(tài)。 如圖 2-4: a b c d e f g dp a b c d e f g dp 8 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 050604030201 01 02 03 04 05 06 07 08 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 R13 LS1 SPEAKER X1 12MHz C7 30p C8 30p Q1 PNP 單單片片機(jī)機(jī)電電子子時(shí)時(shí)鐘鐘 電電子子信信息息0701 王王勇勇貴貴 曹曹文文忠忠 劉劉志志強(qiáng)強(qiáng) 原原娟娟慧慧 鍵鍵盤(pán)盤(pán)控控制制區(qū)區(qū) 時(shí)時(shí)間間顯顯示示區(qū)區(qū) 外外設(shè)設(shè)鬧鬧鈴鈴 核核心心控控制制區(qū)區(qū) 秒秒表表調(diào)調(diào)時(shí)時(shí)調(diào)調(diào)分分顯顯時(shí)時(shí)鬧鬧鈴鈴暫暫停停 主主要要功功能能: 1、秒秒表表 2、時(shí)時(shí)間間調(diào)調(diào)整整 3、數(shù)數(shù)字字顯顯示示 4、鬧鬧鈴鈴設(shè)設(shè)置置 圖 2-4 秒表計(jì)時(shí)圖 8 (3)鬧鈴設(shè)置圖及運(yùn)行圖 當(dāng)按下 key5,開(kāi)始定時(shí),分別按 key2 調(diào)分,key3 調(diào)時(shí)設(shè) 置鬧鈴時(shí)間,然后按下 key4 鍵恢復(fù)時(shí)鐘運(yùn)行狀態(tài)(圖 2-5)當(dāng) 鬧鈴設(shè)置時(shí)間到時(shí),蜂鳴器將發(fā)出 10 秒中蜂鳴聲(圖 2-6)。 a b c d e f g dp a b c d e f g dp 8 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 050604030201 01 02 03 04 05 06 07 08 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 R13 LS1 SPEAKER X1 12MHz C7 30p C8 30p Q1 PNP 單單片片機(jī)機(jī)電電子子時(shí)時(shí)鐘鐘 電電子子信信息息0701 王王勇勇貴貴 曹曹文文忠忠 劉劉志志強(qiáng)強(qiáng) 原原娟娟慧慧 鍵鍵盤(pán)盤(pán)控控制制區(qū)區(qū) 時(shí)時(shí)間間顯顯示示區(qū)區(qū) 外外設(shè)設(shè)鬧鬧鈴鈴 核核心心控控制制區(qū)區(qū) 秒秒表表調(diào)調(diào)時(shí)時(shí)調(diào)調(diào)分分顯顯時(shí)時(shí)鬧鬧鈴鈴暫暫停停 主主要要功功能能: 1、秒秒表表 2、時(shí)時(shí)間間調(diào)調(diào)整整 3、數(shù)數(shù)字字顯顯示示 4、鬧鬧鈴鈴設(shè)設(shè)置置 圖 2-5 鬧鈴時(shí)間設(shè)置圖 9 a b c d e f g dp a b c d e f g dp 8 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 050604030201 01 02 03 04 05 06 07 08 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1 AT89C51 R13 LS1 SPEAKER X1 12MHz C7 30p C8 30p Q1 PNP 單單片片機(jī)機(jī)電電子子時(shí)時(shí)鐘鐘 電電子子信信息息0701 王王勇勇貴貴 曹曹文文忠忠 劉劉志志強(qiáng)強(qiáng) 原原娟娟慧慧 鍵鍵盤(pán)盤(pán)控控制制區(qū)區(qū) 時(shí)時(shí)間間顯顯示示區(qū)區(qū) 外外設(shè)設(shè)鬧鬧鈴鈴 核核心心控控制制區(qū)區(qū) 秒秒表表調(diào)調(diào)時(shí)時(shí)調(diào)調(diào)分分顯顯時(shí)時(shí)鬧鬧鈴鈴暫暫停停 主主要要功功能能: 1、秒秒表表 2、時(shí)時(shí)間間調(diào)調(diào)整整 3、數(shù)數(shù)字字顯顯示示 4、鬧鬧鈴鈴設(shè)設(shè)置置 圖 2-6 鬧鈴運(yùn)行圖 該數(shù)字鐘是用一片 AT89C51 單片機(jī)通過(guò)編程去驅(qū) 動(dòng) 8 個(gè)數(shù)碼管實(shí)現(xiàn)的。通過(guò) 6 個(gè)開(kāi)關(guān)控制,從上到下 6 個(gè) 開(kāi)關(guān) KEY1-KEY6 的功能分別為:KEY1,切換至秒表; KEY2,調(diào)節(jié)時(shí)間,每調(diào)一次時(shí)加 1;KEY3, 調(diào)節(jié)時(shí)間,每調(diào) 一次分加 1;KEY4,從其它狀態(tài)切換至?xí)r鐘狀態(tài);KEY5,切 換至鬧鐘設(shè)置狀態(tài),也可以對(duì)秒表清零;KEY6,秒表暫停. 控制鍵分別與 P1.0P1.5 口連接其中: A 通過(guò) P2 口和 P3 口去控制數(shù)碼管的顯示如圖所示 P2 口接數(shù)碼管的 ag 端,是控制輸出編碼,P3 口接數(shù)碼 管的 18 端,是控制動(dòng)態(tài)掃描輸出 B 從 P0.0 輸出一個(gè)信號(hào)使二極管發(fā)光,二極管在設(shè)置的 鬧鐘時(shí)間到了時(shí)候發(fā)光,若有樂(lè)曲可以去驅(qū)動(dòng)揚(yáng)聲器實(shí) 10 現(xiàn)。 2.4.2 電路功能使用說(shuō)明電路功能使用說(shuō)明 (1) 各個(gè)控制鍵的功能:可對(duì)時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加 );按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘 的時(shí)間;時(shí)加、分加鍵是在校準(zhǔn)時(shí)間時(shí)或設(shè)置鬧鐘時(shí) 間對(duì)小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可 以進(jìn)入秒表模式,同時(shí)秒表也開(kāi)始計(jì)時(shí),按下秒表暫停、 復(fù)位鍵就暫停、歸零,如果要重新對(duì)秒計(jì)時(shí)則可以按秒 表開(kāi)始、復(fù)位;清零鍵可以對(duì)鬧鐘清零。 (2( AT89C51 單片機(jī),通過(guò)編寫(xiě)程序?qū)?shù)碼顯示進(jìn)行 控制。 (3( 八個(gè) 7 段數(shù)碼管顯示時(shí)鐘和秒表信號(hào)。 11 第三章軟件總體設(shè)計(jì)方案第三章軟件總體設(shè)計(jì)方案 3.1 主程序流程圖主程序流程圖: 軟件程序從開(kāi)始執(zhí)行,先通過(guò)初始化各個(gè)寄存器,經(jīng)過(guò)掃描按 鍵來(lái)決定是否設(shè)定參數(shù)來(lái)執(zhí)行相應(yīng)功能的程序,進(jìn)而在數(shù)碼管上顯示。 如圖 3-1: 圖 3-1 主程序流程圖 開(kāi)始 定時(shí)器及中斷定時(shí)器初始 化 執(zhí)行時(shí)鐘秒表 鬧鈴設(shè)定程序 是否設(shè) 定參數(shù) 執(zhí)行顯示程 序 N Y 12 3.2 總中斷程序流程總中斷程序流程 圖 3-2 中斷流程圖 時(shí)間的顯示通過(guò)此中斷程序來(lái)控制,并且通過(guò)與設(shè)定的 時(shí)間進(jìn)行比較來(lái)判斷是否讓鬧鈴工作。程序中包含時(shí)間的設(shè) 定,如設(shè)定 tcount 來(lái)使秒等工作,進(jìn)而來(lái)控制分和時(shí)。如上 圖圖 3-2。 分?jǐn)?shù)值 timeminute 加 1time.second 歸零 Tcount 加 1 返回主程序 實(shí)數(shù)值 time1.boun 加 1time1.mintet 歸零 Time1.bou r23 時(shí)數(shù)值 time1.hour 歸零 Tount1=100 ? 秒數(shù)值 time1.second 加 1second 歸零 執(zhí)行鬧鐘程序 p0.0=1 判斷時(shí)間與 鬧鐘時(shí)間是 否一致 鬧鐘程序是 否行完全 Time1.second= 60? Time.minute =60? 恢復(fù)初值保護(hù) 13 A. 秒表中斷程序流程秒表中斷程序流程 秒表功能通過(guò)另一個(gè)程序來(lái)實(shí)現(xiàn)。通過(guò)保護(hù)主程序的數(shù) 據(jù)來(lái)進(jìn)行秒表功能。程序中需要設(shè)置秒表的具體顯示方法。 如圖 3-3: N Y N Y 圖 3-3 秒表中斷程序流程圖 恢復(fù)初值保護(hù) 10ms 計(jì)數(shù)器加 1 恢復(fù)初值保護(hù) 秒計(jì)數(shù)器加 1,10ms 計(jì)數(shù)器歸零, 即 sec+,ms=0 Sec60? Ms100? 輸出字碼,中斷結(jié)束, 返回上級(jí)主程序 分計(jì)數(shù)器加 1,秒計(jì)數(shù)器 歸零,即 minit+,sec=0 14 B.按按鍵鍵程序流程程序流程 圖 3-4 為時(shí)鐘和鬧鐘的調(diào)節(jié),程序中通過(guò)掃描來(lái)判斷按鍵 是否按下進(jìn)行時(shí)間和鬧鐘的調(diào)節(jié)。 圖 3-4 按鍵程序流程圖 程序初始化 時(shí)十位歸零 alarms【7】=0 分時(shí)位歸零 alarms4=0 分十位歸 零 輸出時(shí)鐘時(shí) 十位加一 輸出鬧鐘時(shí)個(gè) 位加一,延時(shí) 輸出時(shí)鐘十位加 一 輸出時(shí)鐘十 個(gè)位加一 輸出時(shí)鐘分個(gè) 位加一,延時(shí) 輸出鬧鐘 時(shí)分位加 一 輸出鬧鐘時(shí)十 位加一 輸出鬧鐘 分個(gè)位加 一,延 時(shí) 時(shí)十位歸 零 判斷標(biāo) 志位是 否為零 Alarms4 2 Alarms7 2 Alarms【3 】0 Dat16 9 Dat17 Alarms6 9 Dat13 9 Dat142 判斷標(biāo)志 是否為零 判斷時(shí) i 加 鍵是否按 下 判斷分加 鍵是否按 下 15 圖 3-5 為進(jìn)入中斷和清零圖,程序中通過(guò)掃描來(lái)判斷按鍵是 否按下進(jìn)行執(zhí)行相應(yīng)的中斷來(lái)事實(shí)現(xiàn)相應(yīng)的功能。 圖 3-5 中斷和清零程序流程圖 判斷分加鍵 tminute 是否按下,P1.1=0 判斷秒表 miaobiao1 是否按下按下, P1.0=0 , tgsdhPP1.0=0 判斷清零鍵 miaobiao2 是否按下,P1.3=0 進(jìn)入秒表中斷,執(zhí)行 秒表中斷程序 返回上級(jí)主程序 清零所有的計(jì)數(shù)器,各個(gè) 顯示的字碼。 16 3.3 控制電路的控制電路的 C 語(yǔ)言源程序語(yǔ)言源程序 根據(jù)流程圖,經(jīng)過(guò)認(rèn)真分析得出控制電路的源程序如下: #include #define uchar unsigned char #define uint unsigned int #define delay_time 3/*宏定義 */ uchar k,dat=0,0,0,0,0,0,0,0; uint tcount,t,u; uchar dat1=0,0,0,0,0,0,2,1; uchar dat2=0,0,0,0,0,0,0,0; uchar alarms=0,0,0,0,0,0,0,0; uchar dis_bit=0x80,0x40,0x20,0x 10,0x08,0x04,0x02,0x01; unsigned char code SEG711=0xC0,/*0*/ 0xF9,/*1*/ 0xA4,/*2*/ 0xB0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xF8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xBF,/*-*/ ;/*數(shù)字顯示數(shù)組*/ sbit miaobiao1=P10; sbit tminute=P11; sbit thour=P12; sbit miaobiao2=P13; sbit alarm=P14; sbit P0_0=P00; sbit P1_5=P15; sbit P1_6=P16; sbit P1_7=P17;/*端口定義*/ uchar ms=0; uchar flag=0; uchar sec=0; 17 uchar minit=0; struct timeuchar second;uchar minute;uchar hour;time1; uchar n,i; void delay(n) while(n-) for(i=120;i0;i-); /*延時(shí)子程序*/ void modify(void) EA=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0; dat17+; else if(dat171) dat16=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; if(alarms72) alarms7=0; dat6=alarms6; dat7=alarms7; 18 if(tminute=0) if(flag=0) dat13+;delay(280); if(dat3=9) dat14+;dat13=0; if(dat145) dat14=0; if(flag=1) alarms3+; delay(300); if(alarms39) alarms4+;alarms3=0; if(alarms45) alarms4=0; dat3=alarms3; dat4=alarms4; if(miaobiao1=0) TR0=0;ET0=0;TR1=1;ET1= 1; if(miaobiao2=0) TR0=1;ET0=1;TR1=0;ET1=0; dat20=0; dat21=0; dat23=0; dat24=0; 19 dat26=0; dat27=0; ms=0; sec=0; minit=0; if(P1_5=0) TR0=0;ET0=0;TR1=0; ET1=0; if(alarm=0) TR0=0;ET0=0;TR1=0;ET1 =0;flag=1; dat0=0; dat1=0; dat2=10; dat3=0; dat4=0; dat5=10; dat6=0; dat7=0; EA=1; /*按鍵掃描*/ void init(void) TMOD = 0x11; TH0 = 0xDB; TL0 =0xFF; TH1=0xDB; TL1=0xFF; ET0 = 1; /10ms ET1=1; /TR1=1; TR0=1; tcount=0; ms=0; sec=0; minit=0; EA = 1; /*初始化*/ 20 void test(void) for(k=0;k23) time1.hour=0; dat5=10; dat2=10; dat0=dat10; dat1=dat11; dat3=dat13; dat4=dat14; dat6=dat16; dat7=dat17; flag=0; P0=0x01; if(alarms7=dat17) sec+; dat23=sec%10; 22 dat24=sec/10; if(sec=60) sec=0; minit+; dat26=minit%10; dat27=minit/10; dat5=10; dat2=10; dat0=dat20; dat1=dat21; dat3=dat23; dat4=dat24; dat6=dat26; dat7=dat27; EA=1; 23 第四章第四章 課程設(shè)計(jì)結(jié)果分析課程設(shè)計(jì)結(jié)果分析 此時(shí)鐘設(shè)計(jì)是利用 protues 仿真軟件進(jìn)行仿真,基本 上實(shí)現(xiàn)了課程設(shè)計(jì)要求實(shí)現(xiàn)的功能。 硬件部分設(shè)置了的六個(gè)按鍵。當(dāng)按鍵一按下時(shí),進(jìn)入 秒表顯示狀態(tài),秒表開(kāi)始計(jì)時(shí),當(dāng)按鍵六按下時(shí),秒表暫 停;當(dāng)按鍵四按下時(shí)恢復(fù)到時(shí)間顯示功能;當(dāng)按鍵二按下 時(shí),進(jìn)入調(diào)分狀態(tài),按一次,分加一,60 一循環(huán);按鍵三按 下時(shí),進(jìn)入調(diào)時(shí)狀態(tài),按一次,時(shí)加一,60 一循環(huán);按鍵五 按下時(shí),進(jìn)入鬧鈴設(shè)置功能,緊接著按下按鍵二和按鍵三 進(jìn)行時(shí)和分的設(shè)置,再按下按鍵 4 恢復(fù)顯示時(shí)間,當(dāng)顯示 的時(shí)間和定時(shí)設(shè)置的時(shí)間一致時(shí),蜂鳴器發(fā)出蜂鳴聲,蜂 鳴時(shí)間我們?cè)O(shè)置為 10 秒。 另外,鬧鈴電路有音樂(lè)鬧鐘的擴(kuò)展的功能(可以將蜂 鳴器換成揚(yáng)聲器再加一段音樂(lè)程序即可實(shí)現(xiàn))。 調(diào)試階段,出現(xiàn)一些問(wèn)題。比如,實(shí)際小時(shí)顯示到 29 才歸零,分鐘顯示到 60 才進(jìn)一經(jīng)過(guò)軟件調(diào)試,以上 問(wèn)題均一一排除,結(jié)果達(dá)到預(yù)期目標(biāo)。但時(shí)間有限,部分 擴(kuò)展功能不能及時(shí)實(shí)現(xiàn),比如音樂(lè)鬧鈴。 24 第五章第五章 總結(jié)總結(jié) 經(jīng)過(guò)一周的單片機(jī)課程設(shè)計(jì),我組成員已基本完成課題 要求。功能上基本達(dá)標(biāo):時(shí)鐘的顯示,秒表顯示,定時(shí)功能, 調(diào)時(shí)功能。時(shí)鐘顯示功能,精確度完全可以滿足日常生活顯 示時(shí)間的需
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 拼音線描美術(shù)課件
- 產(chǎn)后盆底功能康復(fù)治療
- 聯(lián)想集團(tuán)員工激勵(lì)管理實(shí)踐分析
- (統(tǒng)編版)語(yǔ)文三年級(jí)上冊(cè)口語(yǔ)交際:名字里的故事 課件
- 補(bǔ)肺湯解析與應(yīng)用
- 護(hù)理心理案例分析與實(shí)踐應(yīng)用
- 大學(xué)生秋季傳染病預(yù)防指南
- 飲食護(hù)理的種類(lèi)
- 肺癌的護(hù)理查房
- 初中班主任年度個(gè)人工作總結(jié)模版
- 智聯(lián)招聘筆試考試題庫(kù)
- 2025年中考英語(yǔ)作文熱點(diǎn)押題及范文
- 特種設(shè)備操作人員培訓(xùn)管理制度范文(2篇)
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)教育-云南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 《SQL優(yōu)化策略》課件
- 剪映專(zhuān)業(yè)版教學(xué)課件
- 2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析
- 智能咖啡機(jī)行業(yè)營(yíng)銷(xiāo)策略方案
- 2024年部編版九年級(jí)語(yǔ)文上冊(cè)電子課本(高清版)
- 《魚(yú)紋話吉祥》 課件 2024-2025學(xué)年嶺南美版(2024) 初中美術(shù)七年級(jí)上冊(cè)
- 小米智能家居合同模板
評(píng)論
0/150
提交評(píng)論