用DS1302与LCD1602可调数字万年历课程设计.docVIP

用DS1302与LCD1602可调数字万年历课程设计.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文档。上传文档
查看更多
数字开发与实践 课 程 设 计 题目: 用1602 设计可调式电子用DS1302与设计 的可调式电子日历时钟显示:年、月、日、时、分、秒; (2)设置年、月、日、时、分、秒的用按键调整日历时钟年、月、日、时、分、秒完成可调式电子日历时钟的硬件和软件的设计,包括单片机的相关内容;日历时钟模块的设计,液晶显示模块的设计,按键模块的设计。控制程序的编写等。系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、 图 2-1 2.2、系统总体设计原理图 2.3、 要求用proteus仿真软件仿真并抓图。 三、软件设计 3.1、画出各个函数流程图。 3.1.1、DS1302实时控制芯片的流程图如图3-1 图3-1 3.1.2、LCD1602液晶显示控制流程图如图3-2 图 3-2 3.1.3、闹钟提醒控制流程如图3-3 如图3-3 3.1.4、调时函数控制流程如图3-4 图3-3 3.2、写出程序代码。 /**************DS1302及1602时钟设计 **********/ #include reg52.h #includeintrins.h #define uchar unsigned char #define uint unsigned int #define SECOND 0x81 #define MINUTE 0x83 #define HOUR 0x85 sbit rs=P2^0; sbit rw=P2^1; sbit ep=P2^2; sbit DS1302_IO= P1^0; sbit DS1302_SCLK = P1^1; sbit DS1302_RST = P1^2; sbit M=P3^1; //选择 sbit U=P3^2; // 加 sbit D=P3^3; // 减 sbit W=P3^4; //确定 sbit SPK=P3^7; //蜂鸣器 uchar sel=0; uchar code DIS1[]={10 ji ying }; uchar code DIS2[]={ke cheng she ji}; /////////////////////////延时//////////////////////////////// void delay(uint ms) { unsigned int a,b; for(a=0;ams;a++) for(b=0;b124;b++); } //////////////////////////////////////////////////////////// /***************DS1302驱动************************/ //////////////////////////////////////////////////////////// void DS1302_Write(uchar D) { uchar i; for(i=0;i8;i++) { DS1302_IO =D0x01; DS1302_SCLK=1; DS1302_SCLK=0; D=D1; } } uchar DS1302_Read() { uchar TempDat=0,i; for(i=0;i8;i++) { TempDat=1; if(DS1302_IO) TempDat=TempDat|0x80; DS1302_SCLK=1; DS1302_SCLK=0; } return TempDat; } void WDS1302(uchar ucAddr, uchar ucDat) { DS1302_RST =

文档评论(0)

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

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

1亿VIP精品文档

相关文档