欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    万年历设计.docx

    • 资源ID:4385552       资源大小:308.60KB        全文页数:67页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    万年历设计.docx

    1、万年历设计引言电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周、时、分、秒进行计时,还具有闰年补偿等多种功能。电子万年历设计是基于单片机进行的,可以显示年、月、日、时、分、秒、周,具有可调整日期和时间功能。设计包含89C51单片机模块、LED数码管模块、键盘模块、DS1302模块。89C51单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电。LED数码管动态扫描,对于显示数字最合适,价格适中,而且采用动态扫描法与单片机连接时,占用的单片机口线少。DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周

    2、日、时、分、秒等信息,还具有时间校准等功能。一方案选择与确定1.1设计要求1 具有年、月、日、星期、时、分、秒等功能;2 时间与阴、阳历能够自动关联;3 具备年、月、日、星期、时、分、秒校准功能;1.2 系统基本方案选择和论证 1.2.1单片机芯片PIC单片机是MICROCHIP公司的产品,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器的芯片。 EMC单片机是台湾义隆公司的产品,有很大一部分与PIC 8位单片机兼容,且相兼容产品的资源相对比PIC的多,价格便宜,有很多系列可选,但抗干扰较差。 ATMEL单

    3、片机ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。PHLIPIS 51PLC系列单片机PHILIPS公司的单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。 HOLTEK单片机台湾盛扬半导体的单片机,价格便宜,种类较多,但抗干扰较差,适用于消费类产品。 TI公司单片机德州仪器提供了TMS370和

    4、MSP430两大系列通用单片机.TMS370系列单片机是8位CMOS单片机,具有多种存储模式、多种外围接口模式,适用于复杂的实时控制场合;MSP430系列单片机是一种超低功耗、功能集成度较高的16位低功耗单片机,特别适用于要求功耗低的场合。方案一 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二采用AT89S52,片内RO

    5、M全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89S52作为主控制系统。1.2.2 显示模块方案一采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏。方案二采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对

    6、于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用了LED数码管作为显示。1.2.3时钟芯片方案一直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的R

    7、AM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。所以采用DS1302时钟芯片实现时钟。1.3 电路设计最终方案决定综上各方案所述,对此次作品的方案选定: 采用89C51作为主控制系统; DS1302提供时钟;LED数码管动态扫描作为显示。二硬件电路构成2.1 电子万年历系统设计2.1.1系统设计框图AT89S52主控制模 块图2-1 系统设计框图2.1.2 系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、

    8、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由个数码管,74ls138、74ls47译码器构成。使用动态扫描显示方式对数字的显示。2.2系统硬件各模块设计2.2.1单片机主控制模块主要性能与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静

    9、态操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端,如图 2-2 所示。图 2-2 主控制系统2.2.2时钟电路模块DS

    10、1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 (1) DS1302的控制字节 DS1302的控制字如表2-1所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据

    11、写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出表2-1 DS1302的控制字格式 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR (2) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图2-2所示图2-2 DS1302读/写时序图 (3

    12、) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字见表2-2。表2-2 DS1302的日历、时间寄存器此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节

    13、,命令控制字为FEH(写)、FFH(读)。 图 2-4示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电

    14、平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。 图 2-4 DS1302的引脚图2.2.4显示模块数码管是一类价格便宜 使用简单,通过对其不同的管脚输入相对的电流,使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数的器件。七段数码管的显示有两种,分别是直流驱动和动态显示驱动。直流驱动。是指每个数码管的每一个段码都

    15、由一个高,缺点是占用I/O端口多。动态显示驱动,是将所有数码管通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示。将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮采用动态扫描显示,由19个数码管,3个74LS164并口输出数码管显示。P2口接1K限流电阻,再接

    16、8550三极管接到共阳数码管的CoM端作为选通位码,每位选择相应的列。如图2-5所示。图2-5 显示部分2.3电子万年历电路设计2.3.1系统电路图将各个模块组合起来就得到了系统电路图,如图2-6所示图2-6 系统电路图2.3.2 电路图分析本电路是由89C51单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部

    17、有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;温度的采集由DS18B20构成;显示部份由19个数码管,74LS164等构成。 三电子万年历软件设计3.1程序流程框图3.1.1总流程图 图3-1 总程序流程图3.1.2 阳历程序流程图图3-2计算阳历程序流程图3.1.3 阴历程序流程图图3-3 阴历程序流程图3.1.4 时间调整程序流程图图3-4时间调整程序流程图四 仿真结果图4-1 仿真结果五结束语通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外

    18、知识,开拓了视野,认识了将来电子的发展方向,使自己在专业知识方面和动手能力方面有了质的飞跃。毕业设计是我作为一名学生即将完成学业的最后一次作业,他既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好开端,毕业设计是我对所学知识理论的检验与总结,能够培养和提高设计者独立分析和解决问题的能力;是我在校期间向学校所交的最后一份综和性作业,从老师的角度来说,指导做毕业设计是老师对学生所做的最后一次执手训练。其次,毕业设计的指导是老师检验其教学效果,改进教学方法,提高教学质量的绝好机会。毕业的时间一天一天的临近,毕业设计也接近了尾声。在不断的努力下我的毕业设计终于完成了。

    19、在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的大概总结,但是真的面对毕业设计时发现自己的想法基本是错误的。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识太理论化了,面对单独的课题的是感觉很茫然。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。总之,不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论

    20、:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。在此要感谢我们的指导老师韩老师对我悉心的指导,感谢老师们给我的帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是

    21、这次毕业设计的最大收获和财富,使我终身受益。 参考文献【1】 彭为等.单片机典型系统设计实例精讲M北京:电子工业出版社,2006【2】 陈景初,单片机应用系统设计与实践M,北京:北京航空航天大学出版社。【3】 李建忠.单片机原理及应用.西安电子科技大学出版,2006.02【4】 张俊谟.单片机中级教程.北京航空航天大学出版,2006.03【5】 余发山.单片机原理及及应用技术.中国矿业大学出版社,2003.12【6】 杨凌霄.微型计算机原理及应用.中国矿业大学出版社,2004.08【7】 李飞光.单片机课程设计实例指导.北京航空航天大学出版社, 2004【8】 李群芳.单片机原理接口及应用M.

    22、北京:清华大学出版社, 2005 附录:系统程序清单SCLK EQU P3.2 IOEQU P3.3 RST EQU P3.4 YEAR DATA 66H MONTH DATA 65H WEEK DATA 64H DAY DATA 63H HOUR DATA 62H MINTUE DATA 61H SECOND DATA 60H DS1302_ADDR DATA 32H DS1302_DATA DATA 31H ORG 0000H AJMP START ORG 0003H RETI ORG 000BH RETI ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0

    23、023H RETI ORG 002BH RETI ;* ;* 主程序 * ;* START: SETB EA MOV SCON,#00H;串行输出,方式0 MOV TMOD,#10H;计数器1,方式1 MOV TL1,#00H MOV TH1,#00H MOV DS1302_ADDR,#8EH MOV DS1302_DATA,#00H;允许写1302 LCALL WRITE MOV DS1302_ADDR,#90H MOV DS1302_DATA,#0A6H;1302充电,充电电流1.1mA LCALL WRITE MAIN1: MOV DS1302_ADDR,#8DH ;READ OUT Y

    24、EAR LCALL READ MOV YEAR,DS1302_DATA MOV DS1302_ADDR,#8BH ;READ OUT WEEK LCALL READ MOV WEEK,DS1302_DATA MOV DS1302_ADDR,#89H ;READ OUT MONTH LCALL READ MOV MONTH,DS1302_DATA MOV DS1302_ADDR,#87H ;READ OUT DAY LCALL READ MOV DAY,DS1302_DATA MOV DS1302_ADDR,#85H;READ OUT HOUR LCALL READ MOV HOUR,DS130

    25、2_DATA MOV DS1302_ADDR,#83H;READ OUT MINTUE LCALL READ MOV MINTUE,DS1302_DATA MOV DS1302_ADDR,#81H;READ OUT SECOND LCALL READ MOV SECOND,DS1302_DATA MOV R0,YEAR ;年分离,送显示缓存 LCALL DIVIDE MOV 7BH,R1 MOV 4BH,R1 MOV 7CH,R2 MOV 4CH,R2 MOV 78H,WEEK MOV 48H,WEEK MOV R0,MONTH ;月分离,送显示缓存 LCALL DIVIDE MOV 79H,

    26、R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 MOV R0,DAY ;日分离,送显示缓存 LCALL DIVIDE MOV 76H,R1 MOV 46H,R1 MOV 77H,R2 MOV 47H,R2 MOV R0,HOUR ;小时分离,送显示缓存 LCALL DIVIDE MOV 74H,R1 MOV 44H,R1 MOV 75H,R2 MOV 45H,R2 MOV R0,MINTUE ;分分离,送显示缓存 LCALL DIVIDE MOV 72H,R1 MOV 42H,R1 MOV 73H,R2 MOV 43H,R2 MOV R0,SECOND ;秒分离,送显示

    27、缓存 LCALL DIVIDE MOV 70H,R1 MOV 40H,R1 MOV 71H,R2 MOV 41H,R2 LCALL DISPLAY LCALL GENGXIN ;更新农历程序 JNB P1.1,SETG JNB F0,SSS CLR P1.3 ;闰月,则p1.3清0,指示灯亮 LJMP MAIN1 SSS: SETB P1.3 ;非闰月,则p1.3置位,指示灯灭 LJMP MAIN1 ;* ;*公历设置程序 * ;* SETG: SETB TR1 SETB ET1 CLR 08H CLR 09H CLR 0AH CLR 0BH CLR 0CH CLR 0DH CLR 0EH C

    28、LR 0FH MOV DS1302_ADDR,#8EH MOV DS1302_DATA,#00H ;允许写1302 LCALL WRITE MOV DS1302_ADDR,#80H MOV DS1302_DATA,#80H ;1302停止振荡 LCALL WRITE GWAIT: LCALL DISPLAY JNB P1.1,GWAIT SETG1: LCALL DISPLAY JNB P1.1,SETG2 JNB P1.2,GADDYEAR AJMP SETG1 GADDYEAR:MOV R7,66H ;年加1 LCALL ADD1 MOV 66H,A CJNE A,#51H,GADDYEA

    29、R1 MOV 66H,#01H GADDYEAR1: MOV DS1302_ADDR,#8CH ;年值送1302 MOV DS1302_DATA,66H LCALL WRITE MOV R0,66H LCALL DIVIDE ;年分离送显示缓冲 MOV 4BH,R1 MOV 7BH,R1 MOV 4CH,R2 MOV 7CH,R2 WAITT1: LCALL DISPLAY JNB P1.2,WAITT1 AJMP SETG1 SETG2:SETB 0AH ;调月时闪标志 GWAIT2:LCALL DISPLAY JNB P1.1,GWAIT2 SETG3:LCALL DISPLAY JNB

    30、P1.1,SETG4 JNB P1.2,GADDMONTH AJMP SETG3 GADDMONTH: MOV R7,65H ;月加1 LCALL ADD1 MOV 65H,A CJNE A,#13H,GADDMONTH1 MOV 65H,#01H GADDMONTH1: MOV DS1302_ADDR,#88H ;月值送1302 MOV DS1302_DATA,65H LCALL WRITE MOV R0,65H LCALL DIVIDE ;月分离送显示缓冲 MOV 79H,R1 MOV 49H,R1 MOV 7AH,R2 MOV 4AH,R2 WAITT2: LCALL DISPLAY JNB P1.2,WAITT2 AJMP SETG3 SETG4:SETB 0BH ;调日时闪标志 GWAIT4:LCALL DISPLAY JNB P1.1,GWAIT4 SETG5:LCALL DISPLAY


    注意事项

    本文(万年历设计.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开