第一范文网 - 专业文章范例文档资料分享平台

51单片机电子万年历设计电路图及程序

来源:用户分享 时间:2025/5/26 3:10:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

AJMP GFLASHOUT GFLASH6:

MOV 73H,#0FH ;调分钟闪 MOV 72H,#0FH AJMP GFLASHOUT

;加一程序~~~~~~~~~~~~~~~~~~~~~~~~~

ADD1: MOV A,R7 ADD A,#1 DA A

RET

;减一程序~~~~~~~~~~~~~~~~~~~~~~~~~ JIAN1:

MOV A,R7 DEC A

CJNE A,#4FH,KK1 MOV A,#49H KK1:

CJNE A,#3FH,KK2 MOV A,#39H KK2:

CJNE A,#2FH,KK3 MOV A,#29H KK3:

CJNE A,#1FH,KK4 MOV A,#19H KK4:

CJNE A,#0FH,KK5 MOV A,#09H KK5:

RET

;分离程序~~~~~~~~~~~~~~~~~~~~~~~~~ DIVIDE: MOV A,R0 ANL A,#0FH MOV R1,A MOV A,R0 SWAP A ANL A,#0FH MOV R2,A

RET

;写1302程序~~~~~~~~~~~~~~~~~~~~~~~~~~

WRITE: CLR SCLK NOP SETB RST NOP MOV A,32H

MOV R4,#8 WRITE1:

RRC A ;送地址给1302 NOP NOP

CLR SCLK NOP NOP NOP MOV IO,C NOP

NOP NOP

SETB SCLK NOP

NOP

DJNZ R4,WRITE1 CLR SCLK NOP

MOV A,31H MOV R4,#8 WRITE2:

RRC A

NOP ;送数据给1302 CLR SCLK NOP NOP MOV IO,C NOP NOP NOP SETB SCLK NOP NOP

DJNZ R4,WRITE2

CLR RST RET

;读1302程序~~~~~~~~~~~~~~~~~~~~~~~~~ READ: CLR SCLK NOP NOP SETB RST NOP MOV A,32H MOV R4,#8

READ1:

RRC A ;送地址给1302 NOP

MOV IO,C NOP NOP NOP

SETB SCLK NOP NOP NOP

CLR SCLK NOP

NOP

DJNZ R4,READ1 MOV R4,#8

READ2:

CLR SCLK

NOP ;从1302中读出数据 NOP NOP

MOV C,IO NOP NOP NOP NOP NOP RRC A NOP NOP

NOP

NOP

SETB SCLK NOP

DJNZ R4,READ2

MOV 31H,A CLR RST

RET

;BCD码转换为10进制程序~~~~~

BCD_10: MOV A,R0

ANL A,#0FH

MOV R1,A ;高位×10, 加低位 MOV A,R0 SWAP A ANL A,#0FH MOV B,#10 MUL AB ADD A,R1 MOV R0,A

RET

;查一年数据程序~~~~~~~~~~~~~~~~

CHECKMONTH: LCALL BCD_10

;农历和公历为同一年,

;NEW此时R2中的值为FFH时,R3有值,否则为0 NEW: NOP

M1:

MOV A,R2 ;R2减一月天数 CLR C

SUBB A,#29 MOV R1,A MOV A,R6

JB ACC.6,SM11 MOV A,R2 CLR C SUBB A,#30 MOV R1,A SM11:

JC SM12

MOV A,R1 ;R2减1月天数,够减 MOV R2,A ;转二月

AJMP M2 SM12:

CJNE R3,#00H,M13 ;R2减1月天数

LJMP Y1 ;不够减,判R3为0否 M13:

MOV A,R2 ;不为0,R3加到R2中 ADD A,R3 ;再让一月减 MOV R2,A ;还不够,则转Y1 MOV R3,#00H

AJMP M1 M2:

CLR C ;R2减一月天数,够减 MOV A,R2 ;转三月 SUBB A,#29 MOV R1,A MOV A,R6 JB ACC.5,M21 MOV A,R2 CLR C

SUBB A,#30 MOV R1,A M21:

JC M22

MOV A,R1 ;R2减2月天数,够减 MOV R2,A AJMP MM2 M22:

CJNE R3,#00H,M23 ;R2减2月天数

LJMP Y2 ;不够减,判,R3为0否 M23:

MOV A,R2 ;不为0,R3加到R2中 ADD A,R3 ;再让二月减

MOV R2,A ;还不够,则转Y2 MOV R3,#00H

AJMP M2 MM2:

LCALL CHECKRE ;查2月,如果不为闰月 CJNE A,#02H,M3 ;转3月 RM2:

MOV A,R4 ANL A,#0FH

51单片机电子万年历设计电路图及程序.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6u50n4otyv3z01x0bcix_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top