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

📄 common.lis

📁 微程序控制器采用ATMEL AVR MEGA162
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0090 2826              eor R2,R24
 0092 22BA              out 0x12,R2
 0094                   .dbline 47
 0094 84E0              ldi R24,4
 0096 2BB2              in R2,0x1b
 0098 2826              eor R2,R24
 009A 2BBA              out 0x1b,R2
 009C                   .dbline 48
 009C 2224              clr R2
 009E 20920000          sts _timerCounter,R2
 00A2                   .dbline 49
 00A2           L25:
 00A2                   .dbline -2
 00A2           L24:
 00A2 2990              ld R2,y+
 00A4 2FBE              out 0x3f,R2
 00A6 9991              ld R25,y+
 00A8 8991              ld R24,y+
 00AA 4990              ld R4,y+
 00AC 3990              ld R3,y+
 00AE 2990              ld R2,y+
 00B0                   .dbline 0 ; func end
 00B0 1895              reti
 00B2                   .dbend
 00B2                   .dbfunc e initTimer2 _initTimer2 fV
                        .even
 00B2           _initTimer2::
 00B2                   .dbline -1
 00B2                   .dbline 53
 00B2           ; }
 00B2           ; #pragma interrupt_handler SIG_OVERFLOW0:18
 00B2           ; 
 00B2           ; void SIG_OVERFLOW0(void)//timer0
 00B2           ; {
 00B2           ;       if(timerCounter++ > timepoint){
 00B2           ;               PORTD ^= BIT(STA);
 00B2           ;         PORTD ^= BIT(STC);
 00B2           ;         PORTA ^= BIT(SPEAKER);//alarm
 00B2           ;               timerCounter = 0;
 00B2           ;       }
 00B2           ;     
 00B2           ; }
 00B2           ; void initTimer2()
 00B2           ; {
 00B2                   .dbline 54
 00B2           ;  TCCR2= 5; //prescale 1/1024
 00B2 85E0              ldi R24,5
 00B4 87BD              out 0x27,R24
 00B6                   .dbline 56
 00B6           ; 
 00B6           ;  timerCounter2 = 20;
 00B6 84E1              ldi R24,20
 00B8 80930200          sts _timerCounter2,R24
 00BC                   .dbline -2
 00BC           L27:
 00BC                   .dbline 0 ; func end
 00BC 0895              ret
 00BE                   .dbend
                        .area vector(rom, abs)
                        .org 44
 002C 0C945F00          jmp _timer2_ovf_isr
                        .area text(rom, con, rel)
 00BE                   .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
 00BE                   .dbfunc e timer2_ovf_isr _timer2_ovf_isr fV
                        .even
 00BE           _timer2_ovf_isr::
 00BE 2A92              st -y,R2
 00C0 3A92              st -y,R3
 00C2 4A92              st -y,R4
 00C4 8A93              st -y,R24
 00C6 9A93              st -y,R25
 00C8 2FB6              in R2,0x3f
 00CA 2A92              st -y,R2
 00CC                   .dbline -1
 00CC                   .dbline 60
 00CC                   .dbline 61
 00CC 20900200          lds R2,_timerCounter2
 00D0 3324              clr R3
 00D2 822D              mov R24,R2
 00D4 8F5F              subi R24,255    ; addi 1
 00D6 80930200          sts _timerCounter2,R24
 00DA 40900100          lds R4,_timepoint2
 00DE 4214              cp R4,R2
 00E0 38F4              brsh L29
 00E2                   .dbline 61
 00E2                   .dbline 63
 00E2 89B7              in R24,0x39
 00E4 8B7F              andi R24,251
 00E6 89BF              out 0x39,R24
 00E8                   .dbline 64
 00E8 2224              clr R2
 00EA 20920200          sts _timerCounter2,R2
 00EE                   .dbline 65
 00EE DA9A              sbi 0x1b,2
 00F0                   .dbline 66
 00F0           L29:
 00F0                   .dbline -2
 00F0           L28:
 00F0 2990              ld R2,y+
 00F2 2FBE              out 0x3f,R2
 00F4 9991              ld R25,y+
 00F6 8991              ld R24,y+
 00F8 4990              ld R4,y+
 00FA 3990              ld R3,y+
 00FC 2990              ld R2,y+
 00FE                   .dbline 0 ; func end
 00FE 1895              reti
 0100                   .dbend
 0100                   .dbfunc e timer1_init _timer1_init fV
                        .even
 0100           _timer1_init::
 0100                   .dbline -1
 0100                   .dbline 70
 0100           ; }
 0100           ; #pragma interrupt_handler timer2_ovf_isr:12
 0100           ; void timer2_ovf_isr(void)//timer2
 0100           ; {
 0100           ;       if(timerCounter2++ > timepoint2){
 0100           ;               
 0100           ;               cbi( TIMSK, TOIE2 );
 0100           ;         timerCounter2 = 0;
 0100           ;         PORTA |= BIT(SPEAKER);
 0100           ;       }
 0100           ; }
 0100           ; 
 0100           ; void timer1_init(void)
 0100           ; {
 0100                   .dbline 71
 0100           ;  TCCR1B= 0x00; //stop18s
 0100 2224              clr R2
 0102 2EBC              out 0x2e,R2
 0104                   .dbline 72
 0104           ;  TCCR1A= 0x00;
 0104 2FBC              out 0x2f,R2
 0106                   .dbline 73
 0106           ;  TCCR1B= 0x05; //start Timer
 0106 85E0              ldi R24,5
 0108 8EBD              out 0x2e,R24
 010A                   .dbline 74
 010A           ;  timepoint1=3;
 010A 83E0              ldi R24,3
 010C 80930000          sts _timepoint1,R24
 0110                   .dbline -2
 0110           L31:
 0110                   .dbline 0 ; func end
 0110 0895              ret
 0112                   .dbend
                        .area vector(rom, abs)
                        .org 60
 003C 0C948900          jmp _timer1_ovf_isr
                        .area text(rom, con, rel)
 0112                   .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
 0112                   .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
                        .even
 0112           _timer1_ovf_isr::
 0112 0E940000          xcall push_lset
 0116                   .dbline -1
 0116                   .dbline 78
 0116                   .dbline 82
 0116 20900100          lds R2,_timerCounter1
 011A 3324              clr R3
 011C 822D              mov R24,R2
 011E 8F5F              subi R24,255    ; addi 1
 0120 80930100          sts _timerCounter1,R24
 0124 40900000          lds R4,_timepoint1
 0128 4214              cp R4,R2
 012A 08F4              brsh L33
 012C                   .dbline 82
 012C                   .dbline 83
 012C 03D0              xcall _watchdog_init
 012E                   .dbline 84
 012E           L33:
 012E                   .dbline -2
 012E           L32:
 012E 0E940000          xcall pop_lset
 0132                   .dbline 0 ; func end
 0132 1895              reti
 0134                   .dbend
 0134                   .dbfunc e watchdog_init _watchdog_init fV
                        .even
 0134           _watchdog_init::
 0134                   .dbline -1
 0134                   .dbline 91
 0134           ; }
 0134           ; #pragma interrupt_handler timer1_ovf_isr:16
 0134           ; void timer1_ovf_isr(void)
 0134           ; {
 0134           ; 
 0134           ;  //TCNT1H= 0x02; //reload counter high value
 0134           ;  //TCNT1L= 0xE1; //reload counter low value
 0134           ;     if(timerCounter1++ > timepoint1){
 0134           ;       watchdog_init();//reset
 0134           ;     }
 0134           ;     //PORTA ^= BIT(SPEAKER);
 0134           ; }
 0134           ; 
 0134           ; 
 0134           ; 
 0134           ; void watchdog_init() 
 0134           ; { 
 0134                   .dbline 92
 0134           ;     WDR();
 0134 A895              wdr
 0136                   .dbline 93
 0136           ;     WDTCR=0x18;
 0136 88E1              ldi R24,24
 0138 81BD              out 0x21,R24
 013A                   .dbline 94
 013A           ;     WDTCR=0x08;//最快复位8,最慢f
 013A 88E0              ldi R24,8
 013C 81BD              out 0x21,R24
 013E                   .dbline -2
 013E           L35:
 013E                   .dbline 0 ; func end
 013E 0895              ret
 0140                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\mydoc\avrproject\icc\big162\gpseep\common.c
 0000           _timepoint1::
 0000                   .blkb 1
 0001                   .dbsym e timepoint1 _timepoint1 c
 0001           _timepoint2::
 0001                   .blkb 1
 0002                   .dbsym e timepoint2 _timepoint2 c
 0002           _timepoint::
 0002                   .blkb 1
 0003                   .dbsym e timepoint _timepoint c

⌨️ 快捷键说明

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