怎樣顯示時(shí)間?
發(fā)布時(shí)間:2012/6/14 19:42:20 訪問(wèn)次數(shù):1760
在上一期的制作例子中,連接在pn13土的LED按照亮1s、暗1s的XC9536XL-10VQG64C頻率閃亮,這是使用了Arduino的—個(gè)函數(shù)mdlis().它的返回值是從運(yùn)行程序起始到當(dāng)前所經(jīng)過(guò)的時(shí)間(單位以ms計(jì)),它一直記下去,直到溢出,需要50天。
如果先后取得兩次函數(shù)值:t1 =millis()和t2=millis().則它們的差值就是兩次取值之間經(jīng)過(guò)的時(shí)間(ms),那么t2 -f1等于1000ms,就是1s。閃燈就是用這個(gè)辦法來(lái)達(dá)到秒時(shí)間的,不過(guò)這個(gè)在短時(shí)間計(jì)時(shí)還可以,如果長(zhǎng)時(shí)間連續(xù)計(jì)時(shí),誤差會(huì)積累得很大,有1/1000的誤差,一天就會(huì)超過(guò)1分鐘,所以不能用這個(gè)辦法。
這里還有兩個(gè)方法來(lái)解決計(jì)時(shí)問(wèn)題:
1.使用Arduino的TIMER2定時(shí)器2中斷,相關(guān)的函數(shù)在2008年已經(jīng)被開(kāi)發(fā)出來(lái)。
2使用時(shí)鐘芯片DS1302,在2010年已經(jīng)開(kāi)發(fā)出對(duì)應(yīng)的類庫(kù)。
方法1簡(jiǎn)單也比較準(zhǔn)確,也不需要其他元件。實(shí)際試驗(yàn)結(jié)果是,日誤差在3秒以內(nèi),可以接受,缺點(diǎn)是停電后不能再時(shí)。方法2雖然只是多了幾個(gè)元件,但是要在Arduino上順暢地和DS1302配合(還要引腳能夠自由設(shè)置)卻不簡(jiǎn)單,要是自己做會(huì)比較麻煩。不過(guò)201 0年6月Arduino論壇的高手doc_norwey開(kāi)發(fā)出DS1302類庫(kù),使這個(gè)問(wèn)題變得比較簡(jiǎn)單。
DS1302的編程的重點(diǎn)是使用DS1302類庫(kù)中的函數(shù)。首先去下載DS1302庫(kù)壓縮包DS1302.rar(它是開(kāi)源的,可以自由下載,下載地址見(jiàn)上一段末尾鏈接),然后把它解壓到編程工具Arduin0 0021文件夾下的libraries文件央中,這樣就增加了一個(gè)DS1302文件夾,在其中的DS1302.h頭文件里面定義了DS1302類。編程時(shí),在sketch頭部加上#include <ds1302.h>,然后就可以在程序中通過(guò)這個(gè)類的一個(gè)實(shí)例rtc使用相關(guān)函數(shù)了(就是DS1302類的公有成員函數(shù))。
如果先后取得兩次函數(shù)值:t1 =millis()和t2=millis().則它們的差值就是兩次取值之間經(jīng)過(guò)的時(shí)間(ms),那么t2 -f1等于1000ms,就是1s。閃燈就是用這個(gè)辦法來(lái)達(dá)到秒時(shí)間的,不過(guò)這個(gè)在短時(shí)間計(jì)時(shí)還可以,如果長(zhǎng)時(shí)間連續(xù)計(jì)時(shí),誤差會(huì)積累得很大,有1/1000的誤差,一天就會(huì)超過(guò)1分鐘,所以不能用這個(gè)辦法。
這里還有兩個(gè)方法來(lái)解決計(jì)時(shí)問(wèn)題:
1.使用Arduino的TIMER2定時(shí)器2中斷,相關(guān)的函數(shù)在2008年已經(jīng)被開(kāi)發(fā)出來(lái)。
2使用時(shí)鐘芯片DS1302,在2010年已經(jīng)開(kāi)發(fā)出對(duì)應(yīng)的類庫(kù)。
方法1簡(jiǎn)單也比較準(zhǔn)確,也不需要其他元件。實(shí)際試驗(yàn)結(jié)果是,日誤差在3秒以內(nèi),可以接受,缺點(diǎn)是停電后不能再時(shí)。方法2雖然只是多了幾個(gè)元件,但是要在Arduino上順暢地和DS1302配合(還要引腳能夠自由設(shè)置)卻不簡(jiǎn)單,要是自己做會(huì)比較麻煩。不過(guò)201 0年6月Arduino論壇的高手doc_norwey開(kāi)發(fā)出DS1302類庫(kù),使這個(gè)問(wèn)題變得比較簡(jiǎn)單。
DS1302的編程的重點(diǎn)是使用DS1302類庫(kù)中的函數(shù)。首先去下載DS1302庫(kù)壓縮包DS1302.rar(它是開(kāi)源的,可以自由下載,下載地址見(jiàn)上一段末尾鏈接),然后把它解壓到編程工具Arduin0 0021文件夾下的libraries文件央中,這樣就增加了一個(gè)DS1302文件夾,在其中的DS1302.h頭文件里面定義了DS1302類。編程時(shí),在sketch頭部加上#include <ds1302.h>,然后就可以在程序中通過(guò)這個(gè)類的一個(gè)實(shí)例rtc使用相關(guān)函數(shù)了(就是DS1302類的公有成員函數(shù))。
在上一期的制作例子中,連接在pn13土的LED按照亮1s、暗1s的XC9536XL-10VQG64C頻率閃亮,這是使用了Arduino的—個(gè)函數(shù)mdlis().它的返回值是從運(yùn)行程序起始到當(dāng)前所經(jīng)過(guò)的時(shí)間(單位以ms計(jì)),它一直記下去,直到溢出,需要50天。
如果先后取得兩次函數(shù)值:t1 =millis()和t2=millis().則它們的差值就是兩次取值之間經(jīng)過(guò)的時(shí)間(ms),那么t2 -f1等于1000ms,就是1s。閃燈就是用這個(gè)辦法來(lái)達(dá)到秒時(shí)間的,不過(guò)這個(gè)在短時(shí)間計(jì)時(shí)還可以,如果長(zhǎng)時(shí)間連續(xù)計(jì)時(shí),誤差會(huì)積累得很大,有1/1000的誤差,一天就會(huì)超過(guò)1分鐘,所以不能用這個(gè)辦法。
這里還有兩個(gè)方法來(lái)解決計(jì)時(shí)問(wèn)題:
1.使用Arduino的TIMER2定時(shí)器2中斷,相關(guān)的函數(shù)在2008年已經(jīng)被開(kāi)發(fā)出來(lái)。
2使用時(shí)鐘芯片DS1302,在2010年已經(jīng)開(kāi)發(fā)出對(duì)應(yīng)的類庫(kù)。
方法1簡(jiǎn)單也比較準(zhǔn)確,也不需要其他元件。實(shí)際試驗(yàn)結(jié)果是,日誤差在3秒以內(nèi),可以接受,缺點(diǎn)是停電后不能再時(shí)。方法2雖然只是多了幾個(gè)元件,但是要在Arduino上順暢地和DS1302配合(還要引腳能夠自由設(shè)置)卻不簡(jiǎn)單,要是自己做會(huì)比較麻煩。不過(guò)201 0年6月Arduino論壇的高手doc_norwey開(kāi)發(fā)出DS1302類庫(kù),使這個(gè)問(wèn)題變得比較簡(jiǎn)單。
DS1302的編程的重點(diǎn)是使用DS1302類庫(kù)中的函數(shù)。首先去下載DS1302庫(kù)壓縮包DS1302.rar(它是開(kāi)源的,可以自由下載,下載地址見(jiàn)上一段末尾鏈接),然后把它解壓到編程工具Arduin0 0021文件夾下的libraries文件央中,這樣就增加了一個(gè)DS1302文件夾,在其中的DS1302.h頭文件里面定義了DS1302類。編程時(shí),在sketch頭部加上#include <ds1302.h>,然后就可以在程序中通過(guò)這個(gè)類的一個(gè)實(shí)例rtc使用相關(guān)函數(shù)了(就是DS1302類的公有成員函數(shù))。
如果先后取得兩次函數(shù)值:t1 =millis()和t2=millis().則它們的差值就是兩次取值之間經(jīng)過(guò)的時(shí)間(ms),那么t2 -f1等于1000ms,就是1s。閃燈就是用這個(gè)辦法來(lái)達(dá)到秒時(shí)間的,不過(guò)這個(gè)在短時(shí)間計(jì)時(shí)還可以,如果長(zhǎng)時(shí)間連續(xù)計(jì)時(shí),誤差會(huì)積累得很大,有1/1000的誤差,一天就會(huì)超過(guò)1分鐘,所以不能用這個(gè)辦法。
這里還有兩個(gè)方法來(lái)解決計(jì)時(shí)問(wèn)題:
1.使用Arduino的TIMER2定時(shí)器2中斷,相關(guān)的函數(shù)在2008年已經(jīng)被開(kāi)發(fā)出來(lái)。
2使用時(shí)鐘芯片DS1302,在2010年已經(jīng)開(kāi)發(fā)出對(duì)應(yīng)的類庫(kù)。
方法1簡(jiǎn)單也比較準(zhǔn)確,也不需要其他元件。實(shí)際試驗(yàn)結(jié)果是,日誤差在3秒以內(nèi),可以接受,缺點(diǎn)是停電后不能再時(shí)。方法2雖然只是多了幾個(gè)元件,但是要在Arduino上順暢地和DS1302配合(還要引腳能夠自由設(shè)置)卻不簡(jiǎn)單,要是自己做會(huì)比較麻煩。不過(guò)201 0年6月Arduino論壇的高手doc_norwey開(kāi)發(fā)出DS1302類庫(kù),使這個(gè)問(wèn)題變得比較簡(jiǎn)單。
DS1302的編程的重點(diǎn)是使用DS1302類庫(kù)中的函數(shù)。首先去下載DS1302庫(kù)壓縮包DS1302.rar(它是開(kāi)源的,可以自由下載,下載地址見(jiàn)上一段末尾鏈接),然后把它解壓到編程工具Arduin0 0021文件夾下的libraries文件央中,這樣就增加了一個(gè)DS1302文件夾,在其中的DS1302.h頭文件里面定義了DS1302類。編程時(shí),在sketch頭部加上#include <ds1302.h>,然后就可以在程序中通過(guò)這個(gè)類的一個(gè)實(shí)例rtc使用相關(guān)函數(shù)了(就是DS1302類的公有成員函數(shù))。
上一篇:制作要點(diǎn)
上一篇:程序中對(duì)按鍵處理方法
熱門點(diǎn)擊
- 毫伏表
- 硅三極管的功能簡(jiǎn)介
- 三相電源與電動(dòng)機(jī)接線
- DIY定時(shí)攝影使用
- 電沆斬波控制
- 怎樣顯示時(shí)間?
- 具體方法
- 振蕩電路中采用陶瓷振子
- 話筒和AF放大器
- 完美無(wú)諧波變頻器
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開(kāi)
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究