單片機(jī)電子時鐘實驗報告_第1頁
單片機(jī)電子時鐘實驗報告_第2頁
單片機(jī)電子時鐘實驗報告_第3頁
單片機(jī)電子時鐘實驗報告_第4頁
單片機(jī)電子時鐘實驗報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 / 22 文檔可自由編輯打印課程設(shè)計報告課程設(shè)計報告設(shè)計題目設(shè)計題目: : 電子時鐘設(shè)計電子時鐘設(shè)計 指導(dǎo)教師:指導(dǎo)教師: 姓姓 名名: : 學(xué)學(xué) 號號: : 班班 級級: : 專專 業(yè)業(yè): : 日日 期期: : 2012-1-52012-1-5 目錄目錄2 / 22 文檔可自由編輯打印摘要摘要.3第一章第一章 系統(tǒng)設(shè)系統(tǒng)設(shè)計計要求要求.41.1 基本功能 .41.2 擴(kuò)展功能 .4第二章第二章 硬件總體設(shè)計方案硬件總體設(shè)計方案.42.1 系統(tǒng)功能實現(xiàn)總體設(shè)計思路.42.2 各部分功能實現(xiàn).42.3 系統(tǒng)工作原理.62.4 時鐘各功能分析及圖解.62.4.1 電路各功能圖解分析.62.4.

2、2 電路功能使用說明.10第三章軟件總體設(shè)計方案第三章軟件總體設(shè)計方案.1控制電路的 C 語言源程序 .10第四章第四章 課程設(shè)計結(jié)課程設(shè)計結(jié)果果分分析析.19第五章第五章 總總結(jié)結(jié).20參考文參考文獻(xiàn)獻(xiàn).26單片機(jī)電子時鐘單片機(jī)電子時鐘 3 / 22 文檔可自由編輯打印摘要摘要:單片機(jī) 即單片微型計算機(jī)。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強(qiáng),廣泛應(yīng)用于工業(yè)自動化上和智能產(chǎn)品。時鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,時鐘的應(yīng)用

3、越來越廣范,人們對時間計量的精度要求也越來越高。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設(shè)計出新型的時鐘,來不斷滿足人們的日常生活需要。然而市場上的時鐘便宜的比較笨重,簡單實用的又比較昂貴。那么,有沒有一款既簡單實用價格又便宜的時鐘呢?我們課程設(shè)計小組設(shè)想:可不可以利用單片機(jī)功能集成化高,價格又便宜的特點設(shè)計一款結(jié)構(gòu)既簡單,價格又便宜的單片機(jī)電子時鐘呢? 基于這種情況,我們課程設(shè)計小組成員多方查閱資料,反復(fù)論證設(shè)計出了這款既簡單實用,又價格便宜的單單片機(jī)電子時鐘。片機(jī)電子時鐘。關(guān)鍵詞:單片機(jī)關(guān)鍵詞:單片機(jī) 時鐘時鐘 計時計時4 / 22 文檔可自由編輯打印

4、第一章第一章 系統(tǒng)設(shè)計要求系統(tǒng)設(shè)計要求1.1 基本功能基本功能(1)能夠顯示時分秒(2)能夠調(diào)整時分秒1.2 擴(kuò)展功能擴(kuò)展功能(1)能夠任意設(shè)置定時時間(2)定時時間到鬧鈴能夠報警(3)實現(xiàn)了秒表功能第二章第二章 硬件總體設(shè)計方案硬件總體設(shè)計方案本次設(shè)計時鐘電路,使用了 STC89C51 單片機(jī)芯片控制電路,單片機(jī)控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,用一揚聲器來進(jìn)行定時提醒,同時使用 C 語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設(shè)計要求。2.1 系統(tǒng)功能實現(xiàn)總體設(shè)計思路系統(tǒng)功

