基于STCC单片机和DS时钟芯片定时开关的设计与仿真.docVIP

基于STCC单片机和DS时钟芯片定时开关的设计与仿真.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

zhangningclb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档