|
|
| | -文章搜索 - 最新文章 - | |
第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的中断 |
|
|
|