📄 display.s
字号:
.module display.c
.area text(rom, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
.dbfunc e display _display fV
.area func_lit(rom, con, rel)
L41:
.word `L7
.word `L9
.word `L11
.word `L13
.word `L15
.word `L17
.word `L19
.word `L21
.word `L23
.word `L25
.word `L27
.word `L29
.word `L31
.word `L33
.word `L35
.word `L37
.word `L39
.area text(rom, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
; line -> R22
; position -> R20
; Num -> R10
.even
_display::
rcall push_gset3
mov R20,R18
mov R10,R16
sbiw R28,2
.dbline -1
.dbline 6
; #include <iom8v.h>
; #include <macros.h>
; #include "lcd1602.h"
;
; void display(unsigned char Num , unsigned char position)
; {
.dbline 7
; unsigned char line=0 ;
clr R22
.dbline 9
;
; if(position<16) { line=0; }
cpi R20,16
brsh L2
.dbline 9
.dbline 9
.dbline 9
rjmp L3
L2:
.dbline 10
; else { position -= 16 ; line=1; }
.dbline 10
subi R20,16
.dbline 10
ldi R22,1
.dbline 10
L3:
.dbline 12
;
; switch (Num)
clr R11
movw R24,R10
cpi R24,0
ldi R30,0
cpc R25,R30
brge X1
rjmp L4
X1:
ldi R24,16
cp R24,R10
cpc R25,R11
brge X2
rjmp L4
X2:
ldi R16,2
ldi R17,0
movw R18,R10
rcall empy16s
movw R30,R16
ldi R24,<L41
ldi R25,>L41
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ijmp
X0:
.dbline 13
; {
L7:
.dbline 14
; case 0 : LCD_write_string(position,line,"0");
ldi R24,<L8
ldi R25,>L8
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 15
; break ;
rjmp L5
L9:
.dbline 16
; case 1 : LCD_write_string(position,line,"1");
ldi R24,<L10
ldi R25,>L10
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 17
; break ;
rjmp L5
L11:
.dbline 18
; case 2 : LCD_write_string(position,line,"2");
ldi R24,<L12
ldi R25,>L12
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 19
; break ;
rjmp L5
L13:
.dbline 20
; case 3 : LCD_write_string(position,line,"3");
ldi R24,<L14
ldi R25,>L14
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 21
; break ;
rjmp L5
L15:
.dbline 22
; case 4 : LCD_write_string(position,line,"4");
ldi R24,<L16
ldi R25,>L16
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 23
; break ;
rjmp L5
L17:
.dbline 24
; case 5 : LCD_write_string(position,line,"5");
ldi R24,<L18
ldi R25,>L18
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 25
; break ;
rjmp L5
L19:
.dbline 26
; case 6 : LCD_write_string(position,line,"6");
ldi R24,<L20
ldi R25,>L20
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 27
; break ;
rjmp L5
L21:
.dbline 28
; case 7 : LCD_write_string(position,line,"7");
ldi R24,<L22
ldi R25,>L22
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 29
; break ;
rjmp L5
L23:
.dbline 30
; case 8 : LCD_write_string(position,line,"8");
ldi R24,<L24
ldi R25,>L24
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 31
; break ;
rjmp L5
L25:
.dbline 32
; case 9 : LCD_write_string(position,line,"9");
ldi R24,<L26
ldi R25,>L26
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 33
; break ;
rjmp L5
L27:
.dbline 34
; case 10 : LCD_write_string(position,line,"a");
ldi R24,<L28
ldi R25,>L28
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 35
; break ;
rjmp L5
L29:
.dbline 36
; case 11 : LCD_write_string(position,line,"b");
ldi R24,<L30
ldi R25,>L30
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 37
; break ;
rjmp L5
L31:
.dbline 38
; case 12 : LCD_write_string(position,line,"c");
ldi R24,<L32
ldi R25,>L32
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 39
; break ;
rjmp L5
L33:
.dbline 40
; case 13 : LCD_write_string(position,line,"d");
ldi R24,<L34
ldi R25,>L34
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 41
; break ;
rjmp L5
L35:
.dbline 42
; case 14 : LCD_write_string(position,line,"e");
ldi R24,<L36
ldi R25,>L36
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 43
; break ;
rjmp L5
L37:
.dbline 44
; case 15 : LCD_write_string(position,line,"f");
ldi R24,<L38
ldi R25,>L38
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 45
; break ;
rjmp L5
L39:
.dbline 46
; case 16 : LCD_write_string(position,line,"*");
ldi R24,<L40
ldi R25,>L40
std y+1,R25
std y+0,R24
mov R18,R22
mov R16,R20
rcall _LCD_write_string
.dbline 47
; break ;
L4:
L5:
.dbline 49
; }
; delay_nms(2);
ldi R16,2
ldi R17,0
rcall _delay_nms
.dbline -2
L1:
adiw R28,2
rcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r line 22 c
.dbsym r position 20 c
.dbsym r Num 10 c
.dbend
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L40:
.blkb 2
.area idata
.byte 42,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L38:
.blkb 2
.area idata
.byte 'f,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L36:
.blkb 2
.area idata
.byte 'e,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L34:
.blkb 2
.area idata
.byte 'd,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L32:
.blkb 2
.area idata
.byte 'c,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L30:
.blkb 2
.area idata
.byte 'b,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L28:
.blkb 2
.area idata
.byte 'a,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L26:
.blkb 2
.area idata
.byte 57,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L24:
.blkb 2
.area idata
.byte 56,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L22:
.blkb 2
.area idata
.byte 55,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L20:
.blkb 2
.area idata
.byte 54,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L18:
.blkb 2
.area idata
.byte 53,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L16:
.blkb 2
.area idata
.byte 52,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L14:
.blkb 2
.area idata
.byte 51,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L12:
.blkb 2
.area idata
.byte 50,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L10:
.blkb 2
.area idata
.byte 49,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
L8:
.blkb 2
.area idata
.byte 48,0
.area data(ram, con, rel)
.dbfile D:\PROGRA~1\ICC\Pro(AVR)\环保型IC卡门禁系统\display.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -