用PIC單片機(jī)制作的電源定時插座
十位定時時間預(yù)置調(diào)整按鍵S2 功能與S3 相同,只不過每按動S2 一次,并且釋放后,十位數(shù)碼管顯示值減小1,同樣,顯示值也是從9 → 8 → 7 →…→ 0 → 9 往復(fù)循環(huán)顯示。S1 為啟動/ 報警解除鍵。
當(dāng)?shù)谝淮伟磩覵1 按鈕時,定時插座進(jìn)入工作狀態(tài):
RA2 端口輸出高電平,此高電平經(jīng)過1K 限流電阻R8 加在三極管Q3 基極b 上,Q3 導(dǎo)通,繼電器J1 吸合,J1 的①、④ 觸點(diǎn)閉合,AC220V 交流市電的火線L 經(jīng)繼電器的定、動觸點(diǎn)④、①加至本插座的輸出JP1 的L 端口,從而JP1 插孔輸出AC220V 交流電壓,同時交流電壓輸出指示燈LED2 被點(diǎn)亮,表示插座有AC220V 電壓輸出。
同時,定時時間以倒計時的方式開始計時、遞減,定時時間為分鐘,定時時長從數(shù)碼管當(dāng)前的顯示值開始到顯示00 結(jié)束。在倒計時的時間范圍內(nèi),LED1 工作指示燈開始以2S 的頻率閃爍點(diǎn)亮、熄滅一次,并且每過一分鐘,數(shù)碼管的個位顯示值遞減1個數(shù);每過10 分鐘,數(shù)碼管的十位顯示值減1,當(dāng)數(shù)碼管顯示值為00時,再過60 秒鐘, 輸出插孔JP1 斷電,AC220V 輸出電壓指示燈LED2 同時熄滅;蜂鳴器開始報警鳴響。
在蜂鳴器報警其間內(nèi),數(shù)碼管始終顯示00值不變、LED1 工作指示燈停止閃爍,并且處于常亮狀態(tài)。直至再次按下S1 按鍵時蜂鳴器才能停止報警;數(shù)碼管顯示值跳回到上一次預(yù)置的定時時間的數(shù)值上,LED1 熄滅。
在倒計器的定時時間范內(nèi),S1 ~ S3 按鍵功能均被屏蔽、失效,不能使能。
程序設(shè)計要點(diǎn):程序設(shè)計包括PIC16F627 初始化程序,主程序,1 分鐘定時中斷子程序,蜂鳴器提示音子程序,查數(shù)碼表子程序等組成。
本程序設(shè)計中,LED1 閃爍點(diǎn)亮速度設(shè)置不宜太快或太慢,LED1 閃爍點(diǎn)亮速度太快,會使人看了后心理產(chǎn)生太忙碌, 感受心慌,閃爍的太慢又經(jīng)C1 濾波、MC7805 穩(wěn)壓、C3、C2 高、低頻濾波后得到穩(wěn)定的DC5V 直流電壓作為整機(jī)的工作電源。
本電源定時插座的主控MCU 芯片為PIC16F627 單片機(jī)。PIC16F 系列單片機(jī)優(yōu)點(diǎn)之一是:
端口驅(qū)動電流大,每個端口的拉電流或者灌電流均大于20mA,這樣用它的端口驅(qū)動能力就可以直接驅(qū)動LED 數(shù)碼管了,無需在加驅(qū)動三極管,使得該插座的硬件電路設(shè)計變得十分簡潔。
PIC16F627 單片機(jī)端口的設(shè)置:
單片機(jī)的RA 有6 個I/O 端口,用RA5 :0>
表示。本應(yīng)用中RA0-RA2 設(shè)置為輸出端口;其中RA0、RA1 端口分別用于兩個數(shù)碼管的個位和十位的位碼驅(qū)動,RA2 用于控制三極管Q3 的b 極工作,連帶控制繼電器J1 觸點(diǎn)的閉合與否,進(jìn)而,控制了定時插座JP1 的AC220V輸出電壓的有無。RA3 端口設(shè)置為輸入/ 輸出分時二重復(fù)用工作狀態(tài):①作輸入端口時:用作定時插座的個位定時時間預(yù)置調(diào)整鍵;②作輸出端口時:用于驅(qū)動LED1 發(fā)光二極管做為本定時插座的工作指示燈。在定時插座沒有進(jìn)入定時輸出供電的情況下,RA3 作為輸入端口,保持了用于設(shè)置定時器的個位數(shù)碼預(yù)置數(shù)的設(shè)置功能;在插座工作輸出電壓的情況下,RA3 轉(zhuǎn)換為輸出端口,用于驅(qū)動LED1 作為插座的工作指示燈。
RA4 端口設(shè)置為輸入端口,用于定時時間的十位數(shù)值預(yù)置調(diào)整鍵。RA5 端口為輸入端口,與之相接的按鈕開關(guān)S1 為啟動/ 報警解除按鍵.
RB 端口的設(shè)置:電路中PIC16F627 的RB 端口設(shè)置為輸出端口。其中RB0-RB6 端口分別用于LED 數(shù)碼管的a-g7 個段碼的驅(qū)動,因這里選用的是LG5621BH(紅色)共陽極LED 數(shù)碼管,故而,只有當(dāng)RB0-RB6 端口輸出低電平時,LED 數(shù)碼管所對應(yīng)的a-g碼段才能被點(diǎn)亮。RB7 端口用于驅(qū)動有源蜂鳴器,在RB7端口輸出高電平時,該高電平電壓通過1k 電阻R9 加至三極管Q4 的b 極上,Q4 導(dǎo)通,蜂鳴器鳴響報警。
電源定時插座功能:定時插座初始上電時,兩位數(shù)碼管顯示值為:99,并處于停止走時的待機(jī)狀態(tài),其輸出插孔JP1 沒有電壓輸出。要是此時按下個位定時時間數(shù)值預(yù)置調(diào)整鍵S3,則個位數(shù)碼管從當(dāng)前的顯示值減小1個數(shù),如,第一次按下S3 并且釋放按鍵后,個位數(shù)碼管顯示值由9變?yōu)?,再按一次S3,顯示值變?yōu)?,……直至顯示值變?yōu)?,再從0回到9往復(fù)循環(huán)顯示。
十位定時時間預(yù)置調(diào)整按鍵S2 功能與S3 相同,只不過每按動S2 一次,并且釋放后,十位數(shù)碼管顯示值減小1,同樣,顯示值也是從9 → 8 → 7 →…→ 0 → 9 往復(fù)循環(huán)顯示。S1 為啟動/ 報警解除鍵。
當(dāng)?shù)谝淮伟磩覵1 按鈕時,定時插座進(jìn)入工作狀態(tài):
RA2 端口輸出高電平,此高電平經(jīng)過1K 限流電阻R8 加在三極管Q3 基極b 上,Q3 導(dǎo)通,繼電器J1 吸合,J1 的①、④ 觸點(diǎn)閉合,AC220V 交流市電的火線L 經(jīng)繼電器的定、動觸點(diǎn)④、①加至本插座的輸出JP1 的L 端口,從而JP1 插孔輸出AC220V 交流電壓,同時交流電壓輸出指示燈LED2 被點(diǎn)亮,表示插座有AC220V 電壓輸出。
同時,定時時間以倒計時的方式開始計時、遞減,定時時間為分鐘,定時時長從數(shù)碼管當(dāng)前的顯示值開始到顯示00 結(jié)束。在倒計時的時間范圍內(nèi),LED1 工作指示燈開始以2S 的頻率閃爍點(diǎn)亮、熄滅一次,并且每過一分鐘,數(shù)碼管的個位顯示值遞減1個數(shù);每過10 分鐘,數(shù)碼管的十位顯示值減1,當(dāng)數(shù)碼管顯示值為00時,再過60 秒鐘, 輸出插孔JP1 斷電,AC220V 輸出電壓指示燈LED2 同時熄滅;蜂鳴器開始報警鳴響。
在蜂鳴器報警其間內(nèi),數(shù)碼管始終顯示00值不變、LED1 工作指示燈停止閃爍,并且處于常亮狀態(tài)。直至再次按下S1 按鍵時蜂鳴器才能停止報警;數(shù)碼管顯示值跳回到上一次預(yù)置的定時時間的數(shù)值上,LED1 熄滅。
在倒計器的定時時間范內(nèi),S1 ~ S3 按鍵功能均被屏蔽、失效,不能使能。
程序設(shè)計要點(diǎn):程序設(shè)計包括PIC16F627 初始化程序,主程序,1 分鐘定時中斷子程序,蜂鳴器提示音子程序,查數(shù)碼表子程序等組成。
本程序設(shè)計中,LED1 閃爍點(diǎn)亮速度設(shè)置不宜太快或太慢,LED1 閃爍點(diǎn)亮速度太快,會使人看了后心理產(chǎn)生太忙碌, 感受心慌,閃爍的太慢又會使人疑惑定時插座是否在走動、工作,以每2S鐘的頻率點(diǎn)亮、熄滅一次為妥。另外電路中增加了LED2 作為AC220V 輸出電源指示燈,當(dāng)定時插座工作時,LED2 點(diǎn)亮,表示JP1 插孔有AC220V電壓輸出;LED2 熄滅則表示電源JP1 插孔無AC220V 電壓輸出,以示確認(rèn)插孔有否AC 電壓輸出。
PIC16F627 單片機(jī)初始化程序如下。
;*****【PIC16F627 初始化程序】***************
START
BCF STATUS,6
BSF STATUS,5
; 置STAUUS 寄存器的RP1=0,RPO=1
MOVLW 0
MOVWF TRISB
; 設(shè)B 口為輸出
MOVLW 0F8H
MOVWF TRISA
; 設(shè)A 口的R2-R0 位為輸出
; 設(shè)A 口的R5-R3 位為輸入
MOVLW 07H
MOVWF OPTION_REG
; 設(shè)置選項(xiàng)寄存器分頻器:TMR0
; 分頻比值設(shè)為:1 :256
BCF STATUS,5
MOVLW 07H
MOVWF CMCON
; 置數(shù)07H 到CMCON
; 關(guān)閉16F627 內(nèi)部比較器
蜂鳴器相關(guān)文章:蜂鳴器原理
評論