ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:482.93KB ,
资源ID:3849123      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3849123.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于DS1302的电子时钟设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于DS1302的电子时钟设计.docx

1、基于DS1302的电子时钟设计 2012 2013 学年 第 二 学期 单片机 课 程 设 计 报 告 题 目: 基于DS1302的电子时钟设计 专 业: 电气工程系自动化 班 级: 10自动化(2)班 姓 名: 费孝斌 洪建勇 刘云飞 桑乐 陆欢欢 魏笑 指导教师: 林开司 电气工程系2013年5月12日任务书课题名称基于DS1302时钟芯片的电子时钟设计指导教师(职称)林开司 执行时间20122013 学年第 二 学期 第十周学生姓名学号承担任务费孝斌1009111020编写实验报告洪建勇1009111030计算相关数据刘云飞1009111054查找有关资料桑乐 1009111066绘图陆

2、欢欢1009111058解决有关问题魏笑1009111088检查并校对报告设计目的基于单片机的电子时钟的设计 设计要求 (1) 计时:秒、分、时、天、周、月、年; (2)时钟通过LCD1602显示。 (3)通过按键对时钟、分钟和秒钟进行调节;摘 要 电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能

3、电子时钟。本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词:电子时钟;多功能;AT89C52;时钟日历芯片摘要一、引言4二、基于单片机的电子时钟硬件选择分析52.1主要IC芯片选择52.1.1微处理器选择52.1.2 DS1302简介 62.1.3 DS1302引脚说明 72.2电子时钟硬件电路设计 8 2.2.1时钟电路设计9

4、 2.2.2整点报时功能10三、protel软件画原理图113.1系统工作流程图 123.2原理图 13四、proteus软件仿真及调试 144.1电路板的仿真 154.2软件调试 16五、 源程序 17六、参考文献 18引 言 时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。1.1 多功能电子时钟研究的背景和意义 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的

5、各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的1。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛应用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中

6、不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。1.2 电子时钟的功能 电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时间精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。也有体型较大的,诸如

7、公共场所的大型电子报时器等。电子时钟首先是数字化了的时间显示或报时器,在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹铃,万年历,环境温度、湿度检测,环境空气质量检测,USB扩展口功能等。本设计电子时钟主要功能为:1.具有时间显示和手动校对功能,24小时制;2.具有年、月、日显示和手动校对功能;3.具有整点报时功第二章 基于单片机的电子时钟硬件选择分析考虑单片机货源充足、价格低廉,可软硬件结合使用,能够较方便的实现系统的多功能性,故采用单片机作为本设计的硬件基础。2.1主要IC芯片选择2.1.1微处理器选择 目前在单片机系统中,应用比较广泛的微处理器芯片主要为8XC5X

8、系列单片机。该系列单片机均采用标准MCS-52内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。例如比较常用的AT89C2052单片机,带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机。拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED输出。仅仅是为了完成时钟设计或者是环境温度采集设计,应用AT89C2052单片机完全可以实现。但是将两种功能结合在一片单片机上,就需要更多的I/O引脚,故本设计采用具有32根I/O引脚的AT

9、89C52单片机。AT89C52单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-52兼容。片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域6。AT89C52具有以下主要性能:1.4KB可改编程序Flash存储器;2.全静态工作:024Hz;3.1288字

10、节内部RAM;4.32个外部双向输入/输出(I/O)口;5.6个中断优先级; 2个16位可编程定时计数器;6.可编程串行通道;7.片内时钟振荡器。此外,AT89C52是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。图2.1 AT89C52芯片PDIP封装引脚图AT89C51为适应不同

11、的产品需求,采用PDIP、TQFP、PLCC三种封装形式,本系统采用双列直插PDIP封装形式。2.1.2 DS1302简介 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.55.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(

12、1F)来替代。需要强调的是,DS1302需要使用32.768KHz的晶振。2.1.3 DS1302引脚说明图2.2 DS1302芯片引脚图其的引脚功能参照表2.1。表2.1 DS1302引脚功能说明引脚号名称功能1VCC1备份电源输入2X132.768KHz晶振输入3X232.768KHz晶振输出4GND地5RST控制移位寄存器/复位6I/O数据输入/输出7SCLK串行时钟8VCC2主电源输入2.2电子时钟硬件电路设计 电子闹钟至少要包括秒信号发生器、时间显示电路、按键电路、供电电源、闹铃指示电路等几部分。硬件电路框图参照图2.3。该系统使用AT89C51单片机作为核心,通过读取时钟日历芯片D

13、S1302数据,完成此电子时钟的主要功能时钟。使用比较通用的8段共阳数码管,做7位显示,分别显示时、分、秒。图2.3 多功能电子时钟硬件系统框图键盘是为了完成时钟/日历的校对和日历/温度的显示功能。由于此电子时钟要求具有闹铃功能,所以设计有闹铃电路,进行声音响铃。整个电路使用了两种电源,+5V电源将为整个电路供电。而+3V电源仅作为DS1302的备用电源。当+5V电源被切断后,DS1302启用+3V电源,可以保持DS1302继续工作。当+5V电源恢复供电,LED依旧显示当前时间,而不会因为断电使系统复位到初始化时间,避免了重新校时的麻烦。2.2.1时钟电路设计 系统时钟应用了实时时钟日历芯片D

14、S1302,其连接如图2.4。该硬件电路设计简单,抗干扰能力强。如图,AT89C51单片机P1.7直接接DS1302的RST端,上电后,AT89C51的P1.7脚自动输出高电平。P1.5作为串行时钟接口,P1.6作为时钟数据的I/O。DS1302采用双电源供电,平时由+5V电源供电,当+5V掉电之后,由图中BT1(+3V备用电池)供电。特别需要注意X1和X2两端连接的晶振Y1,该晶振频率为32.768KHz。图2.4 系统时钟电路2.2.2整点报时功能 采用蜂鸣器闹铃结构简单,控制方便,但是发出的闹铃声音单一。也可以在编程的时候编写一段音乐程序,待闹铃时间到时,调用该音乐程序给扬声器,便响起音

15、乐。不过该方法只能做一些简单音乐,并且音乐程序会占用很多单片机存储资源。还有一种方法是采用录音放音芯片1420做闹铃,先对录放音设备录入一段音乐,当到设定时间时,单片机控制录放音设备放音。采用录放音电路,铃声可以是预先设定的一段自己喜欢的音乐,符合电器设备人性化的要求。且1420芯片可以分段录音,还具有语音报时功能。另外,也可以购置一块音乐集成电路,加置在单片机和蜂鸣器之间,当单片机连接闹铃电路的管脚送出高电平时,音乐集成电路会给蜂鸣器特定脉冲,使蜂鸣器发声。此类集成电路体积较小,使用方便,不足的是音乐简单、单一。闹铃的闹钟不是本设计中的重点,故采用最简单的方法,占用单片机一根I/O口P1.7

16、, 中间用PNP型三极管S9012连接P1.7和蜂鸣器。当P1.7引脚为低电平时,S9012的发射极和集电极导通,使蜂鸣器发声。当响铃标志位为“1”时,P1.7送一定频率脉冲,使蜂鸣器U11发出声音。如图2.5第三章 Protel软件画原理图3.1系统工作流程图3.2原理图第四章 proteus软件仿真及调试4.1电路板的仿真 利用keil软件编写源程序。在protues中画好其电路图如下图4.1所示: 4.2软件调试 在硬件调试完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。在本设计中,软件调试主要分两大部分:实时时钟日历子程序调试、按键子程序调试。将这两部分调试成功,那么整个设计

17、的软件部分也就基本完成了。图4.1 数字钟仿真图第五章 源程序用C语言编写:#include #include #define uchar unsigned char#define uint unsigned intuchar data_7seg10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,;uchar hour,min,sec;sbit shi=P10;sbit fen=P11;sbit miao=P12;sbit rst=P14;sbit sck=P15;sbit io=P16;sbit fm=P17;/*函数声明:*/void

18、write_ds1302_byte(uchar dat);void write_ds1302(uchar add,uchar dat);uchar read_ds1302(uchar add);void read_rtc();void set_rtc();void display();void delay(int n);void show();void fmzz(); /*DS1302单字节写入:*/void write_ds1302_byte(uchar dat) uchar i; for (i=0;i1; sck=1; /*DS1302多字节写入:*/void write_ds1302(u

19、char add,uchar dat) rst=0;_nop_(); sck=0;_nop_(); rst=1;_nop_(); write_ds1302_byte(add); write_ds1302_byte(dat); rst=0;_nop_(); io=1; sck=1; /*DS1302读取:*/uchar read_ds1302(uchar add) uchar i,value; rst=0;_nop_(); sck=0;_nop_(); rst=1;_nop_(); write_ds1302_byte(add); for (i=0;i1; sck=0; if (io) value

20、=value|0x80; sck=1; rst=0;_nop_(); sck=0;_nop_(); sck=1; io=1; return value; /*调整时间:*/void set_rtc() if (shi=0) delay(100); if (shi=0) hour=(hour4)*10+(hour&0x0f); hour+; if (hour=24) hour=0; hour=(hour/10)4)*10+(min&0x0f); min+; if (min=60) min=0; min=(min/10)4)*10+(sec&0x0f); sec+; if (sec=60) sec

21、=0; sec=(sec/10)4)+(sec%10); write_ds1302(0x80,sec); /*读取时间:*/void read_rtc() hour=read_ds1302(0x85); min=read_ds1302(0x83); sec=read_ds1302(0x81); /*显示时间:*/void display() unsigned int a=1; P2=0x01;P0=data_7seghour/16;delay(a); P2=0x02;P0=data_7seghour%16;delay(a); P2=0x04;P0=data_7segmin/16;delay(a

22、); P2=0x08;P0=data_7segmin%16;delay(a); P2=0x10;P0=data_7segsec/16;delay(a); P2=0x20;P0=data_7segsec%16;delay(a); /*蜂鸣:*/ void fmzz() uint i; for (i=0;i100;i+) fm=!fm; delay(2); /*延时程序:*/void delay(int n) unsigned int i,j; for(i=0;in;i+) for(j=0;j121;j+) ; /*显示学号:*/void show() unsigned int m; for(m=

23、0;m20;m+) uint a=10; P2=0x01;P0=data_7seg7;delay(a); P2=0x02;P0=data_7seg2;delay(a); P2=0x04;P0=data_7seg4;delay(a); P2=0x08;P0=data_7seg1;delay(a); P2=0x10;P0=data_7seg1;delay(a); P2=0x20;P0=data_7seg8;delay(a); /*主程序:*/void main() show(); write_ds1302(0x84,0x12); /初始化 write_ds1302(0x82,0x00); write_ds1302(0x80,0x00); while (1) set_rtc(); read_rtc(); display(); if(min=0) if(sec=0) fmzz(); 参考文献1、倪晓军 章韵等.单片机原理与接口技术教程.北京:清华大学出版社,20092、DS1302中文手册3、谭浩强等.C程序设计.北京:清华大学出版社,20054、王守忠 聂元铭.51单片机开发入门与典型实例.北京:人民邮电出版社,2009

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1