基于51单片机的智能定时插座开关仿真的设计与制作_第1页
基于51单片机的智能定时插座开关仿真的设计与制作_第2页
基于51单片机的智能定时插座开关仿真的设计与制作_第3页
基于51单片机的智能定时插座开关仿真的设计与制作_第4页
基于51单片机的智能定时插座开关仿真的设计与制作_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1.产品功能分析.....................................................1

2设计方案遴选.....................................................1

2.1单片机的选择................................................1

2.2液晶显示器的选择............................................1

2.3设计框图....................................................2

3硬件设计.........................................................2

3.1电路原理图及工作原理........................................2

3.2时钟电路....................................................3

3.3复位电路....................................................3

3.4自锁开关电路................................................4

3.5按键电路模块................................................4

3.6液晶显示电路................................................4

3.7继电器控制电路..............................................5

4系统软件设计.....................................................6

4.1系统的程序实现流程图........................................6

4.2LCD1602显示模块的流程图....................................6

5.产品使用说明.....................................................7

参考资料...........................................................8

附录...............................................................9

附录1元器件清单图.............................................9

附录2电路原理图...............................................10

附录3PCB设计图................................................11

附录4产品实物图...............................................12

附录5主程序代码...............................................13

湖南商务职业技术学院毕业设计

基于51单片机的智能定时插座开关仿真的

设计与制作

1.产品功能分析

这个系统主要由STC89C52单片机电路、继电器电路、液晶显示电路、按键

电路、红外接收电路以及电源电路组成。采用按键的方式来进行定时,当时间

到设定好的时候,定时模块的信号进行处理并传送给单片机,同时单片机会控

制继电器闭合模拟插座打开,另外通过按键可以直接开关插座,也可以通过无

线遥控插座开关。本次设计可以定时时间,具有低功耗、低成本的特点。多种

功能叠加即可按键,可以定时,还可以遥控操作。采用液晶显示清晰明了。

2设计方案遴选

2.1单片机的选择

主制芯片在一个系统中是最重要的,主制芯片无疑是一个系统控制工作的

中心部分。

方案一:ATC89C51单片机具有低功耗和高性能,ATC89C51能够与标准的MCS-

51控制系统兼容。它的CPU和FLASH存储器的功能强大。单片机内部的FLASH

可以处理4K程序存储器,并且用户可以再次擦除和写入。AT89C51要检查最小

系统可以通过检查它的电源是否正常来判断。

方案二:STC89C52与AT89C51相似,与MCS-51控制系统也可以完全兼容,

但是STC89C52与AT89C51的操作方法是不一样的。AT89C51使用充电器就可以,

而不需要ISP充电。STC微控制器有一个很大的特点就是运行速度非常快,STC

的速度大概是AT的3到30倍。由于STC的执行速度很快,STC在正电压低于5V

的情况下也能正常工作,所以STC89C52单片机相比于AT89C51单片机,STC89C52

单片机对工作环境的要求要低一些,另外STC89C52在高达3~4V也可以工作,所

以系统用STC在使用方面来说会比较方便。STC89C52有8位I/O端口,即P0、

P1、P2和P3口。

根据两个方案在适用性和成本方面的比较,方案二的STC89C52是更适合此

次设计的主控芯片。

2.2液晶显示器的选择

在单片机中常常使用的液晶显示器有两种,分别是LCD1602和LCD12864。

1

湖南商务职业技术学院毕业设计

LCD12864液晶显示器是一种图形点阵型的显示器,它可以显示的字符、图像以

及汉字,而LCD1602是一种字符型的液晶显示器,本文主要要求液晶显示器显

示水流量的累计流量、瞬时速度和流量阈值,所以LCD1602液晶显示器就已经

完全满足使用要求。

2.3设计框图

本次设计整体设计的主控部分采用STC89C52单片机,数据显示部分采用是

LCD1602,与家用220V的常用插座用继电器进行连接,按键用来设置时间的定

时与复位,采用红外遥控接收信号。整体框图如图1所示。

液晶显示

按键控制

STC89C52

遥控控制单片机

继电器驱动

图1设计框图

3硬件设计

3.1电路原理图及工作原理

大致工作流程就是在整个的硬件部分上电之后,先要对程序进行初始化,

然后硬件的电路部分可以通过按键来设置需要的时间,当时间到达设置的时间

