pcf85632.lst

来自「单片机C语言教程」· LST 代码 · 共 52 行

LST
52
字号
A51 MACRO ASSEMBLER  PCF85632                                                             08/10/2007 21:34:34 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN PCF85632.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE PCF85632.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;*****************************************************************
                       2     ; 这是PCF8563汇编语言程序,文件名为F85632.ASM
                       3     ; 功能:本程序是PCF8563的时钟日历读写程序, 单片机的 P1.0、P1.1分别
                       4     ;       和PCF8563的SDA、SCL脚相连。
                       5     ;*****************************************************************
  0090                 6     SDA    EQU P1.0
  0091                 7     SCL    EQU P1.1
                       8     
  0030                 9     SEC    DATA 30H ;秒寄存器
  0031                10     MIN    DATA 31H ;分寄存器
  0032                11     HOUR   DATA 32H ;时寄存器
  0033                12     DAY    DATA 33H ;日寄存器
  0034                13     WEEK   DATA 34H ;周寄存器
  0035                14     MONTH  DATA 35H ;月寄存器
  0036                15     YEAR   DATA 36H ;年寄存器
                      16     
                      17     
0000                  18           ORG 0000H       ;主程序
0000 020030           19           LJMP MAIN
0030                  20           ORG 0030H
0030 7581CF           21     MAIN: MOV SP,#0CFH
0033 C2AF             22           CLR EA
0035 1200C0           23           LCALL SETNUM    ;时间日历初始值
0038 120040           24           LCALL SETTIME   ;当前时钟日历值设定
003B 12008E           25           LCALL READTIME  ;读出时钟芯片当前值
003E 80FE             26           SJMP $
                      27     
                      28     ; PCF8563当前时间设定子程序
0040                  29     SETTIME:
0040 790A             30           MOV R1,#0AH  ;检查是否为第一次启动,是则初始化时间
0042 120123           31           LCALL READDATA  
0045 543F             32           ANL A,#3FH
0047 B40801           33           CJNE A,#08,SET1
004A 22               34           RET
004B                  35     SET1:
004B 853038           36           MOV 38H,SEC  ;时间初始化-将秒至年的时间写入发送缓冲区
004E 853139           37           MOV 39H,MIN
0051 85323A           38           MOV 3AH,HOUR
0054 85333B           39           MOV 3BH,DAY
0057 85343C           40           MOV 3CH,WEEK
005A 85353D           41           MOV 3DH,MONTH
005D 85363E           42           MOV 3EH,YEAR
0060 1201AF           43           LCALL WRITEM ;调用写多个字节示莩绦

⌨️ 快捷键说明

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