电子钟 万年历 程序 毕业设计.docx

上传人:b****2 文档编号:2466595 上传时间:2022-10-29 格式:DOCX 页数:59 大小:23.14KB
下载 相关 举报
电子钟 万年历 程序 毕业设计.docx_第1页
第1页 / 共59页
电子钟 万年历 程序 毕业设计.docx_第2页
第2页 / 共59页
电子钟 万年历 程序 毕业设计.docx_第3页
第3页 / 共59页
电子钟 万年历 程序 毕业设计.docx_第4页
第4页 / 共59页
电子钟 万年历 程序 毕业设计.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

电子钟 万年历 程序 毕业设计.docx

《电子钟 万年历 程序 毕业设计.docx》由会员分享,可在线阅读,更多相关《电子钟 万年历 程序 毕业设计.docx(59页珍藏版)》请在冰豆网上搜索。

电子钟 万年历 程序 毕业设计.docx

电子钟万年历程序毕业设计

SCLKEQUP3.2

IOEQUP3.3

RSTEQUP3.4

YEARDATA66H

MONTHDATA65H

WEEKDATA64H

DAYDATA63H

HOURDATA62H

MINTUEDATA61H

SECONDDATA60H

DS1302_ADDRDATA32H

DS1302_DATADATA31H

ORG0000H

AJMPSTART

ORG0003H

RETI

ORG000BH

RETI

ORG0013H

RETI

ORG001BH

LJMPINTT1

ORG0023H

RETI

ORG002BH

RETI

START:

SETBEA;;初值

MOVSCON,#00H;串行输出,方式0

MOVTMOD,#10H;计数器1,方式1

MOVTL1,#00H

MOVTH1,#00H

MOVDS1302_ADDR,#8EH;允许写1302

MOVDS1302_DATA,#00H

LCALLWRITE

MOVDS1302_ADDR,#90H

MOVDS1302_DATA,#0A6H;1302充电,充电电流1.1MA

LCALLWRITE

MAIN1:

MOVDS1302_ADDR,#8DH;;主程序,读出年

LCALLREAD

MOVYEAR,DS1302_DATA

MOVDS1302_ADDR,#8BH;读出星期

LCALLREAD

MOVWEEK,DS1302_DATA

MOVDS1302_ADDR,#89H;读出月

LCALLREAD

MOVMONTH,DS1302_DATA

MOVDS1302_ADDR,#87H;读出日

LCALLREAD

MOVDAY,DS1302_DATA

MOVDS1302_ADDR,#85H;读出小时

LCALLREAD

MOVHOUR,DS1302_DATA

MOVDS1302_ADDR,#83H;读出分钟

LCALLREAD

MOVMINTUE,DS1302_DATA

MOVDS1302_ADDR,#81H;读出秒

LCALLREAD

MOVSECOND,DS1302_DATA

MOVR0,YEAR;~~~~~~~~~~~~分离缓存~~~~~~~~

LCALLDIVIDE;年分离,送显示缓存

MOV7BH,R1

MOV4BH,R1

MOV7CH,R2

MOV4CH,R2

MOV78H,WEEK

MOV48H,WEEK

MOVR0,MONTH;月分离,送显示缓存

LCALLDIVIDE

MOV79H,R1

MOV49H,R1

MOV7AH,R2

MOV4AH,R2

MOVR0,DAY;日分离,送显示缓存

LCALLDIVIDE

MOV76H,R1

MOV46H,R1

MOV77H,R2

MOV47H,R2

MOVR0,HOUR;小时分离,送显示缓存

LCALLDIVIDE

MOV74H,R1

MOV44H,R1

MOV75H,R2

MOV45H,R2

MOVR0,MINTUE;分钟分离,送显示缓存;;

LCALLDIVIDE

MOV72H,R1

MOV42H,R1

MOV73H,R2

MOV43H,R2

MOVR0,SECOND;秒分离,送显示缓存

LCALLDIVIDE

MOV70H,R1

MOV40H,R1

MOV71H,R2

MOV41H,R2

LCALLDISPLAY

LCALLGENGXIAN;调用更新农历程序

JNBP1.2,NUM

JNBP1.1,SETG

JNBF0,SSS

CLRP1.3;非闰月,则p0.4清零,指示灯亮

LJMPMAIN1

SSS:

SETBP1.3;闰月,则p0.4置位,指示灯不亮

LJMPMAIN1

NUM:

MOVMONTH,#0AAH

MOVHOUR,#0AAH

MOVMINTUE,#0AAH

MOVSECOND,#04H

MOVR0,MONTH

LCALLDIVIDE

MOV79H,R1

MOV49H,R1

MOV7AH,R2

MOV4AH,R2

MOVR0,HOUR

LCALLDIVIDE

MOV74H,R1

MOV44H,R1

MOV75H,R2

MOV45H,R2

MOVR0,MINTUE

LCALLDIVIDE

MOV72H,R1

MOV42H,R1

MOV73H,R2

MOV43H,R2

MOVR0,SECOND

LCALLDIVIDE

MOV70H,R1

MOV40H,R1

MOV71H,R2

MOV41H,R2

LCALLDISPLAY

JNBP1.2,NUM

