📄 power_oper.lst
字号:
"File: POWER_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 1
1 0000 INCLUDE REG_DEF.INC
2 0000
3 0000 PUBLIC POWER_CTRL
4 0000
5 0000 EXTERN START :NEAR
6 0000 EXTERN DELAY_120MS :NEAR
7 0000 EXTERN INIT_RF :NEAR
8 0000 EXTERN SEN_ENTRY_SLEEP_MODE:NEAR
9 0000 EXTERN SEN_INIT :NEAR
10 0000 EXTERN SCAN_KEY :NEAR
11 0000 EXTERN SEN_RESUME :NEAR
12 0000
13 0000 POWER_CTRL_CODE .SECTION 'CODE'
14 0000
15 0000 POWER_CTRL:
16 0000
17 0000 14F4 INC XYZ_ZERO_CNT
18 0001 0F64 MOV A, 100 ; 8MS*100=800MS
19 0002 0474 XOR A, XYZ_ZERO_CNT
20 0003 1085 SZ ACC
21 0004 2800 R JMP NOT_100_TIMES
22 0005
23 0005 3064 SET XYZ_ZERO_FLAG
24 0006
25 0006 NOT_100_TIMES:
26 0006
27 0006 10EE SZ MOVEMENT
28 0007 2800 R JMP MOVE_OCCURED
29 0008
30 0008 14F0 INC MS_CNT
31 0009 0F7D MOV A, 125 ; 8MS * 125 = 1000MS = 1 SEC
32 000A 0470 XOR A, MS_CNT
33 000B 1085 SZ ACC
34 000C 2800 R JMP NOT_1S_YET
35 000D
36 000D 1F70 CLR MS_CNT
37 000E
38 000E 14F1 INC SEC_CNT
39 000F 0F3C MOV A, 60
40 0010 0471 XOR A, SEC_CNT
41 0011 1085 SZ ACC
42 0012 2800 R JMP NOT_1M_YET
43 0013
44 0013 1F71 CLR SEC_CNT
45 0014
46 0014 3173 SET POWER_MODE.2 ; 1 MINUTE
47 0015
48 0015 14F2 INC MIN_CNT
49 0016 0F03 MOV A, 3
50 0017 0472 XOR A, MIN_CNT
51 0018 1085 SZ ACC
52 0019 2800 R JMP NOT_1S_YET
53 001A ;========================================================================
54 001A ;3 MIN WITHOUT ANY MOVEMENT
55 001A ;ENTRY POWER SAVING LEVEL 1
56 001A ;SHUT DOWN RF
57 001A
"File: POWER_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 2
58 001A ;SHUT DOWN ARF2496
59 001A 3796 CLR TRRDY
60 001B 3418 CLR PSB
61 001C 3073 SET POWER_MODE.0 ; 5 MINUTEs
62 001D
63 001D ;SHUT DOWN MCU
64 001D 360E CLR TIMER_ENABLE
65 001E
66 001E 0002 HALT
67 001F 30E2 SET RESUME_FROM_HALT
68 0020 0003 RET
69 0021
70 0021 MOVE_OCCURED:
71 0021 1F70 CLR MS_CNT
72 0022 1F71 CLR SEC_CNT
73 0023 1F72 CLR MIN_CNT
74 0024
75 0024 1F74 CLR XYZ_ZERO_CNT
76 0025 3464 CLR XYZ_ZERO_FLAG
77 0026
78 0026 3873 SNZ POWER_MODE.0
79 0027 2800 R JMP RESUME_OK
80 0028
81 0028 3018 SET PSB ; MCU TO STANDBY MODE
82 0029 2000 R CALL DELAY_4MS
83 002A
84 002A
85 002A RESUME_OK:
86 002A 1F73 CLR POWER_MODE
87 002B
88 002B
89 002B NOT_1S_YET:
90 002B NOT_1M_YET:
91 002B NOT_15M_YET:
92 002B 1F6E CLR MOVEMENT
93 002C
94 002C 0003 RET
95 002D
96 002D DELAY_4MS:
97 002D 0FFF MOV A, 0FFH
98 002E 00F0 MOV MS_CNT, A
99 002F D4MSLOOP:
100 002F 15F0 DEC MS_CNT
101 0030 10F0 SZ MS_CNT
102 0031 2800 R JMP D4MSLOOP
103 0032
104 0032 1F70 CLR MS_CNT
105 0033
106 0033 0003 RET
107 0034
108 0034
0 Errors
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -