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

📄 lcd_test.lis

📁 AVR单片机
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00AE                   .dbline 135
 00AE           ;   // Ok, then we enable interrupts and timer which will simulate
 00AE           ;   // a good old analog clock. Enjoy !
 00AE           ;   while(1);
 00AE           L20:
 00AE                   .dbline 135
 00AE FFCF              xjmp L19
 00B0           X3:
 00B0                   .dbline -2
 00B0           L1:
 00B0                   .dbline 0 ; func end
 00B0 2796              adiw R28,7
 00B2 0895              ret
 00B4                   .dbsym r o 10 I
 00B4                   .dbsym r j 20 I
 00B4                   .dbsym r i 22 I
 00B4                   .dbend
                        .area vector(rom, abs)
                        .org 56
 0038 0C945A00          jmp _timer1_ovf_isr
                        .area text(rom, con, rel)
 00B4                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 00B4                   .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
                        .even
 00B4           _timer1_ovf_isr::
 00B4 0A92              st -y,R0
 00B6 1A92              st -y,R1
 00B8 2A92              st -y,R2
 00BA 3A92              st -y,R3
 00BC 4A92              st -y,R4
 00BE 5A92              st -y,R5
 00C0 6A92              st -y,R6
 00C2 7A92              st -y,R7
 00C4 8A92              st -y,R8
 00C6 9A92              st -y,R9
 00C8 0A93              st -y,R16
 00CA 1A93              st -y,R17
 00CC 2A93              st -y,R18
 00CE 3A93              st -y,R19
 00D0 8A93              st -y,R24
 00D2 9A93              st -y,R25
 00D4 AA93              st -y,R26
 00D6 BA93              st -y,R27
 00D8 EA93              st -y,R30
 00DA FA93              st -y,R31
 00DC 0FB6              in R0,0x3f
 00DE 0A92              st -y,R0
 00E0 2797              sbiw R28,7
 00E2                   .dbline -1
 00E2                   .dbline 144
 00E2           ; }
 00E2           ; 
 00E2           ; 
 00E2           ; /***********************************************************************
 00E2           ; Interrupt handler for Timer 1 - 1 Second 
 00E2           ; ***********************************************************************/
 00E2           ; #pragma interrupt_handler timer1_ovf_isr:iv_TIM1_OVF
 00E2           ; void timer1_ovf_isr(void)
 00E2           ; {
 00E2                   .dbline 146
 00E2           ;  //TIMER1 has overflowed
 00E2           ;  TCNT1H = 0xE3; //reload counter high value
 00E2 83EE              ldi R24,227
 00E4 8DBD              out 0x2d,R24
 00E6                   .dbline 147
 00E6           ;  TCNT1L = 0xE1; //reload counter low value
 00E6 81EE              ldi R24,225
 00E8 8CBD              out 0x2c,R24
 00EA                   .dbline 149
 00EA           ;   // Draw seconds
 00EA           ;   lcd_degree_line(ClockX,ClockY,sec,ClockIR+1,ClockOR-7,0); 
 00EA 2224              clr R2
 00EC 2E82              std y+6,R2
 00EE 81E2              ldi R24,33
 00F0 90E0              ldi R25,0
 00F2 9D83              std y+5,R25
 00F4 8C83              std y+4,R24
 00F6 83E0              ldi R24,3
 00F8 9B83              std y+3,R25
 00FA 8A83              std y+2,R24
 00FC 20900000          lds R2,_sec
 0100 30900100          lds R3,_sec+1
 0104 3982              std y+1,R3
 0106 2882              std y+0,R2
 0108 28E7              ldi R18,120
 010A 30E0              ldi R19,0
 010C 00EA              ldi R16,160
 010E 10E0              ldi R17,0
 0110 0E940000          xcall _lcd_degree_line
 0114                   .dbline 150
 0114           ;   sec = sec + 6;
 0114 80910000          lds R24,_sec
 0118 90910100          lds R25,_sec+1
 011C 0696              adiw R24,6
 011E 90930100          sts _sec+1,R25
 0122 80930000          sts _sec,R24
 0126                   .dbline 151
 0126           ;   lcd_degree_line(ClockX,ClockY,sec,ClockIR+1,ClockOR-7,1); 
 0126 81E0              ldi R24,1
 0128 8E83              std y+6,R24
 012A 81E2              ldi R24,33
 012C 90E0              ldi R25,0
 012E 9D83              std y+5,R25
 0130 8C83              std y+4,R24
 0132 83E0              ldi R24,3
 0134 9B83              std y+3,R25
 0136 8A83              std y+2,R24
 0138 20900000          lds R2,_sec
 013C 30900100          lds R3,_sec+1
 0140 3982              std y+1,R3
 0142 2882              std y+0,R2
 0144 28E7              ldi R18,120
 0146 30E0              ldi R19,0
 0148 00EA              ldi R16,160
 014A 10E0              ldi R17,0
 014C 0E940000          xcall _lcd_degree_line
 0150                   .dbline 153
 0150           ;   // Draw minute
 0150           ;   lcd_degree_line(ClockX,ClockY,min,ClockIR+1,ClockOR-15,1); 
 0150 81E0              ldi R24,1
 0152 8E83              std y+6,R24
 0154 89E1              ldi R24,25
 0156 90E0              ldi R25,0
 0158 9D83              std y+5,R25
 015A 8C83              std y+4,R24
 015C 83E0              ldi R24,3
 015E 9B83              std y+3,R25
 0160 8A83              std y+2,R24
 0162 20900200          lds R2,_min
 0166 30900300          lds R3,_min+1
 016A 3982              std y+1,R3
 016C 2882              std y+0,R2
 016E 28E7              ldi R18,120
 0170 30E0              ldi R19,0
 0172 00EA              ldi R16,160
 0174 10E0              ldi R17,0
 0176 0E940000          xcall _lcd_degree_line
 017A                   .dbline 155
 017A           ;   // Some simple checking....
 017A           ;   if (sec >= 360) 
 017A 80910000          lds R24,_sec
 017E 90910100          lds R25,_sec+1
 0182 8836              cpi R24,104
 0184 E1E0              ldi R30,1
 0186 9E07              cpc R25,R30
 0188 C4F1              brlt L23
 018A           X4:
 018A                   .dbline 156
 018A           ;   {
 018A                   .dbline 157
 018A           ;     sec = 0;
 018A 2224              clr R2
 018C 3324              clr R3
 018E 30920100          sts _sec+1,R3
 0192 20920000          sts _sec,R2
 0196                   .dbline 158
 0196           ;     lcd_degree_line(ClockX,ClockY,min,ClockIR+1,ClockOR-15,0);
 0196 2E82              std y+6,R2
 0198 89E1              ldi R24,25
 019A 90E0              ldi R25,0
 019C 9D83              std y+5,R25
 019E 8C83              std y+4,R24
 01A0 83E0              ldi R24,3
 01A2 9B83              std y+3,R25
 01A4 8A83              std y+2,R24
 01A6 20900200          lds R2,_min
 01AA 30900300          lds R3,_min+1
 01AE 3982              std y+1,R3
 01B0 2882              std y+0,R2
 01B2 28E7              ldi R18,120
 01B4 30E0              ldi R19,0
 01B6 00EA              ldi R16,160
 01B8 10E0              ldi R17,0
 01BA 0E940000          xcall _lcd_degree_line
 01BE                   .dbline 159
 01BE           ;     min = min + 6;
 01BE 80910200          lds R24,_min
 01C2 90910300          lds R25,_min+1
 01C6 0696              adiw R24,6
 01C8 90930300          sts _min+1,R25
 01CC 80930200          sts _min,R24
 01D0                   .dbline 160
 01D0           ;     lcd_degree_line(ClockX,ClockY,min,ClockIR+1,ClockOR-15,1);
 01D0 81E0              ldi R24,1
 01D2 8E83              std y+6,R24
 01D4 89E1              ldi R24,25
 01D6 90E0              ldi R25,0
 01D8 9D83              std y+5,R25
 01DA 8C83              std y+4,R24
 01DC 83E0              ldi R24,3
 01DE 9B83              std y+3,R25
 01E0 8A83              std y+2,R24
 01E2 20900200          lds R2,_min
 01E6 30900300          lds R3,_min+1
 01EA 3982              std y+1,R3
 01EC 2882              std y+0,R2
 01EE 28E7              ldi R18,120
 01F0 30E0              ldi R19,0
 01F2 00EA              ldi R16,160
 01F4 10E0              ldi R17,0
 01F6 0E940000          xcall _lcd_degree_line
 01FA                   .dbline 161
 01FA           ;   }
 01FA           L23:
 01FA                   .dbline 162
 01FA           ;   if (min >= 360)
 01FA 80910200          lds R24,_min
 01FE 90910300          lds R25,_min+1
 0202 8836              cpi R24,104
 0204 E1E0              ldi R30,1
 0206 9E07              cpc R25,R30
 0208 34F0              brlt L25
 020A           X5:
 020A                   .dbline 163
 020A           ;   {
 020A                   .dbline 164
 020A           ;     min = 0;
 020A 2224              clr R2
 020C 3324              clr R3
 020E 30920300          sts _min+1,R3
 0212 20920200          sts _min,R2
 0216                   .dbline 165
 0216           ;   }
 0216           L25:
 0216                   .dbline -2
 0216           L22:
 0216                   .dbline 0 ; func end
 0216 2796              adiw R28,7
 0218 0990              ld R0,y+
 021A 0FBE              out 0x3f,R0
 021C F991              ld R31,y+
 021E E991              ld R30,y+
 0220 B991              ld R27,y+
 0222 A991              ld R26,y+
 0224 9991              ld R25,y+
 0226 8991              ld R24,y+
 0228 3991              ld R19,y+
 022A 2991              ld R18,y+
 022C 1991              ld R17,y+
 022E 0991              ld R16,y+
 0230 9990              ld R9,y+
 0232 8990              ld R8,y+
 0234 7990              ld R7,y+
 0236 6990              ld R6,y+
 0238 5990              ld R5,y+
 023A 4990              ld R4,y+
 023C 3990              ld R3,y+
 023E 2990              ld R2,y+
 0240 1990              ld R1,y+
 0242 0990              ld R0,y+
 0244 1895              reti
 0246                   .dbend
                        .area data(ram, con, rel)
 0004                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 0004           L15:
 0004                   .blkb 23
                        .area idata
 0004 3535313620486175676573756E642C20  .byte 53,53,49,54,32,'H,'a,'u,'g,'e,'s,'u,'n,'d,44,32
 0014 4E6F7277617900    .byte 'N,'o,'r,'w,'a,'y,0
                        .area data(ram, con, rel)
 001B                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 001B           L14:
 001B                   .blkb 19
                        .area idata
 001B 2020205376656E6E6168617567656E20  .byte 32,32,32,'S,'v,'e,'n,'n,'a,'h,'a,'u,'g,'e,'n,32
 002B 333900            .byte 51,57,0
                        .area data(ram, con, rel)
 002E                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 002E           L13:
 002E                   .blkb 19
                        .area idata
 002E 20426161726473656E20536F66747761  .byte 32,'B,'a,'a,'r,'d,'s,'e,'n,32,'S,'o,'f,'t,'w,'a
 003E 726500            .byte 'r,'e,0
                        .area data(ram, con, rel)
 0041                   .dbfile F:\avr\lcdsd1330\lcd_test.c
 0041           ; }
 0041           ; 

⌨️ 快捷键说明

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