51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机源码 > 详细内容
时钟芯片DS1302 的程序(汇编)
作者:佚名  发布时间:2009/10/16  阅读次数:1152  字体大小: 【】 【】【
; 公司名称:
; 模块名称:DS1302.a51
; 功       能:实时时钟模块                     时钟芯片型号:DS1302
; 说       明:(修改版)
; 程序设计:zhaojunjie              
; 设计时间:2002.05.04              
; 版 本 号:20020504
;*********************************************************************/
T_CLK Bit P2.7                                                 ;实时时钟时钟线引脚
T_IO   Bit P1.4                                                 ;实时时钟数据线引脚
T_RST Bit P1.5                                                 ;实时时钟复位线引脚
;**********************************************************
;子程序名:Set1302
;功       能:设置DS1302 初始时间,并启动计时。
;说       明:
;调       用:RTInputByte
;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week.YearL(地址连续)
;出口参数:无
;影响资源:A B R0 R1 R4 R7
;设       计:zhaojunjie                     日       期:2002-03-19
;修       改:                                         日       期:
;**********************************************************
Set1302:
                   CLR       T_RST
                   CLR       T_CLK
                   SETB     T_RST
                   MOV       B,         #8EH               ;控制寄存器
                   LCALL   RTInputByte  
                   MOV       B,         #00H               ;写操作前WP=0
                   LCALL   RTInputByte  
                   SETB     T_CLK
                   CLR       T_RST

                   MOV       R0,       #Second;
                   MOV       R7,       #7               ;秒 分 时 日 月 星期 年
                   MOV       R1,       #80H           ;秒写地址
S13021:     CLR       T_RST
                   CLR       T_CLK
                   SETB     T_RST
                   MOV       B,         R1               ;写秒 分 时 日 月 星期 年 地址
                   LCALL   RTInputByte  
                   MOV       A,         @R0             ;写秒数据
                   MOV       B,         A
                   LCALL   RTInputByte  
                   INC       R0
                   INC       R1
                   INC       R1
                   SETB     T_CLK
                   CLR       T_RST
                   DJNZ     R7,       S13021
                   CLR       T_RST
                   CLR       T_CLK
                   SETB     T_RST
                   MOV       B,         #8EH               ;控制寄存器
                   LCALL   RTInputByte  
                   MOV       B,         #80H               ;控制,WP=1,写保护
                   LCALL   RTInputByte  
                   SETB     T_CLK
                   CLR       T_RST
                   RET
;**********************************************************
;子程序名:Get1302
;功       能:从DS1302 读时间
;说       明:
;调       用:RTInputByte,RTOutputByte
;入口参数:时间保存在:Second,Minute,Hour,Day,Month,Week.YearL
;出口参数:无
;影响资源:A B R0 R1 R4 R7
;设       计:zhaojunjie                     日       期:2002-03-19
;修       改:                                         日       期:
;**********************************************************
Get1302:          
                   MOV       R0,       #Second;
                   MOV       R7,       #7
                   MOV       R1,       #81H             ;秒地址
G13021:     CLR       T_RST
                   CLR       T_CLK
                   SETB     T_RST
                   MOV       B,         R1               ;秒 分 时 日 月 星期 年 地址
                   LCALL   RTInputByte  
                   LCALL   RTOutputByte
                   MOV       @R0,     A                 ;秒
                   INC       R0
                   INC       R1
                   INC       R1
                   SETB     T_CLK
                   CLR       T_RST
                   DJNZ     R7,       G13021
                   RET
;**********************************************************
;功       能:写1302一字节   (内部子程序)
;**********************************************************
RTInputByte:  
                   MOV       R4,       #8
Inbit1:     MOV       A,         B
                   RRC       A
                   MOV       B,         A
                   MOV       T_IO,   C
                   SETB     T_CLK
                   CLR       T_CLK
                   DJNZ     R4,     Inbit1
                   RET
;**********************************************************
;功       能:读1302一字节   (内部子程序)
;**********************************************************
RTOutputByte:
                   MOV       R4,       #8
Outbit1:   MOV       C,         T_IO
                   RRC       A
                   SETB     T_CLK
                   CLR       T_CLK
                   DJNZ     R4,       Outbit1
                   RET  

我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
所有评论[0]
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号