程序設(shè)計要點:1) 本定時器使用了PIC16F627 的一個定時器模塊TMI0,并用TMI0 做了50mS 定時中斷,再用寄存器“遞減、判零”語句:
“DECFSZ F”判斷20×60 次中斷到了與否來確定顯示1 分鐘時間的界限,1 分鐘未到,繼續(xù)顯示當(dāng)前的數(shù)碼值,1 分鐘到了,從當(dāng)前顯示的數(shù)碼值減“1”后在顯示1 分鐘……,這樣:每過1 分鐘數(shù)碼管個位顯示值就減“1”,每過10 分鐘,十位數(shù)碼管顯示值就減“1”,直到兩位數(shù)碼管的顯示值減到“00”為止。2)定時器如何區(qū)分:預(yù)置顯示程序和定時工作顯示程序。在此程序設(shè)計中是用了一個寄存器的標(biāo)志位加以區(qū)分的,標(biāo)志位為“0”,執(zhí)行預(yù)置顯示程序;標(biāo)志位為“1”,執(zhí)行定時器工做程序。
3)按鍵的防抖動問題,機械按鍵在按下和抬起的瞬間均存在著多次接通與斷開的情況,加之單片機執(zhí)行程序的速度非常之快,即在瞬間(1μS 時間內(nèi))即可檢測到開關(guān)的閉合與斷開的狀態(tài),故而,必須要做好S1-S3 按鍵開關(guān)的防抖問題,防抖使用軟件來解決,具體方法是在按鍵按下和抬起的過程中均加有延時程序,一般延時時間取10mS 左右為宜,這樣即解決了按鍵的防抖問題,又不至于讓人感覺按鍵反映的速度太慢。4)調(diào)用顯示查表程序,用查表法作數(shù)碼管的數(shù)碼值顯示是程序設(shè)計中慣用的手段之一,它可使軟、硬件設(shè)計變得更加的簡潔、易懂。但本定時器設(shè)計中把數(shù)碼管的小數(shù)點位用作了“工作指示燈”,又由于數(shù)碼管采用的是“動態(tài)掃描”的方法點亮工作的,查表碼會發(fā)生了變化。以下列出了本項目此共陽極數(shù)碼所用的查表程序的碼表見表1.
表1
如將碼表的值“顛倒”書寫:RETLW 0X40 寫在最前面;RETLW 0X10 寫在最后面,則本定時插座就變成了“正”定時插座了。
程序在總體設(shè)計上是以模塊化為主,這樣讀起來思路較易清晰,流程更加明確。
元器件選擇:電路中電源變壓器T1 要選用功率大于3W、次級輸出電壓為AC12V ~ AC15V 的變壓器,這樣才能保證在繼電器工作時不至于使T1次級輸出的DC 電壓降的太低而影響單片機的正常工作。LS1 選擇5V 有源蜂鳴器。J1 也可以選擇其它型號的產(chǎn)品,J1 線圈工作電壓高,其工作電流就小,對電路電壓降低值影響就小,J1 觸點電流應(yīng)選擇大于10A 為宜,避免該定時插座在帶動大的交流負載時觸點被燒蝕的可能性。數(shù)碼管選用2 位一體近日筆者發(fā)現(xiàn),一些人在農(nóng)村的街頭巷尾、集貿(mào)市場高聲叫賣“高效電子節(jié)能器”。據(jù)商販宣稱:這種高科技產(chǎn)品獲得國家專利,每只可帶負載1500~3000W.價格便宜,一個只有十塊錢,一般的家庭用1 個就行了,如果家里的電器多的可多買。好用且使用方便,買回家后,只需將電子節(jié)能器的兩腳插頭插在家中任意兩眼插座上,即可節(jié)電30~50%,甚至更多。
為了讓圍觀者相信該電子節(jié)能器的節(jié)電效果,商販還在現(xiàn)場做演示。演示的方法是:把100W 的燈泡接在一個電表上,接通電源后,電表飛快地轉(zhuǎn)動。
然后商販又把“電子節(jié)能器”插在事先準備好的插座上,電表鋁盤轉(zhuǎn)速立即慢了一半還多。一些村民親眼看了后,對電子節(jié)能器能節(jié)電的效果深信不疑。
紛紛索要產(chǎn)品介紹,使用說明書,詢問使用方法,許多人解囊掏錢購買。這種“電子節(jié)能器”真的能節(jié)電嗎?
為弄個究竟,筆者買回一只電子節(jié)能器進行了作 者街頭叫賣的“電子節(jié)能器”能節(jié)電嗎?
馬祥琴化的共陽極數(shù)碼管。晶振選用4MHz 的。
安裝、制作、調(diào)試時要注意:由于電路中有AC220V 電壓接入,建議定時插座在調(diào)試階段暫時不接插座JP1 的AC220V 電壓,以策人身安全。待程序調(diào)試通過后在將AC220V 電壓接通,保證整機的調(diào)試階段是在安全電壓下進行的。電路中元件沒有特殊要求,保證安裝、焊接的正確性就可以了,PIC16F627 芯片要裝在IC 插座中,以便于隨時取下重新燒寫程序。
程序燒寫:文章附帶的(。hex)文件讀者可直接用來將其燒錄到PIC16F627 芯片中。燒寫程序中一定要注意編程器的“配置位”設(shè)置,它在PIC 單片機中起到舉足輕重的作用,萬萬不可忽視。
性能分析:
本定時插座1 小時產(chǎn)生的時間誤差約8S,這個定時插座定時精準度不高是數(shù)碼管“動態(tài)顯示”和 TMI0 中斷相互影響,TMI0 溢出時要等程序做完才發(fā)生中斷,就會有延遲誤差,對于我們?nèi)粘I钪幸话闶褂茫涠〞r的精度也算是足夠高的了。
評論