APP下载

基于单片机的简易定时开关插座的设计与制作

2015-08-07陆仁超

大众科技 2015年3期
关键词:数码管子程序按键

陆仁超

(广西物资学校,广西 南宁 530001)

基于单片机的简易定时开关插座的设计与制作

陆仁超

(广西物资学校,广西 南宁 530001)

使用AT89S52单片机设计并制作一个简易型定时开关插座。电路由电源电路、单片机最小系统、数码显示和按键操作电路、继电器强电控制电路四个模块组成,并使用软件和硬件进行测试。本产品能实现24小时内的时间定时,并自动断电,对一些不能长时间通电的电路能够起到保护作用,也可以作为定时控制器使用。

单片机;定时开关插座;AT89S52

1 前言

近年来,各种移动电子设备大量增加,智能手机、智能穿戴设备、平板电脑,使用者需要经常对其进行充电。一些好的充电器,对设备充满电后会自动停止充电,而一些劣制充电器则会源源不断地进行充电,使电池过充损坏,甚至出现电池鼓包、爆炸等严重后果。使用定时开关插座,可以设置通断电时间,只要时间到,就会自动断电,无论是不小心使用了劣制充电器,还是长时间充电忘记拔插头,都无须再担忧。除些外,定时开关插座还可以用于老式家用电器的定时,如电风扇、电饭锅等。

2 系统的硬件设计

2.1 设计方案选择

单片机方案有很多种,显示界面可以是LED发光二管、数码管、液晶显示器,按键可以使用轻触式按键、薄膜开关。本设计以市场上最多见、技术最为成熟的AT89S52单片机为核心,因为只用于显示时间,所以使用简单易用的数码管作为显示模块,按键使用便宜耐用的轻触式按键。

2.2 单片机系统硬件设计

整个单片机系统的硬件设计可分为四个模块:电源电路模块、单片机最小系统模块、数码显示和按键操作模块、继电器强电控制模块。

电源电路模块:由220V交流电经变压器变压,由整流滤波电路得到低压直流电,再经7805三端稳压器得到5V直流电压向单片机系统供电。在电源电路增加LED指示灯,当指示灯亮时,证明电源5V电压正常。

单片机最小系统模块:包括单片机AT89S52芯片、复位电路、时钟电路,是整个系统的核心控制模块,为了方便定时,使用12MHz晶振。

数码显示和按键操作模块:使用四位共阳极数码管显示时间,两位显示小时,两位显示分。四个按键,分别控制小时加1,分加1,运行和复位。因为IO接口充足,数码管使用动态方式驱动,这样可以节省硬件,使电路简单化。按下运行键开始进行倒计时,时间到后数码管显示0000,蜂鸣器报警,同时插座断电。

继电器强电控制模块:开关插座的零线输入端与输出端直接连接,使用一个250V,10A的继电器对相线的输入端与输出端进行控制。另外,如果担心线路中相线和零线接反,电路存在危险隐患,可以使用两输入两输出的继电器,让相线和零线同时受到继电器控制。

整个系统模块化设计,单片机还剩余有多个IO口未使用,还可以进一步扩展,如增加定时通断、摇控通断等功能。

2.3 系统整体设计框图

图1 系统整体设计框图

3 系统的软件设计

本系统程序使用c51语言进行设计,由主程序、定时器中断子程序、数字显示子程序、蜂鸣器控制子程序和延时子程序组成,各部分的功能如下:

主程序:负责系统的初始化、按键扫描和等待中断。系统初始化后,数码管数码输出显示0000,表示继电器未通电,同时检测按键,如按下小时按键或者分按键则显示相应的时间,主程序流程图见图2。由于使用12MHz的晶振,定时器的初值设置如下:

TMOD=0x01;//定义定时器0处于工作方式1

TH0=(65536-50000)/256; //定时器赋初值,进行50000us定时

TL0=(65536-50000)%256; //定时器赋初值,进行50000us定时

EA=1;//打开总中断

ET0=1;//打开定时器0中断

TR0=0;//定时器停止运行

图2 主程序流程图

定时器中断子程序:负责产生5000us时间定时,并由程序计算出1秒、1分、1小时的时间定时。

数字显示子程序:负责显示四位数字,两位显示小时,两位显示分,小时显示范围为00-23,分显示范围为00-59,最大显示时间23小时59分。

蜂鸣器控制子程序:定时时间到后,蜂鸣器响三声,提示用户开关插座已经断电。

延时子程序:负责数码管显示刷新及按键去抖动。

4 系统软件硬件测试

4.1 仿真测试

使用单片机仿真软件Proteus进行仿真测试,它不仅具有各种EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前比较好的仿真单片机及外围器件的工具,仿真成功后再进行实际制作,能极大提高单片机系统的设计效率。测试图如图3所示。

图3 单片机仿真测试图

4.2 硬件测试

根据电路图,使用万用板搭建出电路。首先对单片机最小系统进行通电测试。单片机的电源VCC和GND,即40脚和20脚分别为5V和0V。复位信号RESET,即9脚当复位正常时由5V变为0V,时钟信号XTAL0和XTAL1,即18脚和19脚为2.3V左右。测试完毕再对数码显示电路、按键扫描电路、蜂鸣器电路、继电器电路等进行测试。测试通过即完成本产品制作,可投入日常使用。

5 结束语

基于AT89S52单片机的简易型定时开关插座,硬件具有外围电路元件少、结构简单、成本低等优点。经测试,该产品能够实现24小时内的时间定时,时间到后插座自动断电,对一些不能长时间通电的电路能够起到保护作用,也可以作为定时控制器使用,同时对学习51系列单片机来说也是一个较好的案例。

[1] 张红燕,何膳君.基于单片机的定时开关插座的设计与制作[J].电子世界,2014,(5):149.

[2] 雷道仲,李书成,罗政球.基于单片机定时开关的设计[J].科技广场,2009,(5):224-225.

[3] 郭天祥.51单片机C语言教程[M].北京:电子工业出版社, 2009.

Design and making of simple microcontroller based on the timer switch socket

The use of AT89S52 microcontroller to design and produce a simple timer switch socket. The circuit is composed of a power supply circuit, minimum system microcontroller, digital display and button operation circuit, relay power control circuit is composed of four modules, and test with software and hardware. To achieve timing within 24 hours of the time of the products, the time to automatically cut off the power supply circuit power socket, some can not long time can play a protective role, but also can be used as a timing controller.

Microcontroller;timing switch;AT89S52

TM13

A

1008-1151(2015)03-0045-02

2015-02-10

陆仁超(1980-),男,广西物资学校讲师,助理工程师,研究方向为单片机应用、智能家居。

猜你喜欢

数码管子程序按键
基于有限状态机的按键检测程序设计
微课教学设计之“数码管动态显示”
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
按键消抖在单片机和FPGA实验教学中的应用
一种多方向导光按键结构设计
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序