⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ds1302d.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
; 这是DS12302汇编程序, 文件名为DS1302D.ASM
; 功能:本程序主要是读出DS12302 时钟区(地址从00-06)的内容;
;       或将日历时钟值写入DS12302 时钟区(地址从00-06)中去,
;       又叫时钟的初始化.
SCLK   BIT P1.5
IO     BIT P1.6
RST    BIT P1.7
SWRAM  BIT 0D5H

SEC    DATA 60H
MIN    DATA 61H
HR     DATA 62H
DATE   DATA 63H
MONTH  DATA 64H
DAY    DATA 65H
YEAR   DATA 66H

     ORG 0000H
STAT:AJMP MAIN
     NOP
MAIN:MOV SP,#0CFH
     ;LCALL INIT
     ;LCALL SDAT3
     MOV R0,#SEC
     MOV R7,#7     ;7-CLOCK  16-RAM
     ;CLR  SWRAM   ;WRITE DS1302
     SETB SWRAM     ;READ DS1302
     LCALL RWRTC
     LJMP $
SDAT3:MOV 60H,#0
      MOV 61H,#05
      MOV 62H,#10H
      MOV 63H,#14H
      MOV 64H,#03
      MOV 65H,#03
      MOV 66H,#05
      RET
RWRTC: MOV B,#081H; 081==READ CLOCK
       JB  SWRAM,RWRTC1
       MOV B,#080H; 080==WRITE CLOCK
RWRTC1:CLR SCLK
       NOP
       SETB RST
       MOV R6,#08
       MOV A,B
RWRTC2:CLR SCLK
       RRC A
       MOV IO,C
       NOP
       SETB SCLK
       DJNZ  R6,RWRTC2
       MOV R6,#8
       JNB SWRAM,RWRTC4
RWRTC3:CLR SCLK
       NOP
       MOV C,IO
       RRC A
       SETB SCLK
       DJNZ  R6,RWRTC3
       MOV @R0,A
       SJMP RWRTC6
RWRTC4:MOV A,@R0
RWRTC5:CLR SCLK
       RRC A
       MOV IO,C
       NOP
       SETB SCLK
       DJNZ  R6,RWRTC5
RWRTC6:INC R0
       MOV A,B
       ADD A,#02H
       MOV B,A
       CLR RST
       NOP
       CLR SCLK
       DJNZ R7,RWRTC1
       RET
WRRTC: CLR SCLK
       NOP
       SETB RST
       NOP
       NOP
       MOV R7,#2
WRRTC1:MOV R6,#8
       MOV A,@R0
       CLR C
WRRTC2:CLR SCLK
       RRC A
       MOV IO,C
       NOP
       SETB SCLK
       DJNZ  R6,WRRTC2
       INC R0
       DJNZ  R7,WRRTC1
       CLR RST
       NOP
       CLR SCLK
       RET
INIT:  CLR SCLK
       CLR RST
       MOV SEC,#8EH
       MOV MIN,#0
       MOV R0,#SEC
       LCALL WRRTC
       MOV SEC,#080H
       MOV MIN,#00H
       MOV R0,#SEC
       LCALL WRRTC
       RET
       END



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -