电子万年历设计报告Word文档格式.docx
- 文档编号:18989848
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:32
- 大小:208.77KB
电子万年历设计报告Word文档格式.docx
《电子万年历设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《电子万年历设计报告Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
班级姓名学号
成绩:
分(折合等级)
指导教师签字年月日
摘要……………………………………………………………………Ⅰ
Abstract……………………………………………………………….Ⅰ
1绪论(课题背景、概述、目的)…………………………………..1
2设计要求与方案论述……………………………………………….3
2.1设计要求…………………………………………………………...3
2.2创新要求………………………………………………………….3
2.3系统的方案选择…………………………………………………...3
2.4电路设计最终方案……..………………………………….…….5
3系统的硬件设计与实现…………………………………………….6
3.1电路设计框图……………………………………………………...6
3.2硬件设计原理概述………………………………………………..6
3.3主要模块的设计…………………………………………………..6
4系统的软件设计与实现…………………………………………….10
4.1程序流程框图…………………………………………….……….10
4.2程序的设计………………………………………………………..10
5总结………………………………………………………………...14
参考文献……………………………………………………………..15
附录1硬件电路全图…………………………………………………16
附录2程序……………………………………………………………17
摘要
本设计基于AT89s51单片机,结合DS1302时钟芯片设计了一个数字万年历,显示部分用数码管动态显示,初始时间可由按键设置,此外还具有温度显示功能,掉电保护功能。
万年历还具有节能模式,具有很强的实用性。
关键词:
单片机万年历数码管显示温度
Abstract
ThispaperisdesignedbasedontheAT89s52SCM,CombiningDS1302clockchip.Displaysectionisusingdigitaltubedynamicdisplay;
Initialtimecanbesetbythebutton;
Inaddition,ithasthetemperaturedisplayfunctionandthepower-offprotectedfunction.Besides,ithasenergysavingmode;
ThiscalendarhasstrongDigitaltubedisplaypracticability.
Keywords:
scm;
calendar;
digitaltubedisplay;
temperaturedisplay
1绪论
1.1设计背景
电子万年历是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。
数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。
钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的万年历精度高,功能易于扩展。
可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。
所有这些,都是以钟表数字化为基础的。
因此,研究数字时钟及扩大其应用有着非常现实的意义。
本设计就是数字时钟简单的扩展应用。
万年历的设计过程在硬件与软件方面进行同步设计。
1.2硬件部分
硬件部分主要由AT89S52单片机,LED显示电路,以及调时按键电路等组成。
在单片机的选择上使用AT89S52单片机,该单片机适合于许多较为复杂控制应用场合。
采用4-16译码器作为选择端,控制共阴数码管动态显示,结合时钟芯片DS1302和温度传感器18B20显示时间和温度。
制作前在Proteus软件中嵌入单片机内进行仿真可以更好的进行硬件布局。
1.3软件部分
软件方面主要包括日历程序、时间调整程序,显示程序等。
程序采用C语言编写,以便更简单地实现调整时间及阴历显示功能。
所有程序编写完成后,在keil软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
2设计要求与方案论证
2.1设计要求:
2.1.1具有年、月、日、星期、时、分、秒等功能;
2.1.2万年历具有闰月识别显示功能;
2.1.3具备年、月、日、星期、时、分、秒校准功能;
2.2创新要求
2.2.1万年历具有阴历显示功能;
2.2.2具有测量室内温度功能;
2.3系统基本方案选择和论证
2.3.1单片机芯片的选择方案和论证:
方案一:
采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二:
采用AT89S52,片内ROM全都采用FlashROM;
能以3V的超底压工作;
同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
所以选择采用AT89S52作为主控制系统.
2.3.2显示模块选择方案和论证:
方案一:
采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.
方案二:
采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案三:
采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
所以采用了LED数码管作为显示。
2.3.3时钟芯片的选择方案和论证:
直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。
采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。
所以不采用此方案。
采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电小于300nA.
2.4电路设计最终方案
综上各方案所述,对此次作品的方案选定:
采用AT89S52作为主控制系统;
DS1302提供时钟;
数字式温度传感器;
LED数码管动态扫描作为显示。
3.系统的硬件设计与实现
3.1电路设计框图
图2.1电路设计框图
3.2系统硬件概述
本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;
时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
温度的采集由DS18B20构成;
显示部份由17个数码管,74ls154译码器构成。
使用动态扫描显示方式对数字的显示。
3.3主要模块的设计
3.3.1单片机主控制模块的设计
AT89S52单片机为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引脚为电源端.如图3.3.1所示
图3.3.1主控制系统
3.3.2时钟电路模块的设计
图3.3.2示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768KHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;
其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。
中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。
SCLK始终是输入端。
图3.3.2DS1302的引脚图
3.3.3温度传感器模块
图3.3.318B20的引脚图
3.3.4显示模块的设计
如图3.3.4所示,采用动态扫描显示,由17个数码管,4-16译码器74LS154接1K限流电阻接到共阴数码管的CoM端作为选通位码,每位选择相应的列,P0口输出数据再接9013三极管送达数码管。
图3.3.4显示模块
4.系统的软件设计
4.1程序流程框图
图4.1程序流程框图
4.2子程序的设计
4.2.1读、写DS1302子程序
unsignedcharDS1302OutputByte(void)//实时时钟读取一字节(内部函数)
voidDS1302InputByte(unsignedchard)//实时时钟写入一字节(内部函数)
unsignedcharRead1302(unsignedcharucAddr)//读取DS1302某地址的数据
voidWrite1302(unsignedcharucAddr,unsignedcharucDa)//ucAddr:
DS1302地址,ucData:
要写的数据
voidWrite1302(unsignedcharucAddr,unsignedcharucDa)
Write1302(0x8e,0x00);
//允许写入
Write1302(0x8c,num);
//写入year
Write1302(0x8e,0x80);
//禁止写操作
4.2.2读18b20子程序
//读取温度
unsignedcharReadTemperature(void)
{
unsignedchara=0;
unsignedcharb=0;
unsignedchart=0;
Init_DS18B20();
WriteOneChar(0xCC);
//跳过读序号列号的操作
WriteOneChar(0x44);
//启动温度转换
delay_18b20(200);
//跳过读序号列号的操作
WriteOneChar(0xBE);
//读取温度寄存器等(共可读9个寄存器)前两个就是温度
a=ReadOneChar();
b=ReadOneChar();
b<
<
=4;
b+=(a&
0xf0)>
>
4;
t=b;
return(t);
}
4.2.3显示模块子程序
voiddisplay()
//年
P2=0xf0;
P0=seg[2];
delay
(1);
4.2.4按键子程序
图4.2.4按键子程序流程图
5总结
在整个设计过程中,发挥团队精神,分工合作,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。
较好的完成了作品。
达到了预期的目的,在最初的设计中,相互学习、相互讨论、研究,完了最初的设想。
在电路焊接时虽然没什么大问题,但从中也知道了焊接在整个作品中的重要性,电路工程量大,不能心急,一个个慢慢来不能急于求成。
对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。
程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,和同组员的讨论,理清了思路。
在此次设计中,知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。
也练就了我们的耐心,做什么事都在有耐心。
致谢:
感谢学院给我们提供了一个展现自己的舞台,给我们一次难得煅炼的机会,使得我们的动手能力和专业技能都有了很大的提高。
感谢给我帮助的老师和同学,在你们的帮助下我才能完成这次设计。
参考文献
1.张齐,朱宁西单片机系统设计与开发华南理工大学电子机械出版社.2008
2.陈正振电子电路设计与制作广西交通职业技术学院信息工程系.2007
3.张友德,赵志英,涂时亮单片微型机复旦大学复旦大学出版社.2006
4.谭浩强.C程序设计(第三版).北京:
清华大学出版社.2005
5.谭浩强.C程序设计题解与上机指导(第三版).北京:
6.徐慧林锐C语言实例解析精粹.武汉:
华中理工大学出版社.1996
7.戴建鹏译C语言大全(第三版).北京:
电子工业大学出版社.1994
8.杨恢先,黄辉先单片机原理及应用人民邮电出版社.2006
附录1硬件电路全图
附录2程序
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
sbitDS1302_CLK=P1^1;
//实时时钟时钟线引脚
sbitDS1302_IO=P1^0;
//实时时钟数据线引脚
sbitDS1302_RST=P1^2;
//实时时钟复位线引脚
sbitDQ=P1^4;
//18B20接口
sbitmode=P3^4;
sbitinc=P3^5;
sbitdec=P3^6;
sbitpower=P3^7;
sbitweek_wei=P1^5;
//星期位选
sbitencode=P1^6;
//译码器使能
sbitACC0=ACC^0;
//累加器位定义
sbitACC7=ACC^7;
ucharcodeseg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchartemp,year,month,date,hour,minute,second,week,position;
bitflag;
//开关显示标志
/*********************延时ms***********************/
voiddelay(uintz)
uintx,y;
for(x=z;
x>
0;
x--)
for(y=112;
y>
y--);
/***********************************************************
******************DS1302驱动程序******************
************************************************************/
{
unsignedchari;
ACC=d;
for(i=8;
i>
i--)
{
DS1302_IO=ACC0;
//相当于汇编中的RRC
DS1302_CLK=1;
DS1302_CLK=0;
ACC=ACC>
1;
}
1;
//相当于汇编中的RRC
ACC7=DS1302_IO;
return(ACC);
DS1302_RST=0;
DS1302_RST=1;
DS1302InputByte(ucAddr);
//地址,命令
DS1302InputByte(ucDa);
//写1Byte数据
}
unsignedcharucData;
DS1302InputByte(ucAddr|0x01);
//地址,命令
ucData=DS1302OutputByte();
//读1Byte数据
return(ucData);
voidDS1302_init()
if(Read1302(0xc1)!
=0xf0)
{
Write1302(0x8e,0x00);
//允许写操作
Write1302(0xc0,0xf0);
//写入初始化标志,系统上电后检测此标志,即此子函数只会在第一次初始化一次。
/******时间初始值******/
Write1302(0x8c,0x10);
Write1302(0x88,0x04);
//月
Write1302(0x86,0x06);
//日
Write1302(0x84,0x22);
//时
Write1302(0x82,0x59);
//分
Write1302(0x80,0x55);
//秒
Write1302(0x90,0xa4);
//充电
Write1302(0x8e,0x80);
//禁止写操作
}
******************DS18B20驱动程序******************
/*************************************************************************************/
voiddelay_18b20(unsignedinti)//延时函数
while(i--);
/***************************************************************************************/
//18b20初始化函数
voidInit_DS18B20(void)
unsignedcharx=0;
DQ=1;
//DQ复位
delay_18b20(8);
//稍做延时
DQ=0;
//单片机将DQ拉低
delay_18b20(80);
//精确延时大于480us
//拉高总线
delay_18b20(10);
x=DQ;
//稍做延时后如果x=0则初始化成功x=1则初始化失败
delay_18b20(5);
//读一个字节
unsignedcharReadOneChar(void)
unsignedchari=0;
unsignedchardat=0;
for(i=8;
i>
i--)
//给脉冲信号
dat>
=1;
if(DQ)
dat|=0x80;
}
return(dat);
//写一个字节
voidWriteOneChar(unsignedchardat)
unsignedchari=0;
for(i=8;
DQ=dat&
0x01;
delay_18b20(5);
//启动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 万年历 设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)