![可調(diào)試數(shù)字電子時(shí)鐘電路的設(shè)計(jì)(吳丹)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f1.gif)
![可調(diào)試數(shù)字電子時(shí)鐘電路的設(shè)計(jì)(吳丹)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f2.gif)
![可調(diào)試數(shù)字電子時(shí)鐘電路的設(shè)計(jì)(吳丹)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f3.gif)
![可調(diào)試數(shù)字電子時(shí)鐘電路的設(shè)計(jì)(吳丹)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f4.gif)
![可調(diào)試數(shù)字電子時(shí)鐘電路的設(shè)計(jì)(吳丹)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/31/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f/e42a795e-3cfc-4e5b-a842-1ffd5dd8476f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、杭州職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)(作品) (2010屆)作品名稱 可調(diào)試數(shù)字電子時(shí)鐘電路的設(shè)計(jì)系 別 信 息 電 子 系 專 業(yè) 應(yīng)用電子技術(shù) 班 級(jí) 應(yīng)電0842 學(xué) 號(hào) 0803402038姓 名 吳 丹 指導(dǎo)教師 張雪娟 2010年5 月8 日一、作品原理圖 數(shù)字顯示時(shí)鐘的主要功能是用24進(jìn)制顯示一天的時(shí)間,在單片機(jī)的輔助下能通過(guò)對(duì)時(shí)間進(jìn)行調(diào)試,在斷電的情況下能準(zhǔn)確的計(jì)時(shí)。電路如圖1所示。在實(shí)際電路中主要運(yùn)用的是ds1320涓流充電時(shí)鐘芯片(u2)對(duì)時(shí)間進(jìn)行24進(jìn)制的計(jì)時(shí),在通過(guò)atmega8l-8pi可編程8位控制器(u1)對(duì)在四位數(shù)碼顯示管上顯示出真確的時(shí)間,s1 ,s2 ,s3 是分別控
2、制時(shí)鐘調(diào)整時(shí)間的,在電路中還加入了一個(gè)蜂鳴器,當(dāng)s1,s2 ,s3中的任何一個(gè)按下的時(shí)候就會(huì)發(fā)出聲音,這是對(duì)以后能更好檢查是哪個(gè)按鈕失靈的好方法。u1單片機(jī)的10-14的管腳分別于四位數(shù)碼顯示管上的abcdefg、dp相連,2345的管腳分別和四位數(shù)碼顯示管上的1234,這樣的連接就可以在四位數(shù)碼顯示管上真確的顯示數(shù)字0-9十個(gè)數(shù)字了,在u2集成塊上我們多加了一個(gè)電源vcc,在實(shí)際的電路中我們運(yùn)用了一個(gè)3v的紐扣電池,在這種情況下即使單片機(jī)沒(méi)有通電,集成塊也能精確的記錄沒(méi)電時(shí)的時(shí)間,在下次通電的時(shí)候還是和現(xiàn)在的時(shí)間是一致的。圖1 電路原理圖二、程序設(shè)計(jì)在程序方面我們運(yùn)用的是c語(yǔ)言的編程,在這個(gè)
3、編程里,我們分別實(shí)現(xiàn)了對(duì)24進(jìn)制時(shí)間的調(diào)整,在正確顯示時(shí)鐘的同時(shí)還防止了時(shí)鐘錯(cuò)誤顯示的功能。/ Define FPU and device defaults#include "config.h"#include <avr/io.h>#include <avrinterrupt.h>#include <util/delay.h>#include <avr/pgmspace.h>#include "LED47.h"#include "utils.h"#include "keys.h
4、"#include "DS1302.h"#include "buzzer.h"#define UPDATE_INTERVAL 60#define BLINKING_CRYCLE 3#define KEY_REPEAT_LIMIT_SET 1#define KEY_REPEAT_LIMIT_SHIFT 1#define KEY_REPEAT_LIMIT_UP 1#define ALARM_SECONDS 60#define ALARM_STOP 0#define ALARM_IN_ACTION 1int main (void)/byte Init
5、Val7=dec2bcd(00),dec2bcd(00),dec2bcd(17),dec2bcd(8),dec2bcd(3),dec2bcd(6),dec2bcd(9); /初始數(shù) 秒,分,時(shí),日, 月,星期,年 byte ReadVal7=0x00,0x00,0x00,0x00,0x00,0x00,0x00;byte SaveSec, DispDot;word DispNum = 0;byte key;/ 0: initialized status/ 1: pressed in normal mode/ 2: released to enter setting mode/ 3: presse
6、d in setting modebyte SetStatus = 0;boolean AlarmSettingMode = false;byte ShiftStatus = 0, UpStatus = 0;byte TempDEC;byte SetCursor = 3;byte Blinking = 0;byte AlarmHour = 12, AlarmMin = 0;boolean AlarmFlag = false;byte AlarmStatus = ALARM_STOP;init_devices();/v_Set1302(InitVal);InitTube();InitKeys()
7、;/Disp4Digit( 8888, 1000, 3, 0);DispCircle( 2, 60, 1 );DispCircle( 2, 60, 0 );while( true ) / Sound on if alarm reached and alarm is activeif( AlarmFlag )if( (bcd2dec(ReadVal2) = AlarmHour) && (bcd2dec(ReadVal1)=AlarmMin) )/ Stop in odd secondif(bcd2dec(ReadVal0) % 2 )SoundOff();AlarmStatus
8、= ALARM_STOP;/ Sound in even secondelseSoundOn();AlarmStatus = ALARM_IN_ACTION;else if( AlarmStatus = ALARM_IN_ACTION) SoundOff();key = ReadKey();switch( key )/ SET pressedcase K_SET_PIN:/ Toggle pressed state/ Normal mode, pressedif( SetStatus = 0 ) SetStatus = 1;/ Setting mode, pressedelse if( Set
9、Status = 2 )Blinking = 0;SetStatus = 3;break;/ SET pressedcase K_SHIFT_PIN:if( ShiftStatus = 0 ) ShiftStatus = 1;break;case K_UP_PIN:/ Toggle pressed stateif( UpStatus = 0 ) UpStatus = 1;break;default: /- toggle setting and normal status/ Released to enter setting modeif(SetStatus = 1)SetStatus = 2;
10、SetCursor = 3;beep(10);/ Release to enter normal modeelse if(SetStatus = 3)if( !AlarmSettingMode )/ Set second to 0ReadVal0 = 0;/ Adjust the timev_Set1302(ReadVal);beep(20);/ Enter alarm modeAlarmSettingMode = true;/ Set SetStatus to alarm setting modeSetStatus = 1;SetCursor = 1;Blinking = 0;/ Toggl
11、e clock and alarm modeelse/ Enter normal modeAlarmSettingMode = false;SetStatus = 0;SetCursor = 0;Blinking = 0;/ Shift cursorif( ShiftStatus = 1)/ If in setting modeif( SetStatus = 2 ) SetCursor = SetCursor=0 ? 3: SetCursor-1;/ Disp current alarm settingelseDisp4Digit( AlarmHour * 100 + AlarmMin, 10
12、00, 0x03, 0, AlarmFlag);beep(10);/ Set shift key in normal statusShiftStatus = 0;/ Adjust numbersif( UpStatus = 1 )/ If in setting modeif( SetStatus = 2 ) / increse the dightswitch( SetCursor )/ Digit 0case 0:TempDEC = AlarmSettingMode ? AlarmMin : bcd2dec(ReadVal1);TempDEC+;if( TempDEC >= 60 ) T
13、empDEC = 0;if( AlarmSettingMode ) AlarmMin = TempDEC;else ReadVal1 = dec2bcd(TempDEC);break;/ Digit 1case 1:TempDEC = AlarmSettingMode ? AlarmMin : bcd2dec(ReadVal1);TempDEC+=10;if( TempDEC >= 60 ) TempDEC %= 10;if( AlarmSettingMode ) AlarmMin = TempDEC;else ReadVal1 = dec2bcd(TempDEC);break; / D
14、igit 2case 2:TempDEC = AlarmSettingMode ? AlarmHour : bcd2dec(ReadVal2);TempDEC+;if( TempDEC >= 24 ) TempDEC = 0;if( AlarmSettingMode ) AlarmHour = TempDEC;else ReadVal2 = dec2bcd(TempDEC);break;/ Digit 3case 3:TempDEC = AlarmSettingMode ? AlarmHour : bcd2dec(ReadVal2);TempDEC+=10;if( TempDEC >
15、;= 24 ) TempDEC %= 10;if( AlarmSettingMode ) AlarmHour = TempDEC;else ReadVal2 = dec2bcd(TempDEC);break; if( !AlarmSettingMode )/ Set second to 0ReadVal0 = 0;/ Adjust the timev_Set1302(ReadVal);/ Not in setting modeelse/ toggle alarmAlarmFlag = !AlarmFlag;if( AlarmFlag ) beep(20);else SoundOff();/ S
16、et up key to normal statusUpStatus = 0;break;SaveSec = ReadVal0;v_Get1302(ReadVal);if( SaveSec != ReadVal0 ) DispDot = 3;else DispDot = 0;if( !AlarmSettingMode )DispNum = bcd2dec(ReadVal2) * 100 + bcd2dec(ReadVal1);elseDispNum = AlarmHour * 100 + AlarmMin;if( SetStatus = 2 )Blinking+;if( Blinking &g
17、t;= BLINKING_CRYCLE ) Blinking = 0;if( AlarmSettingMode )Disp4Digit( DispNum, UPDATE_INTERVAL, 0x03, (Blinking = BLINKING_CRYCLE-1)?(1<<SetCursor):0, AlarmFlag);else Disp4Digit( DispNum, UPDATE_INTERVAL, DispDot, (Blinking = BLINKING_CRYCLE-1)?(1<<SetCursor):0, AlarmFlag);return(1);void
18、test1()/*DispDigit( 200 );DispHex( 200 );/DispLut( 200 );*/*while( true )for( int i=3; i>=0; i- )for( int j=0; j<10; j+ )DIGIT_PORT = (1<<i) DIGIT_MASK;SEG_PORT = segmentsj;_delay_ms(100);*/*while(1) for( int i=0; i<10000; i+ )Disp4Digit( i, 200, i%4 );*/三、作品展示圖2 作品圖四、作品元器件清單序號(hào)元器件符號(hào)元器件名稱參數(shù)數(shù)量1Z14位數(shù)碼顯示管SM42056412U1可編程8位控制器ATMEGA8L-8PI13U2涓流充電時(shí)鐘芯片DS130214R1,R2,R3電阻5.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- racemic-6-7-Epoxy-cannabichromene-生命科學(xué)試劑-MCE-6900
- Gluconapin-生命科學(xué)試劑-MCE-5096
- 25B-NB3OMe-hydrochloride-生命科學(xué)試劑-MCE-6391
- 施工日志填寫樣本外墻裝飾工程
- 跨代溝通與家庭關(guān)系中的文化融合
- DB15T 3843-2025新能源分布式電源并網(wǎng)技術(shù)規(guī)范
- 云計(jì)算建設(shè)項(xiàng)目服務(wù)合同
- 事業(yè)單位與員工停薪留職合同范本
- 個(gè)人車位交易合同范例
- 個(gè)人企業(yè)房屋租賃合同模板
- DZ/T 0430-2023 固體礦產(chǎn)資源儲(chǔ)量核實(shí)報(bào)告編寫規(guī)范(正式版)
- (高清版)WST 442-2024 臨床實(shí)驗(yàn)室生物安全指南
- 歷史時(shí)間軸全
- 高速行業(yè)網(wǎng)絡(luò)安全與維護(hù)
- (2024年)房地產(chǎn)銷售人員心態(tài)培訓(xùn)
- T-BJCC 1003-2024 首店、首發(fā)活動(dòng)、首發(fā)中心界定標(biāo)準(zhǔn)
- 外科手術(shù)及護(hù)理常規(guī)
- 鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
- 出口潛力分析報(bào)告
- 大美陜西歡迎你-最全面的陜西省簡(jiǎn)介課件
- 三位數(shù)減三位數(shù)的減法計(jì)算題 200道
評(píng)論
0/150
提交評(píng)論