基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究_第1頁(yè)
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究_第2頁(yè)
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究_第3頁(yè)
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究_第4頁(yè)
基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于單片機(jī)的數(shù)字鐘設(shè)計(jì)及時(shí)間校準(zhǔn)研究陳姚節(jié) 戴澤軍(武漢科技大學(xué)計(jì)算機(jī)學(xué)院 430081 )摘要 用用單片機(jī)機(jī)來(lái)設(shè)計(jì)計(jì)數(shù)字鐘鐘,軟件件實(shí)現(xiàn)各各種功能能比較方方便。但但因軟件件的執(zhí)行行需要一一定的時(shí)時(shí)間,所所以就會(huì)會(huì)出現(xiàn)誤誤差。對(duì)對(duì)比實(shí)際際的時(shí)鐘鐘,查找找出誤差差的來(lái)源源,并作作出調(diào)整整誤差的的方法,使使得誤差差近可能能的小,使使得系統(tǒng)統(tǒng)可以達(dá)達(dá)到實(shí)際際數(shù)字鐘鐘的允許許誤差范范圍內(nèi)。關(guān)鍵詞 顯示消消影;事事件觸發(fā)發(fā);誤差差分析中圖分類號(hào)號(hào): TTP3665.110引言在信息技術(shù)術(shù)急速發(fā)發(fā)展的今今天,計(jì)計(jì)算機(jī)科科學(xué)日新新月異。而而單片機(jī)機(jī)作為計(jì)計(jì)算機(jī)科科學(xué)的一一個(gè)分支支,在微微機(jī)控制制領(lǐng)域得得到長(zhǎng)

2、足足發(fā)展。在在計(jì)算機(jī)機(jī)網(wǎng)絡(luò),通通訊方面面是微機(jī)機(jī)的天下下;而在在微控制制領(lǐng)域,小小到電子子表,大大到家用用電器,到到處都有有單片機(jī)機(jī)的用武武之地。1系統(tǒng)原原理分析析系統(tǒng)設(shè)計(jì)中中用到 89 C522 單片片機(jī)的部部分功能能:包括括內(nèi)部定定時(shí)器,鍵鍵盤(pán)擴(kuò)展展,程序序中斷, 串口口通信等等。用一一個(gè)四聯(lián)聯(lián)體的共共陰極八八段顯示示器,可可通過(guò)一一個(gè)輸入入輸出出口作為為顯示器器數(shù)據(jù)發(fā)發(fā)送端;另一個(gè)個(gè)輸入輸出口口的四位位作為顯顯示器各各位的片片選信號(hào)號(hào),另四四位作為為鍵盤(pán)擴(kuò)擴(kuò)展口使使用。采采用一個(gè)個(gè)頻率為為 111.05592 MHzz 的晶晶振構(gòu)成成時(shí)鐘電電路。系系統(tǒng)原理理圖如圖圖 1 :圖1 系統(tǒng)統(tǒng)原

3、理圖圖2軟件實(shí)實(shí)現(xiàn)與流流程2.1 主主程序由于系統(tǒng)的的主要功功能都是是有程序序中斷來(lái)來(lái)完成的的,主程程序基本本上沒(méi)什什么事可可做,但但因鍵盤(pán)盤(pán)掃描是是通過(guò)程程序查詢?cè)兊姆绞绞綄?shí)現(xiàn)的的,所以以主程序序只循環(huán)環(huán)掃描鍵鍵盤(pán)。主主程序流流程圖如如圖2所所示:2.2 定定時(shí)和串串口程序序定時(shí)和串口口都是中中斷響應(yīng)應(yīng)程序,它它們的調(diào)調(diào)用都是是系統(tǒng)執(zhí)執(zhí)行過(guò)程程中采用用中斷事事件觸發(fā)發(fā)產(chǎn)生(中斷部部分處理理如圖33所示)。定時(shí)時(shí)中斷是是周期性性發(fā)生的的,而串串口中斷斷則須串串口有數(shù)數(shù)據(jù)傳輸輸才發(fā)生生中斷。定定時(shí)程序序是整個(gè)個(gè)系統(tǒng)的的核心代代碼,這這段代碼碼不光涉涉及到顯顯示,還還涉及到到系統(tǒng)計(jì)計(jì)時(shí), 這段代代

4、碼的優(yōu)優(yōu)劣關(guān)系系到整個(gè)個(gè)系統(tǒng)的的可靠性性,后面面還將詳詳細(xì)討論論。為初初步減小小系統(tǒng)誤誤差, 置定時(shí)時(shí)初值一一定要在在程序開(kāi)開(kāi)始就設(shè)設(shè)置。收稿日期:20005-001-005陳姚節(jié) 228 歲歲,男,碩碩士,助助教,主主要研究究領(lǐng)域?yàn)闉閿?shù)據(jù)通通信和設(shè)設(shè)備驅(qū)動(dòng)動(dòng)開(kāi)發(fā)國(guó)家8663計(jì)劃劃項(xiàng)目資資助(批批準(zhǔn)號(hào):20003AAA41440111)圖2 主程程序流程程圖圖3 中斷斷程序流流程圖2.3 數(shù)數(shù)據(jù)的顯顯示與刷刷新更新顯示器器涉及到到兩個(gè)操操作:發(fā)發(fā)數(shù)據(jù)和和改片選選信號(hào)。但但實(shí)踐發(fā)發(fā)現(xiàn),代代碼中無(wú)無(wú)論是先先改片選選信號(hào)還還是先發(fā)發(fā)數(shù)據(jù)信信號(hào),都都會(huì)出現(xiàn)現(xiàn)重影(即即相鄰兩兩位顯示示差不多多)這也也是

5、動(dòng)態(tài)態(tài)掃描引引起的。實(shí)實(shí)踐先該該片選,則則前一位位的數(shù)據(jù)據(jù)會(huì)在下下一位顯顯示一段段時(shí)間;先發(fā)數(shù)數(shù)據(jù),則則后一位位的數(shù)據(jù)據(jù)會(huì)在前前一位顯顯示一段段時(shí)間。因因而出現(xiàn)現(xiàn)重影。解解決這個(gè)個(gè)問(wèn)題的的辦法是是先進(jìn)行行一個(gè)消消影操作作,然后后再發(fā)片片選,最最后發(fā)數(shù)數(shù)據(jù)。這這樣就很很好地解解決了重重影問(wèn)題題。這樣樣做的關(guān)關(guān)鍵在于于,在極極短的一一段時(shí)間間內(nèi)讓顯顯示器都都不亮,等等一切準(zhǔn)準(zhǔn)備工作作都做好好了以后后再發(fā)數(shù)數(shù)據(jù),只只要顯示示頻率足足夠快,是是看不出出顯示器器有閃爍爍的(程程序用定定時(shí)中斷斷頻率作作為顯示示更新頻頻率,在在表 11 中,只只當(dāng)更新新率?00 赫茲時(shí)時(shí),才發(fā)發(fā)現(xiàn)顯示示器有閃閃爍)。這這段

6、顯示示程序代代碼如下下: P11=0 x000; / 消影 PP2=選選擇選選擇;/ 發(fā)片選選信號(hào) coodettmp=acoode ecchoaarraay選選擇; 如果果 (選選擇 =2&mood=0&dottflaag)/ 判判斷是否否顯示 . ccodeetmpp|=00 x880; P11=coodettmp; / 發(fā)數(shù)據(jù)據(jù) 選擇擇=+選擇%4; / 片選選計(jì)數(shù)器器下移2.4 鍵鍵盤(pán)響應(yīng)應(yīng)程序鍵盤(pán)處理程程序流程程相對(duì)簡(jiǎn)簡(jiǎn)單,只只是簡(jiǎn)單單的判鍵鍵與處理理。這里里不再給給出流程程圖。所所謂鍵盤(pán)盤(pán)消抖就就是一次次按建的的多次響響應(yīng)問(wèn)題題。當(dāng)然然,一般般一次按按建只須須響應(yīng)一一次,但但有的時(shí)

7、時(shí)候需要要多次響響應(yīng),如如系統(tǒng)進(jìn)進(jìn)入修改改模式,數(shù)數(shù)字的增增減。當(dāng)當(dāng)出現(xiàn)這這種問(wèn)題題時(shí),用用戶的一一次擊鍵鍵是作為為一次還還是多次次處理,必必須有一一個(gè)標(biāo)準(zhǔn)準(zhǔn)。程序序中我用用到了一一個(gè)標(biāo)志志位,相相當(dāng)于中中斷系統(tǒng)統(tǒng)的中斷斷標(biāo)志。當(dāng)當(dāng)用戶按按下鍵時(shí)時(shí),標(biāo)志志清零,松松開(kāi)鍵時(shí)時(shí),標(biāo)志志恢復(fù);鍵按下下超過(guò)一一定時(shí)間間(靠一一掃描計(jì)計(jì)數(shù)器判判定)后后,恢復(fù)復(fù)標(biāo)志,則則經(jīng)過(guò)一一定的時(shí)時(shí)間延遲遲(也靠靠一掃描描計(jì)數(shù)器器判定)可可以響應(yīng)應(yīng)一次按按鍵(即即一次按按鍵的多多次響應(yīng)應(yīng))。而而事實(shí)上上,鍵盤(pán)盤(pán)響應(yīng)程程序就是是一個(gè)事事件觸發(fā)發(fā)器,鍵鍵盤(pán)的每每一個(gè)狀狀態(tài)(按按下,松松開(kāi), 點(diǎn)擊)都都可能引引發(fā)一段段響應(yīng)

8、程程序(如如:重新新設(shè)定鍵鍵按下 = 準(zhǔn)備復(fù)復(fù)位;松松開(kāi)= 系統(tǒng)統(tǒng)復(fù)位)。這這里的時(shí)時(shí)間延遲遲靠的是是指令計(jì)計(jì)數(shù),由由于受硬硬件中斷斷等不確確定因素素影響,這這個(gè)延遲遲一般不不準(zhǔn)確,但但通過(guò)實(shí)實(shí)踐測(cè)試試,可以以找到一一些合適適的值。3系統(tǒng)性性能測(cè)試試與功能能說(shuō)明3.1 定定時(shí)計(jì)數(shù)數(shù)器的初初始值設(shè)設(shè)置公式式推導(dǎo)系統(tǒng)中所選選用的晶晶振的頻頻率為ffoscc,則機(jī)機(jī)器周期期為:公公式1: 2 設(shè)定定時(shí)器要要求的中中斷頻率率為k,計(jì)數(shù)器器位數(shù)為為n,則則定時(shí)計(jì)計(jì)數(shù)器的的初值XX設(shè)置有有如下公公式:2 。于是是:原始始公: 而實(shí)驗(yàn)驗(yàn)測(cè)得的的數(shù)據(jù)顯顯示,這這個(gè)公式式所得的的結(jié)果并并不可靠靠:(下下表中的的

9、所有數(shù)數(shù)據(jù)都是是在計(jì)數(shù)數(shù)器初始始值嚴(yán)格格按照原原始公式式給出的的條件下下測(cè)得,以以個(gè)人計(jì)計(jì)算機(jī)機(jī)機(jī)系統(tǒng)時(shí)時(shí)鐘為標(biāo)標(biāo)準(zhǔn))。從從表 11 中的的數(shù)據(jù)可可知,嚴(yán)嚴(yán)格按照照原始公公式得出出的計(jì)數(shù)數(shù)初值是是存在極極大誤差差的,這這個(gè)誤差差總使系系統(tǒng)時(shí)間間變慢,而而且,系系統(tǒng)時(shí)間間的誤差差值隨著著每秒中中斷次數(shù)數(shù)的增多多而增大大,隨計(jì)計(jì)時(shí)總長(zhǎng)長(zhǎng)的增長(zhǎng)長(zhǎng)而增大大,并且且總是成成比例(在在誤差允允許的范范圍內(nèi))。這這就是說(shuō)說(shuō),系統(tǒng)統(tǒng)的誤差差跟每秒秒中斷次次數(shù)和個(gè)個(gè)人計(jì)算算機(jī)標(biāo)準(zhǔn)準(zhǔn)時(shí)長(zhǎng)的的乘積(即即中斷總總次數(shù))成成正比。也也就是說(shuō)說(shuō),每次次中斷計(jì)計(jì)時(shí)的時(shí)時(shí)間誤差差是一個(gè)個(gè)常數(shù)。誤差來(lái)源分分析不考慮晶振振等固件

10、件的誤差差,則系系統(tǒng)機(jī)器器周期可可以由公公式 11 準(zhǔn)確確給出,因因而系統(tǒng)統(tǒng)誤差不不可能來(lái)來(lái)自于硬硬件,而而應(yīng)該主主要來(lái)自自于軟件件方面。系系統(tǒng)每次次調(diào)用定定時(shí)中斷斷程序的的過(guò)程中中,硬件件并沒(méi)有有自動(dòng)進(jìn)進(jìn)入下一一個(gè)定時(shí)時(shí)周期,而而是在調(diào)調(diào)用中斷斷程序以以后由軟軟件置數(shù)數(shù)來(lái)實(shí)現(xiàn)現(xiàn)的。而而在程序序表1 系統(tǒng)統(tǒng)時(shí)間校校正測(cè)試試數(shù)據(jù)調(diào)用過(guò)程中中,堆棧棧建立,參參數(shù)傳遞遞等都是是需要耗耗時(shí)的,而而這些時(shí)時(shí)間都被被無(wú)形中中加到了了定時(shí)長(zhǎng)長(zhǎng)度中去去。所以以,使得得每次定定時(shí)長(zhǎng)度度都大于于理論推推導(dǎo)值,在在宏觀上上表現(xiàn)出出來(lái)就是是系統(tǒng)比比理論計(jì)計(jì)算出來(lái)來(lái)的結(jié)果果變慢了了(這于于表格 1 所所得的結(jié)結(jié)論恰好好

11、一致)。另另外,由由于系統(tǒng)統(tǒng)每次調(diào)調(diào)用中斷斷處理程程序所執(zhí)執(zhí)行的操操作都是是相同的的,也就就是說(shuō),系系統(tǒng)每次次定時(shí)的的時(shí)間誤誤差應(yīng)該該是一個(gè)個(gè)常數(shù)(這這也恰好好跟實(shí)驗(yàn)驗(yàn)數(shù)據(jù)相相吻合)。由由上面的的數(shù)據(jù)和和分析可可知,原原始公式式應(yīng)該修修改為:公式22:則由表格 1 ,關(guān)關(guān)于的計(jì)計(jì)算公式式如下:公式33:由表格 11 數(shù)據(jù)據(jù),實(shí)際際中要求求 k 最小,而而又不影影響顯示示效果,才才能使誤誤差越小小,故實(shí)實(shí)測(cè)中取取 k=1600 。根根據(jù)表格格一計(jì)算算得 200 (所所用晶振振頻率為為 111.05592 MHzz )。按按表 11 的實(shí)實(shí)驗(yàn)方法法,得表表 2 :表2 參數(shù)數(shù)優(yōu)化后后的計(jì)時(shí)時(shí)測(cè)試數(shù)

12、數(shù)據(jù)這些數(shù)據(jù)較較表 11 已有有很大準(zhǔn)準(zhǔn)確性,但但與實(shí)際際應(yīng)用還還有一定定差距。末末兩行是是根據(jù)前前面參數(shù)數(shù)規(guī)律稍稍做改動(dòng)動(dòng)得到的的, 與與公式 2 有有一定出出入, 但與個(gè)個(gè)人計(jì)算算機(jī)系統(tǒng)統(tǒng)標(biāo)準(zhǔn)時(shí)時(shí)間已經(jīng)經(jīng)相當(dāng)接接近。由由于表 1 的的數(shù)據(jù)本本身是肉肉眼估出出來(lái)的,本本身就帶帶有很大大的誤差差,實(shí)際際運(yùn)用可可用精密密儀器得得到表 1 數(shù)數(shù)據(jù),則則系統(tǒng)參參數(shù)可以以更進(jìn)一一步接近近實(shí)用值值。3.2 系系統(tǒng)功能能與操作作說(shuō)明主要功能:二十四四進(jìn)制時(shí)時(shí)間顯示示 ( 時(shí)、分分), 秒以.的的閃爍表表示;電電子跑表表計(jì)數(shù)功功能;可可通過(guò)按按鍵修改改,顯示示時(shí),分分,秒,復(fù)復(fù)位;可可通過(guò)個(gè)個(gè)人計(jì)算算機(jī)機(jī)串

13、串口設(shè)置置時(shí),分分,設(shè)置置時(shí)連續(xù)續(xù)發(fā)送四四位十六六進(jìn)制數(shù)數(shù),依次次為時(shí)的的高,低低位,分分的高, 低位位。完成成后秒自自動(dòng)復(fù)位位。輔助助功能:鍵盤(pán)共共 4 個(gè)鍵,從從左到右右依次標(biāo)標(biāo)名為向向上的,向向下的,組,重重新設(shè)定定, 用用來(lái)修改改和設(shè)置置系統(tǒng)時(shí)時(shí)鐘。同同時(shí)還可可以通過(guò)過(guò)串口來(lái)來(lái)修改和和設(shè)置系系統(tǒng)時(shí)鐘鐘。4結(jié)論系統(tǒng)的功能能完全符符合設(shè)計(jì)計(jì)任務(wù)的的要求,經(jīng)經(jīng)過(guò)大量量的測(cè)試試數(shù)據(jù)顯顯示, 系統(tǒng)的的可靠性性已經(jīng)完完全達(dá)到到了實(shí)際際電子鐘鐘的設(shè)計(jì)計(jì)要求。同同時(shí)系統(tǒng)統(tǒng)具有很很強(qiáng)的擴(kuò)擴(kuò)展性:添加 A/DD 轉(zhuǎn)換換器可更更改成數(shù)數(shù)值儀表表,而添添加 DD/ 轉(zhuǎn)轉(zhuǎn)換器則則可以設(shè)設(shè)計(jì)成波波形發(fā)生生器,同同

14、時(shí)擴(kuò)充充串口的的功能可可以道到到很好的的計(jì)算機(jī)機(jī)控制系系統(tǒng)。系系統(tǒng)擴(kuò)展展圖如下下:圖4 系統(tǒng)統(tǒng)功能擴(kuò)擴(kuò)展原理理圖參考文獻(xiàn):1 陳陳姚節(jié). 基于于串行通通信的數(shù)數(shù)字監(jiān)控控系統(tǒng).武漢:武漢理理工大學(xué)學(xué)學(xué)報(bào)(交通科科學(xué)與工工程版),20002,26(5):6500-65532 趙趙鴿,陳陳姚節(jié). 基于于WDMM設(shè)備驅(qū)驅(qū)動(dòng)的虛虛擬儀器器的研究究與實(shí)現(xiàn)現(xiàn). 武武漢:武武漢理工工大學(xué)學(xué)報(bào)(交交通科學(xué)學(xué)與工程程版),20002,226(66):8811-8144 3 李李廣弟、朱朱月秀、王王秀山.單片機(jī)機(jī)基礎(chǔ).北京:北京航航空航天天大學(xué)出出版社 ,20001:2000-2440Digittal cloock

15、 dessignn baasedd onn SCCM aand timme aadappt rreseearcchChen Yaoojiee DDai Zheejunn (Compputeer DDepaartmmentt ,WWuhaan UUnivverssityy off Scciennce andd teechnnoloogy,Wuhhan,43000811 )AbstrracttIts verry cconvveniientt too usse aa SCCM tto ddesiign a ddigiitall cllockk wiith sofftwaare. Buut tthe errror willl eeasyy coome out wwithh thhe ttimee ruun bby ssofttwarre.TTo cconttrasst wwithh thhe rreall cllockk annd ffindd thhe r

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論