![]() |
|
||||||||||||||
| | 网站首页 | 综合电子 | 51单片机 | AVR单片机 | ARM专栏 | MSP430 | 网上商城 | PSOC | 下载中心 | 公司事项 | DSP专栏 | | ||
|
||
|
|||||
| DS1302子程序(时钟芯片) | |||||
| DS1302子程序(时钟芯片) | |||||
作者:admin 51单片机来源:网络 点击数: 更新时间:2007-8-4 ![]() |
|||||
|
;说明: ;入口条件: 日(30H) 月(31H) 年(32H) ; 秒(30H) 分(31H) 时(32H) ; 星期(30H) ;出口信息: 日(30H) 月(31H) 年(32H) ; 秒(30H) 分(31H) 时(32H) ; 星期(30H) ;影响资源:PSW、R7、A 堆栈需求: 6字节 DS_SCK BIT P1.6 DS_RST BIT P3.5 DS_IO BIT P1.7 READ_HMS: ;读时钟芯片的时分秒 CLR DS_IO JB DS_IO, READ_HMS_END MOV A, #81H LCALL DS_READ1 MOV 30H, A MOV A, #83H LCALL DS_READ1 MOV 31H, A MOV A, #85H LCALL DS_READ1 MOV 32H, A CLR DS_RST MOV A, 30H CLR C SUBB A, #60H JC READ_HMS_END MOV 30H, #00H LCALL SET_HMS READ_HMS_END: RET READ_WEEK: ;读时钟芯片的星期 CLR DS_IO JB DS_IO, READ_WEEK_END MOV A, #8BH LCALL DS_READ1 MOV 32H, A READ_WEEK_END: RET DS_SEND1: CLR DS_RST CLR DS_SCK NOP NOP NOP SETB DS_RST LCALL DS_SEND MOV A, 10H LCALL DS_SEND RET SET_YMD: ;去除写保护----写时钟芯片的年月日 MOV A, #8EH MOV 10H, #00H LCALL DS_SEND1 MOV A, #8CH MOV 10H, 32H LCALL DS_SEND1 MOV R0, #86H MOV R1, #30H MOV R6, #02H LJMP NEXT_WRITE_SP RET SET_HMS: ;去除写保护-----写时钟芯片的时分秒 MOV A, #8EH MOV 10H, #00H LCALL DS_SEND1 MOV R0, #80H MOV R1, #30H MOV R6, #03H LJMP NEXT_WRITE_SP SET_WEEK: ;写时钟芯片的星期 MOV A, #8EH MOV 10H, #00H LCALL DS_SEND1 MOV A, #8AH MOV 10H, 30H LCALL DS_SEND1 RET NEXT_WRITE_SP: MOV A, R0 MOV 10H, @R1 LCALL DS_SEND1 INC R0 INC R0 INC R1 DJNZ R6, NEXT_WRITE_SP MOV A, #8EH ;打上写保护 MOV 10H, #80H LCALL DS_SEND1 CLR DS_RST RET NEXT_READ_SP: MOV A, R1 LCALL DS_READ1 MOV @R0, A INC R1 INC R1 INC R0 DJNZ R6, NEXT_READ_SP CLR DS_RST RET READ_YMD: ;读时钟芯片的年月日 MOV A, #8DH LCALL DS_READ1 MOV 32H, A MOV R1, #87H MOV R6, #02H MOV R0, #30H LJMP NEXT_READ_SP RET DS_SEND: ;发命令 MOV R7, #08H NEXT_BIT: NOP NOP NOP RRC A MOV DS_IO, C SETB DS_SCK NOP NOP NOP NOP NOP CLR DS_SCK NOP NOP NOP NOP NOP DJNZ R7, NEXT_BIT RET DS_READ: ;收数据 MOV R7, #08H NEXT_BIT1: NOP NOP NOP MOV C, DS_IO RRC A SETB DS_SCK NOP NOP NOP NOP NOP CLR DS_SCK NOP NOP NOP NOP NOP DJNZ R7, NEXT_BIT1 RET DS_READ1: CLR DS_RST CLR DS_SCK NOP NOP NOP SETB DS_RST LCALL DS_SEND LCALL DS_READ RET |
|||||
| 51单片机录入:dycxin 责任编辑:dycxin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| SMC1602A液晶显示器子程序 实时时钟DS1302读写程序(C51… 时钟芯片DS1302和MCS51单片机… 部分网上实验板例程(C51)-仅… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | | 设为首页 | 购买方法 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 联系我们 | 网络答疑| | | |||
|