基于AVR單片機(jī)的智能信息記錄儀設(shè)計(jì)
2.1 文件新建與數(shù)據(jù)寫入
利用命令CMD_FileCreat可新建文件,文件名應(yīng)為8+3格式,且必須為大寫字母或者數(shù)字。
寫入數(shù)據(jù)可通過命令CMD_ByteWrite來實(shí)現(xiàn)。
通過CMD_FileClose命令可關(guān)閉文件。關(guān)閉文件將自動(dòng)更新文件長(zhǎng)度。另外應(yīng)特別注意只有關(guān)閉了文件;才默認(rèn)生成文件,否則沒有文件生成,也就無法進(jìn)行下面的操作(例如新建文件后沒有關(guān)閉文件就開始讀數(shù)據(jù),則該操作無效)。
2.2 向已有文件追加數(shù)據(jù)
向已有文件追加數(shù)據(jù)時(shí)的一般命令如下:
CMD_FileOpen:打開文件;
CMD_ByteLocate:移動(dòng)文件指針到末尾(0xFFFFFFFF);
CMD_ByteWrite:寫入數(shù)據(jù);
CMD_FileClose:關(guān)閉文件。
2.3 寫數(shù)據(jù)操作
寫數(shù)據(jù)時(shí),首先讀取實(shí)時(shí)時(shí)鐘DSl302的值,以判斷當(dāng)前時(shí)間是不是每月的1號(hào),如果是,就新建一個(gè)vv-mm.TXT文件,用來保存一個(gè)月中每天的開機(jī)次數(shù),然后再新建yy―mm―dd.TXT文件來保存每次具體的開關(guān)機(jī)時(shí)間。假如現(xiàn)在是09年11月1日,則先新建09-11.TXT并寫入31個(gè)0,然后把它第一個(gè)數(shù)讀取出來,是0則新建09-11-01.TXT,寫入開機(jī)時(shí)間后,再把開機(jī)次數(shù)的標(biāo)志位加1,然后再寫入文件09-11.TXT。第二次開機(jī)時(shí),時(shí)間就直接追加到該文件里。
在新建文件09-11-01.TXT時(shí),要把此刻的日期時(shí)間保存起來。這樣,當(dāng)關(guān)機(jī)時(shí),就會(huì)把關(guān)機(jī)時(shí)間追加到該文件里。
2.4 日期時(shí)間的查詢與顯示
顯示要查詢的日期時(shí)間時(shí),首先打開輸入要求的日期文件,然后讀取數(shù)據(jù)并存入顯示緩存。為了能在電腦上清晰閱讀,寫入具體時(shí)間時(shí),應(yīng)使用空格、回車、換行等特殊字符,所以,必須對(duì)單片機(jī)讀到的數(shù)據(jù)做特殊處理后再送去顯示。
3 結(jié)束語(yǔ)
本文所介紹的信息記錄系統(tǒng)方案設(shè)計(jì)合理,使用方便,具有友好的人機(jī)界面和較大的數(shù)據(jù)存儲(chǔ)能力,可以很好地實(shí)現(xiàn)時(shí)間信息的智能記錄。使用本方案設(shè)計(jì)的智能信息記錄儀能夠滿足多種工業(yè)場(chǎng)合的使用要求,具有很好的推廣價(jià)值。
評(píng)論