数字万年历课程设计.docx

上传人:b****5 文档编号:7342593 上传时间:2023-01-23 格式:DOCX 页数:13 大小:542.33KB
下载 相关 举报
数字万年历课程设计.docx_第1页
第1页 / 共13页
数字万年历课程设计.docx_第2页
第2页 / 共13页
数字万年历课程设计.docx_第3页
第3页 / 共13页
数字万年历课程设计.docx_第4页
第4页 / 共13页
数字万年历课程设计.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数字万年历课程设计.docx

《数字万年历课程设计.docx》由会员分享,可在线阅读,更多相关《数字万年历课程设计.docx(13页珍藏版)》请在冰豆网上搜索。

数字万年历课程设计.docx

数字万年历课程设计

 

《数字万年历》

课程设计报告

 

专业:

自动化

班级:

*****

姓名:

*****

指导老师:

*****

 

二零一一年六月

 

摘要

在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都被时间影响着,我们必须对时间有个度量,因此设计万年历来记录时间,本设计采用AT89C51和DS1302实时时钟芯片进行万年历电路设计和软件设计,该万年历能实现能够实现年、月、日、时、分的显示,也可以人为校正时间,初始时间:

20000101。

本次设计以12MHZ晶振与AT89C51相连,通过编程实现以24小时为一周期,利用单片机的定时器和计数器产生定时效果,通过编程产生数字时钟效果,然后用数码管动态扫描显示内部处理的数据。

通过端口读入当前外部控制状态来改变程序的不同状态从而实现不同功能。

本次万年历设计以单片机为核心软硬件结合,使硬件部分大为简化,也提高了系统的稳定性。

 

关键词:

万年历单片机DS1302

 

一、方案的确定…………………………………………………………3

单片机芯片的选择方案…………………………………………………3

显示方案………………………………………………………………3

时钟芯片的选择方案…………………………………………………5

二、系统的硬件设计与实现………………………………………6

电路设计框图………………………………………………………6

主要单元电路的设计………………………………………………7

单片机主控制模块的设计……………………………………………7

时钟电路模块的设计………………………………………………8

三、系统的软件设计……………………………………………9

程序流程框图……………………………………………………9

电子时钟计算程序图…………………………………………10

调整流程图…………………………………………………11

程序设计………………………………………………………12

四、致谢词……………………………………………………15

参考文献………………………………………………………15

附录:

proteus仿真图……………………………………………16

 

一.方案的确定

单片机芯片的选择方案

方案1:

采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,实验室学生用的较多的也较为熟悉的处理单元。

方案2:

采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,但AT89S52性价比不高。

所以选择采用89C51作为主控制系统。

显示方案

方案一:

硬件方案:

采用51单片机作为控制单元,显示器采用6位LED数码管(共阳),可分别显示时间或日期;(通过KB键可切换),显示器的驱动采用动态扫描电路形式。

所需的驱动电流比静态驱动时要大,因此要增加驱动电路。

可采用74LS244或者晶体管;其中74ls244是用来驱动段选码,晶体管是驱动位选码。

软件方案:

“时钟”基准时间由单片机内部定时中断来提供,定时时间应该乘以一个整数得到“秒”,且不宜太长或太短,最长不能超过16位定时器的最长定时时间,最短不能少于定时中断服务程序的执行时间。

一般来说,基准时间越短,越有利于提高时钟运行的精确度。

本实验定时5ms乘以一个整数200得到1秒,用一个计数器(R4)对定时中断的次数进行计数,从而可以实现“秒”定时,同理可以实现“分”定时和“时”定时,甚至于“日”、“月”、“年”定时。

设计电路图如下图所示:

 

方案二:

硬件方案:

同样采用51单片机作为核心控制单元,采用7SEG-MPX6对时间进行显示,同时为了节省I/O口线采用MAX7221,

软件方案:

由于此方案也是采用51单片机作为控制单元,软件方案同方案一。

方案二设计的电路图如下图所示:

从电路图可以看出显示方案二比方案一要简单得多,看起来直观,硬件连接也相对容易,出错的几率也小得多。

因此采用方案二作为显示模块。

时钟芯片的选择方案

方案一:

直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。

采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。

所以不采用此方案。

方案二:

采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压~范围内,时耗电小于300nA。

二.系统的硬件设计与实现

电路设计框图:

89C51主控模块

主要单元电路的设计

晶振模块

显示模块

单片机主控制模块的设计

MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。

单片机的最小系统如下图所示,

时钟模块

时钟电路模块的设计

下图为DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。

在主电源关闭的情况下,也能保持时钟的连续运行。

DS1302由Vcc1或Vcc2两者中的较大者供电。

X1和X2是振荡源,外接32.768KHz晶振。

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。

上电动行时,在Vcc大于等于之前,RST必须保持低电平。

中有在SCLK为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。

SCLK始终是输入端。

 

三、系统的软件设计

程序流程框图

电子时钟计算程序图

调整流程图

程序设计

根据流程图的思路采用汇编语言编写程序,程序代码如下:

DSRSTBIT  

DSCLKBIT  

DSIOBIT

DINBIT

CSBIT  

CLKBIT  

D158EQU30H   

D70EQU31H   

ADDRESSEQU32h

CONTENTEQU33h

COMMANDEQU34h

SECONDequ35h

MINITEequ36h

HOURequ37h

ORG0000H

LJMPMAIN

ORG0030H

MAIN:

LCALLINTI7221  

LCALLINTI1302

LOOP:

LCALLREAD1302

LCALLCONVERT

LCALLDELAY

LCALLDISPLAY

LCALLDELAY

SJMPLOOP

           ;DS1302初始化

INTI1302:

MOVADDRESS,#8EH

MOVCONTENT,#00H

LCALLSENT_BYTE

MOVADDRESS,#90H

MOVCONTENT,#0A7H;慢充电寄存器

LCALLSENT_BYTE

READ1302:

MOVADDRESS,#81h

LCALLREV_BYTE

MOVSECOND,A

MOVADDRESS,#83h

LCALLREV_BYTE

MOVMINITE,A

MOVADDRESS,#85h

LCALLREV_BYTE

MOVHOUR,A

RET

SENT_BYTE:

CLRDSRST

CLRC

NOP

CLRDSCLK

NOP

SETBDSRST

MOVA,ADDRESS

MOVR3,#2

MOVR2,#8

LOOP0:

RRCA

MOVDSIO,C

SETBDSCLK

NOP

CLRDSCLK

DJNZR2,LOOP0

MOVA,CONTENT

MOVR2,#8

DJNZR3,LOOP0

CLRDSRST

RET

REV_BYTE:

PUSH02H

CLRDSRST

CLRC

CLRDSCLK

NOP

SETBDSRST

MOVA,ADDRESS

MOVR2,#8

RDDS0:

RRCA

MOVDSIO,C

SETBDSCLK

NOP

CLRDSCLK

DJNZR2,RDDS0

CLRA

MOVR2,#8

RDDS1:

MOVC,DSIO

RRCA

SETBDSCLK

NOP

CLRDSCLK

DJNZR2,RDDS1

CLRDSRST

POP02H

RET

CONVERT:

mova,hour

anla,#0f0h

swapa

mov40h,a

mova,hour

anla,#0fh

mov41h,a

mova,minite

anla,#0f0h

swapa

mov42h,a

mova,minite

anla,#0fh

mov43h,a

mova,second

anla,#0f0h

swapa

mov44h,a

mova,second

anla,#0fh

mov45h,a

ret

INTI7221:

MOVD158,#09H

MOVD70,#0FFH

LCALLWRITE

MOVD158,#0AH

MOVD70,#0EH

LCALLWRITE

MOVD158,#0BH

MOVD70,#05H

LCALLWRITE

MOVD158,#0CH

MOVD70,#01H

LCALLWRITE  

MOVD158,#0FH

MOVD70,#00H

LCALLWRITE

RET

DISPLAY:

MOVR6,#6

MOVR5,#0

movR0,#40h

DIGIT:

MOVA,R5

MOVDPTR,#TAB1

MOVCA,@A+DPTR

MOVD158,A

MOVD70,@R0

INCR0

LCALLWRITE

INCR5

DJNZR6,DIGIT

RET

ORG0250H

WRITE:

CLRCS

MOVA,D158

MOVR3,#2

LOOP00:

MOVR2,#8

LOOP11:

CLRCLK

RLCA

MOVDIN,C

SETBCLK

DJNZR2,LOOP11

MOVA,D70

DJNZR3,LOOP00

SETBCS  

RET

TAB1:

DB01H,02H,03H,04H,05H,06H

TAB2:

DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H

;time:

1ms

;12MHz

DELAY:

MOVR7,#200

DEL0:

MOVR6,#243

DJNZR6,$

DJNZR7,DEL0

RET

END

致谢词

感谢学院给我们提供了一个展现自己的舞台,给我们一次难得煅炼的机会,使得我们的动手能力和专业技能都有了很大的提高。

在做作品的日子里得到了张晓虎老师的悉心指导,在此向我们的指导教师致以诚挚的谢意。

感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我们对这次的作品完成有了信心和动力,也给了我们很多无私的帮助和支持,我们在此深表谢意。

 

参考文献

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

2陈正振编电子电路设计与制作广西交通职业技术学院信息工程系2007

3杨子文编单片机原理及应用西安电子科技大学出版社2006

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

 

附:

proteus仿真图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 理学

copyright@ 2008-2022 冰豆网网站版权所有

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