老古开发网首页
导航:老古开发网首页文章索引索引第138页文章分类单片机第8页→[时钟芯片DS1302 的程序(汇编)]
| -文章搜索 - 最新文章 - |

第560篇:时钟芯片DS1302 的程序(汇编)

发布时间:2003年6月26日 点击次数:15219
来源:   作者:
 
;*********************************************************************

; 公司名称:
; 模块名称: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
;/////////////////////////////////////////////////////////////////////////////

欢迎进入老古论坛进行讨论
[单片机] 相关文章:
DS1820,单芯片温度测量,C51程序
简介:
//DS1820 C51 子程序 //这里以11.0592M晶体为例,不同的晶体速度可能需要调整延时的时间 //sbit DQ =P2^1;//根据实际情况定义端口 typedef unsigned char byte; typedef unsigned int word; //延时 void delay(word useconds) { for(;useconds>0;useconds--); } //复位 ......

定时器
汇编中的ORG 0X0000H 在C51中如何实现
温度传感器ds1820 的汇编程序
关于51的中断
 
下一个:[单片机]时钟芯片DS1302 的程序(jyh.h头文件)
简介:
#include #include #include #include #define uchar unsigned char #define uint unsigned int #define byte &nbsp......

上一个:[单片机]时钟芯片DS1302 的程序

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:203毫秒