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 + -
显示快捷键?