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

📄 ds1302c.asm

📁 c语言和汇编语言混合编程实例详解.rar
💻 ASM
字号:
; 这是DS12302汇编程序, 文件名为DS1302C.ASM
; 功能:本程序主要是读出DS12302 RAM区特定单元(地址从00-30)的内容;
;       或将字节值写入DS12302 RAM特定单元(地址从00-30)中去;

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
RA1    DATA 67H
RA2    DATA 68H
RA3    DATA 69H
RA4    DATA 6AH
RA5    DATA 6BH
RA6    DATA 6CH
RA7    DATA 6DH
RA8    DATA 6EH
RA9    DATA 6FH

     ORG 0000H
STAT:AJMP MAIN
     NOP
MAIN:MOV SP,#0CFH
     ;LCALL INIT
     ;LCALL SDAT3
     MOV R0,#SEC
     MOV R7,#16    ;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
      MOV 67H,#1
      MOV 68H,#2
      MOV 69H,#3
      MOV 6AH,#4
      MOV 6BH,#5
      MOV 6CH,#6
      MOV 6DH,#7
      MOV 6EH,#8
      MOV 6FH,#9
      RET
RWRTC: MOV B,#0C1H;0C1==READ RAM
       JB  SWRAM,RWRTC1
       MOV B,#0C0H;0C0==WRITE RAM
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 + -