5、能實現(xiàn)總體設(shè)計思路此設(shè)計原理框圖如圖 2-1 所示,此電路包括以下四個5 / 22 文檔可自由編輯打印部分:單片機(jī),鍵盤,鬧鈴電路及顯示電路。51 單片機(jī)獨立鍵盤數(shù)碼管顯示 圖 2-1 設(shè)計原理框圖經(jīng)多方論證硬件我們小組采用 AT89C51 單片機(jī)和 7SED八位共陽極數(shù)碼管等來實現(xiàn)單片機(jī)電子時鐘的功能。詳細(xì)元器件列表如表 2.1 所示:表 2.1 詳細(xì)元器件列表STC89c52RCSTC89c52RC1 1 片片7SED7SED 四位共陽極數(shù)碼管四位共陽極數(shù)碼管2 2 片片鬧鈴電路6 / 22 文檔可自由編輯打印PNPPNP 三極管三極管9 9 個個100p100p 電容電容6 6 個個30

6、p30p 電容電容2 2 個個1K1K 電阻電阻 6 6 個個150150 歐姆電阻歐姆電阻8 8 個個10k10k 歐姆電阻歐姆電阻8 8 個個100100 歐姆電阻歐姆電阻8 8 個個2.2 各部分功能實現(xiàn)各部分功能實現(xiàn)(1)單片機(jī)發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2)單片機(jī)通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3)為使時鐘走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時間。(4)單片機(jī)通過控制鬧鈴電路來完成 定時鬧鐘的功能。2.3 系統(tǒng)工作原理系統(tǒng)工作原理設(shè)計的電路主要由四模塊構(gòu)成:單片機(jī)控制電路,顯示電路、鬧鈴電路以及校正電路。詳細(xì)電路功

7、能圖如圖 2-2:7 / 22 文檔可自由編輯打印adpbcdefg18234567adpbcdefg010203040506010602030405adpbcdefg14582367XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7

8、/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC122uFC222uFQ1PNPR120010k10k10k10k10k10k100100100100100100100p100p100p100p100p100p123456LS1SOUNDER本設(shè)計采用 C 語言程序設(shè)計,使單片機(jī)控制數(shù)碼管顯示時、分、秒,當(dāng)秒計數(shù)計滿 60 時就向分進(jìn)位,分計數(shù)器計滿 60 后向時計數(shù)器進(jìn)位,小時計數(shù)器按“23 翻 0”規(guī)

9、律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校時電路進(jìn)行校正。設(shè)計采用的是時、分、秒顯示,單片機(jī)對數(shù)據(jù)進(jìn)行處理同時在數(shù)碼管上顯示。2.4 時鐘各功能分析時鐘各功能分析及圖解及圖解2.4.1 電路各功能圖解分析電路各功能圖解分析 (1 1) 時鐘運行圖仿真開始運行時,或按下 key4 鍵時,時鐘從12:00:00 開始運行,其中 key2 鍵對分進(jìn)行調(diào)整,key38 / 22 文檔可自由編輯打印對小時進(jìn)行調(diào)整,key6 可以讓時鐘暫停。時鐘運行圖如圖 2-3 所示:adpbcdefg18234567adpbcdefg0102030405060106020

10、30405adpbcdefg14582367XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A112

11、4P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC122uFC222uFQ1PNPR120010k10k10k10k10k10k100100100100100100100p100p100p100p100p100p123456LS1SOUNDER (2)秒表計時圖當(dāng)按下 key1 鍵進(jìn)入秒表計時狀態(tài),key6 是秒表暫停鍵,可按 key4 鍵跳出秒表計時狀態(tài)。如圖 2-4:adpbcdefg18234567adpbcdefg010203040506010602030405adpbcdefg14582367XTAL218XTAL119ALE30EA

12、31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1C

13、RYSTALC122uFC222uFQ1PNPR120010k10k10k10k10k10k100100100100100100100p100p100p100p100p100p123456LS1SOUNDER9 / 22 文檔可自由編輯打?。?)鬧鈴設(shè)置圖及運行圖當(dāng)按下 key5,開始定時,分別按 key2 調(diào)分,key3 調(diào)時設(shè)置鬧鈴時間,然后按下 key4 鍵恢復(fù)時鐘運行狀態(tài)(圖2-5)當(dāng)鬧鈴設(shè)置時間到時,蜂鳴器將發(fā)出 10 秒中蜂鳴聲(圖 2-6) 。adpbcdefg18234567adpbcdefg010203040506010602030405adpbcdefg14582367XT

14、AL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.

15、6/A1427U1AT89C51X1CRYSTALC122uFC222uFQ1PNPR120010k10k10k10k10k10k100100100100100100100p100p100p100p100p100p123456LS1SOUNDER該數(shù)字鐘是用一片 STC89C52 單片機(jī)通過編程去驅(qū)動 8 個數(shù)碼管實現(xiàn)的。通過 6 個開關(guān)控制,從上到下 6 個開關(guān)KEY1-KEY6 的功能分別為:KEY1,切換至秒表;KEY2,調(diào)節(jié)時間,每調(diào)一次時加 1;KEY3, 調(diào)節(jié)時間,每調(diào)一次分加 1;KEY4,從其它狀態(tài)切換至?xí)r鐘狀態(tài);KEY5,切換至鬧鐘設(shè)置狀態(tài),也可以對秒表清零;KEY6,秒表暫

16、停.控制鍵分別與 P1.0P1.5 口連接其中:A A 通過 P2 口和 P3 口去控制數(shù)碼管的顯示如圖所示 P2 口10 / 22 文檔可自由編輯打印接數(shù)碼管的 ag 端,是控制輸出編碼,P3 口接數(shù)碼管的 18 端,是控制動態(tài)掃描輸出B B 從 P0.0 輸出一個信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時間到了時候發(fā)光,若有樂曲可以去驅(qū)動揚聲器實現(xiàn)。2.4.2 電路功能使用說明電路功能使用說明(1) 各個控制鍵的功能:可對時間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加) ;按下設(shè)置鍵數(shù)字時鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時間;時加、分加鍵是在校準(zhǔn)時間時或設(shè)置鬧鐘時間對小時數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入

17、秒表模式,同時秒表也開始計時,按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。STC89C51 單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。(2)八個 7 段數(shù)碼管顯示時鐘和秒表信號。第三章軟件總體設(shè)計方案第三章軟件總體設(shè)計方案11 / 22 文檔可自由編輯打印控制電路的控制電路的 C 語言源程語言源程序序#include #include unsigned char data dis_digit;unsigned char key_s, key_v;unsigned char code dis_code11=0 xc0,0 xf9,0 xa4,0

18、 xb0, / 0, 1, 2, 3 0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90, 0 xbf;/ 4, 5, 6, 7, 8, 9, unsigned char data dis_buf8;unsigned char data dis_index;unsigned char hour,min,sec;unsigned char sec100; sbit K1 = P11;sbit K2 = P12;bit scan_key();void proc_key();void inc_sec();void inc_min();void inc_hour();void di

19、splay();12 / 22 文檔可自由編輯打印void delayms(unsigned char ms);void main(void) P2 = 0 xff; P3 = 0 xff; TMOD = 0 x11; / 定時器 0, 1 工作模式 1, 16 位定時方式 TH1 = 0 xdc; TL1 = 0; TH0 = 0 xFC; TL0 = 0 x17; hour = 12; min = 00; sec = 00; sec100 = 0; dis_buf0 = dis_codehour / 10; / 時十位 dis_buf1 = dis_codehour % 10; / 時個位

20、 dis_buf3 = dis_codemin / 10; / 分十位13 / 22 文檔可自由編輯打印 dis_buf4 = dis_codemin % 10; / 分個位 dis_buf6 = dis_codesec / 10; / 秒十位 dis_buf7 = dis_codesec % 10; / 秒個位 dis_buf2 = 0 xbf; / 顯示- dis_buf5 = 0 xbf; / 顯示- dis_digit = 0 xfe; dis_index = 0; TCON = 0 x01; IE = 0 x8a; / 使能 timer0,1 中斷 TR0 = 1; TR1 = 1;

21、 key_v = 0 x03; while(1) if(scan_key() delayms(10);14 / 22 文檔可自由編輯打印 if(scan_key() key_v = key_s; proc_key(); bit scan_key() key_s = 0 x00; key_s |= K2; key_s 59) min = 0; dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分個位 EA = 1;void timer0() interrupt 1/ 定時器 0 中斷服務(wù)程序, 用于數(shù)碼管的動態(tài)掃描

22、16 / 22 文檔可自由編輯打印/ dis_index - 顯示索引, 用于標(biāo)識當(dāng)前顯示的數(shù)碼管和緩沖區(qū)的偏移量/ dis_digit - 位選通值, 傳送到 P2 口用于選通當(dāng)前數(shù)碼管的數(shù)值, 如等于 0 xfe 時,/ 選通 P2.0 口數(shù)碼管/ dis_buf - 顯于緩沖區(qū)基地址 TH0 = 0 xFC; TL0 = 0 x17; P3 = 0 xff; / 先關(guān)閉所有數(shù)碼管 P2 = dis_bufdis_index; / 顯示代碼傳送到 P0 口 P3= dis_digit; / dis_digit = _crol_(dis_digit,1); / 位選通值左移, 下次中斷時選通

23、下一位數(shù)碼管 dis_index+; / dis_index &= 0 x07; / 8 個數(shù)碼管全部掃描完一遍之后,再回到第一個開始下一次掃描 17 / 22 文檔可自由編輯打印void timer1() interrupt 3 TH1 = 0 xdc; sec100+; if(sec100 = 100) sec100 = 0; inc_sec(); void inc_sec() sec+; if(sec 59) sec = 0; inc_min(); dis_buf6 = dis_codesec / 10; / 秒十位18 / 22 文檔可自由編輯打印 dis_buf7 = dis

24、_codesec % 10; / 秒個位 void inc_min() min+; if(min 59) min = 0; inc_hour(); dis_buf3 = dis_codemin / 10; / 分十位 dis_buf4 = dis_codemin % 10; / 分個位void inc_hour() hour+; if(hour 23) hour = 0; 19 / 22 文檔可自由編輯打印 if(hour 9) dis_buf0 = dis_codehour / 10; / 時十位 else dis_buf0 = 0 xff; / 當(dāng)小時的十位為 0 時不顯示 dis_buf

25、1 = dis_codehour % 10; / 時個位void delayms(unsigned char ms) / 延時子程序 unsigned char i; while(ms-) for(i = 0; i 120; i+); 第四章第四章 課程設(shè)計結(jié)果分析課程設(shè)計結(jié)果分析此時鐘設(shè)計是利用 protues 仿真軟件進(jìn)行仿真,基本上實現(xiàn)了課程設(shè)計要求實現(xiàn)的功能。20 / 22 文檔可自由編輯打印硬件部分設(shè)置了的六個按鍵。當(dāng)按鍵一按下時,進(jìn)入秒表顯示狀態(tài),秒表開始計時,當(dāng)按鍵六按下時,秒表暫停;當(dāng)按鍵四按下時恢復(fù)到時間顯示功能;當(dāng)按鍵二按下時,進(jìn)入調(diào)分狀態(tài),按一次,分加一,60 一循環(huán);按

26、鍵三按下時,進(jìn)入調(diào)時狀態(tài),按一次,時加一,60 一循環(huán);按鍵五按下時,進(jìn)入鬧鈴設(shè)置功能,緊接著按下按鍵二和按鍵三進(jìn)行時和分的設(shè)置,再按下按鍵 4 恢復(fù)顯示時間,當(dāng)顯示的時間和定時設(shè)置的時間一致時,蜂鳴器發(fā)出蜂鳴聲,蜂鳴時間我們設(shè)置為 10 秒。 第五章第五章 總結(jié)總結(jié) 經(jīng)過一周的單片機(jī)課程設(shè)計,我組成員已基本完成課題要求。功能上基本達(dá)標(biāo):時鐘的顯示,秒表顯示,定時功能,調(diào)時功能。時鐘顯示功能,精確度完全可以滿足日常生活顯示時間的需要;秒表功能,可以滿足比賽計時的需要;調(diào)時功能,方便快捷;定時功能準(zhǔn)確可靠,還有擴(kuò)展成音樂鬧鐘的余地。硬件設(shè)施合乎要求,軟件設(shè)計可以配合硬件實現(xiàn)要求功能。但是由于時間比較短,出現(xiàn)部分不足:使用定時和秒表功能時時間顯示功能

溫馨提示

  • 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

提交評論