📄 main.lis
字号:
.module main.c
.area data(ram, con, rel)
0000 _bI2C_Event::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\I2C总线应用设计\main.c
0001 .dbsym e bI2C_Event _bI2C_Event c
.area text(rom, con, rel)
0000 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\I2C总线应用设计\main.c
0000 .dbfunc e sSet_I2C_Event _sSet_I2C_Event fV
0000 ; event -> R16
.even
0000 _sSet_I2C_Event::
0000 .dbline -1
0000 .dbline 21
0000 ; //***************************************************************
0000 ; // File Name : LED.c
0000 ; // Author : Steaven
0000 ; // Created : 2008-07-26
0000 ; // Modified :
0000 ; // Revision : V0.0
0000 ; //***************************************************************
0000 ;
0000 ; #include "includes.h"
0000 ;
0000 ; //global variables definition
0000 ; INT8U bI2C_Event = 0;
0000 ;
0000 ; //***************************************************************
0000 ; // Function : sSet_I2C_Event
0000 ; // Input : event - i2c operation event
0000 ; // Output : none
0000 ; // Description : I2C Event Interface Function
0000 ; //***************************************************************
0000 ; void sSet_I2C_Event(INT8U event)
0000 ; {
0000 .dbline 22
0000 ; bI2C_Event = event;
0000 00930000 sts _bI2C_Event,R16
0004 .dbline -2
0004 .dbline 23
0004 ; }
0004 L1:
0004 .dbline 0 ; func end
0004 0895 ret
0006 .dbsym r event 16 c
0006 .dbend
0006 .dbfunc e sbGet_I2C_Event _sbGet_I2C_Event fc
0006 ; event -> R16
.even
0006 _sbGet_I2C_Event::
0006 .dbline -1
0006 .dbline 32
0006 ;
0006 ; //***************************************************************
0006 ; // Function : sbGet_I2C_Event
0006 ; // Input : none
0006 ; // Output : i2c operation event
0006 ; // Description : I2C Event Interface Function
0006 ; //***************************************************************
0006 ; INT8U sbGet_I2C_Event(void)
0006 ; {
0006 .dbline 34
0006 ; INT8U event;
0006 ; event = bI2C_Event;
0006 00910000 lds R16,_bI2C_Event
000A .dbline 35
000A ; bI2C_Event = 0;
000A 2224 clr R2
000C 20920000 sts _bI2C_Event,R2
0010 .dbline 36
0010 ; return(event);
0010 .dbline -2
0010 L2:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbsym r event 16 c
0012 .dbend
0012 .dbfunc e main _main fV
.even
0012 _main::
0012 .dbline -1
0012 .dbline 40
0012 ; }
0012 ;
0012 ; void main(void)
0012 ; {
0012 .dbline 41
0012 ; Hardware_Init();
0012 0E940000 xcall _Hardware_Init
0016 .dbline 42
0016 ; Init_DS1337();
0016 0E940000 xcall _Init_DS1337
001A 05C0 xjmp L5
001C L4:
001C .dbline 45
001C ;
001C ; while(1)
001C ; {
001C .dbline 46
001C ; if(sbGet_I2C_Event() != 0)
001C F4DF xcall _sbGet_I2C_Event
001E 0023 tst R16
0020 11F0 breq L7
0022 .dbline 47
0022 ; {
0022 .dbline 48
0022 ; Read_DS1337_Calendar();
0022 0E940000 xcall _Read_DS1337_Calendar
0026 .dbline 49
0026 ; }
0026 L7:
0026 .dbline 50
0026 L5:
0026 .dbline 44
0026 FACF xjmp L4
0028 X0:
0028 .dbline -2
0028 .dbline 51
0028 ; }
0028 ; }
0028 L3:
0028 .dbline 0 ; func end
0028 0895 ret
002A .dbend
.area vector(rom, abs)
.org 76
004C 0C941500 jmp _wTimeCountr0_Interrupt
.area text(rom, con, rel)
002A .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\I2C总线应用设计\main.c
.area data(ram, con, rel)
0001 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\I2C总线应用设计\main.c
0001 L10:
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\I2C总线应用设计\main.c
.area text(rom, con, rel)
002A .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\I2C总线应用设计\main.c
002A .dbfunc e wTimeCountr0_Interrupt _wTimeCountr0_Interrupt fV
002A .dbsym s int_count L10 c
.even
002A _wTimeCountr0_Interrupt::
002A 0E940000 xcall push_lset
002E .dbline -1
002E .dbline 61
002E .dbline 65
002E 88B7 in R24,0x38
0030 8260 ori R24,2
0032 88BF out 0x38,R24
0034 .dbline 66
0034 2224 clr R2
0036 22BE out 0x32,R2
0038 .dbline 69
0038 20900100 lds R2,L10
003C 3324 clr R3
003E 822D mov R24,R2
0040 8F5F subi R24,255 ; addi 1
0042 80930100 sts L10,R24
0046 822D mov R24,R2
0048 8436 cpi R24,100
004A 29F4 brne L11
004C .dbline 70
004C .dbline 71
004C 2224 clr R2
004E 20920100 sts L10,R2
0052 .dbline 72
0052 01E0 ldi R16,1
0054 D5DF xcall _sSet_I2C_Event
0056 .dbline 73
0056 L11:
0056 .dbline -2
0056 .dbline 74
0056 ;
0056 ; //***************************************************************
0056 ; // Function : wTimeCountr0_Interrupt
0056 ; // Input : none
0056 ; // Output : none
0056 ; // Description : ATmega16 T/C0 ISR
0056 ; //***************************************************************
0056 ; #pragma interrupt_handler wTimeCountr0_Interrupt:20
0056 ; void wTimeCountr0_Interrupt(void)
0056 ; {
0056 ; static INT8U int_count = 0;
0056 ;
0056 ; //Clear wTimeCountr0 OCIF Flag
0056 ; TIFR |= 0x02;
0056 ; TCNT0 = 0x00;
0056 ;
0056 ; //Interrupt count,send I2C event every second
0056 ; if(int_count++ == 100)
0056 ; {
0056 ; int_count = 0;
0056 ; sSet_I2C_Event(1);
0056 ; }
0056 ; }
0056 L9:
0056 0E940000 xcall pop_lset
005A .dbline 0 ; func end
005A 1895 reti
005C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -