时钟芯片DS1302 的程序(汇编)

发布者:AngelicJourney最新更新时间:2017-11-30 来源: eefocus关键字:时钟芯片  DS1302  汇编 手机看文章 扫描二维码
随时随地手机看文章

;*********************************************************************/
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
;肟诓问菏奔浔4嬖?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

关键字:时钟芯片  DS1302  汇编 引用地址:时钟芯片DS1302 的程序(汇编)

上一篇:51单片机模拟串口的方法的总结
下一篇:八路AD采集电压表

推荐阅读最新更新时间:2024-03-16 15:47

单片机汇编 设晶振频率为11.0592M,串口工作方式1
单片机汇编 设晶振频率为11.0592M,串口工作方式1,波特率为4800bit/s(倍频后) 1.设晶振频率为11.0592M,串口工作方式1,波特率为4800bit/s(倍频后),T1采用方式2,编写采用代码和校验的方式发送16个字节(不需要联络信号)的程序。 ORG 0000H MOV R0,#40H ; 初始化16个字节的数据区,该部分可以不要 MOV R7,#10H MOV 60H,#10H ALOOP0: MOV @R0,60H INC R0 INC 60H JNC R7,ALOOP0 ASTART
[单片机]
汇编入门学习笔记 (四)—— [BX] 和 loop指令
疯狂的暑假学习之 汇编入门学习笔记 (四) 和 loop指令 参考:《汇编语言》 王爽 第5章 1. mov al, 在debug中,会把bs:1 中数据赋给al,但在在masm中不会把bs:1 中数据赋给al,而是把 认为是 1 赋给al。 如果要实现在debug中的mov al, ,在masm中就需要 如: mov bx,1 mov al, 还可以用 bs: 的方式 如: mov al,bs: 2.loop 循环 要使用 loop指令 例子:计算2^20 assume cs:codesg
[单片机]
ARM汇编语言中的中括号(“[”和“]”)是什么意思
ARM汇编语言的部分代码如下: GBLA PLLCLK PLLCLK SETA 64000000 请问其中的中括号( )是什么意思? 如果第一句为真,则以下的符号定义有效。 还有另一种方式 意思是如果条件为真,符号定义1有效,否则符号定义2有效
[单片机]
s3c2410汇编启动代码与中断跳转分析
最开始的代码,大家都很熟悉 ,最基本的中断跳转 b ResetHandler b HandlerUndef ;handler for Undefined mode b HandlerSWI ;handler for SWI interrupt b HandlerPabort ;handler for PAbort b HandlerDabort ;handler for DAbort b . ;reserved b HandlerIRQ ;handler for IRQ interrupt b HandlerFIQ ;handler for FIQ interrupt 跳转的标号是一系列的宏 LTORG HandlerFIQ
[单片机]
51 汇编语言编程:求最大、最小值的乘积
;求 MCS51 内部RAM 的 40H~4FH 中 16 个数据中最大值和最小值的积。 ;其中最大值和最小值分别放到 50H 和 51H 中,积的低位和高位分别放到 52H 和 53H 中。 ;求最大、最小值,再相乘,做而论道编写出来了程序,将在后面列出。 ;为了进行验证,提问者需要准备 16 个数据,然后再执行做而论道编写的程序。 ;那么,综合到一起的程序如下: ORG 0000H ;---------------------下面是在 40H~4F 中,随意写 16 个数据 MOV 40H, #5 MOV 41H, #32 MOV 42H, #34 MOV 43H, #67 M
[单片机]
DS1302 寄存器介绍
DS1302 的一条指令一个字节共8位,其中第7位(即最高位)固定为1,这一位如果是0的话,那写进去也是无效的。第6位是选择 RAM 还是 CLOCK 的,我前边说过,我们这里主要讲 CLOCK 时钟的使用,它的 RAM 功能我们不用,所以如果选择 CLOCK 功能,第6位是0,如果要用 RAM,那第6位就是1。从第5到第1位,决定了寄存器的5位地址,而第0位是读写位,如果要写,这一位就是0,如果要读,这一位就是1。指令字节直观位分配如图15-9所示。 图15-9 DS1302 命令字节 DS1302 时钟的寄存器,其中8个和时钟有关的,5位地址分别是 0b00000~0b00111,还有一个寄存器的地址是 01000,这是涓
[单片机]
<font color='red'>DS1302</font> 寄存器介绍
单片机和 FIFO 的接口汇编程序
下面的程序中,单片机将FIFO中的数据读取出来后,从串口发送出去。 ;*********************************** ef bit p3.3 ;fifo empty flag rst bit p3.5 ;reset fifo read bit p3.7 ;read fifo org 0000h ljmp main org 0030h main: ;------ initial timer mov tmod,#00100001b ;timer0 mode 1 (16 bit)
[单片机]
ST发布全球最小、内置晶振的实时时钟芯片
可节省便携式电子设备的空间并延长电池使用寿命 在最小的工业标准封装内整合实时时钟与晶振,有助于简化便携设备设计 中国,2011年8月3日 —— 高科技产品设计人员持续以微型化为主要目标,横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布全球最小且具时间、日历及闹钟功能的晶振与实时时钟(RTC)二合一芯片。在与现今市场上最小的晶振一样尺寸的封装内,意法半导体成功整合了最小的实时时钟裸片和匹配的晶振,打造出全球上最小、尺寸仅为3.2 x 1.5mm的超低功耗实时时钟与晶振二合一芯片。 M41T62特别适用于电池供电的便携式产品设计。1.
[模拟电子]
ST发布全球最小、内置晶振的实时<font color='red'>时钟芯片</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved