📄 display.lst
字号:
185 000000 ;求得十位值
186 000000 b0mov y,#font_tbl$m
187 000000 b0mov z,#font_tbl$l
188 000000 swap timerbuf
189 000000 and a,#0fh
190 000000 b0bts0 fz
191 000000 jmp hidedisplay
192 000000 add z,a
193 000000 mov a,#0
194 000000 adc y,a
195 000000 movc
196 000000 mov seg1buf,a
197 000000 ret
198 000000 ;-----
199 000000 hidedisplay:
200 000000 mov_ seg1buf,#0ffh
201 000000 ret
202 000000 ;------------------
203 000000 mngetdata80:
204 000000 ;-----
205 000000 b0bts0 firstsettimeflag
206 000000 jmp mngetdata50
207 000000 mov_ seg2buf,#0ffh
208 000000 bset timecomeflag
209 000000 bclr timekeyflag
210 000000 bclr ptcout ;close IGBT
211 000000 bclr fpwm1out
212 000000 bclr ftc1enb ;stop t1 count
213 000000 ret
214 000000 ;-----
215 000000 mngetdata50:
216 000000 bclr timekeyflag
217 000000 bclr firstsettimeflag
218 000000 bset timecomeflag
219 000000 ;----
220 000000 mngetdata90:
221 000000 ret
222 000000
223 000000 /*
224 000000 ;********************************************
225 000000 ;name:conv_hex_bcd
226 000000 ;function:小于10000的十六进制转换BCD码(要作10000以上的加个条件判断)
227 000000 ;input: hexh,hexl
228 000000 ;output:bcdh,bcdl
229 000000 ;register:
230 000000 ;********************************************
231 000000 conv_hex_bcd:
232 000000 clr bcdl
233 000000 clr bcdh
234 000000 gethighnibble:
235 000000 mov a,hexl
236 000000 sub a,#100
237 000000 mov hexl,a
238 000000 b0bts1 fc
239 000000 jmp getmidnibble10
240 000000 ;----
241 000000 highnibbleinc:
242 000000 mov a,#1
243 000000 add bcdh,a
244 000000 mov a,bcdh
245 000000 and a,#0fh
246 000000 sub a,#0ah
247 000000 b0bts1 fc
248 000000 jmp gethighnibble
249 000000 mov a,#06h
250 000000 add bcdh,a
251 000000 jmp gethighnibble
252 000000 ;----
253 000000 getmidnibble10:
254 000000 mov a,hexh
255 000000 sub a,#1
256 000000 mov hexh,a
257 000000 b0bts1 fc
258 000000 jmp getmidnibble00
259 000000 jmp highnibbleinc
260 000000 ;----
261 000000 getmidnibble00:
262 000000 mov a,#100
263 000000 add hexl,a
264 000000 getmidnibble:
265 000000 mov a,hexl
266 000000 sub a,#10
267 000000 mov hexl,a
268 000000 b0bts1 fc
269 000000 jmp getlownibble00
270 000000 incms bcdl
271 000000 nop
272 000000 jmp getmidnibble
273 000000 ;----
274 000000 getlownibble00:
275 000000 add a,#10
276 000000 swapm bcdl
277 000000 or bcdl,a
278 000000 ret
279 000000 ;********************************************
280 000000 ;name:conv_bcd_hex
281 000000 ;function:小于10000的BCD码转换为十六进制
282 000000 ;input: bcdl,bcdh
283 000000 ;output:hexl,hexh
284 000000 ;register:var3,var4,var5,var6,var7,var8
285 000000 ;********************************************
286 000000 conv_bcd_hex:
287 000000 clr var3
288 000000 clr var4
289 000000 clr var5
290 000000 clr var6
291 000000 ;----
292 000000 ;x1000
293 000000 swap bcdh
294 000000 and a,#0fh
295 000000 mov var7,a
296 000000 mov_ var8,#8
297 000000 mov_ var3,#0e8h
298 000000 mov_ var4,#03h
299 000000 call mulsub ;two byte multiply
300 000000 mov_ hexl,var5
301 000000 mov_ hexh,var6
302 000000 ;----
303 000000 ;x100
304 000000 clr var3
305 000000 clr var4
306 000000 clr var5
307 000000 clr var6
308 000000 mov a,bcdh
309 000000 and a,#0fh
310 000000 mov var7,a
311 000000 mov_ var8,#8
312 000000 mov a,#100
313 000000 mov var3,a
314 000000 call mulsub ;two byte multiply
315 000000 mov a,var5
316 000000 add hexl,a
317 000000 mov a,var6
318 000000 adc hexh,a
319 000000 ;----
320 000000 ;x10
321 000000 clr var3
322 000000 clr var4
323 000000 clr var5
324 000000 clr var6
325 000000 swap bcdl
326 000000 and a,#0fh
327 000000 mov var7,a
328 000000 mov_ var8,#8
329 000000 mov a,#10
330 000000 mov var3,a
331 000000 call mulsub ;two byte multiply
332 000000 mov a,var5
333 000000 add hexl,a
334 000000 mov a,var6
335 000000 adc hexh,a
336 000000 ;----
337 000000 ;x1
338 000000 mov a,bcdl
339 000000 and a,#0fh
340 000000 add hexl,a
341 000000 mov a,#0
342 000000 adc hexh,a
343 000000 ret
344 000000 ;**********************************************
345 000000 ;两个BYTE的数相乘
346 000000 mulsub:
347 000000 bclr fc
348 000000 rrcm var7
349 000000 b0bts1 fc
350 000000 jmp deccount
351 000000 mov a,var3
352 000000 add var5,a
353 000000 mov a,var4
354 000000 adc var6,a
355 000000 ;----
356 000000 deccount:
357 000000 decms var8
358 000000 jmp adjustposition
359 000000 ret
360 000000 ;----
361 000000 adjustposition:
362 000000 bclr fc
363 000000 rlcm var3
364 000000 rlcm var4
365 000000 jmp mulsub
366 000000 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -