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

📄 lcd16x2.lst

📁 使用iccavr的例子
💻 LST
📖 第 1 页 / 共 4 页
字号:
                       ;   return *LCD_IO;
 0C18  2FE4              mov R30,R20
 0C19  2FF5              mov R31,R21
 0C1A  8100              ldd R16,z+0
 0C1B  2711              clr R17
 0C1C                  L64:
 0C1C  940E06D5          call pop_gset1
 0C1E  9508              ret
 0C1F                    .dbline 186}
 0C1F                    .dbsym r LCD_IO 20 pc
 0C1F                    .dbsym r select 16 c
                         .area bss
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\lcd.c
--- 0000                 _LCDQueueStr2:
--- 0000                   .blkb 17
--- 0009                   .dbfile c:/documents/software/avr/lcd16x2/include/lcd.h
--- 0009                   .dbsym s LCDQueueStr2 _LCDQueueStr2 Ac[17:17]
--- 0009                 _LCDQueueStr1:
--- 0009                   .blkb 17
--- 0011                   .dbsym s LCDQueueStr1 _LCDQueueStr1 Ac[17:17]
--- 0011                 _LCDStr2:
--- 0011                   .blkb 17
--- 001A                   .dbsym s LCDStr2 _LCDStr2 Ac[17:17]
--- 001A                 _LCDStr1:
--- 001A                   .blkb 17
--- 0022                   .dbsym s LCDStr1 _LCDStr1 Ac[17:17]
--- 0022                 _LCDLine:
--- 0022                   .blkb 1
--- 0023                   .dbsym s LCDLine _LCDLine c
--- 0023                 _LCDCounter:
--- 0023                   .blkb 1
--- 0023                   .dbsym s LCDCounter _LCDCounter c
                         .area data
--- 0000                   .dbfile c:/documents/software/avr/lcd16x2/include/lcd.h
--- 0000                 L17:
--- 0000                   .blkb 3
                         .area idata
--- 0000 257300            .byte 37,'s,0
                         .area data
--- 0001                   .dbfile c:/documents/software/avr/lcd16x2/include/lcd.h
                         .module main.c
                         .text
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\main.c
                         .area text
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\main.c
--- 0000                   .dbfunc s main _main fI
                         .even
 0C1F                  _main::
 0C1F                    .dbline 16{
                       ; /* ATmega103 main.c file 
                       ; 
                       ;    Author : Robert Stuart 
                       ;    Company : PDL Industries 
                       ;    Date of Creation : 13 April 2000
                       ;    Tested : Not yet
                       ;  
                       ;    Function : 
                       ;     Updates the LCD when not servicing interrupts.
                       ; */
                       ; 
                       ; /* include */ 
                       ; #include "main.h"
                       ; 
                       ; int main( void )
                       ; {
 0C1F                    .dbline 17
                       ;   AVRInitialise();          /* initial all ports, registers and parameters */
 0C1F  940E0A68          call _AVRInitialise
 0C21  940C0C27          jmp L3
 0C23                  L2:
 0C23                    .dbline 20
 0C23                    .dbline 21
 0C23  94F8              bclr 7
 0C24                    .dbline 23
 0C24  940E0B12          call _RefreshLCD
 0C26                    .dbline 25
 0C26  9478              bset 7
 0C27                    .dbline 26
 0C27                  L3:
 0C27                    .dbline 19
                       ; 
                       ;   while ( TRUE )            /* forever */
 0C27  940C0C23          jmp L2
 0C29                  X0:
 0C29                    .dbline 28
                       ;   {
                       ;     GID;
                       ;     
                       ;     RefreshLCD();           /* update the lcd */
                       ; 
                       ;     GIE;
                       ;   }
                       ; 
                       ;   return 0;
 0C29  2700              clr R16
 0C2A  2711              clr R17
 0C2B                  L1:
 0C2B  9508              ret
 0C2C                    .dbline 29}
                         .module runtime.c
                         .text
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c
                         .area vector(abs)
                         .org 56
--- 001C 0C941200          jmp _RuntimeInterrupt
                         .area text
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c
--- 0000                   .dbfunc s RuntimeInitialise _RuntimeInitialise fI
                         .even
 0C2C                  _RuntimeInitialise::
 0C2C                    .dbline 15{
                       ; /* ATmega103 runtime.c file
                       ; 
                       ;    Author : Robert Stuart
                       ;    Company : PDL Industries
                       ;    Date of Creation : 21 July 1999
                       ;    Tested : not yet
                       ; 
                       ;    Function :
                       ; */
                       ; 
                       ; /* include */
                       ; #include "runtime.h"
                       ; 
                       ; void RuntimeInitialise( void )
                       ; {
 0C2C                    .dbline 16
                       ;   TCCR1B = 0;           /* Stop T1 */
 0C2C  2422              clr R2
 0C2D  BC2E              out 0x2e,R2
 0C2E                    .dbline 17
                       ;   TCNT1 = 0;            /* Clear T1 */
 0C2E  2433              clr R3
 0C2F  9230004D          sts 76+1,R3
 0C31  9220004C          sts 76,R2
 0C33                    .dbline 18
                       ;   OCR1A = _1MS_INTERRUPT;       /* Set Compare A - 1ms for a 6MHz clock */
 0C33  E780              ldi R24,112
 0C34  E197              ldi R25,23
 0C35  9390004B          sts 74+1,R25
 0C37  9380004A          sts 74,R24
 0C39                    .dbline 19
                       ;   TIMSK = BIT(OCIE1A);      /* Compare A interrupt enabled */
 0C39  E180              ldi R24,16
 0C3A  BF87              out 0x37,R24
 0C3B                    .dbline 20
                       ;   TCCR1B = BIT(CS10) | BIT(CTC1);
 0C3B  E089              ldi R24,9
 0C3C  BD8E              out 0x2e,R24
 0C3D                    .dbline 21}
                       ; }
 0C3D                  L1:
 0C3D  9508              ret
                         .area bss
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c
--- 0000                 L3:
--- 0000                   .blkb 2
--- 0001                 L4:
--- 0001                   .blkb 1
                         .area text
--- 0012                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c
--- 0012                   .dbfunc s RuntimeInterrupt _RuntimeInterrupt fI
--- 0012                   .dbsym s seconds L4 c
--- 0012                   .dbsym s delay L3 I
                       ;            str -> y+2
                         .even
 0C3E                  _RuntimeInterrupt::
 0C3E  940E06A4          call push_lset
 0C40  9763              sbiw R28,19
 0C41                    .dbline 24{
                       ; 
                       ; void RuntimeInterrupt( void )
                       ; {
 0C41                    .dbline 29
                       ;   static int delay;
                       ;   static char seconds;
                       ;   char str[17];
                       ; 
                       ;   if ( ++delay == _1000MS )
 0C41  91900129          lds R25,L3+1
 0C43  91800128          lds R24,L3
 0C45  9601              adiw R24,1
 0C46  2E28              mov R2,R24
 0C47  2E39              mov R3,R25
 0C48  92300129          sts L3+1,R3
 0C4A  92200128          sts L3,R2
 0C4C  2D82              mov R24,R2
 0C4D  2D93              mov R25,R3
 0C4E  3E88              cpi R24,232
 0C4F  E083              ldi R24,3
 0C50  0798              cpc R25,R24
 0C51  F549              brne L5
 0C52                    .dbline 30
                       ;   {
 0C52                    .dbline 31
                       ;     if ( ++seconds == 60 )
 0C52  9180012A          lds R24,L4
 0C54  5F8F              subi R24,255    ; addi 1
 0C55  2E28              mov R2,R24
 0C56  9220012A          sts L4,R2
 0C58  2D82              mov R24,R2
 0C59  338C              cpi R24,60
 0C5A  F419              brne L7
 0C5B                    .dbline 32
                       ;       seconds = 0;
 0C5B  2422              clr R2
 0C5C  9220012A          sts L4,R2
 0C5E                  L7:
 0C5E                    .dbline 33
                       ;     sprintf( str, "Seconds %d", seconds);
 0C5E  9020012A          lds R2,L4
 0C60  2433              clr R3
 0C61  8228              std y+0,R2
 0C62  8239              std y+1,R3
 0C63  ED25              ldi R18,<L9
 0C64  E030              ldi R19,>L9
 0C65  2F8C              mov R24,R28
 0C66  2F9D              mov R25,R29
 0C67  9602              adiw R24,2
 0C68  2F08              mov R16,R24
 0C69  2F19              mov R17,R25
 0C6A  940E070B          call _sprintf
 0C6C                    .dbline 34
                       ;     LCDPrintf( str, "ATmega103" );
 0C6C  EC2B              ldi R18,<L10
 0C6D  E030              ldi R19,>L10
 0C6E  2F8C              mov R24,R28
 0C6F  2F9D              mov R25,R29
 0C70  9602              adiw R24,2
 0C71  2F08              mov R16,R24
 0C72  2F19              mov R17,R25
 0C73  940E0A7F          call _LCDPrintf
 0C75                    .dbline 35
                       ;     delay = 0;
 0C75  2422              clr R2
 0C76  2433              clr R3
 0C77  92300129          sts L3+1,R3
 0C79  92200128          sts L3,R2
 0C7B                    .dbline 36
                       ;   }
 0C7B                  L5:
 0C7B                    .dbline 38
                       ;   
                       ;   DelayLCDStartup(); 
 0C7B  940E0AD2          call _DelayLCDStartup
 0C7D                    .dbline 40
                       ;     
                       ;   WDR;
 0C7D  95A8              WDR
 0C7E                    .dbline 41}
                       ; }
 0C7E                  L2:
 0C7E  9663              adiw R28,19
 0C7F  940E06BB          call pop_lset
 0C81  9518              reti
 0C82                    .dbsym l str 2 Ac[17:17]
                         .area data
--- 0000                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c
--- 0000                 L10:
--- 0000                   .blkb 10
                         .area idata
--- 0000 41546D65676131303300  .byte 'A,'T,'m,'e,'g,'a,49,48,51,0
                         .area data
--- 0005                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c
--- 0005                 L9:
--- 0005                   .blkb 11
                         .area idata
--- 0005 5365636F6E647320256400    .byte 'S,'e,'c,'o,'n,'d,'s,32,37,'d,0
                         .area data
--- 000A                   .dbfile C:\Documents\Software\AVR\lcd16x2\code\runtime.c

⌨️ 快捷键说明

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