📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\main.c
0000 .dbfunc e main _main fV
0000 ; count -> R20
.even
0000 _main::
0000 .dbline -1
0000 .dbline 12
0000 ; //********************************************************************
0000 ; // File Name : main.c
0000 ; // Author : Steaven
0000 ; // Created : 2008-07-26
0000 ; // Modified :
0000 ; // Revision : V0.0
0000 ; //********************************************************************
0000 ;
0000 ; #include "includes.h"
0000 ;
0000 ; void main(void)
0000 ; {
0000 .dbline 13
0000 ; INT8U count = 0;
0000 4427 clr R20
0002 .dbline 14
0002 ; Hardware_Init();
0002 0E940000 xcall _Hardware_Init
0006 .dbline 15
0006 ; Init_UART();
0006 0E940000 xcall _Init_UART
000A 08C0 xjmp L3
000C L2:
000C .dbline 18
000C ;
000C ; while(1)
000C ; {
000C .dbline 19
000C ; if(sbGet_SCI_Event() != 0)
000C 0E940000 xcall _sbGet_SCI_Event
0010 0023 tst R16
0012 21F0 breq L5
0014 .dbline 20
0014 ; {
0014 .dbline 21
0014 ; SCI_Parsing(&stSciBuffer);
0014 00E0 ldi R16,<_stSciBuffer
0016 10E0 ldi R17,>_stSciBuffer
0018 0E940000 xcall _SCI_Parsing
001C .dbline 22
001C ; }
001C L5:
001C .dbline 23
001C L3:
001C .dbline 17
001C F7CF xjmp L2
001E X0:
001E .dbline -2
001E .dbline 24
001E ; }
001E ; }
001E L1:
001E .dbline 0 ; func end
001E 0895 ret
0020 .dbsym r count 20 c
0020 .dbend
.area vector(rom, abs)
.org 76
004C 0C941000 jmp _wTimeCountr0_Interrupt
.area text(rom, con, rel)
0020 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\main.c
.area data(ram, con, rel)
0000 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\main.c
0000 L8:
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\市电电压频率测量系统\main.c
.area text(rom, con, rel)
0020 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\市电电压频率测量系统\main.c
0020 .dbfunc e wTimeCountr0_Interrupt _wTimeCountr0_Interrupt fV
0020 .dbsym s int_count L8 c
.even
0020 _wTimeCountr0_Interrupt::
0020 0E940000 xcall push_lset
0024 .dbline -1
0024 .dbline 34
0024 ;
0024 ; //********************************************************************
0024 ; // Function : wTimeCountr0_Interrupt
0024 ; // Input : none
0024 ; // Output : none
0024 ; // Description : ATmega16 T/C0 ISR
0024 ; //********************************************************************
0024 ; #pragma interrupt_handler wTimeCountr0_Interrupt:20
0024 ; void wTimeCountr0_Interrupt(void)
0024 ; {
0024 .dbline 38
0024 ; static INT8U int_count = 0;
0024 ;
0024 ; //Clear wTimeCountr0 OCIF Flag
0024 ; TIFR |= 0x02;
0024 88B7 in R24,0x38
0026 8260 ori R24,2
0028 88BF out 0x38,R24
002A .dbline 39
002A ; TCNT0 = 0x00;
002A 2224 clr R2
002C 22BE out 0x32,R2
002E .dbline 41
002E ; //Interrupt Count
002E ; if(sbGet_Buzzer_Count() != 0)
002E 0E940000 xcall _sbGet_Buzzer_Count
0032 0023 tst R16
0034 F1F0 breq L9
0036 .dbline 42
0036 ; {
0036 .dbline 43
0036 ; int_count++;
0036 80910000 lds R24,L8
003A 8F5F subi R24,255 ; addi 1
003C 80930000 sts L8,R24
0040 .dbline 44
0040 ; if(int_count == 1)
0040 8130 cpi R24,1
0042 19F4 brne L11
0044 .dbline 45
0044 ; {
0044 .dbline 46
0044 ; Buzzer_ON();
0044 0E940000 xcall _Buzzer_ON
0048 .dbline 47
0048 ; }
0048 17C0 xjmp L10
004A L11:
004A .dbline 48
004A ; else if(int_count == 5)
004A 80910000 lds R24,L8
004E 8530 cpi R24,5
0050 19F4 brne L13
0052 .dbline 49
0052 ; {
0052 .dbline 50
0052 ; Buzzer_OFF();
0052 0E940000 xcall _Buzzer_OFF
0056 .dbline 51
0056 ; }
0056 10C0 xjmp L10
0058 L13:
0058 .dbline 52
0058 ; else if(int_count == 100)
0058 80910000 lds R24,L8
005C 8436 cpi R24,100
005E 61F4 brne L10
0060 .dbline 53
0060 ; {
0060 .dbline 54
0060 ; int_count = 0;
0060 2224 clr R2
0062 20920000 sts L8,R2
0066 .dbline 55
0066 ; sSet_Buzzer_Count(sbGet_Buzzer_Count() - 1);
0066 0E940000 xcall _sbGet_Buzzer_Count
006A 0150 subi R16,1
006C 0E940000 xcall _sSet_Buzzer_Count
0070 .dbline 56
0070 ; }
0070 .dbline 57
0070 ; }
0070 03C0 xjmp L10
0072 L9:
0072 .dbline 59
0072 .dbline 60
0072 2224 clr R2
0074 20920000 sts L8,R2
0078 .dbline 61
0078 L10:
0078 .dbline -2
0078 .dbline 62
0078 ; else
0078 ; {
0078 ; int_count = 0;
0078 ; }
0078 ; }
0078 L7:
0078 0E940000 xcall pop_lset
007C .dbline 0 ; func end
007C 1895 reti
007E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -