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

📄 main.lis

📁 单片机中的中断处理模块
💻 LIS
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\芯生光盘资料\范例代码\Interrupt\main.c
 0000                   .dbfunc e main _main fV
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 16
 0000           ; //ICC-AVR application builder : 2007-8-13 15:05:41
 0000           ; // Target : M128
 0000           ; // Crystal: 7.3728Mhz
 0000           ; 
 0000           ; #include <iom128v.h>
 0000           ; #include <macros.h>
 0000           ; #include "port.h"
 0000           ; #include "led.h"
 0000           ; #include "stdtypes.h"
 0000           ; 
 0000           ; UNS8 counter;
 0000           ; 
 0000           ; 
 0000           ; /*call this routine to initialize all peripherals */
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 18
 0000           ;   //stop errant interrupts until set up
 0000           ;  CLI(); //disable all interrupts
 0000 F894              cli
 0002                   .dbline 19
 0002           ;  XDIV  = 0x00; //xtal divider
 0002 2224              clr R2
 0004 2CBE              out 0x3c,R2
 0006                   .dbline 20
 0006           ;  XMCRA = 0x00; //external memory
 0006 20926D00          sts 109,R2
 000A                   .dbline 21
 000A           ;  port_init();
 000A 0E940000          xcall _port_init
 000E                   .dbline 22
 000E           ;  led_init(); //7段数码管显示
 000E 0E940000          xcall _led_init
 0012                   .dbline 24
 0012           ;  
 0012           ;  MCUCR = 0x00;
 0012 2224              clr R2
 0014 25BE              out 0x35,R2
 0016                   .dbline 25
 0016           ;  EICRA = 0x00; //extended ext ints
 0016 20926A00          sts 106,R2
 001A                   .dbline 26
 001A           ;  EICRB = 0x00; //extended ext ints
 001A 2ABE              out 0x3a,R2
 001C                   .dbline 27
 001C           ;  EIMSK = 0x01;
 001C 81E0              ldi R24,1
 001E 89BF              out 0x39,R24
 0020                   .dbline 28
 0020           ;  TIMSK = 0x00; //timer interrupt sources
 0020 27BE              out 0x37,R2
 0022                   .dbline 29
 0022           ;  ETIMSK = 0x00; //extended timer interrupt sources
 0022 20927D00          sts 125,R2
 0026                   .dbline 31
 0026           ;  
 0026           ;   counter=0;
 0026 20920000          sts _counter,R2
 002A                   .dbline 34
 002A           ; 
 002A           ;   
 002A           ;  SEI(); //re-enable interrupts
 002A 7894              sei
 002C                   .dbline 38
 002C           ;  //all peripherals are now initialized
 002C           ; 
 002C           ;        
 002C           ; for(;;)
 002C           L2:
 002C                   .dbline 39
 002C                   .dbline 40
 002C 2227              clr R18
 002E 00910000          lds R16,_counter
 0032 1127              clr R17
 0034 0E940000          xcall _display
 0038                   .dbline 42
 0038                   .dbline 38
 0038                   .dbline 38
 0038 F9CF              xjmp L2
 003A           X0:
 003A                   .dbline -2
 003A           L1:
 003A                   .dbline 0 ; func end
 003A 0895              ret
 003C                   .dbend
                        .area vector(rom, abs)
                        .org 4
 0004 0C941E00          jmp _int0_isr
                        .area text(rom, con, rel)
 003C                   .dbfile F:\芯生光盘资料\范例代码\Interrupt\main.c
 003C                   .dbfunc e int0_isr _int0_isr fV
                        .even
 003C           _int0_isr::
 003C 2A92              st -y,R2
 003E 8A93              st -y,R24
 0040 9A93              st -y,R25
 0042 2FB6              in R2,0x3f
 0044 2A92              st -y,R2
 0046                   .dbline -1
 0046                   .dbline 47
 0046                   .dbline 50
 0046 80910000          lds R24,_counter
 004A 8F5F              subi R24,255    ; addi 1
 004C 80930000          sts _counter,R24
 0050                   .dbline 51
 0050 8F3F              cpi R24,255
 0052 19F4              brne L7
 0054                   .dbline 52
 0054                   .dbline 53
 0054 2224              clr R2
 0056 20920000          sts _counter,R2
 005A                   .dbline 54
 005A           L7:
 005A                   .dbline -2
 005A           L6:
 005A 2990              ld R2,y+
 005C 2FBE              out 0x3f,R2
 005E 9991              ld R25,y+
 0060 8991              ld R24,y+
 0062 2990              ld R2,y+
 0064                   .dbline 0 ; func end
 0064 1895              reti
 0066                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile F:\芯生光盘资料\范例代码\Interrupt\main.c
 0000           _counter::
 0000                   .blkb 1
 0001                   .dbsym e counter _counter c

⌨️ 快捷键说明

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