- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STCC单片机和DS时钟芯片定时开关的设计与仿真.doc
基于STC89C52单片机和DS1302时钟芯片定时开关的设计与仿真
摘 要:本设计介绍一种以STC89C52单片机、DS1302、1602液晶显示为核心,具备调节时间,设置开启时间与关闭时间的定时开关的实现过程。本系统采用C语言编写,其与汇编语言相比具有更好的移植性和可读性,便于修改和增减功能,并通过protues成功仿真。
关键词:单片机;定时开关;C语言;Protues
中图分类号:TP39 文献标识码:A
0引言
定时开关[1]在人们生活中扮演着重要的角色,给人们的生活带来了很大的方便,早在我国的古代采用滴水方式计时,当水滴到一定量时引发机关报时。随着电子信息的快速发展, 如今的电视机,电风扇等电器产品都附带了定时器,但是电子产品附带的定时器只适用于该用电器,并不能扩展使用到其他用电器上。
本文所介绍的定时开关目的在于控制主电源,从而适用于能瞬间断电的一切电子产品,不仅能在规定的时间准时断开同时能在设定的时间内准时开启,给人们日常生活带来了极大的方便,如能通过应用此定时开关在上班期间定时煮饭,手机充电在适当时间将电源断开。
该定时器具备以下几个特点:1.采用C语言[2]编写程序,与汇编语[3]言相比便于修改和增减功能;2.所才用的芯片STC89C52单片机、1602液晶显示器,DS1302时钟芯片功耗低、可靠性高;3.与机械定时器相比不仅消除了噪声,更加准确,且使用寿命要长; 4.采用Protues仿真,方便直观。
1系统设计方案
以STC89C52[4]单片机为核心,通过DS1302时钟芯片进行时间控制,使用1×4键盘作为数据输入方式,驱动1602显示器提示程序运行过程和开锁的步骤。系统结构如图1。
图1 系统结构图
Figure 1 The structure chart of System
2系统设计
2.1系统硬件组成
使用的元器件有:核心芯片STC89C52、时钟芯DS1302、液晶显示1602、继电器、蜂鸣器、1*4键盘[5]、发光二极管和三极管。
2.2系统软件设计
本系统采用单片机的C语言编写程序对整个系统的硬件进行管控。实现了对DS1302的控制,1602的显示,时间管控。其中时间管控包括:系统时间以及开启与关闭时间的设定,系统时间与开启或关闭时间相同时继电器、蜂鸣器和指示灯工作状态的管控 。系统程序流程如图2所示。
图2 系统程序流程图
Figure 2 The flow chart of System Process?
2.2.1 DS1302的控制[6]
DS1302的RST、SCLK和I/O分别与单片机的P2.0、P2.1和P2.2相连。单片机与DS1302进行数据交换时,首先要将RST变为高电位,也就是单片机P2.0必须逻辑1。在RST保持为高电位时候,SCLK时钟由低电位变为高电位的上升沿时,数据被写入DS1302中,数据从最低位通过I/O开始写入。在RST保持高电位,SCLK时钟由高电位变为低电位的下降沿时,从DS1302读取数据,数据也是从DS1302的最低位通过I/O读取。
DS1302读取数据子程序
unsigned char read( unsigned char addr )
{
unsigned char j,temp,value;
CE=0;
SCLK=0;
CE = 1;
//发送地址
for ( j=8; j0; j-- )
{
SCLK = 0;
temp = addr;
IO = (bit)(temp0x01);
addr = 1;
SCLK = 1;
}
//读取数据
for ( j=8; j0; j-- )
{
ACC_7=IO;
SCLK = 1;
ACC=1;
SCLK = 0;
}
CE=0;
value=ACC;
value=value/16*10+value%16;
return (value);
}
2.2.2 1602的显示[7]
通过单片机指令控制1602光标是否闪烁,是否清除原来数据以及显示的具体位置,并不停地对数据显示进行刷新,从而显示了准确的时间,并为系统提供了智能的人机对话模式。
2.2.3 时间的管控
当系统启动时,STC89C52单片机立即从DS1302时钟芯片获取时间,并通过键盘和1602显示器配合完成对当系统时间、启动时间和关闭时间的设定。当系统时间与启动时间相同,从而控制继电器闭合,直到系统时间与关闭时间相同时断开。
?
3系统仿真
本文采用具有强大的EDA仿真功能的protues[8]软件进行仿真,仿真图如图2。
图3系统仿真图
Figure 3 Simulation diagram of the System
3.1系统介绍
系统仿真图
文档评论(0)