后,输出相应的信号,也可以接收遥控信号,控制继电器开关模拟插座。相关

信息都是在液晶显示出来

2

湖南商务职业技术学院毕业设计

图2电路原理图

3.2时钟电路

图3时钟电路图

晶振Y1与电容C6、C7构成了一个自激振荡电路,并为单片机提供时钟信

号,时钟电路的两个引出脚X1、X2分别与单片机的XTAL1、XTAL2引脚相连

接。电容C6、C7的主要作用是使自激振荡电路快速起振,本次设计的电容

C6、C7的值使用的是20pF,晶振频率使用的是12MHz。时钟电路如图3所示。

3.3复位电路

复位电路的引出脚RST与单片机的REST引脚相连接。复位电路的常用方式

是上电自动复位和按键手动复位。上电自动复位相比按键手动复位要简单一些,

只需要外部电容C1进行充放电就可以复位,其条件是电容C1的充电时间不超

3

湖南商务职业技术学院毕业设计

过1ms。除上电复位方式外,手动复位也是一种常用的复位方式。当选择的时钟

频率为12MHZ时,电容选择10uF,电阻选择10k。按键手动复位电路如图4。

图4复位电路

3.4自锁开关电路

上电后,按下自锁开关,电源直接进入整个电路,这样整个电路将会启

动,自锁开关的电路图如图5所示。

图5自锁开关电路图

3.5按键电路模块

按键常见的有独立按键和矩阵按键,本系统的设计只需三个按键,所以用

独立按键即可完成。分别是进入设置,加,减或者直接开关。按键电路如图3-

8所示

图6按键电路

3.6液晶显示电路

LCD1602液晶显示器的RS引脚接单片机P1.0引脚,RW引脚接单片机P1.1

4

湖南商务职业技术学院毕业设计

引脚,EN引脚接单片机的P1.2引脚,D0至D7依次分别接单片机的P0.0至P0.7

引脚。单片机的P2.0相连接。原理图如图7所示。

图7液晶显示电路

3.7继电器控制电路

当该部分电路是本电路的输出部分,所选用的继电器型号为SRD-05VDC-SL-

C,按照技术手册的说明,其额定的驱动电压为5V,而经过测试单片机端口的实

际电压在5V±0.2V的范围内,因此理论上是可以进行直接驱动的。但考虑上电

路上如果再串联一个用于开关状态指示的发光二极管,会有一定的压降存在,

同时也考虑到要保证被控电路的稳定性,保证被控电路上的电器安全,所以在

此不适用直接驱动的连接方式,而是采用了一个三极管的放大电路进行驱动,

以下作详细说明。

如图8所示,由三极管组成的关电路,其中,继电器触发信号有单片机

P2.0口直接产生。当P2.0口输出低电平时,继电器吸合,被控电路导通;当

P2.0口输出高电平时,继电器断开,被控电路断开。此处,输出功率由继电器

上所标示的接点容量决定的。

5

湖南商务职业技术学院毕业设计

图8继电器控制电路

4系统软件设计

4.1系统的程序实现流程图

开始

初始化

按键设置时

间?

红外接收数

进行设置

据?

正常显示

控制开关

图9程序实现的主流程图

整体的程序有四个部分即按键的部分、遥控接收部分、显示的部分和继电

器开关警的部分。在上电之后先进行初始化,初始化之后单片机检测按键的部

分,我们可以通过按键来设定相应的时间值,进入定时的话。只要时间到达,

定时器就会输出对应的信号,单片机获取到这些信号并进行处理,将现在时间

与既定时间进行比较,以此来判断是否要驱动继电器电路。同时把单片机处理

过的信号发送给液晶LCD1602显示。也会接收无线信号判断是否直接驱动继电

器。程序实现的主流程图如3-2图所示。

4.2LCD1602显示模块的流程图

LCD1602是常用的液晶,使用起来简单、方便。它显示数据的整体流程是先

将液晶初始化,然后送入要显示的地址,接着对获得的数据进行处理,最后把

6

湖南商务职业技术学院毕业设计

处理过的数据再送入显示即可。LCD1602显示流程图如图3-3所示。

开始

初始化

送入要显示的地址

获取要显示的数据

数据处理

送入要显示的数据

完成显示

结束

图10LCD1602显示流程图

5.产品使用说明

系统开机后显示00:00:00,这个时候可以通过K4,进行定时时间的设置,

