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

📄 test.lis

📁 用ATmega88驱动LCD240128
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module TEST.C
                        .area text(rom, con, rel)
 0000                   .dbfile D:\工作\240X12~1\(000)\TEST.C
 0000                   .dbfunc e port_init _port_init fV
                        .even
 0000           _port_init::
 0000                   .dbline -1
 0000                   .dbline 9
 0000           ; // Target : M88
 0000           ; // Crystal: 16.0000Mhz
 0000           ; #include <iom88v.h>
 0000           ; #include <macros.h>
 0000           ; #include "240128.h"
 0000           ; //#include "storeroom.h"
 0000           ; //------------------------------------------------------------------------------
 0000           ; void port_init(void)
 0000           ; {
 0000                   .dbline 10
 0000           ;     PORTB = 0xFF;
 0000 8FEF              ldi R24,255
 0002 85B9              out 0x5,R24
 0004                   .dbline 11
 0004           ;     DDRB  = 0xFF;
 0004 84B9              out 0x4,R24
 0006                   .dbline 12
 0006           ;     PORTC = 0xFF; //m103 output only
 0006 88B9              out 0x8,R24
 0008                   .dbline 13
 0008           ;     DDRC  = 0xFF;
 0008 87B9              out 0x7,R24
 000A                   .dbline 14
 000A           ;     PORTD = 0xFF;
 000A 8BB9              out 0xb,R24
 000C                   .dbline 15
 000C           ;     DDRD  = 0xFF;
 000C 8AB9              out 0xa,R24
 000E                   .dbline -2
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbend
 0010                   .dbfunc e init_devices _init_devices fV
                        .even
 0010           _init_devices::
 0010                   .dbline -1
 0010                   .dbline 18
 0010           ; }
 0010           ; void init_devices(void)
 0010           ; {
 0010                   .dbline 19
 0010           ;     CLI();               //disable all interrupts
 0010 F894              cli
 0012                   .dbline 20
 0012           ;     port_init();      
 0012 F6DF              rcall _port_init
 0014                   .dbline 21
 0014           ;     MCUCR  = 0x00;
 0014 2224              clr R2
 0016 25BE              out 0x35,R2
 0018                   .dbline 22
 0018           ;     EICRA  = 0x00;       //extended ext ints
 0018 20926900          sts 105,R2
 001C                   .dbline 23
 001C           ;     EIMSK  = 0x00; 
 001C 2DBA              out 0x1d,R2
 001E                   .dbline 24
 001E           ;     TIMSK0 = 0x00;       //timer 0 interrupt sources
 001E 20926E00          sts 110,R2
 0022                   .dbline 25
 0022           ;     TIMSK1 = 0x00;       //timer 1 interrupt sources
 0022 20926F00          sts 111,R2
 0026                   .dbline 26
 0026           ;     TIMSK2 = 0x00;       //timer 2 interrupt sources 
 0026 20927000          sts 112,R2
 002A                   .dbline 27
 002A           ;     PCMSK0 = 0x00;       //pin change mask 0 
 002A 20926B00          sts 107,R2
 002E                   .dbline 28
 002E           ;     PCMSK1 = 0x00;       //pin change mask 1 
 002E 20926C00          sts 108,R2
 0032                   .dbline 29
 0032           ;     PCMSK2 = 0x00;       //pin change mask 2
 0032 20926D00          sts 109,R2
 0036                   .dbline 30
 0036           ;     PCICR  = 0x00;       //pin change enable 
 0036 20926800          sts 104,R2
 003A                   .dbline 31
 003A           ;     PRR    = 0x00;       //power controller
 003A 20926400          sts 100,R2
 003E                   .dbline 32
 003E           ;     SEI();               //re-enable interrupts
 003E 7894              sei
 0040                   .dbline -2
 0040           L2:
 0040                   .dbline 0 ; func end
 0040 0895              ret
 0042                   .dbend
 0042                   .dbfunc e delay_1us _delay_1us fV
                        .even
 0042           _delay_1us::
 0042                   .dbline -1
 0042                   .dbline 39
 0042           ; }
 0042           ; //------------------------------------------------------------------------------
 0042           ; /*********************************************************************
 0042           ;  延时
 0042           ; *********************************************************************/
 0042           ; void delay_1us(void)
 0042           ;  {
 0042                   .dbline 40
 0042           ;      asm("nop");asm("nop");asm("nop");
 0042 0000              nop
 0044                   .dbline 40
 0044 0000              nop
 0046                   .dbline 40
 0046 0000              nop
 0048                   .dbline -2
 0048           L3:
 0048                   .dbline 0 ; func end
 0048 0895              ret
 004A                   .dbend
 004A                   .dbfunc e delay_nus _delay_nus fV
 004A           ;              i -> R20,R21
 004A           ;              n -> R22,R23
                        .even
 004A           _delay_nus::
 004A 00D0              rcall push_gset2
 004C B801              movw R22,R16
 004E                   .dbline -1
 004E                   .dbline 43
 004E           ;  }
 004E           ; void delay_nus(unsigned int n)
 004E           ;  {
 004E                   .dbline 44
 004E           ;      unsigned int i=0;
 004E 4427              clr R20
 0050 5527              clr R21
 0052                   .dbline 45
 0052 03C0              rjmp L8
 0054           L5:
 0054                   .dbline 45
 0054 F6DF              rcall _delay_1us
 0056           L6:
 0056                   .dbline 45
 0056 4F5F              subi R20,255  ; offset = 1
 0058 5F4F              sbci R21,255
 005A           L8:
 005A                   .dbline 45
 005A           ;      for (i=0;i<n;i++) delay_1us();
 005A 4617              cp R20,R22
 005C 5707              cpc R21,R23
 005E D0F3              brlo L5
 0060                   .dbline -2
 0060           L4:
 0060 00D0              rcall pop_gset2
 0062                   .dbline 0 ; func end
 0062 0895              ret
 0064                   .dbsym r i 20 i
 0064                   .dbsym r n 22 i
 0064                   .dbend
 0064                   .dbfunc e delay_1ms _delay_1ms fV
 0064           ;              i -> R20,R21
                        .even
 0064           _delay_1ms::
 0064 00D0              rcall push_gset1
 0066                   .dbline -1
 0066                   .dbline 48
 0066           ;  }  
 0066           ; void delay_1ms(void)
 0066           ;  {
 0066                   .dbline 50
 0066           ;        unsigned int i;
 0066           ;        delay_nus(1000);        
 0066 08EE              ldi R16,1000
 0068 13E0              ldi R17,3
 006A EFDF              rcall _delay_nus
 006C                   .dbline 51
 006C 4427              clr R20
 006E 5527              clr R21
 0070 02C0              rjmp L13
 0072           L10:
 0072                   .dbline 51
 0072           L11:
 0072                   .dbline 51
 0072 4F5F              subi R20,255  ; offset = 1
 0074 5F4F              sbci R21,255
 0076           L13:
 0076                   .dbline 51
 0076           ;      for (i=0;i<1;i++);
 0076 4130              cpi R20,1
 0078 E0E0              ldi R30,0
 007A 5E07              cpc R21,R30
 007C D0F3              brlo L10
 007E                   .dbline -2
 007E           L9:
 007E 00D0              rcall pop_gset1
 0080                   .dbline 0 ; func end
 0080 0895              ret
 0082                   .dbsym r i 20 i
 0082                   .dbend
 0082                   .dbfunc e delay_nms _delay_nms fV
 0082           ;              i -> R20,R21
 0082           ;              n -> R22,R23
                        .even
 0082           _delay_nms::
 0082 00D0              rcall push_gset2
 0084 B801              movw R22,R16
 0086                   .dbline -1
 0086                   .dbline 54
 0086           ;  }  
 0086           ; void delay_nms(unsigned int n)
 0086           ;  {
 0086                   .dbline 55
 0086           ;      unsigned int i=0;
 0086 4427              clr R20
 0088 5527              clr R21
 008A                   .dbline 56
 008A 03C0              rjmp L18
 008C           L15:
 008C                   .dbline 56
 008C EBDF              rcall _delay_1ms
 008E           L16:
 008E                   .dbline 56
 008E 4F5F              subi R20,255  ; offset = 1
 0090 5F4F              sbci R21,255
 0092           L18:
 0092                   .dbline 56
 0092           ;     for (i=0;i<n;i++) delay_1ms();
 0092 4617              cp R20,R22
 0094 5707              cpc R21,R23
 0096 D0F3              brlo L15
 0098                   .dbline -2
 0098           L14:
 0098 00D0              rcall pop_gset2
 009A                   .dbline 0 ; func end
 009A 0895              ret
 009C                   .dbsym r i 20 i
 009C                   .dbsym r n 22 i
 009C                   .dbend
 009C                   .dbfunc e main _main fV
 009C           ;              i -> R20
                        .even
 009C           _main::
 009C 2597              sbiw R28,5

⌨️ 快捷键说明

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