用PIC单片机制作的电源定时插座
[09-14 01:24:10] 来源:http://www.88dzw.com 电子制作 阅读:8200次
文章摘要:RA2端口输出高电平,此高电平经过1K限流电阻R8加在三极管Q3基极b上,Q3导通,继电器J1吸合,J1的①、④触点闭合,AC220V交流市电的“火线”L经继电器的定、动触点④、①加至本插座的输出JP1的L端口,从而JP1插孔输出AC220V交流电压,同时交流电压输出指示灯LED2被点亮,表示插座有AC220V电压输出。同时,定时时间以倒计时的方式开始计时、递减,定时时间为分钟,定时时长从数码管当前的显示值开始到显示00结束。在倒计时的时间范围内,LED1工作指示灯开始以2S的频率闪烁点亮、熄灭一次,并且每过一分钟,数码管的个位显示值递减“1”个数;每过10分钟,数码管的十位显示值减“1”,当
用PIC单片机制作的电源定时插座,标签:电子小制作,http://www.88dzw.comRA2端口输出高电平,此高电平经过1K限流电阻R8加在三极管Q3基极b上,Q3导通,继电器J1吸合,J1的①、④触点闭合,AC220V交流市电的“火线”L经继电器的定、动触点④、①加至本插座的输出JP1的L端口,从而JP1插孔输出AC220V交流电压,同时交流电压输出指示灯LED2被点亮,表示插座有AC220V电压输出。
同时,定时时间以倒计时的方式开始计时、递减,定时时间为分钟,定时时长从数码管当前的显示值开始到显示00结束。在倒计时的时间范围内,LED1工作指示灯开始以2S的频率闪烁点亮、熄灭一次,并且每过一分钟,数码管的个位显示值递减“1”个数;每过10分钟,数码管的十位显示值减“1”,当数码管显示值为“00”时,再过60秒钟,输出插孔JP1断电,AC220V输出电压指示灯LED2同时熄灭;蜂鸣器开始报警鸣响。
在蜂鸣器报警其间内,数码管始终显示“00”值不变、LED1工作指示灯停止闪烁,并且处于常亮状态。直至再次按下S1按键时蜂鸣器才能停止报警;数码管显示值跳回到上一次预置的定时时间的数值上,LED1熄灭。
在倒计器的定时时间范内,S1 ~ S3 按键功能均被屏蔽、失效,不能使能。
程序设计要点:程序设计包括PIC16F627 初始化程序,主程序,1 分钟定时中断子程序,蜂鸣器提示音子程序,查数码表子程序等组成。
本程序设计中,LED1 闪烁点亮速度设置不宜太快或太慢,LED1 闪烁点亮速度太快,会使人看了后心理产生太“忙碌”, 感受心慌,闪烁的太慢又会使人疑惑定时插座是否在走动、工作,以每2S钟的频率点亮、熄灭一次为妥。另外电路中增加了LED2 作为AC220V 输出电源指示灯,当定时插座工作时,LED2 点亮,表示JP1 插孔有AC220V电压输出;LED2 熄灭则表示电源JP1 插孔无AC220V 电压输出,以示确认插孔有否AC 电压输出。
PIC16F627 单片机初始化程序如下。
;*****【PIC16F627 初始化程序】***************STARTBCF STATUS,6BSF STATUS,5; 置STAUUS 寄存器的RP1=0,RPO=1MOVLW 0MOVWF TRISB; 设B 口为输出MOVLW 0F8HMOVWF TRISA; 设A 口的R2-R0 位为输出; 设A 口的R5-R3 位为输入MOVLW 07HMOVWF OPTION_REG; 设置选项寄存器分频器:TMR0; 分频比值设为:1 :256BCF STATUS,5MOVLW 07HMOVWF CMCON; 置数07H 到CMCON; 关闭16F627 内部比较器MOVLW 0MOVWF PORTB; 清B 口;---------- 以下为开中断设置--------MOVLW 0A0HMOVWF INTCON; 开TMR0 中断使能位; 和全局中断使能位BCF INTCON,T0IFMOVLW TMR0_B; 清TMR0 中断标志为MOVWF TMR0; 向TMR0 赋初值; 并启动TMR0 定时器;*******【初始化程序结束】*********************程序设计流程模块,主程序框图如图2 所示。
按键提示音子程序段如下,供参考。
;------ 按键提示音子程序开始-----;FMQ; 蜂鸣器提示音子程序BSF PORTB,7;RB<7> 端口输出“高电平”,使Q4 导通,蜂鸣器LS1 鸣响。
CALL DELAY_0.2S; 调用0.2S 延时子程序,让蜂鸣器响0.2S。
BCF PORTB,7;RB<7> 输出“低电平”,让Q4 截止,蜂鸣器关闭RETURN; 蜂鸣器子程序返回。
;----- 按键提示音子程序结束------;
程序设计要点:
1) 本定时器使用了PIC16F627 的一个定时器模块TMI0,并用TMI0 做了50mS 定时中断,再用寄存器“递减、判零”语句:
“DECFSZ F”判断20×60 次中断到了与否来确定显示1 分钟时间的界限,1 分钟未到,继续显示当前的数码值,1 分钟到了,从当前显示的数码值减“1”后在显示1 分钟……,这样:每过1 分钟数码管个位显示值就减“1”,每过10 分钟,十位数码管显示值就减“1”,直到两位数码管的显示值减到“00”为止。
- 上一篇:在单片机C语言编程中的心得体会
《用PIC单片机制作的电源定时插座》相关文章
- › 用PIC16F627制作的可调倒计时提醒器
- › 用PIC单片机制作的电源定时插座
- › 用PIC16F627制作倒计时提醒器
- › 用PIC单片机模拟PT2262软件编码方法
- 在百度中搜索相关文章:用PIC单片机制作的电源定时插座
- 在谷歌中搜索相关文章:用PIC单片机制作的电源定时插座
- 在soso中搜索相关文章:用PIC单片机制作的电源定时插座
- 在搜狗中搜索相关文章:用PIC单片机制作的电源定时插座
编辑推荐
- · 自制教室照明节电控制器
- · 双色音乐彩灯的制作
- · 三相交流电机缺相保护器
- · 声光控节能灯的制作
- · 同线电话转呼及互通器电路
- · 超低频信号发生器的制作
- · 自制热转印电路板
- · 警笛发声生器电路
- · 一款节能电路
- · 利用太阳能充电的旅行充电器