按下K4即可进入设置定时的秒,这个时候可以按S2,S3进行时间的加减。再次

按下K4设置定时的分,这个时候可以按S2,S3进行时间的加减。再次按下K4

设置定时的时,这个时候可以按S2,S3进行时间的加减。。再次按下K4退回到

正常显示界面。

在正常显示界面下,S3可以启动或者暂停定时。S2可以直接手动开关继

电器模拟开关插座。

无论什么界面下,遥控的界面的MENU键则是开启插座,关机键只是关

闭插座。(这两个按键对应遥控器上最顶部两个按键)

7

湖南商务职业技术学院毕业设计

参考资料

[1]向长秋,胡湘娟,阳泳.基于STC89C52单片机的电子密码锁设计[J].数字技术与应用,2015(10):25.

[2]程文红.基于STC89C52天然气气体泄露报警器的设计[D].东北石油大学,2014.

[3]刘健.基于STC89C52RC单片机实验系统的设计与开发[D].湖南大学,2014.

8

湖南商务职业技术学院毕业设计

附录

附录1元器件清单图

9

湖南商务职业技术学院毕业设计

附录2电路原理图

10

湖南商务职业技术学院毕业设计

附录3PCB设计图

11

湖南商务职业技术学院毕业设计

附录4产品实物图

12

湖南商务职业技术学院毕业设计

附录5主程序代码

#include<reg52.h>

#include<intrins.h>

#defineucharunsignedchar//以后unsignedchar就可以用uchar代替

#defineuintunsignedint//以后unsignedint就可以用uint代替

sbitrs=P1^0;//1602数据/命令选择引脚H:数据L:命令

sbitrw=P1^1;//1602读写引脚H:数据寄存器L:指令寄存器

sbite=P1^2;//1602使能引脚下降沿触发

sbitjdq=P2^0;//

sbitled=P3^3;//

sbitk1=P3^7;

sbitk2=P3^6;

sbitk3=P3^5;

sbitIRIN=P3^2;//红外接收器数据线

ucharIRCOM[7];//成功接收标志

/*******************************************************************

*

*名称:delay()

*功能:延时,延时时间大概为5US。

*输入:无

*输出:无

********************************************************************

***/

voiddelay_uint(uintq)

{

uinti,j;

for(i=0;i<q;i++)

for(j=0;j<120;j++);

}

/*******************************************************************

*

*名称:write_com(ucharcom)

*功能:1602命令函数

*输入:输入的命令值

*输出:无

********************************************************************

***/

voidwrite_com(ucharcom)

{

e=0;

rs=0;

13

湖南商务职业技术学院毕业设计

rw=0;

P0=com;

delay_uint(3);

e=1;

delay_uint(25);

e=0;

}

/*******************************************************************

*

*名称:write_data(uchardat)

*功能:1602写数据函数

*输入:需要写入1602的数据

*输出:无

********************************************************************

***/

voidwrite_data(uchardat)

{

e=0;

rs=1;

rw=0;

P0=dat;

delay_uint(3);

e=1;

delay_uint(25);

e=0;

}

/***********************lcd1602上显示两位十进制数

************************/

voidwrite_xy(ucharhang,ucharadd)

{

if(hang==1)

write_com(0x80+0x40+add);

else

write_com(0x80+add);

}

/*********************************************************/

//液晶输出字符串函数

/*********************************************************/

voidLcdPrintStr(uchar*str)

{

while(*str!='\0')

14

湖南商务职业技术学院毕业设计

write_data(*str++);

}

voidinit_1602()

{

write_com(0x30);

write_com(0x30);

write_com(0x30);

write_com(0x38);//

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_xy(0,0);//液晶光标

定位到第0行

LcdPrintStr("");//液晶第0行显示"Gas:

"

write_xy(1,0);//液晶光标

定位到第1行

LcdPrintStr("");//液晶第1行显示"Temp:

}

/*********************************************************/

//定时器初始化

/*********************************************************/

voidTimerInit()

{

TMOD=0x11;//使用定时器0,工作方式1

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;;//50ms

ET0=1;//定时器0中断使能

TR0=1;//启动定时器0

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;;//50ms

ET1=1;//开定时器1中断

TR1=0;//允许定时器1定时

EX0=1;//允许总中断中断,使能INT0外部中断

IT0=1;//TCON=0x01;//触发方式为脉冲负边沿触发

IRIN=1;

EA=1;//打开总中断

}

