简易计时器课程设计(新).docVIP

  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文档。上传文档
查看更多
简易计时器课程设计(新)

西安郵電學院课程设计报告书系部名称 : 学生姓名 : 号:??17号:?? 01号:王文海 专业名称 : 自动化 班 ???级 : 自动 时间 : 20年 月日 ??至 20年月 日 晶体振荡器晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路. 晶体振荡器1.1实现定时功能,定时时间可设置1min到15min;启动、暂停继续,复位等功能;结束前10s有声光提示(短),定时结束时有声光提示(长)。DS1302的引脚功能如表,及内部结构如图1所示 图1 DS1302管脚图及内部结构图 2.2 STC89C52单片机 部分引脚功能: P3.0:RXD串行输入口 P3.1:TXD串行输出口 ? P3.2:INTO外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外输入 p3.5:T1定时器1外输入 P3.6:WR外部写输入 P3.7:Rd外部读输入 如图2.1所示 图2.1 STC89C52单片机 2.3四位共阳数码管 2.5总硬件清单 10uf电容一个(分正负),30pf电容四个(不分正负),DS1302芯片,STC89C52芯片,0.2k电阻一个,8.2k电阻一个,1k电阻四个,按键开关五个,led灯一个,12M晶振一个,32768k晶振一个。 2.5方案设计与论证 使用串行接口时钟芯片DS1302设计时钟电路。该设计方案以单片机AT89S51为主控芯片,以串行时钟芯片DS1302为核心计时芯片,组成数字时钟电路。该电路不但能准确地计时、附加其它功能,而且,其三线接口可以节省接口资源,在断电后不丢失时间和数据信息。该设计方案的接口电路如图所示: 通过以上两种设计方案的比较,我们可以看到,设计方案二接口简单,计时可靠,综合性能良好。所以选用第二种设计方案. 3. 硬件详细设计 3.1简易计时器的原理图 如图3.1所示. 图3.1 简易计时器总原理图 3.2 复位控制电路 当通电瞬间 稳压电源给电容充电 此时,在电容和电阻之间将有一个高电平也就是给单片机一个高电平使其复位。 随着电容充电结束 将使电容与电阻之间将呈现低电平 单片机复位结束。计算你自己复位电路的时间要是简单的阻容上电复位,就是RC电路的充电时间常数t=RC.晶体振荡器晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定. 图3所示电路通过CMOS非门构成的输出为方波的数字式晶体振荡电路,这个电路中,CMOS非门U1与晶体,电容和电阻构成晶体振荡器电路,U2实现整形功能,将振荡器输出的近似于正弦波的波形转换为较理想的方波.输出反馈电 阻R1为非门提供偏置,使电路工作于放大区域,即非门的功能近似于一个高增益的反相放大器.电容C1,C2与晶体构成一个谐振型网络,完成对振荡频率的控制功能,同时提供了一个180度相移,从而和非门构成一个正反馈网络,实现了振荡器的功能.由于晶体具有较高的频率稳定性及准确性,从而保证了输出频率的稳定和准确其工作原理近似于正弦波的波形转换为较理想的方波***************************************************************************/ #ifndef _REAL_TIMER_DS1302_2003_7_21_ #define _REAL_TIMER_DS1302_2003_7_21_ sbit DS1302_CLK = P3^3; //实时时钟时钟线引脚 sbit DS1302_IO = P3^4; //实时时钟数据线引脚 sbit DS1302_RST = P3^2; //实时时钟复位线引脚 sbit ACC0 = ACC^0; sbit ACC7 = ACC^7; typedef struct __SYSTEMTIME__ { unsigned char Second; unsigned char Minute; }SYSTEMTIME; //定义的时间类型 #define DS1302_SECOND 0x80 #define DS1302_MINUTE 0x82 #define DS1302_RAM(X) (0xC0+(X)*2) //用于计算 DS1302_RAM 地址的宏 void DS1302InputByte(unsigned char d) //实时时钟写入一字节(内部函数) { un

文档评论(0)

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

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

1亿VIP精品文档

相关文档