📄 lcd.asm
字号:
;; Compile Options : /TM610411 /MS /near /Ihead /SD /Od /W 1 /Fa_output\_obj\ /Zs
;; Version Number : Ver.3.08.6
;; File Name : lcd.c
type (M610411)
model small, near
$$NTABlcd segment table 2h #0h
$$NCODlcd segment code 2h #0h
CVERSION 3.08.6
CGLOBAL 01H 03H 0000H "lcd_clear" 08H 02H 02H 00H 82H 08H 00H 00H 07H
CGLOBAL 01H 03H 0000H "lcd_init" 08H 02H 00H 00H 81H 02H 00H 00H 07H
CGLOBAL 01H 03H 0000H "data_divide" 08H 02H 04H 00H 80H 00H 00H 00H 07H
CGLOBAL 01H 03H 0000H "set_font_bit" 08H 02H 05H 00H 80H 00H 00H 00H 07H
CGLOBAL 01H 03H 0000H "lcd_display" 08H 02H 01H 00H 83H 06H 00H 00H 07H
CSTRUCTTAG 0000H 0000H 0003H 0008H 00000001H "_Notag"
CSTRUCTMEM 52H 00000001H 00000000H "bit0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "bit1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "bit2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "bit3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "bit4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "bit5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "bit6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "bit7" 02H 00H 00H
CSTRUCTTAG 0000H 0000H 0002H 0008H 00000001H "_Notag"
CSTRUCTMEM 52H 00000001H 00000000H "b0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "b1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "b2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "b3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "b4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "b5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "b6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "b7" 02H 00H 00H
CSTRUCTTAG 0000H 0000H 0001H 0008H 00000001H "Bit_Flag_Byte"
CSTRUCTMEM 52H 00000001H 00000000H "B0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "B1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "B2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "B3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "B4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "B5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "B6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "B7" 02H 00H 00H
CSTRUCTTAG 0000H 0000H 0000H 0008H 00000001H "_Notag"
CSTRUCTMEM 52H 00000001H 00000000H "b0" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000001H "b1" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000002H "b2" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000003H "b3" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000004H "b4" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000005H "b5" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000006H "b6" 02H 00H 00H
CSTRUCTMEM 52H 00000001H 00000007H "b7" 02H 00H 00H
CUNIONTAG 0000H 0000H 0004H 0002H 00000001H "_Notag"
CUNIONMEM 42H 00000001H "byte" 02H 00H 00H
CUNIONMEM 43H 00000001H "bit" 04H 00H 05H 03H 00H
CTYPEDEF 0000H 0000H 42H "ushort" 02H 00H 08H
CTYPEDEF 0000H 0000H 43H "_BYTE_FIELD_01" 04H 00H 05H 02H 00H
CTYPEDEF 0000H 0000H 43H "_BYTE_FIELD" 04H 00H 05H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data_hour" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data" 02H 00H 00H
CGLOBAL 00H 43H 0001H "nixietube4" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube5" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube6" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube1" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube2" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0001H "nixietube3" 04H 00H 06H 04H 00H
CGLOBAL 00H 43H 0002H "hun" 02H 00H 01H
CGLOBAL 00H 43H 0002H "data" 02H 00H 01H
CGLOBAL 00H 43H 0002H "ten" 02H 00H 01H
CGLOBAL 00H 43H 0001H "_status" 04H 00H 06H 04H 00H
CGLOBAL 00H 42H 000AH "rFont_Buf" 05H 01H 0AH 00H 00H 00H
CGLOBAL 00H 42H 0001H "temp_data" 02H 00H 00H
CGLOBAL 00H 42H 0001H "rMinute" 02H 00H 00H
CGLOBAL 00H 42H 0001H "cont_500ms" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data5" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data6" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data0" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data1" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data2" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data3" 02H 00H 00H
CGLOBAL 00H 43H 0002H "ten_num" 02H 00H 01H
CGLOBAL 00H 43H 0002H "hun_num" 02H 00H 01H
CSGLOBAL 01H 0024H "Font_Table" 05H 01H 12H 00H 00H 01H
CGLOBAL 00H 42H 0001H "display_data" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data_min" 02H 00H 00H
CGLOBAL 00H 42H 0001H "disp_data_sec" 02H 00H 00H
CGLOBAL 00H 43H 0002H "data_num" 02H 00H 01H
CGLOBAL 00H 42H 000AH "rLcd_Buf" 05H 01H 0AH 00H 00H 00H
CGLOBAL 00H 43H 0002H "thou_num" 02H 00H 01H
CGLOBAL 00H 42H 0001H "cont_1min" 02H 00H 00H
CGLOBAL 00H 42H 0001H "cycle_cnt" 02H 00H 00H
CGLOBAL 00H 42H 0001H "display_number" 02H 00H 00H
CGLOBAL 00H 42H 0001H "sadc_dataH" 02H 00H 00H
CGLOBAL 00H 42H 0001H "sadc_dataL" 02H 00H 00H
CGLOBAL 00H 42H 0001H "rHour" 02H 00H 00H
CGLOBAL 00H 43H 0002H "thou" 02H 00H 01H
CGLOBAL 00H 42H 0001H "tempH" 02H 00H 00H
CGLOBAL 00H 42H 0001H "tempL" 02H 00H 00H
CGLOBAL 00H 42H 0002H "adc_data" 02H 00H 01H
CGLOBAL 00H 42H 0001H "cont_1hour" 02H 00H 00H
CGLOBAL 00H 43H 0001H "sym_flag" 04H 00H 05H 01H 00H
CGLOBAL 00H 42H 0001H "cont_1second" 02H 00H 00H
CFILE 0001H 00000579H "C:\\PROGRA~1\\U8Dev\\Inc\\m610411.h"
CFILE 0002H 00000052H "head\\common.h"
CFILE 0003H 000000EFH "head\\lcd.h"
CFILE 0000H 000000D2H "lcd.c"
rseg $$NCODlcd
CFUNCTION 0
_lcd_init :
CBLOCK 0 1 42
;;{
CLINE 0001H 002AH 0001H 0001H
push lr
CBLOCK 0 2 42
CRET 0000H
;; lcd_clear();
CLINE 0001H 002BH 0004H 001DH
bl _lcd_clear
;; BIASCON = 0x09u; /* BSON=1(Bias circuit on), 1/16 LSCK(2kHz), 1/3 bias */
CLINE 0001H 002CH 0004H 004FH
mov r0, #09h
st r0, 0f0f0h
;; DSPMOD0 = 0x43u; /* reference frequency is 85Hz, 1/4 duty */
CLINE 0001H 002DH 0004H 0043H
mov r0, #043h
st r0, 0f0f2h
;; DSPCNT = 0x10u; /* high contrast, vl1=1.56v */
CLINE 0001H 002EH 0005H 0034H
mov r0, #010h
st r0, 0f0f1h
;; disp_data=0;
CLINE 0001H 0030H 0005H 0010H
mov r0, #00h
st r0, NEAR _disp_data
;; lcd_display(); /* lcd display initial */
CLINE 0001H 0031H 0004H 0036H
bl _lcd_display
CBLOCKEND 0 2 50
;;}
CLINE 0001H 0032H 0001H 0001H
pop pc
CBLOCKEND 0 1 50
CFUNCTIONEND 0
CFUNCTION 1
_lcd_display :
CBLOCK 1 1 61
;;{
CLINE 0001H 003DH 0001H 0001H
push lr
push fp
mov fp, sp
add sp, #-02
CBLOCK 1 2 61
CRET 0004H
CLOCAL 42H 0002H 0002H 0002H "i" 02H 00H 01H
;; data_divide();
CLINE 0001H 003FH 0004H 001BH
bl _data_divide
;; i=disp_data0;
CLINE 0001H 0041H 0009H 0015H
l r0, NEAR _disp_data0
mov r1, #00h
st er0, -2[fp]
;; nixietube1.byte=Font_Table[i]; //number 1
CLINE 0001H 0042H 0009H 0040H
add er0, er0
l r0, NEAR _Font_Table[er0]
st r0, NEAR _nixietube1
;; i=disp_data1;
CLINE 0001H 0044H 0009H 0020H
l r0, NEAR _disp_data1
mov r1, #00h
st er0, -2[fp]
;; nixietube2.byte=Font_Table[i]; //number 2
CLINE 0001H 0045H 0009H 0041H
add er0, er0
l r0, NEAR _Font_Table[er0]
st r0, NEAR _nixietube2
;; i=disp_data2;
CLINE 0001H 0047H 000AH 0016H
l r0, NEAR _disp_data2
mov r1, #00h
st er0, -2[fp]
;; nixietube3.byte=Font_Table[i]; //number 3
CLINE 0001H 0048H 0009H 0040H
add er0, er0
l r0, NEAR _Font_Table[er0]
st r0, NEAR _nixietube3
;; i=disp_data3;
CLINE 0001H 004AH 0009H 0020H
l r0, NEAR _disp_data3
mov r1, #00h
st er0, -2[fp]
;; nixietube4.byte=Font_Table[i]; //number 4
CLINE 0001H 004BH 0009H 0041H
add er0, er0
l r0, NEAR _Font_Table[er0]
st r0, NEAR _nixietube4
;; i=disp_data5;
CLINE 0001H 004DH 000AH 0016H
l r0, NEAR _disp_data5
mov r1, #00h
st er0, -2[fp]
;; nixietube5.byte=Font_Table[i]; //number 5
CLINE 0001H 004EH 0009H 0040H
add er0, er0
l r0, NEAR _Font_Table[er0]
st r0, NEAR _nixietube5
;; i=disp_data6;
CLINE 0001H 0050H 0009H 0020H
l r0, NEAR _disp_data6
mov r1, #00h
st er0, -2[fp]
;; nixietube6.byte=Font_Table[i]; //number 6
CLINE 0001H 0051H 0009H 0051H
add er0, er0
l r0, NEAR _Font_Table[er0]
st r0, NEAR _nixietube6
;; set_font_bit();
CLINE 0001H 0057H 0007H 0038H
bl _set_font_bit
;; DSPCON=0x02u; //lcd normal mode
CLINE 0001H 0058H 0007H 0045H
mov r0, #02h
st r0, 0f0f4h
CBLOCKEND 1 2 89
;;}
CLINE 0001H 0059H 0001H 0001H
mov sp, fp
pop fp
pop pc
CBLOCKEND 1 1 89
CFUNCTIONEND 1
CFUNCTION 5
_set_font_bit :
CBLOCK 5 1 95
;;{
CLINE 0001H 005FH 0001H 0005H
CBLOCK 5 2 95
;; num_12A=nixietube1.bit.bit0;
CLINE 0001H 0061H 0009H 0024H
tb NEAR _nixietube1.0
beq _$M3
sb 0f118h.3
bal _$M4
_$M3 :
rb 0f118h.3
_$M4 :
;; num_12B=nixietube1.bit.bit1;
CLINE 0001H 0062H 0009H 0024H
tb NEAR _nixietube1.1
beq _$M5
sb 0f119h.2
bal _$M6
_$M5 :
rb 0f119h.2
_$M6 :
;; num_12C=nixietube1.bit.bit2;
CLINE 0001H 0063H 0009H 0024H
tb NEAR _nixietube1.2
beq _$M7
sb 0f119h.0
bal _$M8
_$M7 :
rb 0f119h.0
_$M8 :
;; num_12D=nixietube1.bit.bit3;
CLINE 0001H 0064H 0009H 0024H
tb NEAR _nixietube1.3
beq _$M9
sb 0f118h.0
bal _$M10
_$M9 :
rb 0f118h.0
_$M10 :
;; num_12E=nixietube1.bit.bit4;
CLINE 0001H 0065H 0009H 0024H
tb NEAR _nixietube1.4
beq _$M11
sb 0f118h.1
bal _$M12
_$M11 :
rb 0f118h.1
_$M12 :
;; num_12F=nixietube1.bit.bit5;
CLINE 0001H 0066H 0009H 0024H
tb NEAR _nixietube1.5
beq _$M13
sb 0f118h.2
bal _$M14
_$M13 :
rb 0f118h.2
_$M14 :
;; num_12G=nixietube1.bit.bit6;
CLINE 0001H 0067H 0009H 0024H
tb NEAR _nixietube1.6
beq _$M15
sb 0f119h.1
bal _$M16
_$M15 :
rb 0f119h.1
_$M16 :
;; num_11A=nixietube2.bit.bit0;
CLINE 0001H 006AH 0009H 0024H
tb NEAR _nixietube2.0
beq _$M17
sb 0f116h.3
bal _$M18
_$M17 :
rb 0f116h.3
_$M18 :
;; num_11B=nixietube2.bit.bit1;
CLINE 0001H 006BH 0009H 0024H
tb NEAR _nixietube2.1
beq _$M19
sb 0f117h.2
bal _$M20
_$M19 :
rb 0f117h.2
_$M20 :
;; num_11C=nixietube2.bit.bit2;
CLINE 0001H 006CH 0009H 0024H
tb NEAR _nixietube2.2
beq _$M21
sb 0f117h.0
bal _$M22
_$M21 :
rb 0f117h.0
_$M22 :
;; num_11D=nixietube2.bit.bit3;
CLINE 0001H 006DH 0009H 0024H
tb NEAR _nixietube2.3
beq _$M23
sb 0f116h.0
bal _$M24
_$M23 :
rb 0f116h.0
_$M24 :
;; num_11E=nixietube2.bit.bit4;
CLINE 0001H 006EH 0009H 0024H
tb NEAR _nixietube2.4
beq _$M25
sb 0f116h.1
bal _$M26
_$M25 :
rb 0f116h.1
_$M26 :
;; num_11F=nixietube2.bit.bit5;
CLINE 0001H 006FH 0009H 0024H
tb NEAR _nixietube2.5
beq _$M27
sb 0f116h.2
bal _$M28
_$M27 :
rb 0f116h.2
_$M28 :
;; num_11G=nixietube2.bit.bit6;
CLINE 0001H 0070H 0009H 0024H
tb NEAR _nixietube2.6
beq _$M29
sb 0f117h.1
bal _$M30
_$M29 :
rb 0f117h.1
_$M30 :
;; num_10A=nixietube3.bit.bit0;
CLINE 0001H 0074H 0009H 0024H
tb NEAR _nixietube3.0
beq _$M31
sb 0f114h.3
bal _$M32
_$M31 :
rb 0f114h.3
_$M32 :
;; num_10B=nixietube3.bit.bit1;
CLINE 0001H 0075H 0009H 0024H
tb NEAR _nixietube3.1
beq _$M33
sb 0f115h.2
bal _$M34
_$M33 :
rb 0f115h.2
_$M34 :
;; num_10C=nixietube3.bit.bit2;
CLINE 0001H 0076H 0009H 0024H
tb NEAR _nixietube3.2
beq _$M35
sb 0f115h.0
bal _$M36
_$M35 :
rb 0f115h.0
_$M36 :
;; num_10D=nixietube3.bit.bit3;
CLINE 0001H 0077H 0009H 0024H
tb NEAR _nixietube3.3
beq _$M37
sb 0f114h.0
bal _$M38
_$M37 :
rb 0f114h.0
_$M38 :
;; num_10E=nixietube3.bit.bit4;
CLINE 0001H 0078H 0009H 0024H
tb NEAR _nixietube3.4
beq _$M39
sb 0f114h.1
bal _$M40
_$M39 :
rb 0f114h.1
_$M40 :
;; num_10F=nixietube3.bit.bit5;
CLINE 0001H 0079H 0009H 0024H
tb NEAR _nixietube3.5
beq _$M41
sb 0f114h.2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -