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

📄 tools.lis

📁 很好的制作AVR32 ICE的资料
💻 LIS
字号:
                        .module tools.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\源程序\Snail_mkII\STK500_V2\ICC\tools.c
                        .area eeprom(rom, con, rel)
 0000                   .dbfile E:\单片机\源程序\Snail_mkII\STK500_V2\ICC\tools.c
 0000           _eeprom_sck_period::
 0000 0A                .byte 10
                        .area data(ram, con, rel)
 0000                   .dbfile E:\单片机\源程序\Snail_mkII\STK500_V2\ICC\tools.c
                        .area vector(rom, abs)
                        .org 28
 001C 0C940000          jmp _Timer1_COMPA_ISR
                        .area data(ram, con, rel)
 0000                   .dbfile E:\单片机\源程序\Snail_mkII\STK500_V2\ICC\tools.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\单片机\源程序\Snail_mkII\STK500_V2\ICC\tools.c
 0000                   .dbfunc e Timer1_COMPA_ISR _Timer1_COMPA_ISR fV
                        .even
 0000           _Timer1_COMPA_ISR::
 0000 8A93              st -y,R24
 0002 9A93              st -y,R25
 0004 8FB7              in R24,0x3f
 0006 8A93              st -y,R24
 0008                   .dbline -1
 0008                   .dbline 26
 0008           ; /**   \file
 0008           ;       <b>some tools</b><br>
 0008           ;       Autor: Matthias Wei遝r<br>
 0008           ;       Copyright 2005: Matthias Wei遝r<br>
 0008           ;       License: QPL (see license.txt)
 0008           ;       <hr>
 0008           ; */
 0008           ; #include <iccioavr.h>
 0008           ; #include <eeprom.h>
 0008           ; 
 0008           ; #include "tools.h"
 0008           ; 
 0008           ; volatile unsigned char t1_tick;
 0008           ; unsigned char t1_cnt;
 0008           ; 
 0008           ; //Konstanten im EEPROM
 0008           ; //#define EEPROM  __attribute__ ((section (".eeprom")))
 0008           ; 
 0008           ; //Variablen im EEPROM
 0008           ; #pragma data:eeprom
 0008           ; unsigned char eeprom_sck_period = 10;
 0008           ; #pragma data:data
 0008           ; 
 0008           ; #pragma interrupt_handler Timer1_COMPA_ISR:iv_TIMER1_COMPA
 0008           ; void Timer1_COMPA_ISR(void)
 0008           ; {
 0008                   .dbline 27
 0008           ;   t1_tick=1;
 0008 81E0              ldi R24,1
 000A 80930100          sts _t1_tick,R24
 000E                   .dbline 28
 000E           ;   t1_cnt++;
 000E 80910000          lds R24,_t1_cnt
 0012 8F5F              subi R24,255    ; addi 1
 0014 80930000          sts _t1_cnt,R24
 0018                   .dbline -2
 0018           L2:
 0018                   .dbline 0 ; func end
 0018 8991              ld R24,y+
 001A 8FBF              out 0x3f,R24
 001C 9991              ld R25,y+
 001E 8991              ld R24,y+
 0020 1895              reti
 0022                   .dbend
 0022                   .dbfunc e get_t1_tick _get_t1_tick fc
                        .even
 0022           _get_t1_tick::
 0022                   .dbline -1
 0022                   .dbline 32
 0022           ; }
 0022           ; 
 0022           ; unsigned char get_t1_tick(void)
 0022           ; {
 0022                   .dbline 33
 0022           ;   if (t1_tick)
 0022 20900100          lds R2,_t1_tick
 0026 2220              tst R2
 0028 29F0              breq L4
 002A           X0:
 002A                   .dbline 34
 002A           ;     {
 002A                   .dbline 35
 002A           ;       t1_tick=0;
 002A 2224              clr R2
 002C 20920100          sts _t1_tick,R2
 0030                   .dbline 36
 0030           ;       return 1;
 0030 01E0              ldi R16,1
 0032 01C0              xjmp L3
 0034           L4:
 0034                   .dbline 38
 0034           ;     }
 0034           ;   return 0;
 0034 0027              clr R16
 0036                   .dbline -2
 0036           L3:
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbend
 0038                   .dbfunc e wait_ms _wait_ms fV
 0038           ;              n -> R20,R21
                        .even
 0038           _wait_ms::
 0038 4A93              st -y,R20
 003A 5A93              st -y,R21
 003C A801              movw R20,R16
 003E                   .dbline -1
 003E                   .dbline 45
 003E           ; }
 003E           ; 
 003E           ; /**
 003E           ;       Wartet n*1ms - 1ms max.
 003E           ; */
 003E           ; void wait_ms(unsigned int n)
 003E           ; {
 003E 05C0              xjmp L8
 0040           L7:
 0040                   .dbline 47
 0040           ;   while (n)
 0040           ;     {
 0040                   .dbline 48
 0040           ;       if (get_t1_tick()) n--;
 0040 F0DF              xcall _get_t1_tick
 0042 0023              tst R16
 0044 11F0              breq L10
 0046           X1:
 0046                   .dbline 48
 0046 4150              subi R20,1
 0048 5040              sbci R21,0
 004A           L10:
 004A                   .dbline 49
 004A           ;     }
 004A           L8:
 004A                   .dbline 46
 004A 4030              cpi R20,0
 004C 4507              cpc R20,R21
 004E C1F7              brne L7
 0050           X2:
 0050                   .dbline -2
 0050           L6:
 0050                   .dbline 0 ; func end
 0050 5991              ld R21,y+
 0052 4991              ld R20,y+
 0054 0895              ret
 0056                   .dbsym r n 20 i
 0056                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\单片机\源程序\Snail_mkII\STK500_V2\ICC\tools.c
 0000           _t1_cnt::
 0000                   .blkb 1
 0001                   .dbsym e t1_cnt _t1_cnt c
 0001           _t1_tick::
 0001                   .blkb 1
 0002                   .dbsym e t1_tick _t1_tick c
 0002           ; }

⌨️ 快捷键说明

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