📄 lcd.asm
字号:
bal _$M42
_$M41 :
rb 0f114h.2
_$M42 :
;; num_10G=nixietube3.bit.bit6;
CLINE 0001H 007AH 0009H 0024H
tb NEAR _nixietube3.6
beq _$M43
sb 0f115h.1
bal _$M44
_$M43 :
rb 0f115h.1
_$M44 :
;; num_9A=nixietube4.bit.bit0;
CLINE 0001H 007DH 0009H 0023H
tb NEAR _nixietube4.0
beq _$M45
sb 0f112h.3
bal _$M46
_$M45 :
rb 0f112h.3
_$M46 :
;; num_9B=nixietube4.bit.bit1;
CLINE 0001H 007EH 0009H 0023H
tb NEAR _nixietube4.1
beq _$M47
sb 0f113h.2
bal _$M48
_$M47 :
rb 0f113h.2
_$M48 :
;; num_9C=nixietube4.bit.bit2;
CLINE 0001H 007FH 0009H 0023H
tb NEAR _nixietube4.2
beq _$M49
sb 0f113h.0
bal _$M50
_$M49 :
rb 0f113h.0
_$M50 :
;; num_9D=nixietube4.bit.bit3;
CLINE 0001H 0080H 0009H 0023H
tb NEAR _nixietube4.3
beq _$M51
sb 0f112h.0
bal _$M52
_$M51 :
rb 0f112h.0
_$M52 :
;; num_9E=nixietube4.bit.bit4;
CLINE 0001H 0081H 0009H 0023H
tb NEAR _nixietube4.4
beq _$M53
sb 0f112h.1
bal _$M54
_$M53 :
rb 0f112h.1
_$M54 :
;; num_9F=nixietube4.bit.bit5;
CLINE 0001H 0082H 0009H 0023H
tb NEAR _nixietube4.5
beq _$M55
sb 0f112h.2
bal _$M56
_$M55 :
rb 0f112h.2
_$M56 :
;; num_9G=nixietube4.bit.bit6;
CLINE 0001H 0083H 0009H 0023H
tb NEAR _nixietube4.6
beq _$M57
sb 0f113h.1
bal _$M58
_$M57 :
rb 0f113h.1
_$M58 :
;; num_8A=nixietube5.bit.bit0;
CLINE 0001H 0086H 0009H 0023H
tb NEAR _nixietube5.0
beq _$M59
sb 0f110h.3
bal _$M60
_$M59 :
rb 0f110h.3
_$M60 :
;; num_8B=nixietube5.bit.bit1;
CLINE 0001H 0087H 0009H 0023H
tb NEAR _nixietube5.1
beq _$M61
sb 0f111h.2
bal _$M62
_$M61 :
rb 0f111h.2
_$M62 :
;; num_8C=nixietube5.bit.bit2;
CLINE 0001H 0088H 0009H 0023H
tb NEAR _nixietube5.2
beq _$M63
sb 0f111h.0
bal _$M64
_$M63 :
rb 0f111h.0
_$M64 :
;; num_8D=nixietube5.bit.bit3;
CLINE 0001H 0089H 0009H 0023H
tb NEAR _nixietube5.3
beq _$M65
sb 0f110h.0
bal _$M66
_$M65 :
rb 0f110h.0
_$M66 :
;; num_8E=nixietube5.bit.bit4;
CLINE 0001H 008AH 0009H 0023H
tb NEAR _nixietube5.4
beq _$M67
sb 0f110h.1
bal _$M68
_$M67 :
rb 0f110h.1
_$M68 :
;; num_8F=nixietube5.bit.bit5;
CLINE 0001H 008BH 0009H 0023H
tb NEAR _nixietube5.5
beq _$M69
sb 0f110h.2
bal _$M70
_$M69 :
rb 0f110h.2
_$M70 :
;; num_8G=nixietube5.bit.bit6;
CLINE 0001H 008CH 0009H 0023H
tb NEAR _nixietube5.6
beq _$M71
sb 0f111h.1
bal _$M72
_$M71 :
rb 0f111h.1
_$M72 :
;; num_7A=nixietube6.bit.bit0;
CLINE 0001H 008FH 0009H 0023H
tb NEAR _nixietube6.0
beq _$M73
sb 0f10eh.3
bal _$M74
_$M73 :
rb 0f10eh.3
_$M74 :
;; num_7B=nixietube6.bit.bit1;
CLINE 0001H 0090H 0009H 0023H
tb NEAR _nixietube6.1
beq _$M75
sb 0f10fh.2
bal _$M76
_$M75 :
rb 0f10fh.2
_$M76 :
;; num_7C=nixietube6.bit.bit2;
CLINE 0001H 0091H 0009H 0023H
tb NEAR _nixietube6.2
beq _$M77
sb 0f10fh.0
bal _$M78
_$M77 :
rb 0f10fh.0
_$M78 :
;; num_7D=nixietube6.bit.bit3;
CLINE 0001H 0092H 0009H 0023H
tb NEAR _nixietube6.3
beq _$M79
sb 0f10eh.0
bal _$M80
_$M79 :
rb 0f10eh.0
_$M80 :
;; num_7E=nixietube6.bit.bit4;
CLINE 0001H 0093H 0009H 0023H
tb NEAR _nixietube6.4
beq _$M81
sb 0f10eh.1
bal _$M82
_$M81 :
rb 0f10eh.1
_$M82 :
;; num_7F=nixietube6.bit.bit5;
CLINE 0001H 0094H 0009H 0023H
tb NEAR _nixietube6.5
beq _$M83
sb 0f10eh.2
bal _$M84
_$M83 :
rb 0f10eh.2
_$M84 :
;; num_7G=nixietube6.bit.bit6;
CLINE 0001H 0095H 0009H 0023H
tb NEAR _nixietube6.6
beq _$M85
sb 0f10fh.1
bal _$M86
_$M85 :
rb 0f10fh.1
_$M86 :
;; Time =1;
CLINE 0001H 0099H 000AH 0011H
sb 0f10ch.2
;; TimeOO =1;
CLINE 0001H 009AH 000AH 0013H
sb 0f10ch.1
;; Heart =1;
CLINE 0001H 009BH 000AH 0012H
sb 0f10ch.0
;; USB =1;
CLINE 0001H 009CH 000AH 0010H
sb 0f10dh.3
;; Stopwatch=1;
CLINE 0001H 009DH 000AH 0015H
sb 0f10ch.3
CBLOCKEND 5 2 172
;;}
CLINE 0001H 00ACH 0001H 0001H
rt
CBLOCKEND 5 1 172
CFUNCTIONEND 5
CFUNCTION 2
_lcd_clear :
CBLOCK 2 1 178
;;{
CLINE 0001H 00B2H 0001H 0001H
push fp
mov fp, sp
add sp, #-04
push bp
CBLOCK 2 2 178
CLOCAL 42H 0002H 0002H 0002H "ptr" 04H 03H 00H 00H 00H
CLOCAL 42H 0002H 0004H 0002H "i" 02H 00H 01H
;; ptr = &DSPR00; /* DSPR initialize(ALL off) */
CLINE 0001H 00B6H 0002H 003AH
mov r0, #00h
mov r1, #0f1h
st er0, -2[fp]
;; for(i=0; i<0xC0; i++){
CLINE 0001H 00B7H 0002H 0017H
mov er0, #0
st er0, -4[fp]
cmp r0, #0c0h
cmpc r1, #00h
bge _$L5
_$L6 :
CBLOCK 2 3 183
;; *ptr++ = 0x00;
CLINE 0001H 00B8H 0003H 0010H
l er0, -2[fp]
mov bp, er0
add er0, #1
st er0, -2[fp]
mov r0, #00h
st r0, [bp]
CBLOCKEND 2 3 185
;; for(i=0; i<0xC0; i++){
CLINE 0000H 00B7H 0002H 0017H
l er0, -4[fp]
add er0, #1
st er0, -4[fp]
l er0, -4[fp]
cmp r0, #0c0h
cmpc r1, #00h
blt _$L6
;; }
CLINE 0000H 00B9H 0002H 0002H
_$L5 :
CBLOCKEND 2 2 186
;;}
CLINE 0001H 00BAH 0001H 0001H
pop bp
mov sp, fp
pop fp
rt
CBLOCKEND 2 1 186
CFUNCTIONEND 2
CFUNCTION 4
_data_divide :
CBLOCK 4 1 192
;;{
CLINE 0001H 00C0H 0001H 0001H
CBLOCK 4 2 192
;; temp_data = disp_data_sec;
CLINE 0001H 00C1H 0005H 001EH
l r0, NEAR _disp_data_sec
;; disp_data1=temp_data/10;
CLINE 0001H 00C2H 0005H 001CH
mov r1, #00h
mov r2, #0ah
div er0, r2
st r0, NEAR _disp_data1
;; disp_data0=temp_data%10;
CLINE 0001H 00C3H 0005H 001CH
l r2, NEAR _disp_data_sec
mov r3, #00h
mov r0, #0ah
div er2, r0
st r0, NEAR _disp_data0
;; temp_data = disp_data_min;
CLINE 0001H 00C5H 0005H 001EH
l r0, NEAR _disp_data_min
;; disp_data3=temp_data/10;
CLINE 0001H 00C6H 0005H 001CH
mov r1, #00h
mov r2, #0ah
div er0, r2
st r0, NEAR _disp_data3
;; disp_data2=temp_data%10;
CLINE 0001H 00C7H 0005H 001CH
l r2, NEAR _disp_data_min
mov r3, #00h
mov r0, #0ah
div er2, r0
st r0, NEAR _disp_data2
;; temp_data = disp_data_hour;
CLINE 0001H 00C9H 0005H 001FH
l r0, NEAR _disp_data_hour
st r0, NEAR _temp_data
;; disp_data6=temp_data/10;
CLINE 0001H 00CAH 0005H 001CH
mov r1, #00h
mov r2, #0ah
div er0, r2
st r0, NEAR _disp_data6
;; disp_data5=temp_data%10;
CLINE 0001H 00CBH 0005H 001CH
l r2, NEAR _disp_data_hour
mov r3, #00h
mov r0, #0ah
div er2, r0
st r0, NEAR _disp_data5
CBLOCKEND 4 2 204
;;}
CLINE 0001H 00CCH 0001H 0001H
rt
CBLOCKEND 4 1 204
CFUNCTIONEND 4
public _lcd_clear
public _lcd_init
public _data_divide
public _set_font_bit
public _lcd_display
_disp_data_hour comm data 01h #00h
_disp_data comm data 01h #00h
_nixietube4 comm data 01h #00h
_nixietube5 comm data 01h #00h
_nixietube6 comm data 01h #00h
_nixietube1 comm data 01h #00h
_nixietube2 comm data 01h #00h
_nixietube3 comm data 01h #00h
_hun comm data 02h #00h
_data comm data 02h #00h
_ten comm data 02h #00h
__status comm data 01h #00h
_rFont_Buf comm data 0ah #00h
_temp_data comm data 01h #00h
_rMinute comm data 01h #00h
_cont_500ms comm data 01h #00h
_disp_data5 comm data 01h #00h
_disp_data6 comm data 01h #00h
_disp_data0 comm data 01h #00h
_disp_data1 comm data 01h #00h
_disp_data2 comm data 01h #00h
_disp_data3 comm data 01h #00h
_ten_num comm data 02h #00h
_hun_num comm data 02h #00h
_display_data comm data 01h #00h
_disp_data_min comm data 01h #00h
_disp_data_sec comm data 01h #00h
_data_num comm data 02h #00h
_rLcd_Buf comm data 0ah #00h
_thou_num comm data 02h #00h
_cont_1min comm data 01h #00h
_cycle_cnt comm data 01h #00h
_display_number comm data 01h #00h
_sadc_dataH comm data 01h #00h
_sadc_dataL comm data 01h #00h
_rHour comm data 01h #00h
_thou comm data 02h #00h
_tempH comm data 01h #00h
_tempL comm data 01h #00h
_adc_data comm data 02h #00h
_cont_1hour comm data 01h #00h
_sym_flag comm data 01h #00h
_cont_1second comm data 01h #00h
extrn code near : _main
rseg $$NTABlcd
_Font_Table :
dw 03fh
dw 06h
dw 05bh
dw 04fh
dw 066h
dw 06dh
dw 07dh
dw 07h
dw 07fh
dw 06fh
dw 077h
dw 07ch
dw 058h
dw 05eh
dw 079h
dw 071h
dw 00h
dw 040h
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -