⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.lis

📁 环保型IC卡门禁系统的C程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .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 + -