哈理工荣单片机课设基于DS1302的实时时钟显示详解.doc

哈理工荣单片机课设基于DS1302的实时时钟显示详解.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈 尔 滨 理 工 大 学 荣 成 学 院 单片机原理 课程设计 题目:基于DS1302的实时时钟显示 班级: 姓名: 学号: 年 月 号 目录 题目简介 实现方案 电路SCH图 软件流程图 软件设计源程序 心得体会 参考文献 一、题目简介 本文采用单片机控制系统的基础上综合应用时钟芯片DSI302和Proteus软件。单片机是一个基本微型计算机,由AT89C52单片机一个芯片通过简单的电路连接,便可组成最小的应用系统,利用集成在单片机内部的接口,实现并行,串行数据传输,定时计数控制,中断等功能,从而完成一定检测控制功能。希望通过研究与设计了解DS1302芯片的内部结构,工作方式,各引脚功能及I/O接口的使用,用LCD显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表有时、分、秒显示时间的功能,还可以进行时和分的校时,片选的灵活性好。 二、实现方案 基于DS1302的电子万年历设计 系统硬件电路图的设计 按照系统设计功能的要求,初步确定设计系统由主控模块,时钟模块,存储模块,键盘接口模块,显示模块和闹铃模块共6个模块组成。主控芯片使用52系列STC89S52单片机,时钟芯片使用美国DALLAS公司推出的一种高性能,地功耗,带RAM的时钟芯片DS1302作为主要计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备下继续计时,并可编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。 系统核心部分---闪电存储器件STC89C51 STC89C51具有下列主要性能: 8KB可编程序Flash存储器 全静态工作:0HZ—24MHZ 三级程序存储器保密 128 X 8 字节内部RAM 32条可编程序I/O线 2个16位定时器/计数器 6个中断源 可编程序串行口 片内时钟振荡器 AT89C51的引脚及其功能 AT89C51的管脚 (1)主要电源引脚 (a)VCC电源端 (b)GND接地线 (2)– P0.7,P1.0 – P1.7,P2.0 – P2.7和 P3.0 – P3.7 (a)PO端口(P0.0 – P0.7)– P1.7)– P2.7)– P3.7) 软件流程图 一、时间程序的设计流程图 二、时间程序的设计流程图 闹钟程序程序设计流程图 五.软件设计源程序 #includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned int #define LCDIO P0 sbit led=P3^6; sbit ge=P2^3; sbit shi=P2^4; sbit bai=P3^5; sbit qian=P3^4; sbit rs=P2^5; sbit rd=P2^6; sbit lcden=P2^7; sbit BEEP=P3^7; sbit menu=P2^0; //菜单 sbit add=P2^2; //加一 sbit dec=P2^1; //减一 uchar second,minute,hour,day,month,year,week,count=0; uchar second1,minute1,hour1; uchar ReadValue,num,time; uchar shi1; uchar fen1; uchar miao1; uchar shi2; uchar fen2; uchar miao2; uchar code table[]={ 2013-12-01 MON }; uchar code table1[]={ 12:00:00}; uchar code table2[]= THUFRISATSUNMONTUEWED; uchar code table3[]={ clock }; uchar code table4[]={ 00:00:00}; sbit DATA=P1^5; sbit RST=P1^6; sbit SCLK=P1^3; void delay(uint z) { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } void delay1(uint z) { for(;z0;z--); } void delay2(uin

文档评论(0)

***** + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档