返回雅虎首页
雅虎数码 > 业界 > IT产业 > 正文

DS1302+AT89S51构成的万年历三(1)

  • 2007-05-22 13:36:05
  • 点击:0
  • 评论:0
  • 好评:0
  • 坏评:0
  • 第2页/共5页 << 上一页 | 下一页 >>
侠客:yanchen.zhu
“雅虎侠客”经典推荐文章
专题:足球明星都用什么手机?
专题:搜寻电影中的明星手机
专题:谴责五大品牌坑人手机
专题:数码!美女!谁更诱惑?
专题:诺基亚全面展开夏季攻势
【参赛】五一电脑城购物心得
【参赛】美丽的青海湖 清凉一夏的诱惑
【参赛】恒基伟业手机—又一胡师傅?
【参赛】如何鉴别行、欧水、港行机子
【参赛】睁开慧眼,看服务提供商的黑招

;入口信息:
;
出口信息:
;
影响资源:
;
占用资源:
;**************************************************************
INIT: CLR SCLK
CLR RST
MOV SEC_SG,#10001110B;OPEN WRITE PROTECTION
MOV MIN_SG,#00000000B;
MOV R0,#SEC_SG;
LCALL WR_DS1302;
MOV SEC_SG,#10010000B;TRICKLE CHARGER,SELECT R1=2K;
MOV MIN_SG,#10100101B;SELECT R1=2K,ONE DIODE.
MOV R0,#SEC_SG;
LCALL WR_DS1302;
RET
;*************************************************************
;
把八位的地址和数据一位一位的传送 到DS1302
;
入口信息:
;
出口信息:
;
影响资源:
;
占用资源:
;************************************************************
WR_DS1302: CLR SCLK;SET SCLK=0;
NOP
SETB RST ;SELECT DS1302/SET RST=1.
NOP
NOP
MOV R7,#2
WRD1302: MOV R6,#8
MOV A,@R0
CLR C
WR1302: CLR SCLK
RRC A
MOV IO,C
NOP
SETB SCLK
DJNZ R6,WR1302;
等八位都送完
DEC R0
DJNZ R7,WRD1302;
等地址和数据都送完
CLR RST
NOP
CLR SCLK
RET
;************************************************************
;
第一个键的子程序
;
入口信息:
;
出口信息:
;
影响资源:
;
占用资源:
;***********************************************************
KEY_1: JB P1.3,END_KEY_1;P1.3=1
表示KEY_1没有键按下
ACALL SHANDONG_YANSI;
JNB P1.3,END_KEY_1;
等待键松开
LCALL DI_DA;
INC KEY_1_TIMES;KEY_1_TIMES
里的内容表示KEY_1按了几次.
MOV TIME_1,#00H;
MOV A,KEY_1_TIMES;
CJNE A,#15,END_KEY_1;
MOV KEY_1_TIMES,#00H;
MOV YEAR_Q,#2;
MOV YEAR_B,#0;
END_KEY_1: RET;
;***********************************************************
;
第二个键的子程序
;
入口信息:
;
出口信息:
;
影响资源:
;
占用资源:
;**********************************************************
KEY_2: JB P3.2,END_KEY_2_2; P3.2=1
表示KEY_2没有键按下
ACALL SHANDONG_YANSI;
JB P3.2,END_KEY_2_2;
LCALL DI_DA;
MOV TIME_1,#00H;
MOV A,KEY_1_TIMES;
TIMES_2_0: CJNE A,#0,TIMES_2_1;
MOV A,LIANG_DU;
CJNE A,#1,LIANG_DU_NO_1;
CLR C;
ADDC A,#3;
MOV LIANG_DU,A;
SJMP LIANG_DU_NO_142;
LIANG_DU_NO_1: NOP;
CJNE A,#4,LIANG_DU_NO_41;
CLR C;
ADDC A,#10;
MOV LIANG_DU,A;
SJMP LIANG_DU_NO_142;
LIANG_DU_NO_41: NOP;
CJNE A,#14,LIANG_DU_NO_141;
CLR C;
ADDC A,#100;
MOV LIANG_DU,A;
SJMP LIANG_DU_NO_142;
LIANG_DU_NO_141: NOP;
CJNE A,#114,LIANG_DU_NO_142;
MOV LIANG_DU,#1H;
LIANG_DU_NO_142:
LCALL READ_SEC;
LCALL DBCD_SBCD;
LCALL DISPLAY;
JNB P3.2,LIANG_DU_NO_142;
MOV R0,#LIANG_DU;CPU_RAM
中的块数据的首地址(从高地址开始)
MOV R7,#1;
1位数需要写
MOV B,#11001110B;DS1302
中的块数据的首地址(从低地址开始)
LJMP TIMES_1;

END_KEY_2_2: LJMP END_KEY_2;

TIMES_2_1: CJNE A,#1,TIMES_2_2;

  • 点击:0
  • 评论:0
  • 好评:0
  • 坏评:0

最新评论

内容 网友 时间

发表评论

您必须登陆后发表评论
登录  新用户?注册