新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用PIC单片机制作的电源定时插座

用PIC单片机制作的电源定时插座

作者:时间:2012-08-21来源:网络收藏

十位时间预置调整按键S2 功能与S3 相同,只不过每按动S2 一次,并且释放后,十位数码管显示值减小1,同样,显示值也是从9 → 8 → 7 →…→ 0 → 9 往复循环显示。S1 为启动/ 报警解除键。

当第一次按动S1 按钮时,进入工作状态:

RA2 端口输出高电平,此高电平经过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 按键功能均被屏蔽、失效,不能使能。

程序设计要点:程序设计包括16F627 初始化程序,主程序,1 分钟定时中断子程序,蜂鸣器提示音子程序,查数码表子程序等组成。

本程序设计中,LED1 闪烁点亮速度设置不宜太快或太慢,LED1 闪烁点亮速度太快,会使人看了后心理产生太忙碌, 感受心慌,闪烁的太慢又经C1 滤波、MC7805 稳压、C3、C2 高、低频滤波后得到稳定的DC5V 直流电压作为整机的工作

定时插座的主控MCU 芯片为16F627 16F 系列优点之一是:

端口驱动电流大,每个端口的拉电流或者灌电流均大于20mA,这样用它的端口驱动能力就可以直接驱动LED 数码管了,无需在加驱动三极管,使得该插座的硬件电路设计变得十分简洁。

PIC16F627 端口的设置:

单片机的RA 有6 个I/O 端口,用RA5 :0>

表示。本应用中RA0-RA2 设置为输出端口;其中RA0、RA1 端口分别用于两个数码管的个位和十位的位码驱动,RA2 用于控制三极管Q3 的b 极工作,连带控制继电器J1 触点的闭合与否,进而,控制了定时插座JP1 的AC220V输出电压的有无。RA3 端口设置为输入/ 输出分时二重复用工作状态:①作输入端口时:用作定时插座的个位定时时间预置调整键;②作输出端口时:用于驱动LED1 发光二极管做为本定时插座的工作指示灯。在定时插座没有进入定时输出供电的情况下,RA3 作为输入端口,保持了用于设置定时器的个位数码预置数的设置功能;在插座工作输出电压的情况下,RA3 转换为输出端口,用于驱动LED1 作为插座的工作指示灯。

RA4 端口设置为输入端口,用于定时时间的十位数值预置调整键。RA5 端口为输入端口,与之相接的按钮开关S1 为启动/ 报警解除按键.

RB 端口的设置:电路中PIC16F627 的RB 端口设置为输出端口。其中RB0-RB6 端口分别用于LED 数码管的a-g7 个段码的驱动,因这里选用的是LG5621BH(红色)共阳极LED 数码管,故而,只有当RB0-RB6 端口输出低电平时,LED 数码管所对应的a-g码段才能被点亮。RB7 端口用于驱动有源蜂鸣器,在RB7端口输出高电平时,该高电平电压通过1k 电阻R9 加至三极管Q4 的b 极上,Q4 导通,蜂鸣器鸣响报警。

定时插座功能:定时插座初始上电时,两位数码管显示值为:99,并处于停止走时的待机状态,其输出插孔JP1 没有电压输出。要是此时按下个位定时时间数值预置调整键S3,则个位数码管从当前的显示值减小1个数,如,第一次按下S3 并且释放按键后,个位数码管显示值由9变为8,再按一次S3,显示值变为7,……直至显示值变为0,再从0回到9往复循环显示。

十位定时时间预置调整按键S2 功能与S3 相同,只不过每按动S2 一次,并且释放后,十位数码管显示值减小1,同样,显示值也是从9 → 8 → 7 →…→ 0 → 9 往复循环显示。S1 为启动/ 报警解除键。

当第一次按动S1 按钮时,定时插座进入工作状态:

RA2 端口输出高电平,此高电平经过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 初始化程序】***************

START

BCF STATUS,6

BSF STATUS,5

; 置STAUUS 寄存器的RP1=0,RPO=1

MOVLW 0

MOVWF TRISB

; 设B 口为输出

MOVLW 0F8H

MOVWF TRISA

; 设A 口的R2-R0 位为输出

; 设A 口的R5-R3 位为输入

MOVLW 07H

MOVWF OPTION_REG

; 设置选项寄存器分频器:TMR0

; 分频比值设为:1 :256

BCF STATUS,5

MOVLW 07H

MOVWF CMCON

; 置数07H 到CMCON

; 关闭16F627 内部比较器

蜂鸣器相关文章:蜂鸣器原理


评论


相关推荐

技术专区

关闭