教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

51单片机电子万年历设计带有proteus仿真(2)

来源:网络收集 时间:2026-09-14
导读: 存在抖动现象,需要通过软件延时进行消抖。 方案二:采用LCD1602液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,易于编程,稳定可靠。 通过对比,本课程设计采用LCD1602作为显示模块

存在抖动现象,需要通过软件延时进行消抖。

方案二:采用LCD1602液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,易于编程,稳定可靠。

通过对比,本课程设计采用LCD1602作为显示模块。

1.2.3时钟芯片的选择方案和论证:

方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、时、分计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。

方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对分、时、日、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM作为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA。同时在外加电源和外加晶振电路下,掉电后走时准确。

本课程设计采用DS1302作为时钟的芯片。

1.3 电路设计最终方案决定

综上各方案所述,对此次设计的方案选定: 采用AT89C52作为主控制系统; DS1302提供时钟;LCD1602作为显示。

2系统的硬件设计与实现

2.1 电路设计框图

2.2 系统硬件概述

本电路是由AT89C52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分和秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口(SPI总线)与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、时、分,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部分由LCD1602显示,精度高,显示稳定。

2.3 主要单元电路的设计

单元电路的设计包括主控制系统、时钟电路模块、显示模块、串口下载模块、复位电路和稳压电路的设计。

2.3.1单片机主控制模块的设计

AT89C52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。

单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和30PF电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和30PF电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图2-1 所示

图2-1 主控制系统

2.3.2时钟电路模块的设计

图2-2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.7、68KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。I/O为串行数据输入端(双向)。SCLK始终是输入端。如图2-2所示。

图2-2 DS1302的引脚图

2.3.3显示模块电路

如图2-3所示,采用液晶1602数据端由P0提供实现8位并行通信,其数据交换的速率比较快VL是调整液晶显示的亮度,E是使能端口,RW是读写控制端口,高电平读信号,低电平写信号;RS是读写命令与数据控制端口,高电平写数据,低电平写命令。

图2-3 LCD 1062的电路图

2.3.4串口下载电路

经过KEIL C51编译的汇编程序必须下载到单片机内部运行,才能实现所需要的功能。然而单片机得1、0是用5V、和0V表示的,而电脑中的1、0用的电压并不是5V、和0V,因此,必须用MAX232进行电压转化,于是设计的串口下载电路。如图2-4所示。

图2-4 串口下载电路

2.3.5复位电路

在单片机中运行程序时,如果程序跑飞,即程序运行的地址出现混乱时,可以用复位电路,在低电平时程序从零地址从新开始运行。同时也可以使用看门狗,定时的喂狗,使程序每次从零地址开始运行。防止程序跑飞。如图2-5所示。

图2-5 复位电路

2.3.6稳压电路

当输入的电压高于或者低于51v时,可以用L7805CV稳压到5V,保证单片机稳定的性能和可靠的稳定性,其中的二极管是利用了单片机的单向导电性,导致单片机被烧毁或者系统不能正常工作。如图2-6所示。

图2-6 稳压电路

3系统的软件设计

3.1程序流程框图

4软件proteus测试及分析

通过调节四个按键设定时间为2000年1月1日12点整。

4.1软件测试

电子万年历是多功能的数字显示仪器。由于功能很多,所以对于它的程序也较为复杂,因此本次设计采用简化模型,即只显示年月日,时分秒。但在程序调试时出现了相对较多的错误。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:

4.2分析与结论

4.2.1 调试分析

(1)显示的数据秒并没有变化,原因是没有启动定时器,我有不断的读取DS1302时钟芯片寄存器中的数据,并显示才能实现所需要的功能,实时显示年、月、日、星期、分钟、小时、秒等基本功能来满足系统的需求。

(2)调整时间后应该先去掉写保护,如果存在写保护,那么在初始化写入初始时间时,是写不进去初始化的时间的。因而会看见显示的时间并不随着设置

的初始化的值变化而变化,甚至我们看见的时间并不按着一秒一秒的增加。

(3)液晶显示的时候,由于采用的并行总线,显然传输速度快,但是数据端口必须接1K的排阻,以实现驱动,实践证明,没有排阻的时候,液晶显示就会不稳定,甚至出现乱码。因此,排阻的作用很大。写程序时要严格按照时序就行,否则,也不会显示。

4.2.2调试和结论

经过多次反复修改程序,对电路各模块的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力.同时在软件的编程方面得到更到的提高,对所学的知识得到很大的提高与巩固.

5总结

通过这次制作使我了解了整个万年历的工作过程和各个部分的工作原理。使我认识到利用单片机设计的万年历便于操作。经过认真的仿真观察,本次设计的万年历能够正确的显示年、月、日等,总体来说算是比较成功的。

本次单片机课程设计是使用Protues设计工具、协同使用Keil编程软件制作的。这也使我又掌握了一门非常实用的软件,对于我以后的毕业设计算是又多了一个非常好的选择。在看同学编写程序的过程中我自己也学到了很多的东西,

对于一些Protues程序的不同用法和功能能够比较顺畅的读程序和简单的应用。

6参考文献

1 刘勇 编 数字电路 电子工业出版社 2004

2 陈正振 编 电子电路设计与制作 广西交通职业技术学院信息工程系 2007 3 杨子文 编 单片机原理及应用 西安电子科技大学出版社 2006

4 王法能 编 单片机原理及应用 科学出版社 2004

附录一:系统电路图

附录二:系统程序清单

#include <reg51.h> #include <intrins.h> #include <string.h> #define uint unsigned int #define uchar unsigned char

sbit IO= P1^0;

//DS1302数据线

sbit SCLK = P1 …… 此处隐藏:3171字,全部文档内容请下载后查看。喜欢就下载吧 ……

51单片机电子万年历设计带有proteus仿真(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/111015.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)