"景先生毕设|www.jxszl.com

单片机的电子万年历设计

2020-12-07 22:15编辑: www.jxszl.com景先生毕设
一、引 言 1
二、总体设计 1
(一)总体设计思想 1
(二)方案论证 1
1单片机芯片的选择方案和论证: 1
2 显示模块选择方案和论证: 1
3时钟芯片的选择方案和论证: 2
4温度传感器的选择方案与论证: 2
三、硬件设计 2
(一)硬件总体设计 2
(二)单片机主控制模块的设计 3
(三)时钟电路模块的设计 3
(四)温度采集模块设计 4
(五)显示模块的设计 5
四、软件设计 6
(一)各部分的软件框图和程序 6
1. 程序设计 6
2. 计算阳历程序流程图 7
3.时间调整程序流程图 7
4.阴历程序流程图 9
总结 9
致谢 10
参考文献 10
附录 11
附录一电路原理图 11
附录二源程序 12
一、引 言
本文提出了一种基于AT89C52单片机的时钟设计方案,本方案以AT89C52单片机作为主控核心,和时钟芯片、按键、DS1302、LED显示的等模块组成的硬件系统。在硬件系统中设有独立按键和LED显示器,能显示丰富的信息,结合使用者的需要和可以及时对选择时间、时间进行校准等,符合电子仪器仪表的发展趋势,结合所述此电子时钟的具有读取的方便、功能多样、电路简洁、价钱低廉、显示直观等诸多优点,具有广阔的市场前景。
二、总体设计
(一)总体设计思想
本课题的主要思想是以AT89C52单片机为核心,由DS1302时钟芯片提供时钟、LED动态扫描显示 *51今日免费论文网|www.jxszl.com +Q: ^351916072
屏显示。数字显示是采用的LED显示屏来显示。
电子万年历的设计过程在硬件与软件方面使用同步设计。硬件部分主要由AT89C52单片机,调时按键电路,以及LED显示电路等组成。
(二)方案
1单片机芯片
采用AT89C52,能以3V的超底压工作;片内ROM全都采用Flash ROM;也与MCS-51系列单片机完全该芯片内部存储器为8K 存储空间,同样有89C51的功能,在对电路进行调试时,因程序的错误修改或对程序的新增功能需要烧入程序时,不需对芯片多次拔插,不会对芯片造成损坏。
所以选择AT89C52为主控制系统.
2 显示模块
采用LED数码管动态扫描, 对于显示数字最合适,LED数码管价格适中,且采用动态扫描与单片机连接时,占用单片机口线少。
所以采用LED数码管为显示。
3时钟芯片
采用DS1302时钟芯片实现时钟,DS1302芯片是高性能时钟芯片,精度高, 可自动对秒、分、时、日、等补偿的年进行计数,工作电压2.5V~5.5V范围,位的RAM做为数据暂存区。
4温度传感器
数字式温度传感器DS18B20,此传感器为数字式传感器且仅需一条数据线进行数据传输,可以去除A/D模块,降低硬件成本,简化系统电路,易于与单片机连接。数字式温度传感器具有测量精度高、测量范围广等优点。
三、硬件设计
(一)硬件总体设计
电路是以AT89C52单片机为核心,时钟电路DS1302提供,是使用突发方式一次传的送多个字节的RAM数据和时钟信号,使用三线接口与CPU进行同步通信。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。温度的采集由DS18B20构成;显示部份由21个数码管,74ls138、74ls47译码器构成。使用动态扫描显示方式对数字的显示。
硬件总体框图如图3-1所示。
图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接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2外接微调电容和晶振的另一端,片内是振荡器倒相放大器输出.第9引脚接上电容,为复位输入端,第20引脚接接地端,第40引脚接电源端.
AT89C52单片机的主控制部分如图3-2所示
图3-2 AT89S52单片机的主控制部分
(三)时钟电路模块的设计
图3-2示出DS1302的引脚排列,在中Vcc2为主电源,Vcc1应该后备电源。在主电源关闭的情况2下,还能保持时钟的连续运行。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768KHz晶振。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;引脚RST供终止单字节或多字节的传送。RST为高电平,当所有数据传送被初始化,可以允许对DS1302进行操作。在传送过程中RSTS为低电平,即终止此次数据传送,因此引脚I/O变为高阻态
图3-2所示 DS1302的引脚图
(四)温度采集模块设计
如下图,用DS18B20数字温度传感器,具有测量精度高,是数字式温度传感器,电路连接简单,用DS18B20的I/O口与P0.7连接加一个上拉电阻。DS18B20温度采集连接如下所示:
图3-3 DS18B20温度采集
(五)显示模块的设计
如下图所示,用3-8译码器,21个数码管接1K限流电阻,8550三极管接到共阳数码管的CoM端作为选通位码,每位选择相应的列。74ls47接240Ω限流电阻,再接共行的LED数码管的断码。
该连接电路如下图3-4所示
图3-4 LED动态扫描显示
四、软件设计
(一)各部分的软件框图和程序
1. 程序设计
图4-1 主程序流程框图
2. 计算阳历程序流程图
图4-2计算阳历程序流程图
3.时间调整程序流程图
图4-3时间调整程序流程图
4.阴历程序流程图
char table[]={0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
void main()
{ds1302_write(0x80,0x55);
rst=1;
temp=comm;
if(dat==1)
temp=temp|0x80;
else temp=temp&0x7f;

原文链接:http://www.jxszl.com/dzxx/txgc/29477.html