📄 1.s
字号:
.module _1.c
.area lit(rom, con, rel)
_Dig::
.byte 0,224
.byte 16,8
.byte 8,16
.byte 224,0
.byte 0,15
.byte 16,32
.byte 32,16
.byte 15,0
.byte 0,16
.byte 16,248
.byte 0,0
.byte 0,0
.byte 0,32
.byte 32,63
.byte 32,32
.byte 0,0
.byte 0,'p
.byte 8,8
.byte 8,136
.byte 'p,0
.byte 0,48
.byte 40,36
.byte 34,33
.byte 48,0
.byte 0,48
.byte 8,136
.byte 136,'H
.byte 48,0
.byte 0,24
.byte 32,32
.byte 32,17
.byte 14,0
.byte 0,0
.byte 192,32
.byte 16,248
.byte 0,0
.byte 0,7
.byte 4,36
.byte 36,63
.byte 36,0
.byte 0,248
.byte 8,136
.byte 136,8
.byte 8,0
.byte 0,25
.byte 33,32
.byte 32,17
.byte 14,0
.byte 0,224
.byte 16,136
.byte 136,24
.byte 0,0
.byte 0,15
.byte 17,32
.byte 32,17
.byte 14,0
.byte 0,56
.byte 8,8
.byte 200,56
.byte 8,0
.byte 0,0
.byte 0,63
.byte 0,0
.byte 0,0
.byte 0,'p
.byte 136,8
.byte 8,136
.byte 'p,0
.byte 0,28
.byte 34,33
.byte 33,34
.byte 28,0
.byte 0,224
.byte 16,8
.byte 8,16
.byte 224,0
.byte 0,0
.byte 49,34
.byte 34,17
.byte 15,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,48
.byte 48,0
.byte 0,0
.byte 0,0
.byte 240,8
.byte 240,0
.byte 224,24
.byte 0,0
.byte 0,33
.byte 28,3
.byte 30,33
.byte 30,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.dbfile G:\test\lcd\1\1.c
.dbsym e Dig _Dig A[208:208]kc
_HZK::
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,32
.byte 16,'H
.byte 'V,212
.byte 'T,212
.byte 'T,'T
.byte 'T,212
.byte 4,4
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,64
.byte 64,124
.byte 'T,'T
.byte 'T,'T
.byte 'T,'T
.byte 'T,126
.byte 'D,64
.byte 0,0
.byte 0,0
.byte 128,128
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 17,21
.byte 21,21
.byte 127,21
.byte 21,21
.byte 0,31
.byte 32,64
.byte 'x,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,64
.byte 'P,95
.byte 'U,'U
.byte 'U,127
.byte 'U,'U
.byte 'U,95
.byte 'P,64
.byte 0,0
.byte 0,0
.byte 49,49
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,32
.byte 194,12
.byte 192,0
.byte 252,148
.byte 148,148
.byte 148,148
.byte 254,4
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 248,8
.byte 40,40
.byte 248,170
.byte 172,168
.byte 248,40
.byte 44,8
.byte 0,0
.byte 0,0
.byte 128,128
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,4
.byte 124,3
.byte 64,126
.byte 'B,'B
.byte 126,'B
.byte 126,'B
.byte 'B,126
.byte 64,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 64,48
.byte 15,64
.byte 'B,'B
.byte 38,42
.byte 18,42
.byte 38,'B
.byte 64,64
.byte 0,0
.byte 0,0
.byte 49,49
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,144
.byte 144,254
.byte 'P,16
.byte 64,144
.byte 126,16
.byte 16,248
.byte 16,128
.byte 0,0
.byte 0,240
.byte 144,144
.byte 144,254
.byte 144,144
.byte 144,144
.byte 248,16
.byte 0,0
.byte 'H,'H
.byte 'H,254
.byte 40,40
.byte 128,'H
.byte 190,8
.byte 8,248
.byte 0,128
.byte 0,0
.byte 0,0
.byte 128,128
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,64
.byte 52,7
.byte 16,'d
.byte 2,17
.byte 'a,2
.byte 0,19
.byte 'd,7
.byte 0,0
.byte 0,15
.byte 4,4
.byte 4,63
.byte 'D,'D
.byte 'D,'D
.byte 'G,64
.byte 'p,0
.byte 64,'D
.byte 'E,37
.byte 20,15
.byte 4,4
.byte 36,'D
.byte 62,4
.byte 1,3
.byte 0,0
.byte 0,0
.byte 49,49
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 32,16
.byte 'H,'V
.byte 212,'T
.byte 212,'T
.byte 'T,'T
.byte 212,4
.byte 4,0
.byte 0,0
.byte 0,240
.byte 144,144
.byte 144,254
.byte 144,144
.byte 144,144
.byte 248,16
.byte 0,0
.byte 'H,'H
.byte 'H,254
.byte 40,40
.byte 128,'H
.byte 190,8
.byte 8,248
.byte 0,128
.byte 0,0
.byte 0,0
.byte 128,128
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,17
.byte 21,21
.byte 21,127
.byte 21,21
.byte 21,0
.byte 31,32
.byte 64,'x
.byte 0,0
.byte 0,15
.byte 4,4
.byte 4,63
.byte 'D,'D
.byte 'D,'D
.byte 'G,64
.byte 'p,0
.byte 64,'D
.byte 'E,37
.byte 20,15
.byte 4,4
.byte 36,'D
.byte 62,4
.byte 1,3
.byte 0,0
.byte 0,0
.byte 49,49
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 24,36
.byte 36,24
.byte 192,48
.byte 8,8
.byte 8,8
.byte 56,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 7,24
.byte 32,32
.byte 32,16
.byte 8,0
.byte 0,0
.byte 128,128
.byte 128,128
.byte 128,128
.byte 128,0
.byte 128,128
.byte 128,0
.byte 0,128
.byte 128,128
.byte 32,63
.byte 32,0
.byte 63,32
.byte 0,63
.byte 0,1
.byte 14,48
.byte 8,6
.byte 1,0
.dbsym e HZK _HZK A[576:576]kc
.area text(rom, con, rel)
.dbfile G:\test\lcd\1\1.c
.dbfunc e Wleft_Cmad _Wleft_Cmad fV
; Lstate -> R20
; Lcmd -> R16
.even
_Wleft_Cmad::
xcall push_gset1
.dbline -1
.dbline 98
; //mega8515 lcd of ks108
; //
; //-----------------------------------------------------------------------------
; // Includes
; //-----------------------------------------------------------------------------
; #include <iom16v.h>
; #include <macros.h>
; typedef unsigned char uchar;
; typedef unsigned int uint;
; //-----------------------------------------------------------------------------
; // DB0-DB7=PA
; // CSA = PC7 // Select left or right LCD.
; // CSB = PC6 // Select left or right LCD.
; // DI = PB2 // Select Rigster LCD.
; // RW = PB1 // Read or Write LCD.
; // EN = PB0;
; //-----------------------------------------------------------------------------
; /* 定义12864端口 */
; //DATA_PORT=PORTA
; #define DATA PORTA
; //CSA=PC7
; #define CSA_H asm("sbi 0x15,7")
; #define CSA_L asm("cbi 0x15,7")
; //CSB=PC6
; #define CSB_H asm("sbi 0x15,6")
; #define CSB_L asm("cbi 0x15,6")
; //DI=PB2
; #define DI_H asm("sbi 0x18,2")
; #define DI_L asm("cbi 0x18,2")
; //RW=PB1
; #define RW_H asm("sbi 0x18,1")
; #define RW_L asm("cbi 0x18,1")
; //EN=PB0
; #define EN_H asm("sbi 0x18,0")
; #define EN_L asm("cbi 0x18,0")
;
; //-----------------------------------------------------------------------------
; // Data for display.
; //-----------------------------------------------------------------------------
; const uchar Dig[] = {
; 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, // 0
; 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, // 1
; 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, // 2
; 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, // 3
; 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, // 4
; 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, // 5
; 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, // 6
; 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, // 7
; 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00, // 8
; 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, // 9
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00, // .[10]
; 0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00, // %[11]
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 // [12]
; };
;
; const uchar HZK[] = {
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x10,0x48,0x56,0xD4,0x54,0xD4,0x54,0x54, // 氧量:[0]
; 0x54,0xD4,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x7C,0x54,0x54,0x54,0x54,0x54,0x54,
; 0x54,0x7E,0x44,0x40,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x15,0x15,0x15,0x7F,0x15,0x15,0x15,
; 0x00,0x1F,0x20,0x40,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x50,0x5F,0x55,0x55,0x55,0x7F,0x55,0x55,
; 0x55,0x5F,0x50,0x40,0x00,0x00,0x00,0x00,0x31,0x31,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xC2,0x0C,0xC0,0x00,0xFC,0x94,0x94,0x94, // 温度:[4]
; 0x94,0x94,0xFE,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x08,0x28,0x28,0xF8,0xAA,0xAC,0xA8,
; 0xF8,0x28,0x2C,0x08,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x7C,0x03,0x40,0x7E,0x42,0x42,0x7E,0x42,
; 0x7E,0x42,0x42,0x7E,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x30,0x0F,0x40,0x42,0x42,0x26,0x2A,0x12,0x2A,
; 0x26,0x42,0x40,0x40,0x00,0x00,0x00,0x00,0x31,0x31,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x90,0xFE,0x50,0x10,0x40,0x90, // 热电势[8]
; 0x7E,0x10,0x10,0xF8,0x10,0x80,0x00,0x00,0x00,0xF0,0x90,0x90,0x90,0xFE,0x90,0x90,
; 0x90,0x90,0xF8,0x10,0x00,0x00,0x48,0x48,0x48,0xFE,0x28,0x28,0x80,0x48,0xBE,0x08,
; 0x08,0xF8,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x34,0x07,0x10,0x64,0x02,0x11,
; 0x61,0x02,0x00,0x13,0x64,0x07,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x3F,0x44,0x44,
; 0x44,0x44,0x47,0x40,0x70,0x00,0x40,0x44,0x45,0x25,0x14,0x0F,0x04,0x04,0x24,0x44,
; 0x3E,0x04,0x01,0x03,0x00,0x00,0x00,0x00,0x31,0x31,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x10,0x48,0x56,0xD4,0x54,0xD4,0x54, // 氧电势[12]
; 0x54,0x54,0xD4,0x04,0x04,0x00,0x00,0x00,0x00,0xF0,0x90,0x90,0x90,0xFE,0x90,0x90,
; 0x90,0x90,0xF8,0x10,0x00,0x00,0x48,0x48,0x48,0xFE,0x28,0x28,0x80,0x48,0xBE,0x08,
; 0x08,0xF8,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x15,0x15,0x15,0x7F,0x15,0x15,
; 0x15,0x00,0x1F,0x20,0x40,0x78,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x3F,0x44,0x44,
; 0x44,0x44,0x47,0x40,0x70,0x00,0x40,0x44,0x45,0x25,0x14,0x0F,0x04,0x04,0x24,0x44,
; 0x3E,0x04,0x01,0x03,0x00,0x00,0x00,0x00,0x31,0x31,0x00,0x00,0x00,0x00,0x00,0x00,
; 0x00,0x00,0x18,0x24,0x24,0x18,0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x00,0x00, // C:[16]
; 0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,0x00,0x00,
; 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80, // mv[17]
; 0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00
; };
; //-----------------------------------------------------------------------------
; // LCD:Write instraction code at left.
; //-----------------------------------------------------------------------------
; void Wleft_Cmad(unsigned char Lcmd)
; {
.dbline 100
; unsigned char Lstate;
; CSA_L; CSB_H;
cbi 0x15,7
.dbline 100
sbi 0x15,6
.dbline 101
; DI_L; RW_H;
cbi 0x18,2
.dbline 101
sbi 0x18,1
.dbline 102
; DDRA=0x00;//a口设为输入
clr R2
out 0x1a,R2
.dbline 103
; PORTA=0x00;
out 0x1b,R2
L2:
.dbline 105
; do
; { EN_H;
.dbline 105
sbi 0x18,0
.dbline 106
; Lstate = PINA;
in R20,0x19
.dbline 107
; EN_L;
cbi 0x18,0
.dbline 108
L3:
.dbline 108
; }while(Lstate & 0x80) ;
sbrc R20,7
rjmp L2
.dbline 109
; DDRA=0xff;
ldi R24,255
out 0x1a,R24
.dbline 110
; RW_L;
cbi 0x18,1
.dbline 111
; DATA = Lcmd;
out 0x1b,R16
.dbline 112
; EN_H;
sbi 0x18,0
.dbline 113
; EN_L;
cbi 0x18,0
.dbline -2
L1:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r Lstate 20 c
.dbsym r Lcmd 16 c
.dbend
.dbfunc e Wleft_Data _Wleft_Data fV
; Lstate -> R20
; Ldat -> R16
.even
_Wleft_Data::
xcall push_gset1
.dbline -1
.dbline 119
; }
; //-----------------------------------------------------------------------------
; // LCD:Write Data at left.
; //-----------------------------------------------------------------------------
; void Wleft_Data(unsigned char Ldat)
; {
.dbline 121
; unsigned char Lstate;
; CSA_L; CSB_H;
cbi 0x15,7
.dbline 121
sbi 0x15,6
.dbline 122
; DI_L;
cbi 0x18,2
.dbline 123
; RW_H;
sbi 0x18,1
.dbline 124
; DDRA=0x00;
clr R2
out 0x1a,R2
.dbline 125
; PORTA=0x00;
out 0x1b,R2
L6:
.dbline 127
; do
; { EN_H;
.dbline 127
sbi 0x18,0
.dbline 128
; Lstate = PINA;
in R20,0x19
.dbline 129
; EN_L;
cbi 0x18,0
.dbline 130
L7:
.dbline 130
; }while(Lstate & 0x80);
sbrc R20,7
rjmp L6
.dbline 131
; DDRA=0xff;
ldi R24,255
out 0x1a,R24
.dbline 132
; DI_H;
sbi 0x18,2
.dbline 133
; RW_L;
cbi 0x18,1
.dbline 134
; DATA = Ldat;
out 0x1b,R16
.dbline 135
; EN_H;
sbi 0x18,0
.dbline 136
; EN_L;
cbi 0x18,0
.dbline -2
L5:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r Lstate 20 c
.dbsym r Ldat 16 c
.dbend
.dbfunc e Wrigt_Cmad _Wrigt_Cmad fV
; Lstate -> R20
; Rcmd -> R16
.even
_Wrigt_Cmad::
xcall push_gset1
.dbline -1
.dbline 142
; }
; //-----------------------------------------------------------------------------
; // LCD:Write instraction code at Right.
; //-----------------------------------------------------------------------------
; void Wrigt_Cmad(unsigned char Rcmd)
; {
.dbline 144
; unsigned char Lstate;
; CSA_H; CSB_L;
sbi 0x15,7
.dbline 144
cbi 0x15,6
.dbline 145
; DI_L;
cbi 0x18,2
.dbline 146
; RW_H;
sbi 0x18,1
.dbline 147
; DDRA=0x00;
clr R2
out 0x1a,R2
.dbline 148
; PORTA=0x00;
out 0x1b,R2
L10:
.dbline 150
; do
; { EN_H;
.dbline 150
sbi 0x18,0
.dbline 151
; Lstate = PINA;
in R20,0x19
.dbline 152
; EN_L;
cbi 0x18,0
.dbline 153
L11:
.dbline 153
; }while(Lstate & 0x80) ;
sbrc R20,7
rjmp L10
.dbline 154
; DDRA=0xff;
ldi R24,255
out 0x1a,R24
.dbline 155
; RW_L;
cbi 0x18,1
.dbline 156
; DATA = Rcmd;
out 0x1b,R16
.dbline 157
; EN_H;
sbi 0x18,0
.dbline 158
; EN_L;
cbi 0x18,0
.dbline -2
L9:
xcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r Lstate 20 c
.dbsym r Rcmd 16 c
.dbend
.dbfunc e Wrigt_Data _Wrigt_Data fV
; Lstate -> R20
; Rdat -> R16
.even
_Wrigt_Data::
xcall push_gset1
.dbline -1
.dbline 164
; }
; //-----------------------------------------------------------------------------
; // LCD:Write Data at right.
; //-----------------------------------------------------------------------------
; void Wrigt_Data(unsigned char Rdat)
; {
.dbline 166
; unsigned char Lstate;
; CSA_H; CSB_L;
sbi 0x15,7
.dbline 166
cbi 0x15,6
.dbline 167
; DI_L;
cbi 0x18,2
.dbline 168
; RW_H;
sbi 0x18,1
.dbline 169
; DDRA=0x00;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -