


全文預(yù)覽已結(jié)束
畢業(yè)設(shè)計(jì)151基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究.pdf.pdf 免費(fèi)下載
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第 29 卷 第 4 期2005 年 8 月武 漢 理 工 大 學(xué) 學(xué) 報(bào) (交通科學(xué)與工程版 )Jou rnal of W uhan U n iversity of T echno logy(T ran spo rtation Science & Engineering)V o l. 29 N o. 4A ug. 2005基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究 3收稿日期 : 2005 06 05陳姚節(jié) : 男 , 28 歲 , 碩士 , 助教 , 主要研究領(lǐng)域?yàn)閿?shù)據(jù)通信和設(shè)備驅(qū)動(dòng)開(kāi)發(fā)3 國(guó)家 863 計(jì)劃項(xiàng)目資助 (批準(zhǔn)號(hào) : 2003AA 414011)陳姚節(jié)戴澤軍(武漢科技大學(xué)計(jì)算機(jī)學(xué)院武漢 430081)摘要 : 用單片機(jī)來(lái)設(shè)計(jì)數(shù)字鐘 , 軟件實(shí)現(xiàn)各種功能比較方便 . 但因軟件的執(zhí)行需要一定的時(shí)間 , 所以就會(huì)出現(xiàn)誤差 . 對(duì)比實(shí)際的時(shí)鐘 , 查找出誤差的來(lái)源 , 并作出調(diào)整誤差的方法 , 使得誤差盡可能地小 , 使得系統(tǒng)可以達(dá)到實(shí)際數(shù)字鐘的允許誤差范圍內(nèi) .關(guān)鍵詞 : 顯示消影 ; 事件觸發(fā) ; 誤差分析中圖法分類(lèi)號(hào) : T P365. 11系統(tǒng)原理分析系統(tǒng)設(shè)計(jì)中用到 89 C52 單片機(jī)的部分功能 :包括內(nèi)部定時(shí)器 , 鍵盤(pán)擴(kuò)展 , 程序中斷 , 串口通信等 . 用一個(gè)四聯(lián)體的共陰極八段顯示器 , 可通過(guò)一個(gè)輸入 輸出口作為顯示器數(shù)據(jù)發(fā)送端 ; 另一個(gè)輸入 輸出口的四位作為顯示器各位的片選信號(hào) , 另四位作為鍵盤(pán)擴(kuò)展口使用 . 采用一個(gè)頻率為11. 059 2 M H z的晶振構(gòu)成時(shí)鐘電路 . 系統(tǒng)原理如圖 1 所示 .圖 1系統(tǒng)原理圖2軟件實(shí)現(xiàn)與流程2. 1主程序由于系統(tǒng)的主要功能都是由程序中斷來(lái)完成的 , 主程序基本上沒(méi)什么事可做 , 但因鍵盤(pán)掃描是通過(guò)程序查詢的方式實(shí)現(xiàn)的 , 所以主程序只循環(huán)掃描鍵盤(pán) . 主程序流程圖如圖 2 所示 .2. 2定時(shí)和串口程序定時(shí)和串口都是中斷響應(yīng)程序 , 它們的調(diào)用圖 2主程序流程圖都是系統(tǒng)執(zhí)行過(guò)程中采用中斷事件觸發(fā)產(chǎn)生 (中斷部分處理如圖 3 所示 ). 定時(shí)中斷是周期性發(fā)生的 , 而串口中斷則須串口有數(shù)據(jù)傳輸才發(fā)生中斷 1, 2 . 定時(shí)程序是整個(gè)系統(tǒng)的核心代碼 , 這段代碼不光涉及到顯示 , 還涉及到系統(tǒng)計(jì)時(shí) , 這段代碼的優(yōu)劣關(guān)系到整個(gè)系統(tǒng)的可靠性 , 后面還將詳細(xì)討論 . 為初步減小系統(tǒng)誤差 , 置定時(shí)初值一定要在程序開(kāi)始就設(shè)置 .2. 3數(shù)據(jù)的顯示與刷新更新顯示器涉及到兩個(gè)操作 : 發(fā)數(shù)據(jù)和改片選信號(hào) . 但實(shí)踐發(fā)現(xiàn) , 代碼中無(wú)論是先改片選信號(hào)還是先發(fā)數(shù)據(jù)信號(hào) , 都會(huì)出現(xiàn)重影 (即相鄰兩位顯示差不多 ) 這也是動(dòng)態(tài)掃描引起的 . 證明先發(fā)片選 , 則前一位的數(shù)據(jù)會(huì)在下一位顯示一段時(shí)間 ; 先發(fā)數(shù)據(jù) , 則后一位的數(shù)據(jù)會(huì)在前一位顯示一段時(shí)間 , 因而出現(xiàn)重影 . 解決這個(gè)問(wèn)題的辦法是先進(jìn)行圖 3中斷程序流程圖一個(gè)消影操作 , 然后再發(fā)片選 , 最后發(fā)數(shù)據(jù) . 這樣就能很好地解決了重影問(wèn)題 . 這樣做的關(guān)鍵在于 ,在極短的一段時(shí)間內(nèi)讓顯示器都不亮 , 等一切準(zhǔn)備工作都做好了以后再發(fā)數(shù)據(jù) , 只要顯示頻率足夠快 , 是看不出顯示器有閃爍的 (程序用定時(shí)中斷頻率作為顯示更新頻率 , 在表 1 中 , 只有當(dāng)更新率 100 H z 時(shí) , 才發(fā)現(xiàn)顯示器有閃爍 ). 這段顯示程序代碼如下 .P1= 0 x00; 消影P2= 選擇 選擇 ; 發(fā)片選信號(hào)codetmp= acode echoarray選擇 ;如果 (選擇 = = 2&mod= = 0&do tflag) 判斷是否顯示 . codetmp= 0 x80;P1= codetmp; 發(fā)數(shù)據(jù)選擇 = + + 選擇 % 4; 片選計(jì)數(shù)器下移表 1系統(tǒng)時(shí)間校正測(cè)試數(shù)據(jù)定時(shí)中斷頻率 k 次 s- 1PC 標(biāo)準(zhǔn)時(shí)長(zhǎng)m in系統(tǒng)計(jì)時(shí)(初值為00: 00: 00)誤差$ t s 備注100 10 00: 09: 58 - 2 顯示器有閃爍200 10 00: 09: 57 - 3400 10 00: 09: 55 - 5800 10 00: 09: 49 - 111 600 10 00: 09: 39 - 213 200 10 00: 09: 18 - 423 200 20 00: 18: 38 - 82 顯示器無(wú)閃爍3 200 30 00: 27: 57 - 1233 200 60 00: 55: 54 - 2463 200 120 01: 51: 46 - 4943 200 180 02: 47: 38 - 7423 200 240 03: 43: 31 - 9893 200 300 04: 39: 24 - 1 2242. 4鍵盤(pán)響應(yīng)程序鍵盤(pán)處理程序流程相對(duì)簡(jiǎn)單 , 只是簡(jiǎn)單的判鍵與處理 . 這里不再給出流程圖 . 所謂鍵盤(pán)消抖就是一次按鍵的多次響應(yīng)問(wèn)題 . 當(dāng)然 , 一般一次按鍵只須響應(yīng)一次 , 但有的時(shí)候需要多次響應(yīng) , 如系統(tǒng)進(jìn)入修改模式 , 數(shù)字的增減 . 當(dāng)出現(xiàn)這種問(wèn)題時(shí) ,用戶的一次擊鍵是作為一次還是多次處理 , 必須有一個(gè)標(biāo)準(zhǔn) . 程序中用到了一個(gè)標(biāo)志位 , 相當(dāng)于中斷系統(tǒng)的中斷標(biāo)志 . 當(dāng)用戶按下鍵時(shí) , 標(biāo)志清零 ,松開(kāi)鍵時(shí) , 標(biāo)志恢復(fù) ; 鍵按下超過(guò)一定時(shí)間 (靠一掃描計(jì)數(shù)器判定 ) 后 , 恢復(fù)標(biāo)志 , 則經(jīng)過(guò)一定的時(shí)間延遲 (也靠一掃描計(jì)數(shù)器判定 )可以響應(yīng)一次按鍵 (即一次按鍵的多次響應(yīng) ). 而事實(shí)上 , 鍵盤(pán)響應(yīng)程序就是一個(gè)事件觸發(fā)器 , 鍵盤(pán)的每一個(gè)狀態(tài) (按下 , 松開(kāi) , 點(diǎn)擊 ) 都可能引發(fā)一段響應(yīng)程序 (如 : 重新設(shè)定鍵按下準(zhǔn)備復(fù)位 ; 松開(kāi)系統(tǒng)復(fù)位 ). 這里的時(shí)間延遲靠的是指令計(jì)數(shù) , 由于受硬件中斷等不確定因素影響 , 這個(gè)延遲一般不準(zhǔn)確 , 但通過(guò)測(cè)試 , 可以找到一些合適的值 .3系統(tǒng)性能測(cè)試與功能說(shuō)明3. 1定時(shí)計(jì)數(shù)器的初始值設(shè)置公式推導(dǎo)系統(tǒng)中所選用的晶振的頻率為 f o sc, 則機(jī)器周期為公式 1: t0 = 12 f o sc 3 設(shè)定時(shí)器要求的中斷頻率為 k, 計(jì)數(shù)器位數(shù)為 n, 則定時(shí)計(jì)數(shù)器的初值 X 設(shè)置有如下公式 : t0 (2n- X ) = 1 k 3 . 于是原始公式 : X = 2n - 1 (k t0). 而實(shí)驗(yàn)測(cè)得的數(shù)據(jù)顯示 , 這個(gè)公式所得的結(jié)果并不可靠 (表 1 中的所有數(shù)據(jù)都是在計(jì)數(shù)器初始值嚴(yán)格按照原始公式給出的條件下測(cè)得 , 以個(gè)人計(jì)算機(jī)機(jī)系統(tǒng)時(shí)鐘為標(biāo)準(zhǔn) ). 從表 1 中的數(shù)據(jù)可知 , 嚴(yán)格按照原始公式得出的計(jì)數(shù)初值是存在極大誤差的 , 這個(gè)誤差總使系統(tǒng)時(shí)間變慢 , 而且 , 系統(tǒng)時(shí)間的誤差值隨著每秒中斷次數(shù)的增多而增大 , 隨計(jì)時(shí)總長(zhǎng)的增長(zhǎng)而增大 , 并且總是成比例 (在誤差允許的范圍內(nèi) ). 這就是說(shuō) , 系統(tǒng)的誤差跟每秒中斷次數(shù)和個(gè)人計(jì)算機(jī)標(biāo)準(zhǔn)時(shí)長(zhǎng)的乘積 (即中斷總次數(shù) ) 成正比 . 也就是說(shuō) , 每次中斷計(jì)時(shí)的時(shí)間誤差是一個(gè)常數(shù) .誤差來(lái)源分析 . 不考慮晶振等固件的誤差 , 則系統(tǒng)機(jī)器周期可以由公式 1 準(zhǔn)確給出 , 因而系統(tǒng)誤差不可能來(lái)自于硬件 , 而應(yīng)該主要來(lái)自于軟件方面 . 系統(tǒng)每次調(diào)用定時(shí)中斷程序的過(guò)程中 , 硬件并沒(méi)有自動(dòng)進(jìn)入下一個(gè)定時(shí)周期 , 而是在調(diào)用中斷程序以后由軟件置數(shù)來(lái)實(shí)現(xiàn)的 . 而在程序調(diào)用155 第 4 期 陳姚節(jié)等 : 基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究過(guò)程中 , 堆棧建立、參數(shù)傳遞等都是需要耗時(shí) , 而這些時(shí)間都被無(wú)形中加到了定時(shí)長(zhǎng)度中去 . 所以 ,使得每次定時(shí)長(zhǎng)度都大于理論推導(dǎo)值 , 在宏觀上表現(xiàn)出來(lái)就是系統(tǒng)比理論計(jì)算出來(lái)的結(jié)果變慢了(這于表 1 所得的結(jié)論恰好一致 ). 另外 , 由于系統(tǒng)每次調(diào)用中斷處理程序所執(zhí)行的操作都是相同的 , 也就是說(shuō) , 系統(tǒng)每次定時(shí)的時(shí)間誤差應(yīng)該是一個(gè)常數(shù) (這也恰好跟實(shí)驗(yàn)數(shù)據(jù)相吻合 ). 由上面的數(shù)據(jù)和分析可知 , 原始公式應(yīng)該修改為 : 公式 2X = 2n- 1 (k t0) + $x. 則由表 1 推導(dǎo)出定時(shí)初值的修正值的計(jì)算公式如下 , 公式 3, $x = $ t ( 60 T k t0). 由表 1 數(shù)據(jù) , 實(shí)際中要求 k 最小 , 而又不影響顯示效果 , 才能使誤差越小 , 故實(shí)測(cè)中取 k = 160. 根據(jù)表 1 計(jì)算近似等于 20 (所用晶振頻率為 11. 059 2 M H z). 按表 1 的實(shí)驗(yàn)方法 ,得表 2.表 2參數(shù)優(yōu)化后的計(jì)時(shí)測(cè)試數(shù)據(jù)定時(shí)中斷次數(shù) k 次 s- 1PC 標(biāo)準(zhǔn)時(shí)長(zhǎng) m in $x系統(tǒng)計(jì)時(shí)(初值為00: 00: 00)誤差$ t s 備注16060 20 00: 59: 59 - 1120 20 01: 59: 58 - 2180 20 02: 59: 57 - 3240 20 03: 59: 56 - 4300 20 04: 59: 54 - 6300 21 04: 59: 59 - 1600 21 09: 59: 58 - 2顯示器無(wú)閃爍這些數(shù)據(jù)較表 1 已有很大準(zhǔn)確性 , 但與實(shí)際應(yīng)用還有一定差距 . 末兩行是根據(jù)前面參數(shù)規(guī)律稍做改動(dòng)得到的 , 與公式 2 有一定出入 , 但與個(gè)人計(jì)算機(jī)系統(tǒng)標(biāo)準(zhǔn)時(shí)間已經(jīng)相當(dāng)接近 . 由于表 1 的數(shù)據(jù)本身是肉眼估計(jì)出來(lái)的 , 本身就帶有很大的誤差 , 實(shí)際運(yùn)用可用精密儀器得到表 2 的數(shù)據(jù) , 則系統(tǒng)參數(shù)可以更進(jìn)一步接近實(shí)用值 .3. 2系統(tǒng)功能與操作說(shuō)明主要功能 : 二十四進(jìn)制時(shí)間顯示 (時(shí)、分 ) , 秒以“ . ”的閃爍表示 ; 電子跑表計(jì)數(shù)功能 ; 可通過(guò)按鍵修改 , 顯示時(shí)、分、秒、復(fù)位 ; 可通過(guò)個(gè)人計(jì)算機(jī)機(jī)串口設(shè)置時(shí)、分 , 設(shè)置時(shí)連續(xù)發(fā)送四位十六進(jìn)制數(shù) , 依次為時(shí)的高、低位 , 分的高、低位 . 完成后秒自動(dòng)復(fù)位 . 輔助功能 : 鍵盤(pán)共 4 個(gè)鍵 , 從左到右依次標(biāo)名為遞增、遞減 , 確認(rèn)修改和設(shè)定 , 用來(lái)修改和設(shè)置系統(tǒng)時(shí)鐘 . 同時(shí) , 還可以通過(guò)串口來(lái)修改和設(shè)置系統(tǒng)時(shí)鐘 .4結(jié)論系統(tǒng)的功能完全符合設(shè)計(jì)任務(wù)的要求 , 經(jīng)過(guò)大量的測(cè)試數(shù)據(jù)顯示 , 系統(tǒng)的可靠性已經(jīng)完全達(dá)到了實(shí)際電子鐘的設(shè)計(jì)要求 . 同時(shí)系統(tǒng)具有很強(qiáng)的擴(kuò)展性 : 添加 A D 轉(zhuǎn)換器可更改成數(shù)值儀表 ,而添加 D 轉(zhuǎn)換器則可以設(shè)計(jì)成波形發(fā)生器 , 同時(shí)擴(kuò)充串口的功能可以道到很好的計(jì)算機(jī)控制系統(tǒng) . 系統(tǒng)擴(kuò)展圖如圖 4.圖 4系統(tǒng)功能擴(kuò)展原理圖參 考 文 獻(xiàn)1 陳姚節(jié) . 基于串行通信的數(shù)字監(jiān)控系統(tǒng) . 武漢理工大學(xué)學(xué)報(bào) (交通科學(xué)與工程版 ) , 2002, 26 (5): 650 6532 趙鴿 , 陳姚節(jié) . 基于 WDM 設(shè)備驅(qū)動(dòng)的虛擬儀器的研究與實(shí)現(xiàn) . 武漢理工大學(xué)學(xué)報(bào) (交通科學(xué)與工程版 ) , 2002, 26 (6): 811 8143 李廣弟 , 朱月秀 , 王秀山 . 單片機(jī)基礎(chǔ) . 北京 : 北京航空航天大學(xué)出版社 , 2001. 200 240D igital C lock D esign Based on SCM and T im e A dap tChen Yaoj ie Da i Zhejun(Com p u ter D ep a rtm en t,W U S T ,W uhan 430081)AbstractIts very conven ien t to u se a SCM to design a digital clock w ith softw are. Bu t the erro r w ill easilycom e ou t w ith the tim e run by softw are. To con trast w ith the real clock a
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)脂肪緊致產(chǎn)品行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030中國(guó)背景調(diào)查行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)育發(fā)水行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國(guó)聚合物軟管行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)耳鼻喉科手術(shù)臺(tái)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)羥基封端的聚丁二烯(HTPB)行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)羊毛棉空調(diào)被行業(yè)發(fā)展趨勢(shì)與投資戰(zhàn)略報(bào)告
- 倉(cāng)庫(kù)火災(zāi)應(yīng)急預(yù)案和處理流程
- 2025至2030中國(guó)繡花坯布行業(yè)市場(chǎng)深度研究與戰(zhàn)略咨詢分析報(bào)告
- 檢驗(yàn)科危險(xiǎn)廢物標(biāo)本溢灑處理流程
- 遵義市仁懷市選聘城市社區(qū)工作者考試真題2024
- 2025至2030中國(guó)醫(yī)療頭戴式顯示器行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 槍支安全管理培訓(xùn)課件
- DB45∕T 1098-2024 橡膠瀝青路面施工技術(shù)規(guī)范
- 2025年沈陽(yáng)水務(wù)集團(tuán)招聘筆試沖刺題2025
- 《蠶絲》教學(xué)課件
- 浙江省麗水市普通高中2024-2025學(xué)年高二上學(xué)期期末教學(xué)質(zhì)量監(jiān)控日語(yǔ)試卷(PDF版含答案不含音頻和聽(tīng)力原文)
- 2025至2030電子海圖行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 東莞東華分班數(shù)學(xué)試卷
- 江西省金控科技產(chǎn)業(yè)集團(tuán)有限公司招聘筆試題庫(kù)2025
- 2025年湖北省中考英語(yǔ)試題(附答案)
評(píng)論
0/150
提交評(píng)論