?? display.lis
字號:
.module display.c
.area text(rom, con, rel)
0000 .dbfile D:\PROGRA~1\ICC\Pro(AVR)\環保型IC卡門禁系統\display.c
0000 .dbfunc e display _display fV
.area func_lit(rom, con, rel)
0000 L41:
0000 2300 .word `L7
0002 2B00 .word `L9
0004 3300 .word `L11
0006 3B00 .word `L13
0008 4300 .word `L15
000A 4B00 .word `L17
000C 5300 .word `L19
000E 5B00 .word `L21
0010 6300 .word `L23
0012 6B00 .word `L25
0014 7300 .word `L27
0016 7B00 .word `L29
0018 8300 .word `L31
001A 8B00 .word `L33
001C 9300 .word `L35
001E 9B00 .word `L37
0020 A300 .word `L39
.area text(rom, con, rel)
0000 .dbfile D:\PROGRA~1\ICC\Pro(AVR)\環保型IC卡門禁系統\display.c
0000 ; line -> R22
0000 ; position -> R20
0000 ; Num -> R10
.even
0000 _display::
0000 00D0 rcall push_gset3
0002 422F mov R20,R18
0004 A02E mov R10,R16
0006 2297 sbiw R28,2
0008 .dbline -1
0008 .dbline 6
0008 ; #include <iom8v.h>
0008 ; #include <macros.h>
0008 ; #include "lcd1602.h"
0008 ;
0008 ; void display(unsigned char Num , unsigned char position)
0008 ; {
0008 .dbline 7
0008 ; unsigned char line=0 ;
0008 6627 clr R22
000A .dbline 9
000A ;
000A ; if(position<16) { line=0; }
000A 4031 cpi R20,16
000C 08F4 brsh L2
000E .dbline 9
000E .dbline 9
000E .dbline 9
000E 02C0 rjmp L3
0010 L2:
0010 .dbline 10
0010 ; else { position -= 16 ; line=1; }
0010 .dbline 10
0010 4051 subi R20,16
0012 .dbline 10
0012 61E0 ldi R22,1
0014 .dbline 10
0014 L3:
0014 .dbline 12
0014 ;
0014 ; switch (Num)
0014 BB24 clr R11
0016 C501 movw R24,R10
0018 8030 cpi R24,0
001A E0E0 ldi R30,0
001C 9E07 cpc R25,R30
001E 0CF4 brge X1
0020 99C0 rjmp L4
0022 X1:
0022 80E1 ldi R24,16
0024 8A15 cp R24,R10
0026 9B05 cpc R25,R11
0028 0CF4 brge X2
002A 94C0 rjmp L4
002C X2:
002C 02E0 ldi R16,2
002E 10E0 ldi R17,0
0030 9501 movw R18,R10
0032 00D0 rcall empy16s
0034 F801 movw R30,R16
0036 80E0 ldi R24,<L41
0038 90E0 ldi R25,>L41
003A E80F add R30,R24
003C F91F adc R31,R25
003E 0590 lpm R0,Z+
0040 1490 lpm R1,Z
0042 F001 movw R30,R0
0044 0994 ijmp
0046 X0:
0046 .dbline 13
0046 ; {
0046 L7:
0046 .dbline 14
0046 ; case 0 : LCD_write_string(position,line,"0");
0046 80E0 ldi R24,<L8
0048 90E0 ldi R25,>L8
004A 9983 std y+1,R25
004C 8883 std y+0,R24
004E 262F mov R18,R22
0050 042F mov R16,R20
0052 00D0 rcall _LCD_write_string
0054 .dbline 15
0054 ; break ;
0054 7FC0 rjmp L5
0056 L9:
0056 .dbline 16
0056 ; case 1 : LCD_write_string(position,line,"1");
0056 80E0 ldi R24,<L10
0058 90E0 ldi R25,>L10
005A 9983 std y+1,R25
005C 8883 std y+0,R24
005E 262F mov R18,R22
0060 042F mov R16,R20
0062 00D0 rcall _LCD_write_string
0064 .dbline 17
0064 ; break ;
0064 77C0 rjmp L5
0066 L11:
0066 .dbline 18
0066 ; case 2 : LCD_write_string(position,line,"2");
0066 80E0 ldi R24,<L12
0068 90E0 ldi R25,>L12
006A 9983 std y+1,R25
006C 8883 std y+0,R24
006E 262F mov R18,R22
0070 042F mov R16,R20
0072 00D0 rcall _LCD_write_string
0074 .dbline 19
0074 ; break ;
0074 6FC0 rjmp L5
0076 L13:
0076 .dbline 20
0076 ; case 3 : LCD_write_string(position,line,"3");
0076 80E0 ldi R24,<L14
0078 90E0 ldi R25,>L14
007A 9983 std y+1,R25
007C 8883 std y+0,R24
007E 262F mov R18,R22
0080 042F mov R16,R20
0082 00D0 rcall _LCD_write_string
0084 .dbline 21
0084 ; break ;
0084 67C0 rjmp L5
0086 L15:
0086 .dbline 22
0086 ; case 4 : LCD_write_string(position,line,"4");
0086 80E0 ldi R24,<L16
0088 90E0 ldi R25,>L16
008A 9983 std y+1,R25
008C 8883 std y+0,R24
008E 262F mov R18,R22
0090 042F mov R16,R20
0092 00D0 rcall _LCD_write_string
0094 .dbline 23
0094 ; break ;
0094 5FC0 rjmp L5
0096 L17:
0096 .dbline 24
0096 ; case 5 : LCD_write_string(position,line,"5");
0096 80E0 ldi R24,<L18
0098 90E0 ldi R25,>L18
009A 9983 std y+1,R25
009C 8883 std y+0,R24
009E 262F mov R18,R22
00A0 042F mov R16,R20
00A2 00D0 rcall _LCD_write_string
00A4 .dbline 25
00A4 ; break ;
00A4 57C0 rjmp L5
00A6 L19:
00A6 .dbline 26
00A6 ; case 6 : LCD_write_string(position,line,"6");
00A6 80E0 ldi R24,<L20
00A8 90E0 ldi R25,>L20
00AA 9983 std y+1,R25
00AC 8883 std y+0,R24
00AE 262F mov R18,R22
00B0 042F mov R16,R20
00B2 00D0 rcall _LCD_write_string
00B4 .dbline 27
00B4 ; break ;
00B4 4FC0 rjmp L5
00B6 L21:
00B6 .dbline 28
00B6 ; case 7 : LCD_write_string(position,line,"7");
00B6 80E0 ldi R24,<L22
00B8 90E0 ldi R25,>L22
00BA 9983 std y+1,R25
00BC 8883 std y+0,R24
00BE 262F mov R18,R22
00C0 042F mov R16,R20
00C2 00D0 rcall _LCD_write_string
00C4 .dbline 29
00C4 ; break ;
00C4 47C0 rjmp L5
00C6 L23:
00C6 .dbline 30
00C6 ; case 8 : LCD_write_string(position,line,"8");
00C6 80E0 ldi R24,<L24
00C8 90E0 ldi R25,>L24
00CA 9983 std y+1,R25
00CC 8883 std y+0,R24
00CE 262F mov R18,R22
00D0 042F mov R16,R20
00D2 00D0 rcall _LCD_write_string
00D4 .dbline 31
00D4 ; break ;
00D4 3FC0 rjmp L5
00D6 L25:
00D6 .dbline 32
00D6 ; case 9 : LCD_write_string(position,line,"9");
00D6 80E0 ldi R24,<L26
00D8 90E0 ldi R25,>L26
00DA 9983 std y+1,R25
00DC 8883 std y+0,R24
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -