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

📄 lcd_left.lis

📁 keyboard 包含三个例子程序 keyboard.c、keyboard1.c和keyboard2.c keyboard.c :使用keypad函数
💻 LIS
字号:
                         .module lcd_left.c
                         .area text(rom, con, rel)
 0000                   .dbfile D:\ICC-AVR\examples.sl\lcd_left.c
 0000                   .dbfunc s lcd_shift _lcd_shift fI
                       ;              i -> R20
                       ;              j -> R22
                       ;              p -> R20
                       ;              n -> R10
                         .even
 0000                 _lcd_shift::
 0000 00D0              rcall push_gset3
 0002 422F              mov R20,R18
 0004 A02E              mov R10,R16
 0006                   .dbline 7{
                       ; /************************************************
                       ;             LCD字符移位函数
                       ;     n:移动的次数 
                       ;     p:移动方向,'l'或'L'表示左移,'r'或'R'表示右移       
                       ; *************************************************/
                       ; void lcd_shift(unsigned char n,unsigned char p)
                       ;       {
 0006                   .dbline 8
                       ;        unsigned char i,j=1;
 0006 61E0              ldi R22,1
 0008                   .dbline 9
                       ;        switch (p)
 0008 5527              clr R21
 000A 4235              cpi R20,82
 000C E0E0              ldi R30,0
 000E 5E07              cpc R21,R30
 0010 C9F0              breq L6
 0012 82E5              ldi R24,82
 0014 90E0              ldi R25,0
 0016 8417              cp R24,R20
 0018 9507              cpc R25,R21
 001A 2CF0              brlt L10
 001C                 L9:
 001C 4C34              cpi R20,76
 001E E0E0              ldi R30,0
 0020 5E07              cpc R21,R30
 0022 A1F0              breq L8
 0024 1DC0              rjmp L1
 0026                 L10:
 0026 4C36              cpi R20,108
 0028 E0E0              ldi R30,0
 002A 5E07              cpc R21,R30
 002C 69F0              breq L7
 002E 4C36              cpi R20,108
 0030 E0E0              ldi R30,0
 0032 5E07              cpc R21,R30
 0034 ACF0              brlt L1
 0036                 L11:
 0036 4237              cpi R20,114
 0038 E0E0              ldi R30,0
 003A 5E07              cpc R21,R30
 003C 09F0              breq L5
 003E 10C0              rjmp L1
 0040                 X0:
 0040                   .dbline 10
                       ;            {
 0040                 L5:
 0040                   .dbline 11
                       ;             case 'r':i=0x1c;break;
 0040 4CE1              ldi R20,28
 0042                   .dbline 11
 0042 0CC0              rjmp L13
 0044                 L6:
 0044                   .dbline 12
                       ;             case 'R':i=0x1c;break;
 0044 4CE1              ldi R20,28
 0046                   .dbline 12
 0046 0AC0              rjmp L13
 0048                 L7:
 0048                   .dbline 13
                       ;             case 'l':i=0x18;break;    
 0048 48E1              ldi R20,24
 004A                   .dbline 13
 004A 08C0              rjmp L13
 004C                 L8:
 004C                   .dbline 14
                       ;             case 'L':i=0x18;break;    
 004C 48E1              ldi R20,24
 004E                   .dbline 14
 004E                   .dbline 15
                       ;             default:return;
 004E 06C0              rjmp L13
 0050                 L12:
 0050                   .dbline 18
 0050                   .dbline 19
 0050 6395              inc R22
 0052                   .dbline 20
 0052 2227              clr R18
 0054 3327              clr R19
 0056 042F              mov R16,R20
 0058 1127              clr R17
 005A 00D0              rcall _write_lcd
 005C                   .dbline 21
 005C                 L13:
 005C                   .dbline 17
                       ;             }
                       ;        while (j<=n)
 005C A616              cp R10,R22
 005E C0F7              brsh L12
 0060                   .dbline 22}
                       ;            {
                       ;             j++;
                       ;             write_lcd(i,0);
                       ;            }        
                       ;       }
 0060                 L1:
 0060 00D0              rcall pop_gset3
 0062 0895              ret
 0064                   .dbsym r i 20 c
 0064                   .dbsym r j 22 c
 0064                   .dbsym r p 20 c
 0064                   .dbsym r n 10 c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -