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

📄 timer.lis

📁 包含无线收发模块 NREF905的所有功能库函数 本库函数与外部函数接口简单易用
💻 LIS
字号:
                        .module timer.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\programme\键盘显示学习\key\timer.c
 0000                   .dbfunc e timer0_init _timer0_init fV
                        .even
 0000           _timer0_init::
 0000                   .dbline -1
 0000                   .dbline 7
 0000           ; #include <stdio.h>
 0000           ; #include <iom8v.h>
 0000           ; #include <macros.h>
 0000           ; extern unsigned char  value_T,set_data;
 0000           ; 
 0000           ; void timer0_init(void) //CTC模式输出1KHz/2KHz方波
 0000           ; {
 0000                   .dbline 13
 0000           ;  //CLI(); //disable all interrupts
 0000           ;  //MCUCR = 0x00;
 0000           ; // GICR  = 0x00;
 0000           ; // TIMSK = 0x01; //timer interrupt sources
 0000           ;  
 0000           ;  TCCR0 = 0x00; //stop
 0000 2224              clr R2
 0002 23BE              out 0x33,R2
 0004                   .dbline 14
 0004           ;  TCNT0 = 155;       // set count
 0004 8BE9              ldi R24,155
 0006 82BF              out 0x32,R24
 0008                   .dbline 15
 0008           ;  TCCR0 = 0x01;   //start timer
 0008 81E0              ldi R24,1
 000A 83BF              out 0x33,R24
 000C                   .dbline -2
 000C           L1:
 000C                   .dbline 0 ; func end
 000C 0895              ret
 000E                   .dbend
                        .area vector(rom, abs)
                        .org 18
 0012 07C0              rjmp _timer0_ovf_isr
                        .area text(rom, con, rel)
 000E                   .dbfile F:\programme\键盘显示学习\key\timer.c
                        .area data(ram, con, rel)
 0000                   .dbfile F:\programme\键盘显示学习\key\timer.c
 0000           L3:
 0000                   .blkb 2
                        .area idata
 0000 0000              .word 0
                        .area data(ram, con, rel)
 0002                   .dbfile F:\programme\键盘显示学习\key\timer.c
                        .area text(rom, con, rel)
 000E                   .dbfile F:\programme\键盘显示学习\key\timer.c
 000E                   .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
 000E                   .dbsym s i L3 i
                        .even
 000E           _timer0_ovf_isr::
 000E 2A92              st -y,R2
 0010 3A92              st -y,R3
 0012 4A92              st -y,R4
 0014 5A92              st -y,R5
 0016 8A93              st -y,R24
 0018 9A93              st -y,R25
 001A EA93              st -y,R30
 001C 2FB6              in R2,0x3f
 001E 2A92              st -y,R2
 0020                   .dbline -1
 0020                   .dbline 24
 0020           ;  //SEI();          //re-enable interrupts
 0020           ; }
 0020           ; 
 0020           ; 
 0020           ; 
 0020           ; 
 0020           ; #pragma interrupt_handler timer0_ovf_isr:10
 0020           ; void timer0_ovf_isr(void)
 0020           ; {static unsigned int i=0;
 0020                   .dbline 25
 0020           ;  TCNT0 =155 ;                 //reload counter value
 0020 8BE9              ldi R24,155
 0022 82BF              out 0x32,R24
 0024                   .dbline 27
 0024           ;  
 0024           ;  i++;
 0024 80910000          lds R24,L3
 0028 90910100          lds R25,L3+1
 002C 0196              adiw R24,1
 002E 90930100          sts L3+1,R25
 0032 80930000          sts L3,R24
 0036                   .dbline 29
 0036           ;  // value_T++;
 0036           ;  if(i==100)
 0036 8436              cpi R24,100
 0038 E0E0              ldi R30,0
 003A 9E07              cpc R25,R30
 003C 59F4              brne L4
 003E                   .dbline 30
 003E           ;   { value_T++;
 003E                   .dbline 30
 003E 80910000          lds R24,_value_T
 0042 8F5F              subi R24,255    ; addi 1
 0044 80930000          sts _value_T,R24
 0048                   .dbline 31
 0048           ;     i=0;
 0048 2224              clr R2
 004A 3324              clr R3
 004C 30920100          sts L3+1,R3
 0050 20920000          sts L3,R2
 0054                   .dbline 32
 0054           ;   }
 0054           L4:
 0054                   .dbline 33
 0054           ;  if(i < set_data)
 0054 20900000          lds R2,_set_data
 0058 3324              clr R3
 005A 40900000          lds R4,L3
 005E 50900100          lds R5,L3+1
 0062 4214              cp R4,R2
 0064 5304              cpc R5,R3
 0066 10F4              brsh L6
 0068                   .dbline 34
 0068           ;         PORTC|=BIT(PC3);
 0068 AB9A              sbi 0x15,3
 006A 01C0              rjmp L7
 006C           L6:
 006C                   .dbline 36
 006C AB98              cbi 0x15,3
 006E           L7:
 006E                   .dbline -2
 006E           L2:
 006E 2990              ld R2,y+
 0070 2FBE              out 0x3f,R2
 0072 E991              ld R30,y+
 0074 9991              ld R25,y+
 0076 8991              ld R24,y+
 0078 5990              ld R5,y+
 007A 4990              ld R4,y+
 007C 3990              ld R3,y+
 007E 2990              ld R2,y+
 0080                   .dbline 0 ; func end
 0080 1895              reti
 0082                   .dbend

⌨️ 快捷键说明

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