15

湖南商务职业技术学院毕业设计

charshi=0,fen=0,miao=0;

charmoshi=0;

charflag;

charzh1=0,zh2=0;

voidmain()

{

led=0;

delay_uint(1000);

led=1;

init_1602();

TimerInit();//定时器初始化

while(1)

{

if(k1==0)

{

while(k1==0);

moshi++;

if(moshi==1)TR1=0;

if(moshi==4)moshi=0;

}

if(moshi==0)

{

if(k2==0)

{

while(k2==0);

if((miao>0)||(fen>0)||(shi>0))

{

zh1++;

if(zh1==2)zh1=0;

if(zh1==1)TR1=1;

if(zh1==0)TR1=0;

}

}

if(k3==0)

{

while(k3==0);

//if(TR0==0)

{

zh2++;

if(zh2==2)zh2=0;

16

湖南商务职业技术学院毕业设计

if(zh2==1){jdq=0;led=0;}

if(zh2==0){jdq=1;led=1;}

}

}

write_xy(1,4);write_data((shi/10)+0x30);

write_xy(1,5);write_data((shi%10)+0x30);

write_xy(1,6);write_data(':');

write_xy(1,7);write_data((fen/10)+0x30);

write_xy(1,8);write_data((fen%10)+0x30);

write_xy(1,9);write_data(':');

write_xy(1,10);write_data((miao/10)+0x30);

write_xy(1,11);write_data((miao%10)+0x30);

}

if(moshi==1)

{

if(k2==0)

{

while(k2==0);

miao++;

if(miao>59)miao=59;

}

if(k3==0)

{

while(k3==0);

miao--;

if(miao<0)miao=0;

}

write_xy(1,4);write_data((shi/10)+0x30);

write_xy(1,5);write_data((shi%10)+0x30);

write_xy(1,6);write_data(':');

write_xy(1,7);write_data((fen/10)+0x30);

write_xy(1,8);write_data((fen%10)+0x30);

write_xy(1,9);write_data(':');

if(flag==0)

{

17

湖南商务职业技术学院毕业设计

write_xy(1,10);write_data((miao/10)+0x30);

write_xy(1,11);write_data((miao%10)+0x30);

}

else

{

write_xy(1,10);write_data('');

write_xy(1,11);write_data('');

}

}

if(moshi==2)

{

if(k2==0)

{

while(k2==0);

fen++;

if(fen>59)fen=59;

}

if(k3==0)

{

while(k3==0);

fen--;

if(fen<0)fen=0;

}

write_xy(1,4);write_data((shi/10)+0x30);

write_xy(1,5);write_data((shi%10)+0x30);

write_xy(1,6);write_data(':');

if(flag==0)

{

write_xy(1,7);write_data((fen/10)+0x30);

write_xy(1,8);write_data((fen%10)+0x30);

}

else

{

write_xy(1,7);write_data('');

write_xy(1,8);write_data('');

}

write_xy(1,9);write_data(':');

write_xy(1,10);write_data((miao/10)+0x30);

write_xy(1,11);write_data((miao%10)+0x30);

18

湖南商务职业技术学院毕业设计

}

if(moshi==3)

{

if(k2==0)

{

while(k2==0);

shi++;

if(shi>23)shi=23;

}

if(k3==0)

{

while(k3==0);

shi--;

if(shi<0)shi=0;

}

if(flag==0)

{

write_xy(1,4);write_data((shi/10)+0x30);

write_xy(1,5);write_data((shi%10)+0x30);

}

else

{

write_xy(1,4);write_data('');

write_xy(1,5);write_data('');

}

write_xy(1,6);write_data(':');

write_xy(1,7);write_data((fen/10)+0x30);

write_xy(1,8);write_data((fen%10)+0x30);

write_xy(1,9);write_data(':');

write_xy(1,10);write_data((miao/10)+0x30);

write_xy(1,11);write_data((miao%10)+0x30);

}

}

}

19

湖南商务职业技术学院毕业设计

/*********************************************************/

//定时器0服务程序,1毫秒

/*********************************************************/

voidTimer0(void)interrupt1

{

staticuintjishu;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;;//50ms

jishu++;

if(jishu==10)

{

jishu=0;

flag++;

if(flag==2)flag=0;

}

}

charvalue=0;

voidtime1_int()interrupt3

{

staticuin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论