LJMPMAIN1

SETG:

SETBTR1

SETBET1;公历设置程序~~~~~~~~~~~~~~~~~~~~~

CLR08H

CLR09H

CLR0AH

CLR0BH

CLR0CH

CLR0DH

CLR0EH

CLR0FH

MOVDS1302_ADDR,#8EH

MOVDS1302_DATA,#00H;允许写1302

LCALLWRITE

MOVDS1302_ADDR,#80H

MOVDS1302_DATA,#80H

LCALLWRITE;1302停止振荡

GWAIT:

LCALLDISPLAY

JNBP1.1,GWAIT

SETG1:

LCALLDISPLAY

JNBP1.1,SETG2

JNBP1.2,GADDYEAR

AJMPSETG1

GADDYEAR:

MOVR7,66H;年加一

LCALLADD1

MOV66H,A

CJNEA,#51H,GADDYEAR1

MOV66H,#01H

GADDYEAR1:

MOVDS1302_ADDR,#8CH;年值送人1302

MOVDS1302_DATA,66H

LCALLWRITE

MOVR0,66H

LCALLDIVIDE;年分离送显示缓存

MOV4BH,R1

MOV7BH,R1

MOV4CH,R2

MOV7CH,R2

WAITT1:

LCALLDISPLAY

JNBP1.2,WAITT1

AJMPSETG1

SETG2:

SETB0AH;调月时闪标志

GWAIT2:

LCALLDISPLAY

JNBP1.1,GWAIT2

SETG3:

LCALLDISPLAY

JNBP1.1,SETG4

JNBP1.2,GADDMONTH

AJMPSETG3

GADDMONTH:

MOVR7,65H;月加一

LCALLADD1

MOV65H,A

CJNEA,#13H,GADDMONTH1

MOV65H,#01H

GADDMONTH1:

MOVDS1302_ADDR,#88H;月值送人1302

MOVDS1302_DATA,65H

LCALLWRITE

MOVR0,65H

LCALLDIVIDE;月分离,送显示缓存

MOV79H,R1

MOV49H,R1

MOV7AH,R2

MOV4AH,R2

WAITT2:

LCALLDISPLAY

JNBP1.2,WAITT2

AJMPSETG3

SETG4:

SETB0BH;调日时闪标志

GWAIT4:

LCALLDISPLAY

JNBP1.1,GWAIT4

SETG5:

LCALLDISPLAY

JNBP1.1,SETG6

JNBP1.2,GADDDAY

AJMPSETG5

GADDDAY:

MOVR7,63H;日加一

LCALLADD1

MOV63H,A

CJNEA,#32H,GADDDAY1

MOV63H,#01H

GADDDAY1:

MOVDS1302_ADDR,#86H;日值送人1302

MOVDS1302_DATA,63H

LCALLWRITE

MOVR0,63H

LCALLDIVIDE;日分离,送显示缓存

MOV76H,R1

MOV46H,R1

MOV77H,R2

MOV47H,R2

WAITT3:

LCALLDISPLAY

JNBP1.2,WAITT3

AJMPSETG5

SETG6:

SETB0CH;调星期时闪标志

GWAIT6:

LCALLDISPLAY

JNBP1.1,GWAIT6

SETG7:

LCALLDISPLAY

JNBP1.1,SETG8

JNBP1.2,GADDWEEK

AJMPSETG7;星期加一

GADDWEEK:

MOVR7,64H

LCALLADD1

MOV64H,A

CJNEA,#08H,GADDWEEK1

MOV64H,#01H

GADDWEEK1:

MOVDS1302_ADDR,#8AH

MOVDS1302_DATA,64H;星期值送人1302

LCALLWRITE

MOVR0,64H

LCALLDIVIDE;星期值分离送显示缓存

MOV48H,R1

MOV78H,R1

WAITT4:

LCALLDISPLAY

JNBP1.2,WAITT4

AJMPSETG7

SETG8:

SETB0DH;调小时时闪标志

GWAIT8:

LCALLDISPLAY

JNBP1.1,GWAIT8

SETG9:

LCALLDISPLAY

JNBP1.1,SETG10

JNBP1.2,GADDHOUR

AJMPSETG9

GADDHOUR:

MOVR7,62H;小时加一

LCALLADD1

MOV62H,A

CJNEA,#24H,GADDHOUR1

MOV62H,#00H

GADDHOUR1:

MOVDS1302_ADDR,#84H;小时值送人1302

MOVDS1302_DATA,62H

LCALLWRITE

MOVR0,62H

LCALLDIVIDE;小时值分离送显示

MOV74H,R1

MOV44H,R1

MOV75H,R2

MOV45H,R2

WAITT5:

LCALLDISPLAY

JNBP1.2,WAITT5

AJMPSETG9

SETG10:

SETB0EH;调分时候闪标志

GWAITT10:

LCALLDISPLAY

JNBP1.1,GWAITT10

SETG11:

LCALLDISPLAY

JNBP1.1,SETGOUT

JNBP1.2,GADDMINTUE

AJMPSETG11

GADDMINTUE:

MOVR7,61H;分钟加一

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

当前位置:首页 > 医药卫生 > 基础医学

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

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