PIC16C55單片機(jī)控制多用電子鐘-設(shè)計應(yīng)用_第1頁
PIC16C55單片機(jī)控制多用電子鐘-設(shè)計應(yīng)用_第2頁
PIC16C55單片機(jī)控制多用電子鐘-設(shè)計應(yīng)用_第3頁
PIC16C55單片機(jī)控制多用電子鐘-設(shè)計應(yīng)用_第4頁
PIC16C55單片機(jī)控制多用電子鐘-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯PIC16C55單片機(jī)控制多用電子鐘-設(shè)計應(yīng)用本電子鐘采用PIC16C55單片機(jī)控制,適于溫室的定時恒溫或自來水的定時定壓控制等。PIC16C55單片機(jī)工作電壓為2.5~6.25V,功耗低、驅(qū)動能力強(qiáng)。本電子鐘可以控制一路負(fù)載在24小時內(nèi)的3次開/關(guān);一個雙限觸發(fā)的定時輸出口,既可接傳統(tǒng)的功率保持型繼電器,也可接脈沖繼電器。本機(jī)用四位LED數(shù)碼管掃描式顯示,還有消隱(省電)工作方式,使用起來非常靈活、方便。一、工作原理電子鐘電路見圖1。RB7口是定時指示端,在定時開期間輸出高電平,驅(qū)動V1發(fā)光,該口也可經(jīng)緩沖作定時輸出口;RB6是雙限觸發(fā)控制的定時輸出口,其工作方式是:在RB7高電平期間,若RB1為高電平,則RB6輸出高電平;若RB0為高電平,RB6輸出低電平;若RB1、RB0同為低電平,RB6保持原態(tài);同為高電平時,RB6輸出低電平。RB5、RB4用于驅(qū)動脈沖繼電器,RB6上升沿觸發(fā)RB5輸出高電平開脈沖;在RB6下降沿觸發(fā)RB4時,RB4端輸出高電平關(guān)脈沖,開/關(guān)脈沖的持續(xù)時間均為125ms。

圖1RB3是消隱控制器,接高電平(即SK1閉合)時,顯示屏及秒閃正常;否則,顯示消隱。顯示消隱時,時鐘及各控制邏輯都正常運(yùn)行,如忽略RB4至RB7各口的驅(qū)動電流,則在3V供電時,整機(jī)電流不足20μA,即兩節(jié)5號電池可用數(shù)月!RB2選擇數(shù)碼管極性,RB2為低電平,使用共陰LED;RB2為高電平,則用共陽LED。數(shù)碼管的極性是在上電初始化時,根據(jù)RB2口狀態(tài)確定的,工作過程中改變RB2的電平則不起作用。本機(jī)設(shè)S1~S4四個按鍵,S1是功能選擇鍵,S2是小時增量調(diào)整,S3是分鐘增量,S4用于分鐘減量調(diào)節(jié),其使用方法為:上電時,RB5至RB7均為低電平,RB4端送出一個關(guān)脈沖,使SK1閉合,整機(jī)正常顯示、工作,RC7口送出秒閃脈沖,RC6~RC0送字段碼。RA3~RA0分別為10時、時、10分、分位的位碼輸出。這時,按一下S2或S3(時增量/分增量鍵),可使RB7端置位或復(fù)位。在正常走時期間,秒閃正常;在校對或設(shè)置定時時,秒停閃。例如:在正常走時期間,按一下S1鍵,秒閃停止,屏幕顯示J-,表示可以校對時間。這時再按S2~S4中任一鍵,屏幕顯示現(xiàn)在時間,但秒不閃,此刻可按S2~S4校對時鐘。再次按S1,屏幕顯示1∪,表示可以設(shè)定次開時間,此時按S2~S4對時間進(jìn)行查看及設(shè)置。繼續(xù)按S1,系統(tǒng)顯示1∩,表示可設(shè)置次關(guān)時間……依次進(jìn)行。設(shè)置好系統(tǒng)及3次開關(guān)時間后,整機(jī)回到正常顯示狀態(tài),秒閃恢復(fù)。如欲取消某次開/關(guān)定時,只需把該次的開與關(guān)時間設(shè)置成相同值即可。筆者曾把該時鐘用于定時定壓供水控制系統(tǒng),RB6端用于驅(qū)動繼電器(也可用RB5與RB4兩端驅(qū)動脈沖繼電器),RB1端接水壓(水位)的低限輸入,RB0端接高限輸入,設(shè)置好定時,一個簡易的定時定壓自動供水系統(tǒng)即告完成。共2頁:上一頁1[2]下一頁[NextPage]二、編程技巧PIC16C55單片機(jī)程序存儲器只有512字節(jié),加上采用外接32768Hz晶體振蕩方式,時鐘速度較低,因此,統(tǒng)籌好系統(tǒng)的工作時序與人機(jī)界面之間的關(guān)系是軟件設(shè)計成敗的關(guān)鍵。本機(jī)編程采用如下方案:軟件工作流程見附圖2。

nbsp;圖2PIC16C55單片機(jī)的一個機(jī)器周期是4個時鐘周期,不難算出,本系統(tǒng)中每秒有8192個機(jī)器周期。在編制軟件時,先設(shè)定單片機(jī)內(nèi)部定時計數(shù)器F1的計數(shù)方式為機(jī)器周期的64分頻。這樣,每當(dāng)F1溢出時,系統(tǒng)遞加2秒。平時,系統(tǒng)每128個機(jī)器周期內(nèi)用RC口與RA口驅(qū)動掃描顯示屏,可保證每秒內(nèi)掃描64次顯示屏,基本上無閃爍感。而128個機(jī)器周期正是F1的第0位(為便于敘述以下簡記為F10)每次下降沿的間隔時間,我們可以編一段程序,當(dāng)F10的下降沿到來時,掃描顯示屏,每當(dāng)F1的低4位為全0時(125ms)使系統(tǒng)檢測RB口與按鍵狀態(tài),并進(jìn)行相關(guān)處理,部分相關(guān)程序如下:WAITBTFSC1,0;等待F10的下降沿,編程時GOTOWAIT;要保證每次下降沿前到此MOVFW1SKPNZGOTOCLOCK;F1=0,滿2秒,轉(zhuǎn)時鐘處理ANDLW0FH;屏蔽F1高4位SKPZGOTODISPLAY;F1低4位不為0,轉(zhuǎn)顯示MOVLW0C0H;滿125mS,使RB口脈沖復(fù)位ANDWF6,1MOVLW0FH;檢測按鍵TRIS7MOVFW7ANDLW0FH;保留按鍵數(shù)據(jù)SKPZGOTOAN;有鍵值,轉(zhuǎn)按鍵處理DISPLAY……;顯示掃描,定時管理RB口CLOCK……;時鐘,定時處理程序AN……;按鍵管理程序共2頁:上一頁[1]2下一頁[NextPage]二、編程技巧PIC16C55單片機(jī)程序存儲器只有512字節(jié),加上采用外接32768Hz晶體振蕩方式,時鐘速度較低,因此,統(tǒng)籌好系統(tǒng)的工作時序與人機(jī)界面之間的關(guān)系是軟件設(shè)計成敗的關(guān)鍵。本機(jī)編程采用如下方案:軟件工作流程見附圖2。

nbsp;圖2PIC16C55單片機(jī)的一個機(jī)器周期是4個時鐘周期,不難算出,本系統(tǒng)中每秒有8192個機(jī)器周期。在編制軟件時,先設(shè)定單片機(jī)內(nèi)部定時計數(shù)器F1的計數(shù)方式為機(jī)器周期的64分頻。這樣,每當(dāng)F1溢出時,系統(tǒng)遞加2秒。平時,系統(tǒng)每128個機(jī)器周期內(nèi)用RC口與RA口驅(qū)動掃描顯示屏,可保證每秒內(nèi)掃描64次顯示屏,基本上無閃爍感。而128個機(jī)器周期正是F1的第0位(為便于敘述以下簡記為F10)每次下降沿的間隔時間,我們可以編一段程序,當(dāng)F10的下降沿到來時,掃描顯示屏,每當(dāng)F1的低4位為全0時(125ms)使系統(tǒng)檢測RB口與按鍵狀態(tài),并進(jìn)行相關(guān)處理,部分相關(guān)程序如下:WAITBTFSC1,0;等待F10的下降沿,編程時GOTOWAIT;要保證每次下降沿前到此MOVFW1SKPNZGOTOCLOCK;F1=0,滿2秒,轉(zhuǎn)時鐘處理ANDLW0FH;屏蔽F1高4位SKPZGOTODISPLAY;F1低4位不為0,轉(zhuǎn)顯示MOVLW0C0H;滿125mS,使RB口脈沖復(fù)位ANDWF6,1MOVLW0FH;檢測按鍵

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論