




免費預(yù)覽已結(jié)束,剩余22頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
單片機電子時鐘 摘要:單片機 即單片微型計算機。(Single-Chip Microcomputer ),是 集 CPU ,RAM ,ROM ,定時,計數(shù)和多種接口于一體的微控制器。他體積小,成本低,功能強,廣泛應(yīng)用于工業(yè)自動化上和智能產(chǎn)品。時鐘,自從它被發(fā)明的那天起,就成為了人類的好朋友,但隨著時間的推移,科學(xué)技術(shù)的不斷發(fā)展,時鐘的應(yīng)用越來越廣范,人們對時間計量的精度要求也越來越高。怎樣讓時鐘更好的為人民服務(wù),怎樣讓我們的老朋友再次煥發(fā)青春呢?這就要求我們不斷設(shè)計出新型的時鐘,來不斷滿足人們的日常生活需要。然而市場上的時鐘便宜的比較笨重,簡單實用的又比較昂貴。那么,有沒有一款既簡單實用價格又便宜的時鐘呢?我們課程設(shè)計小組設(shè)想:可不可以利用單片機功能集成化高,價格又便宜的特點設(shè)計一款結(jié)構(gòu)既簡單,價格又便宜的單片機電子時鐘呢? 基于這種情況,我們課程設(shè)計小組成員多方查閱資料,反復(fù)論證設(shè)計出了這款既簡單實用,又價格便宜的單片機電子時鐘。關(guān)鍵詞:單片機 時鐘 計時第一章 系統(tǒng)設(shè)計要求1.1 基本功能(1)能夠顯示時分秒(2)能夠調(diào)整時分秒1.2 擴展功能(1)能夠任意設(shè)置定時時間(2)定時時間到鬧鈴能夠報警(3)實現(xiàn)了秒表功能第二章 硬件總體設(shè)計方案本次設(shè)計時鐘電路,使用了AT89C51單片機芯片控制電路,單片機控制電路簡單且省去了很多復(fù)雜的線路,使得電路簡明易懂,使用鍵盤鍵上的按鍵來調(diào)整時鐘的時、分、秒,用一揚聲器來進行定時提醒,同時使用C語言程序來控制整個時鐘顯示,使得編程變得更容易,這樣通過四個模塊:鍵盤、芯片、揚聲器、顯示屏即可滿足設(shè)計要求。2.1系統(tǒng)功能實現(xiàn)總體設(shè)計思路此設(shè)計原理框圖如圖2-1所示,此電路包括以下四個部分:單片機,鍵盤,鬧鈴電路及顯示電路。鬧鈴電路51單片機獨立鍵盤數(shù)碼管顯示 圖2-1 設(shè)計原理框圖 經(jīng)多方論證硬件我們小組采用AT89C51單片機和7SED八位共陽極數(shù)碼管等來實現(xiàn)單片機電子時鐘的功能。詳細元器件列表如表2.1所示:表2.1 詳細元器件列表AT89c511片7SED八位共陽極數(shù)碼管1片NPN三極管1個104p電容6個30p電容2個10K電阻6個560歐姆電阻8個200歐姆電阻1個100歐姆電阻6個2.2各部分功能實現(xiàn)(1) 單片機發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2) 單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3) 為使時鐘走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時間。(4) 單片機通過控制鬧鈴電路來完成 定時鬧鐘的功能。2.3系統(tǒng)工作原理設(shè)計的電路主要由四模塊構(gòu)成:單片機控制電路,顯示電路、鬧鈴電路以及校正電路。詳細電路功能圖如圖2-2: 圖2-2 詳細電路功能圖本設(shè)計采用C語言程序設(shè)計,使單片機控制數(shù)碼管顯示時、分、秒,當(dāng)秒計數(shù)計滿60時就向分進位,分計數(shù)器計滿60后向時計數(shù)器進位,小時計數(shù)器按“23翻0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校時電路進行校正。設(shè)計采用的是時、分、秒顯示,單片機對數(shù)據(jù)進行處理同時在數(shù)碼管上顯示。2.4時鐘各功能分析及圖解2.4.1電路各功能圖解分析 (1) 時鐘運行圖仿真開始運行時,或按下key4鍵時,時鐘從12:00:00開始運行,其中key2鍵對分進行調(diào)整,key3對小時進行調(diào)整,key6可以讓時鐘暫停。時鐘運行圖如圖 2-3 所示: 圖2-3 時鐘運行圖(2)秒表計時圖當(dāng)按下key1鍵進入秒表計時狀態(tài),key6是秒表暫停鍵,可按key4鍵跳出秒表計時狀態(tài)。如圖2-4: 圖2-4 秒表計時圖(3)鬧鈴設(shè)置圖及運行圖當(dāng)按下key5,開始定時,分別按key2調(diào)分,key3調(diào)時設(shè)置鬧鈴時間,然后按下key4鍵恢復(fù)時鐘運行狀態(tài)(圖2-5)當(dāng)鬧鈴設(shè)置時間到時,蜂鳴器將發(fā)出10秒中蜂鳴聲(圖2-6)。 圖2-5 鬧鈴時間設(shè)置圖 圖2-6 鬧鈴運行圖 該數(shù)字鐘是用一片AT89C51單片機通過編程去驅(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,秒表暫停.控制鍵分別與P1.0P1.5口連接其中:A通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的ag端,是控制輸出編碼,P3口接數(shù)碼管的18端,是控制動態(tài)掃描輸出B從P0.0輸出一個信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時間到了時候發(fā)光,若有樂曲可以去驅(qū)動揚聲器實現(xiàn)。2.4.2電路功能使用說明(1) 各個控制鍵的功能:可對時間進行校準(zhǔn)調(diào)節(jié)(只能加);按下設(shè)置鍵數(shù)字時鐘進入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時間;時加、分加鍵是在校準(zhǔn)時間時或設(shè)置鬧鐘時間對小時數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進入秒表模式,同時秒表也開始計時,按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。(2) AT89C51單片機,通過編寫程序?qū)?shù)碼顯示進行控制。(3) 八個7段數(shù)碼管顯示時鐘和秒表信號。第三章軟件總體設(shè)計方案3.1 主程序流程圖:開始定時器及中斷定時器初始化執(zhí)行時鐘秒表鬧鈴設(shè)定程序是否設(shè)定參數(shù)執(zhí)行顯示程序NY軟件程序從開始執(zhí)行,先通過初始化各個寄存器,經(jīng)過掃描按鍵來決定是否設(shè)定參數(shù)來執(zhí)行相應(yīng)功能的程序,進而在數(shù)碼管上顯示。如圖3-1: 圖3-1 主程序流程圖分?jǐn)?shù)值time.minute加1time.second歸零Tcount加1返回主程序?qū)崝?shù)值time1.boun加1time1.mintet歸零Time1.bour23時數(shù)值time1.hour歸零Tount1=100?秒數(shù)值time1.second加1second歸零執(zhí)行鬧鐘程序p0.0=1判斷時間與鬧鐘時間是否一致鬧鐘程序是否行完全Time1.second=60?Time.minute=60?恢復(fù)初值保護3.2 總中斷程序流程 圖3-2 中斷流程圖時間的顯示通過此中斷程序來控制,并且通過與設(shè)定的時間進行比較來判斷是否讓鬧鈴工作。程序中包含時間的設(shè)定,如設(shè)定tcount來使秒等工作,進而來控制分和時。如上圖圖3-2。A. 秒表中斷程序流程 秒表功能通過另一個程序來實現(xiàn)。通過保護主程序的數(shù)據(jù)來進行秒表功能。程序中需要設(shè)置秒表的具體顯示方法。如圖3-3: 恢復(fù)初值保護10ms計數(shù)器加1恢復(fù)初值保護秒計數(shù)器加1,10ms計數(shù)器歸零,即sec+,ms=0Sec60?Ms100?輸出字碼,中斷結(jié)束,返回上級主程序分計數(shù)器加1,秒計數(shù)器歸零,即minit+,sec=0 N Y N Y圖3-3秒表中斷程序流程圖B.按鍵程序流程圖3-4為時鐘和鬧鐘的調(diào)節(jié),程序中通過掃描來判斷按鍵是否按下進行時間和鬧鐘的調(diào)節(jié)。程序初始化時十位歸零alarms【7】=0分時位歸零alarms4=0分十位歸零輸出時鐘時十位加一輸出鬧鐘時個位加一,延時輸出時鐘十位加一輸出時鐘十個位加一輸出時鐘分個位加一,延時輸出鬧鐘時分位加一輸出鬧鐘時十位加一輸出鬧鐘分個位加一,延時時十位歸零判斷標(biāo)志位是否為零Alarms42Alarms72Alarms【3】0Dat169Dat17Alarms69Dat139Dat142判斷標(biāo)志是否為零判斷時i加鍵是否按下判斷分加鍵是否按下圖3-4按鍵程序流程圖圖3-5為進入中斷和清零圖,程序中通過掃描來判斷按鍵是否按下進行執(zhí)行相應(yīng)的中斷來事實現(xiàn)相應(yīng)的功能。判斷分加鍵tminute是否按下,P1.1=0判斷秒表miaobiao1是否按下按下,P1.0=0,tgsdhPP1.0=0判斷清零鍵miaobiao2是否按下,P1.3=0進入秒表中斷,執(zhí)行秒表中斷程序返回上級主程序清零所有的計數(shù)器,各個顯示的字碼。圖3-5 中斷和清零程序流程圖3.3控制電路的C語言源程序根據(jù)流程圖,經(jīng)過認真分析得出控制電路的源程序如下:26#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,0x10,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;uchar minit=0;struct timeuchar second;uchar minute;uchar hour;time1; uchar n,i;void delay(n) while(n-)for(i=120;i0;i-); /*延時子程序*/ void modify(void) EA=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0;dat17+;else if(dat171)&(dat163) dat17=0; dat16=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; if(alarms72) alarms7=0; dat6=alarms6; dat7=alarms7; 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; 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; /10msET1=1;/TR1=1; TR0=1; tcount=0;ms=0;sec=0;minit=0;EA = 1;/*初始化*/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)&(alarms6=dat16)&(alarms4=dat14)&(alarms3=dat13)&(dat11=100) ms=0; sec+; dat23=sec%10; 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; 第四章 課程設(shè)計結(jié)果分析此時鐘設(shè)計是利用protues仿真軟件進行仿真,基本上實現(xiàn)了課程設(shè)計要求實現(xiàn)的功能。硬件部分設(shè)置了的六個按鍵。當(dāng)按鍵一按下時,進入秒表顯示狀態(tài),秒表開始計時,當(dāng)按鍵六按下時,秒表暫停;當(dāng)按鍵四按下時恢復(fù)到時間顯示功能;當(dāng)按鍵二按下時,進入調(diào)分狀態(tài),按一次,分加一,60一循環(huán);按鍵三按下時,進入調(diào)時狀態(tài),按一次,時加一,60一循環(huán);按鍵五按下時,進入鬧鈴設(shè)置功能,緊接著按下按鍵二和按鍵三進行時和分的設(shè)置,再按下按鍵4恢復(fù)顯示時間,當(dāng)顯示的時間和定時設(shè)置的時間一致時,蜂鳴器發(fā)出蜂鳴聲,蜂鳴時間我們設(shè)置為10秒。另外,鬧鈴電路有音樂鬧鐘的擴展的功能(可以將蜂鳴器換成揚聲器再加一段音樂程序即可實現(xiàn))。調(diào)試階段,出現(xiàn)一些問題。比如,實際小時顯示到29才歸零,分鐘顯示到60才進一經(jīng)過軟件調(diào)試,以上問題均一一排除,結(jié)果達到預(yù)期目標(biāo)。但時間有限,部分?jǐn)U展功能不能及時實現(xiàn),比如音樂鬧鈴。 第五章 總結(jié) 經(jīng)過一周的單片機課程設(shè)計,我組成員已基本完成課題要求。功能上基本達標(biāo):時鐘的顯示,秒表顯示,定時功能,調(diào)時功能。時鐘顯示功能,精確度完全可以滿足日常生活顯示時間的需要;秒表功能,可以滿足比賽計時的需要;調(diào)時功能,方便快捷;定時功能準(zhǔn)確可靠,還有擴展成音樂鬧鐘的余地。硬件設(shè)施合乎要求,軟件設(shè)計可以配合硬件實現(xiàn)要求功能。但是由于時間比較短,出現(xiàn)部分不足:使用定時和秒表功能時時間顯示功能停止運行。經(jīng)討論只是軟件部分還不完善。不過,我們相信,如果時間充足,將軟件改進,我們完全可以很好實現(xiàn)所有功能。 另外,在本次設(shè)計的過程中,我們發(fā)現(xiàn)很多的問題,雖然以前沒有做過這樣的設(shè)計但通過這次設(shè)計我學(xué)會了很多東西,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我們覺的寫好一個程序并不是一件簡單的事,比如寫一個程序看其功能很少認為編寫程序簡單,但到編的時候才發(fā)現(xiàn)一些細微的知識或低級錯誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細心才行,只學(xué)習(xí)理論有些東西是很
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東省莞市東華中學(xué)2025年英語八下期中綜合測試試題含答案
- 保潔安全試題及答案
- 辦公室應(yīng)聘題庫及答案
- 中式快餐連鎖企業(yè)2025年標(biāo)準(zhǔn)化擴張與市場渠道拓展報告
- 2025年新能源微電網(wǎng)穩(wěn)定性控制與優(yōu)化運行設(shè)備運行維護設(shè)備運行維護成本控制報告
- 氫能源汽車產(chǎn)業(yè)關(guān)鍵零部件國產(chǎn)化進程2025年技術(shù)創(chuàng)新與產(chǎn)業(yè)發(fā)展趨勢分析
- 安全監(jiān)理試題及答案
- 醫(yī)療家具知識培訓(xùn)課件
- 2025年新型農(nóng)業(yè)經(jīng)營主體發(fā)展現(xiàn)狀與培育策略深度分析報告001
- 建筑施工模板安全技術(shù)規(guī)范
- 人教版五年級英語下冊期末試卷及答案
- 柬埔寨高棉語學(xué)習(xí)
- 二年級下冊期末無紙筆測評方案
- CJJ89-2012 城市道路照明工程施工及驗收規(guī)程
- 娛樂場所突發(fā)事件應(yīng)急處理
- 2024年信息科技中考考試題庫及答案(模擬)
- 2023年新疆維吾爾自治區(qū)烏魯木齊市天山區(qū)小升初數(shù)學(xué)試卷(內(nèi)含答案解析)
- 20G520-1-2鋼吊車梁(6m-9m)2020年合訂本
- 2023年陜西初中地理生物會考卷子
- 電梯維護保養(yǎng)規(guī)則(TSG T5002-2017)
- 初中物理-摩擦力課件-市公開課一等獎省賽課獲獎?wù)n件
評論
0/150
提交評論