📄 ctrol_clk.lst
字号:
00001 .chip TM8706
00002 .data
00003 org 30h
4 0030 addr_l equ 30h
5 0031 addr_h equ 31h
6 0032 data0 equ 32h
7 0033 data1 equ 33h
8 0034 data2 equ 34h
9 0035 data3 equ 35h
10 0036 freq0 equ 36h
11 0037 freq1 equ 37h
12 0038 sclk equ 38h
13 0039 buff0 equ 39h
14 003A buff1 equ 3ah
15 003B buff2 equ 3bh
16 003C buff3 equ 3ch
17 003D buff4 equ 3dh
18 003E buff5 equ 3eh
19 003F buff6 equ 3fh
20 0040 comp equ 40h
21 0041 stop_signal equ 41h
22 0042 strt_signal equ 42h
23 0043 disp0 equ 43h
24 0044 disp1 equ 44h
25 0045 disp2 equ 45h
26 0046 disp3 equ 46h
27 0047 dis_ad_flag equ 47h
28 0048 dis_d_flag equ 48h
29 0049 f_back equ 49h
30 004A key_signal equ 4ah
31 004B t_sec0 equ 4bh
32 0050 t_sec1 equ 50h
33 004C t_minute0 equ 4ch
34 004D t_minute1 equ 4dh
35 004E t_hour0 equ 4eh
36 004F t_hour1 equ 4fh
37 0051 set_time0 equ 51h
38 0052 set_time1 equ 52h
39 0053 half_sec equ 53h
40 0054 reg_ac equ 54h
41 0055 check_csf equ 55h
42 0056 reg_cf equ 56h
43 0057 store_up_t equ 57h
44 0058 draw_out_t equ 58h
45 0059 memory0 equ 59h
46 005A memory1 equ 5ah
47 005B memory2 equ 5bh
48 005C mem_full equ 5ch
49 005D force_1 equ 5dh
50 005E force_2 equ 5eh
51 005F dis_time_f0 equ 5fh
52 0060 dis_time_f1 equ 60h
00053 org 70h
00054 a_signal dn 1
00055 scan_tl dn 1
00056 scan_th dn 1
00057 .endd
0058
00059 .code
60 0000 **** NEW ADDR **** org 00h
61 00061 0000 F701 rf 01h
62 00062 0001 D020 jmp start
0063
64 001C **** NEW ADDR **** org 1ch
65 00065 001C 6854 sta reg_ac
66 00066 001D 4E55 msd check_csf
67 00067 001E EE00 fast
68 00068 001F D23F jmp second_add
0069
0070
0071
00072 start:
0073
74 00074 0020 EE80 slow
75 00075 0021 F5D1 spc 11h
76 00076 0022 F597 spa 17h
77 00077 0023 F5BF spb 1fh
78 00078 0024 C0E3 call clear_lcd
79 00079 0025 EA08 plc 08h
80 00080 0026 E908 sie* 08h
0081
00082 ;**********************************
00083 ;******** data initial ************
84 00084 0027 5830 lds addr_l,00h
85 00085 0028 5EB1 lds addr_h,0dh
00086 ; lds data0,06h
87 00087 0029 5B36 lds freq0,06h
88 00088 002A 5AB7 lds freq1,05h
89 00089 002B 58DD lds force_1,01h
90 00090 002C 595E lds force_2,02h
91 00091 002D 5848 lds dis_d_flag,00h
92 00092 002E 5849 lds f_back,00h
93 00093 002F 584B lds t_sec0,00h
94 00094 0030 5850 lds t_sec1,00h
95 00095 0031 584C lds t_minute0,00h
96 00096 0032 584D lds t_minute1,00h
97 00097 0033 584E lds t_hour0,00h
98 00098 0034 584F lds t_hour1,00h
99 00099 0035 5851 lds set_time0,00h
100 00100 0036 5852 lds set_time1,00h
101 00101 0037 5853 lds half_sec,00h
102 00102 0038 5857 lds store_up_t,00h
103 00103 0039 5858 lds draw_out_t,00h
104 00104 003A 585F lds dis_time_f0,00h
105 00105 003B 5860 lds dis_time_f1,00h
106 00106 003C 5859 lds memory0,00h
107 00107 003D 5C5A lds memory1,08h
108 00108 003E 585B lds memory2,00h
109 00109 003F 585C lds mem_full,00h
110 00110 0040 59F0 lds a_signal,03h ;07h -> 03h
111 00111 0041 0A70 opa a_signal
00112 ; eor a_signal
00113 ;lcp 00h,00h
114 00114 0042 C04B call clk_ini
115 00115 0043 C111 call up_data_ini
116 00116 0044 C0A0 call up_add_1
117 00117 0045 C0AE call scan_add
118 00118 0046 C055 call latch_ram
119 00119 0047 C05B call data_clk
120 00120 0048 C224 call dis_ad
121 00121 0049 C210 call display
122 00122 004A D0EB jmp keyscan
00123 ;***********************************
00124 clk_ini: ;1.83 ms
125 00125 004B 5838 lds sclk,00h
126 00126 004C 5839 lds buff0,00h
127 00127 004D 59BA lds buff1,03h
128 00128 004E 583B lds buff2,00h
129 00129 004F 5A3C lds buff3,04h
130 00130 0050 5A3D lds buff4,04h
131 00131 0051 5CBE lds buff5,09h
132 00132 0052 5E3F lds buff6,0ch
133 00133 0053 58C0 lds comp,01h
134 00134 0054 F400 rts
00135 latch_ram:
136 00136 0055 1C5E mvl force_2
137 00137 0056 1D3A mvh buff1
138 00138 0057 1E30 mvu addr_l
139 00139 0058 6C80 lda @hl
140 00140 0059 683B sta buff2
141 00141 005A F400 rts
00142 ;*********************************
00143 ;********** data clk source ******
00144 data_clk: ;all delay=15.85ms
0145
146 00146 005B EE00 fast ;0.213ms
147 00147 005C 59F0 lds a_signal,03h
148 00148 005D 0A70 opa a_signal
00149 ;eor a_signal
00150 ;lcp 00h,00h
151 00151 005E C2BD call delay2
152 00152 005F 5BF0 lds a_signal,07h ;****
00153 ;*********************************
00154 loop_c: ;14.78ms
155 00155 0060 6C38 lda sclk
156 00156 0061 8067 jb0 s_bit_1
157 00157 0062 3B50 andi* 00h,05h
158 00158 0063 0A70 opa a_signal
00159 ;lcp 00h,00h
160 00160 0064 C07E call sdio_a
161 00161 0065 C2BD call delay2
162 00162 0066 D075 jmp sclk_1
00163 s_bit_1:
164 00164 0067 3F20 ori* 00h,02h
165 00165 0068 0A70 opa a_signal
00166 ;lcp 00h,00h
167 00167 0069 C2BD call delay2
168 00168 006A 4039 inc* buff0
169 00169 006B B870 jc comp_0
170 00170 006C 0000 nop
171 00171 006D 0000 nop
172 00172 006E 0000 nop
173 00173 006F D075 jmp sclk_1
00174 comp_0:
175 00175 0070 F701 rf 01h
176 00176 0071 5240 sl0 comp
177 00177 0072 8877 jb1 stop_clk ;jb2 -> jb1
178 00178 0073 0000 nop
179 00179 0074 C2B2 call delay1
00180 sclk_1:
181 00181 0075 4038 inc* sclk
182 00182 0076 D060 jmp loop_c
0183
00184 stop_clk: ;0.854ms
0185
186 00186 0077 3B10 andi* 00h,01h
187 00187 0078 0A70 opa a_signal
00188 ;lcp 00h,00h
189 00189 0079 EE80 slow
190 00190 007A 59F0 lds a_signal,03h
191 00191 007B 0000 nop
192 00192 007C 0A70 opa a_signal
00193 ;lcp 00h,00h
194 00194 007D F400 rts
00195 ;***************************************
00196 ;********** sdio data transfer *********
00197 sdio_a: ;13.44us
198 00198 007E 6C3B lda buff2
199 00199 007F 8083 jb0 sdio_0
200 00200 0080 3B60 andi* 00h,06h
201 00201 0081 0A70 opa a_signal
00202 ;lcp 00h,00h
203 00203 0082 D086 jmp sdio_1
00204 sdio_0:
205 00205 0083 3F10 ori* 00h,01h
206 00206 0084 0A70 opa a_signal
00207 ;lcp 00h,00h
208 00208 0085 0000 nop
00209 sdio_1:
210 00210 0086 413C dec* buff3
211 00211 0087 B08C jz index_1
212 00212 0088 503B sr0 buff2
213 00213 0089 0000 nop
214 00214 008A 0000 nop
215 00215 008B D090 jmp sdio_end
00216 index_1:
217 00217 008C 5A3C lds buff3,04h
218 00218 008D 6CC0 lda# @hl
219 00219 008E 6C80 lda @hl
220 00220 008F 683B sta buff2
00221 sdio_end:
0222
223 00223 0090 F400 rts
00224 ;*********************************
00225 comp_up_dis:
226 00226 0091 6C71 lda scan_tl
227 00227 0092 2C3E eor buff5
228 00228 0093 B099 jz comp_up0
229 00229 0094 0000 nop
230 00230 0095 0000 nop
231 00231 0096 0000 nop
232 00232 0097 5841 lds stop_signal,00h
233 00233 0098 D09F jmp comp_up_end
00234 comp_up0:
235 00235 0099 6C72 lda scan_th
236 00236 009A 2C3F eor buff6
237 00237 009B B09E jz comp_up1
238 00238 009C 5841 lds stop_signal,00h
239 00239 009D D09F jmp comp_up_end
00240 comp_up1:
241 00241 009E 58C1 lds stop_signal,01h
00242 comp_up_end:
243 00243 009F F400 rts
00244 ;*********************************
00245 ;*********** add_1 ***************
00246 up_add_1: ;1.1ms
247 00247 00A0 3511 addi* 01h,01h
248 00248 00A1 2C3E eor buff5
249 00249 00A2 B0A7 jz scan_end0
250 00250 00A3 3102 adci* 02h,00h
251 00251 00A4 0000 nop
252 00252 00A5 0000 nop
253 00253 00A6 D0AD jmp scan_end1
00254 scan_end0:
255 00255 00A7 3102 adci* 02h,00h
256 00256 00A8 2C3F eor buff6
257 00257 00A9 B0AB jz scan_end2
258 00258 00AA D0AD jmp scan_end1
00259 scan_end2:
260 00260 00AB 58C1 lds stop_signal,01h
261 00261 00AC 5842 lds strt_signal,00h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -