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

📄 common.lis

📁 AVR系列单片机ATMEGA64开发的LED显示屏程序 内容包括ATMEGA64大部分资源的初始化程序
💻 LIS
字号:
                        .module common.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\DOCUME~1\11111\桌面\13个费显MEGA64\重显MEGA64\common.c
 0000                   .dbfunc e waitms _waitms fV
 0000           ;       longloop -> y+0
 0000           ;       calc_adj -> R10,R11
 0000           ;      shortloop -> R12,R13
 0000           ;   milliseconds -> y+12
                        .even
 0000           _waitms::
 0000 0E940000          xcall push_arg4
 0004 0E940000          xcall push_gset4
 0008 2497              sbiw R28,4
 000A                   .dbline -1
 000A                   .dbline 13
 000A           ; 
 000A           ; #include <include.h>
 000A           ; 
 000A           ; 
 000A           ; 
 000A           ; 
 000A           ; /***********************************************************************
 000A           ; Delay routine
 000A           ; NB! Remember to set CPU_CLOCK in MHz before using this delay function.
 000A           ; ***********************************************************************/
 000A           ; 
 000A           ; void waitms(long milliseconds)
 000A           ; {
 000A                   .dbline 16
 000A           ;   long longloop;
 000A           ;   int shortloop;
 000A           ;   int calc_adj = F_CPU <<6;
 000A 40E0              ldi R20,0
 000C 50E0              ldi R21,0
 000E 60E4              ldi R22,64
 0010 78E3              ldi R23,56
 0012 5A01              movw R10,R20
 0014                   .dbline 17
 0014           ;   for (longloop=0; longloop<milliseconds; longloop++)
 0014 40E0              ldi R20,0
 0016 50E0              ldi R21,0
 0018 60E0              ldi R22,0
 001A 70E0              ldi R23,0
 001C FE01              movw R30,R28
 001E 4083              std z+0,R20
 0020 5183              std z+1,R21
 0022 6283              std z+2,R22
 0024 7383              std z+3,R23
 0026 1CC0              xjmp L6
 0028           L3:
 0028                   .dbline 18
 0028           ;   {
 0028                   .dbline 19
 0028 CC24              clr R12
 002A DD24              clr R13
 002C 04C0              xjmp L10
 002E           L7:
 002E                   .dbline 19
 002E 0000              nop
 0030           L8:
 0030                   .dbline 19
 0030 C601              movw R24,R12
 0032 0196              adiw R24,1
 0034 6C01              movw R12,R24
 0036           L10:
 0036                   .dbline 19
 0036 CA14              cp R12,R10
 0038 DB04              cpc R13,R11
 003A CCF3              brlt L7
 003C                   .dbline 20
 003C           L4:
 003C                   .dbline 17
 003C 41E0              ldi R20,1
 003E 50E0              ldi R21,0
 0040 60E0              ldi R22,0
 0042 70E0              ldi R23,0
 0044 FE01              movw R30,R28
 0046 2080              ldd R2,z+0
 0048 3180              ldd R3,z+1
 004A 4280              ldd R4,z+2
 004C 5380              ldd R5,z+3
 004E 240E              add R2,R20
 0050 351E              adc R3,R21
 0052 461E              adc R4,R22
 0054 571E              adc R5,R23
 0056 FE01              movw R30,R28
 0058 2082              std z+0,R2
 005A 3182              std z+1,R3
 005C 4282              std z+2,R4
 005E 5382              std z+3,R5
 0060           L6:
 0060                   .dbline 17
 0060 FE01              movw R30,R28
 0062 2484              ldd R2,z+12
 0064 3584              ldd R3,z+13
 0066 4684              ldd R4,z+14
 0068 5784              ldd R5,z+15
 006A FE01              movw R30,R28
 006C 6080              ldd R6,z+0
 006E 7180              ldd R7,z+1
 0070 8280              ldd R8,z+2
 0072 9380              ldd R9,z+3
 0074 6214              cp R6,R2
 0076 7304              cpc R7,R3
 0078 8404              cpc R8,R4
 007A 9504              cpc R9,R5
 007C 0CF4              brge X0
 007E D4CF              xjmp L3
 0080           X0:
 0080                   .dbline -2
 0080           L2:
 0080 2496              adiw R28,4
 0082 0E940000          xcall pop_gset4
 0086 2496              adiw R28,4
 0088                   .dbline 0 ; func end
 0088 0895              ret
 008A                   .dbsym l longloop 0 L
 008A                   .dbsym r calc_adj 10 I
 008A                   .dbsym r shortloop 12 I
 008A                   .dbsym l milliseconds 12 L
 008A                   .dbend
 008A                   .dbfunc e waitus _waitus fV
 008A           ;       longloop -> y+0
 008A           ;       calc_adj -> R10,R11
 008A           ;      shortloop -> R12,R13
 008A           ;   microseconds -> y+12
                        .even
 008A           _waitus::
 008A 0E940000          xcall push_arg4
 008E 0E940000          xcall push_gset4
 0092 2497              sbiw R28,4
 0094                   .dbline -1
 0094                   .dbline 24
 0094           ;     for (shortloop=0; shortloop<calc_adj; shortloop++) NOP();
 0094           ;   }
 0094           ; }
 0094           ; 
 0094           ; void waitus(long microseconds)
 0094           ; {
 0094                   .dbline 27
 0094           ;   long longloop;
 0094           ;   int shortloop;
 0094           ;   int calc_adj = F_CPU >> 5;
 0094 40E0              ldi R20,0
 0096 58E0              ldi R21,8
 0098 67E0              ldi R22,7
 009A 70E0              ldi R23,0
 009C 5A01              movw R10,R20
 009E                   .dbline 28
 009E           ;   for (longloop=0; longloop<microseconds; longloop++)
 009E 40E0              ldi R20,0
 00A0 50E0              ldi R21,0
 00A2 60E0              ldi R22,0
 00A4 70E0              ldi R23,0
 00A6 FE01              movw R30,R28
 00A8 4083              std z+0,R20
 00AA 5183              std z+1,R21
 00AC 6283              std z+2,R22
 00AE 7383              std z+3,R23
 00B0 1CC0              xjmp L15
 00B2           L12:
 00B2                   .dbline 29
 00B2           ;   {
 00B2                   .dbline 30
 00B2 CC24              clr R12
 00B4 DD24              clr R13
 00B6 04C0              xjmp L19
 00B8           L16:
 00B8                   .dbline 30
 00B8 0000              nop
 00BA           L17:
 00BA                   .dbline 30
 00BA C601              movw R24,R12
 00BC 0196              adiw R24,1
 00BE 6C01              movw R12,R24
 00C0           L19:
 00C0                   .dbline 30
 00C0 CA14              cp R12,R10
 00C2 DB04              cpc R13,R11
 00C4 CCF3              brlt L16
 00C6                   .dbline 31
 00C6           L13:
 00C6                   .dbline 28
 00C6 41E0              ldi R20,1
 00C8 50E0              ldi R21,0
 00CA 60E0              ldi R22,0
 00CC 70E0              ldi R23,0
 00CE FE01              movw R30,R28
 00D0 2080              ldd R2,z+0
 00D2 3180              ldd R3,z+1
 00D4 4280              ldd R4,z+2
 00D6 5380              ldd R5,z+3
 00D8 240E              add R2,R20
 00DA 351E              adc R3,R21
 00DC 461E              adc R4,R22
 00DE 571E              adc R5,R23
 00E0 FE01              movw R30,R28
 00E2 2082              std z+0,R2
 00E4 3182              std z+1,R3
 00E6 4282              std z+2,R4
 00E8 5382              std z+3,R5
 00EA           L15:
 00EA                   .dbline 28
 00EA FE01              movw R30,R28
 00EC 2484              ldd R2,z+12
 00EE 3584              ldd R3,z+13
 00F0 4684              ldd R4,z+14
 00F2 5784              ldd R5,z+15
 00F4 FE01              movw R30,R28
 00F6 6080              ldd R6,z+0
 00F8 7180              ldd R7,z+1
 00FA 8280              ldd R8,z+2
 00FC 9380              ldd R9,z+3
 00FE 6214              cp R6,R2
 0100 7304              cpc R7,R3
 0102 8404              cpc R8,R4
 0104 9504              cpc R9,R5
 0106 0CF4              brge X1
 0108 D4CF              xjmp L12
 010A           X1:
 010A                   .dbline -2
 010A           L11:
 010A 2496              adiw R28,4
 010C 0E940000          xcall pop_gset4
 0110 2496              adiw R28,4
 0112                   .dbline 0 ; func end
 0112 0895              ret
 0114                   .dbsym l longloop 0 L
 0114                   .dbsym r calc_adj 10 I
 0114                   .dbsym r shortloop 12 I
 0114                   .dbsym l microseconds 12 L
 0114                   .dbend

⌨️ 快捷键说明

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