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

📄 pd3keyint.lis

📁 ATmega16应用例子
💻 LIS
字号:
                        .module PD3KeyInt.C
                        .area text(rom, con, rel)
 0000                   .dbfile E:\ICC_H\SoftExt.H
 0000                   .dbfunc e speaData _speaData fV
 0000           ;              y -> y+4
 0000           ;              j -> y+0
 0000           ;              i -> R10
 0000           ;            len -> R12
 0000           ;            dat -> y+16
                        .even
 0000           _speaData::
 0000 0E940000          xcall push_arg4
 0004 0E940000          xcall push_gset4
 0008 2897              sbiw R28,8
 000A CC88              ldd R12,y+20
 000C                   .dbline -1
 000C                   .dbline 116
 000C           ; 
 000C           ; #include <iom16v.h>
 000C           ; #include "E:\ICC_H\CmmICC.H"
 000C           ; 
 000C           ; #define DISP_DDR      DDRB
 000C           ; #define DISP_PORT     PORTB
 000C           ; #define IN_PD3                cbi(DDRD,3)             //PD3
 000C           ; #define SET_PD3               sbi(PORTD,3)
 000C           ; #define GET_PD3               gbi(PIND,3)
 000C           ; 
 000C           ; #pragma interrupt_handler int1_isr:3
 000C           ; void int1_isr(void)
 000C           ; {
 000C           ;       GICR &= 0b01111111;                     // disable int1 interrupt
 000C           ;       DISP_PORT++;
 000C           ;       delay50ms(4);
 000C           ;       GICR |= 0b10000000;             // enable int1 interrupt
 000C           ; }
 000C           ; 
 000C           ; void int1_init()
 000C           ; {
 000C           ;       IN_PD3;                                 // set PD3/INT1 as input
 000C           ;       SET_PD3;                                // set PD3/INT1 output high level,avoid triggering
 000C           ;       MCUCR |= 0b11110011;            // set PD3/INT1 as low level active
 000C           ;       GICR  |= 0b10000000;            // enable global interrupt
 000C           ;       SEI();                                          // enable external interrupt
 000C           ; }
 000C           ; 
 000C           ; void main(void)
 000C           ; {
 000C           ;       DISP_DDR  = 0xFF;
 000C           ;       DISP_PORT = 0x00;
 000C           ;       int1_init();
 000C           ;       asm("sleep");                           // set mcu as sleep modle
 000C           ;       while(1);
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C           ; }
 000C                   .dbline 119
 000C           ; }
 000C           ; }
 000C           ; }
 000C AA24              clr R10
 000E 41E0              ldi R20,1
 0010 50E0              ldi R21,0
 0012 60E0              ldi R22,0
 0014 70E0              ldi R23,0
 0016 FE01              movw R30,R28
 0018 4083              std z+0,R20
 001A 5183              std z+1,R21
 001C 6283              std z+2,R22
 001E 7383              std z+3,R23
 0020 46C0              xjmp L5
 0022           L2:
 0022                   .dbline 120
 0022                   .dbline 121
 0022 FE01              movw R30,R28
 0024 2080              ldd R2,z+0
 0026 3180              ldd R3,z+1
 0028 4280              ldd R4,z+2
 002A 5380              ldd R5,z+3
 002C FE01              movw R30,R28
 002E 6088              ldd R6,z+16
 0030 7188              ldd R7,z+17
 0032 8288              ldd R8,z+18
 0034 9388              ldd R9,z+19
 0036 5A92              st -y,R5
 0038 4A92              st -y,R4
 003A 3A92              st -y,R3
 003C 2A92              st -y,R2
 003E 8301              movw R16,R6
 0040 9401              movw R18,R8
 0042 0E940000          xcall div32u
 0046 FE01              movw R30,R28
 0048 0483              std z+4,R16
 004A 1583              std z+5,R17
 004C 2683              std z+6,R18
 004E 3783              std z+7,R19
 0050                   .dbline 122
 0050 4AE0              ldi R20,10
 0052 50E0              ldi R21,0
 0054 60E0              ldi R22,0
 0056 70E0              ldi R23,0
 0058 FE01              movw R30,R28
 005A 2480              ldd R2,z+4
 005C 3580              ldd R3,z+5
 005E 4680              ldd R4,z+6
 0060 5780              ldd R5,z+7
 0062 7A93              st -y,R23
 0064 6A93              st -y,R22
 0066 5A93              st -y,R21
 0068 4A93              st -y,R20
 006A 8101              movw R16,R2
 006C 9201              movw R18,R4
 006E 0E940000          xcall mod32u
 0072 80E0              ldi R24,<_dataElem
 0074 90E0              ldi R25,>_dataElem
 0076 EA2D              mov R30,R10
 0078 FF27              clr R31
 007A E80F              add R30,R24
 007C F91F              adc R31,R25
 007E 0083              std z+0,R16
 0080                   .dbline 123
 0080 FE01              movw R30,R28
 0082 2080              ldd R2,z+0
 0084 3180              ldd R3,z+1
 0086 4280              ldd R4,z+2
 0088 5380              ldd R5,z+3
 008A 4AE0              ldi R20,10
 008C 50E0              ldi R21,0
 008E 60E0              ldi R22,0
 0090 70E0              ldi R23,0
 0092 5A92              st -y,R5
 0094 4A92              st -y,R4
 0096 3A92              st -y,R3
 0098 2A92              st -y,R2
 009A 8A01              movw R16,R20
 009C 9B01              movw R18,R22
 009E 0E940000          xcall empy32u
 00A2 FE01              movw R30,R28
 00A4 0083              std z+0,R16
 00A6 1183              std z+1,R17
 00A8 2283              std z+2,R18
 00AA 3383              std z+3,R19
 00AC                   .dbline 124
 00AC           L3:
 00AC                   .dbline 119
 00AC A394              inc R10
 00AE           L5:
 00AE                   .dbline 119
 00AE AC14              cp R10,R12
 00B0 08F4              brsh X0
 00B2 B7CF              xjmp L2
 00B4           X0:
 00B4                   .dbline -2
 00B4                   .dbline 125
 00B4           ; }
 00B4           ; }
 00B4           ; }
 00B4           ; }
 00B4           ; }
 00B4           ; }
 00B4           L1:
 00B4 2896              adiw R28,8
 00B6 0E940000          xcall pop_gset4
 00BA 2496              adiw R28,4
 00BC                   .dbline 0 ; func end
 00BC 0895              ret
 00BE                   .dbsym l y 4 l
 00BE                   .dbsym l j 0 l
 00BE                   .dbsym r i 10 c
 00BE                   .dbsym r len 12 C
 00BE                   .dbsym l dat 16 l
 00BE                   .dbend
 00BE                   .dbfile E:\ICC_H\HardExt.H
 00BE                   .dbfunc e delay50us _delay50us fV
 00BE           ;              j -> R20
 00BE           ;              t -> R16,R17
                        .even
 00BE           _delay50us::
 00BE 0E940000          xcall push_gset1
 00C2                   .dbline -1
 00C2                   .dbline 98
 00C2                   .dbline 100
 00C2 07C0              xjmp L10
 00C4           L7:
 00C4                   .dbline 101
 00C4 4427              clr R20
 00C6 01C0              xjmp L14
 00C8           L11:
 00C8                   .dbline 102
 00C8           L12:
 00C8                   .dbline 101
 00C8 4395              inc R20
 00CA           L14:
 00CA                   .dbline 101
 00CA 4634              cpi R20,70
 00CC E8F3              brlo L11
 00CE           L8:
 00CE                   .dbline 100
 00CE 0150              subi R16,1
 00D0 1040              sbci R17,0
 00D2           L10:
 00D2                   .dbline 100
 00D2 2224              clr R2
 00D4 3324              clr R3
 00D6 2016              cp R2,R16
 00D8 3106              cpc R3,R17
 00DA A4F3              brlt L7
 00DC                   .dbline -2
 00DC                   .dbline 103
 00DC           L6:
 00DC 0E940000          xcall pop_gset1
 00E0                   .dbline 0 ; func end
 00E0 0895              ret
 00E2                   .dbsym r j 20 c
 00E2                   .dbsym r t 16 I
 00E2                   .dbend
 00E2                   .dbfunc e delay50ms _delay50ms fV
 00E2           ;              i -> R20,R21
 00E2           ;              t -> R16,R17
                        .even
 00E2           _delay50ms::
 00E2 0E940000          xcall push_gset1
 00E6                   .dbline -1
 00E6                   .dbline 113
 00E6                   .dbline 115
 00E6 0BC0              xjmp L19
 00E8           L16:
 00E8                   .dbline 116
 00E8 4427              clr R20
 00EA 5527              clr R21
 00EC 02C0              xjmp L23
 00EE           L20:
 00EE                   .dbline 117
 00EE           L21:
 00EE                   .dbline 116
 00EE 4F5F              subi R20,255  ; offset = 1
 00F0 5F4F              sbci R21,255
 00F2           L23:
 00F2                   .dbline 116
 00F2 423A              cpi R20,162
 00F4 EDEC              ldi R30,205
 00F6 5E07              cpc R21,R30
 00F8 D0F3              brlo L20
 00FA           L17:
 00FA                   .dbline 115
 00FA 0150              subi R16,1
 00FC 1040              sbci R17,0
 00FE           L19:
 00FE                   .dbline 115
 00FE 2224              clr R2
 0100 3324              clr R3
 0102 2016              cp R2,R16
 0104 3106              cpc R3,R17
 0106 84F3              brlt L16
 0108                   .dbline -2
 0108                   .dbline 118
 0108           L15:
 0108 0E940000          xcall pop_gset1
 010C                   .dbline 0 ; func end
 010C 0895              ret
 010E                   .dbsym r i 20 i
 010E                   .dbsym r t 16 I
 010E                   .dbend
                        .area vector(rom, abs)
                        .org 8
 0008 0C948700          jmp _int1_isr
                        .area text(rom, con, rel)
 010E                   .dbfile E:\ICC_H\HardExt.H
 010E                   .dbfile E:\ProductPro\M16SD\ICCAVR\PD3Key\PD3KeyInt\PD3KeyInt.C
 010E                   .dbfunc e int1_isr _int1_isr fV
                        .even
 010E           _int1_isr::
 010E 0E940000          xcall push_lset
 0112                   .dbline -1
 0112                   .dbline 13
 0112                   .dbline 14
 0112 8BB7              in R24,0x3b
 0114 8F77              andi R24,127
 0116 8BBF              out 0x3b,R24
 0118                   .dbline 15
 0118 88B3              in R24,0x18
 011A 8F5F              subi R24,255    ; addi 1
 011C 88BB              out 0x18,R24
 011E                   .dbline 16
 011E 04E0              ldi R16,4
 0120 10E0              ldi R17,0
 0122 DFDF              xcall _delay50ms
 0124                   .dbline 17
 0124 8BB7              in R24,0x3b
 0126 8068              ori R24,128
 0128 8BBF              out 0x3b,R24
 012A                   .dbline -2
 012A                   .dbline 18
 012A           L24:
 012A 0E940000          xcall pop_lset
 012E                   .dbline 0 ; func end
 012E 1895              reti
 0130                   .dbend
 0130                   .dbfunc e int1_init _int1_init fV
                        .even
 0130           _int1_init::
 0130                   .dbline -1
 0130                   .dbline 21
 0130                   .dbline 22
 0130 8B98              cbi 0x11,3
 0132                   .dbline 23
 0132 939A              sbi 0x12,3
 0134                   .dbline 24
 0134 85B7              in R24,0x35
 0136 836F              ori R24,243
 0138 85BF              out 0x35,R24
 013A                   .dbline 25
 013A 8BB7              in R24,0x3b
 013C 8068              ori R24,128
 013E 8BBF              out 0x3b,R24
 0140                   .dbline 26
 0140 7894              sei
 0142                   .dbline -2
 0142                   .dbline 27
 0142           L25:
 0142                   .dbline 0 ; func end
 0142 0895              ret
 0144                   .dbend
 0144                   .dbfunc e main _main fV
                        .even
 0144           _main::
 0144                   .dbline -1
 0144                   .dbline 30
 0144                   .dbline 31
 0144 8FEF              ldi R24,255
 0146 87BB              out 0x17,R24
 0148                   .dbline 32
 0148 2224              clr R2
 014A 28BA              out 0x18,R2
 014C                   .dbline 33
 014C F1DF              xcall _int1_init
 014E                   .dbline 34
 014E 8895              sleep
 0150           L27:
 0150                   .dbline 35
 0150           L28:
 0150                   .dbline 35
 0150 FFCF              xjmp L27
 0152           X1:
 0152                   .dbline -2
 0152                   .dbline 36
 0152           L26:
 0152                   .dbline 0 ; func end
 0152 0895              ret
 0154                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\ProductPro\M16SD\ICCAVR\PD3Key\PD3KeyInt\PD3KeyInt.C
 0000           _dataElem::
 0000                   .blkb 6
 0006                   .dbfile E:\ICC_H\SoftExt.H
 0006                   .dbsym e dataElem _dataElem A[6:6]c

⌨️ 快捷键说明

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