📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\CHIYUA~1\LI_POT~1/adc.h
0000 .dbfunc e adc_int _adc_int fV
.even
0000 _adc_int::
0000 .dbline -1
0000 .dbline 22
0000 ; /********************************************************************************/
0000 ; //
0000 ; // builder : 2007-04-10
0000 ; // Target : ATMEAG 48V
0000 ; // Crystal : 内部 8.00 MHz
0000 ; //
0000 ; // 快速充电器
0000 ;
0000 ; /********************************************************************************/
0000 ;
0000 ; #include <iom48v.h>
0000 ; #include <macros.h>
0000 ;
0000 ; #include "adc.h"
0000 ;
0000 ;
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ;
0000 ;
0000 ; #define SET_LED1 PORTD |= (1<<PD4)
0000 ; #define CLR_LED1 PORTD &= ~(1<<PD4)
0000 .dbline 23
0000 ;
0000 80E4 ldi R24,64
0002 80937C00 sts 124,R24
0006 .dbline 24
0006 ; #define SET_LED2 PORTD |= (1<<PD3)
0006 87EC ldi R24,199
0008 80937A00 sts 122,R24
000C .dbline -2
000C L1:
000C .dbline 0 ; func end
000C 0895 ret
000E .dbend
000E .dbfunc e AD_CH _AD_CH fi
000E ; adh -> R20,R21
000E ; ad_add -> R22,R23
000E ; temp1 -> R12,R13
000E ; i -> R10
000E ; temp -> R14,R15
000E ; CHn -> R16
.even
000E _AD_CH::
000E 00D0 rcall push_gset5
0010 .dbline -1
0010 .dbline 33
0010 ; #define CLR_LED2 PORTD &= ~(1<<PD3)
0010 ;
0010 ; #define SET_LED3 PORTD |= (1<<PD1)
0010 ; #define CLR_LED3 PORTD &= ~(1<<PD1)
0010 ;
0010 ; #define SET_LED4 PORTD |= (1<<PD0)
0010 ; #define CLR_LED4 PORTD &= ~(1<<PD0)
0010 ;
0010 ;
0010 .dbline 39
0010 ; #define SET_COM1 PORTD |= (1<<PD7)
0010 ; #define CLR_COM1 PORTD &= ~(1<<PD7)
0010 ;
0010 ; #define SET_COM2 PORTD |= (1<<PD6)
0010 ; #define CLR_COM2 PORTD &= ~(1<<PD6)
0010 ;
0010 80917C00 lds R24,124
0014 807F andi R24,240
0016 802B or R24,R16
0018 80937C00 sts 124,R24
001C .dbline 41
001C ; #define SET_COM3 PORTD |= (1<<PD5)
001C ; #define CLR_COM3 PORTD &= ~(1<<PD5)
001C 6627 clr R22
001E 7727 clr R23
0020 .dbline 43
0020 ;
0020 ; #define SET_OUT PORTD |= (1<<PD2)
0020 AA24 clr R10
0022 22C0 rjmp L6
0024 L3:
0024 .dbline 44
0024 ; #define CLR_OUT PORTD &= ~(1<<PD2)
0024 .dbline 45
0024 ;
0024 80917A00 lds R24,122
0028 8064 ori R24,64
002A 80937A00 sts 122,R24
002E L7:
002E .dbline 46
002E L8:
002E .dbline 46
002E ;
002E 20907A00 lds R2,122
0032 26FC sbrc R2,6
0034 FCCF rjmp L7
0036 .dbline 48
0036 ;
0036 ; static const uchar Char_tab[10] ={0x7D,0x41,0xEC,0xE5,0xD1,0xB5,0xBD,0x61,0xFD,0xF5};
0036 80917A00 lds R24,122
003A 8064 ori R24,64
003C 80937A00 sts 122,R24
0040 L10:
0040 .dbline 49
0040 L11:
0040 .dbline 49
0040 20907A00 lds R2,122
0044 26FC sbrc R2,6
0046 FCCF rjmp L10
0048 .dbline 51
0048 C0907800 lds R12,120
004C DD24 clr R13
004E .dbline 52
004E 80917900 lds R24,121
0052 9927 clr R25
0054 8370 andi R24,3
0056 9070 andi R25,0
0058 7C01 movw R14,R24
005A FE2C mov R15,R14
005C EE24 clr R14
005E .dbline 53
005E EC0C add R14,R12
0060 FD1C adc R15,R13
0062 .dbline 54
0062 6E0D add R22,R14
0064 7F1D adc R23,R15
0066 .dbline 55
0066 L4:
0066 .dbline 43
0066 A394 inc R10
0068 L6:
0068 .dbline 43
0068 8A2D mov R24,R10
006A 8430 cpi R24,4
006C D8F2 brlo L3
006E .dbline 56
006E ;
006E ; union
006E ; { uint temp;
006E ; uchar data[2];
006E ; }CH;
006E ;
006E ; uint V[4];
006E ;
006E AB01 movw R20,R22
0070 5695 lsr R21
0072 4795 ror R20
0074 5695 lsr R21
0076 4795 ror R20
0078 .dbline 57
0078 ; uchar flag_2ms;
0078 8A01 movw R16,R20
007A .dbline -2
007A L2:
007A 00D0 rcall pop_gset5
007C .dbline 0 ; func end
007C 0895 ret
007E .dbsym r adh 20 i
007E .dbsym r ad_add 22 i
007E .dbsym r temp1 12 i
007E .dbsym r i 10 c
007E .dbsym r temp 14 i
007E .dbsym r CHn 16 c
007E .dbend
.area lit(rom, con, rel)
0000 _Char_tab:
0000 7D41 .byte 125,'A
0002 ECE5 .byte 236,229
0004 D1B5 .byte 209,181
0006 BD61 .byte 189,'a
0008 FDF5 .byte 253,245
000A .dbfile E:\CHIYUA~1\LI_POT~1\main.c
000A .dbsym s Char_tab _Char_tab A[10:10]kc
.area data(ram, con, rel)
0000 .dbfile E:\CHIYUA~1\LI_POT~1\main.c
0000 _adc_ch::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\CHIYUA~1\LI_POT~1\main.c
0001 .dbsym e adc_ch _adc_ch c
0001 _dp::
0001 .blkb 1
.area idata
0001 02 .byte 2
.area data(ram, con, rel)
0002 .dbfile E:\CHIYUA~1\LI_POT~1\main.c
0002 .dbsym e dp _dp c
.area text(rom, con, rel)
007E .dbfile E:\CHIYUA~1\LI_POT~1\main.c
007E .dbfunc e timer0_init _timer0_init fV
.even
007E _timer0_init::
007E .dbline -1
007E .dbline 85
007E ; uchar flag_20ms;
007E ;
007E ; uint ad_temp;
007E ; uchar adc_num,adc_ch=0;
007E ; uchar batt;
007E ;
007E ; uchar dip_bit;
007E ; uint batt_num;
007E ;
007E ; uchar mode,out_time;
007E ; uint key,key1,key2;
007E ; uchar pulse;
007E ;
007E ; uchar dp=0x02;
007E ; uchar down,delay;
007E ;
007E ; uchar led_time,led_flag;
007E ; uchar flas1,flas2,flas3,flas4;
007E ;
007E ;
007E ;
007E ;
007E ; /*---------------------------------------------------------------
007E ; 初始化
007E ; ----------------------------------------------------------------*/
007E ;
007E ; void timer0_init(void)
007E ; {
007E .dbline 86
007E ; TCCR0B = 0x00; //stop
007E 2224 clr R2
0080 25BC out 0x25,R2
0082 .dbline 87
0082 ; TCNT0 = 0x06; //set count
0082 86E0 ldi R24,6
0084 86BD out 0x26,R24
0086 .dbline 88
0086 ; TCCR0A = 0x00;
0086 24BC out 0x24,R2
0088 .dbline 89
0088 ; TCCR0B = 0x03; //start timer
0088 83E0 ldi R24,3
008A 85BD out 0x25,R24
008C .dbline -2
008C L14:
008C .dbline 0 ; func end
008C 0895 ret
008E .dbend
008E .dbfunc e timer1_init _timer1_init fV
.even
008E _timer1_init::
008E .dbline -1
008E .dbline 94
008E ; }
008E ;
008E ;
008E ; void timer1_init(void)
008E ; {
008E .dbline 95
008E ; TCCR1A = 0x00;
008E 2224 clr R2
0090 20928000 sts 128,R2
0094 .dbline 96
0094 ; TCCR1B = 0x00;
0094 20928100 sts 129,R2
0098 .dbline -2
0098 L15:
0098 .dbline 0 ; func end
0098 0895 ret
009A .dbend
009A .dbfunc e init_devices _init_devices fV
.even
009A _init_devices::
009A .dbline -1
009A .dbline 102
009A ; }
009A ;
009A ;
009A ;
009A ; void init_devices(void)
009A ; {
009A .dbline 103
009A ; CLI();
009A F894 cli
009C .dbline 105
009C ;
009C ; DDRB = 0xFF;
009C 8FEF ldi R24,255
009E 84B9 out 0x4,R24
00A0 .dbline 106
00A0 ; PORTB = 0x00;
00A0 2224 clr R2
00A2 25B8 out 0x5,R2
00A4 .dbline 108
00A4 ;
00A4 ; DDRC = 0x00;
00A4 27B8 out 0x7,R2
00A6 .dbline 109
00A6 ; PORTC = 0x0C;
00A6 8CE0 ldi R24,12
00A8 88B9 out 0x8,R24
00AA .dbline 111
00AA ;
00AA ; DDRD = 0xFF;
00AA 8FEF ldi R24,255
00AC 8AB9 out 0xa,R24
00AE .dbline 112
00AE ; PORTD = 0x00;
00AE 2BB8 out 0xb,R2
00B0 .dbline 114
00B0 ;
00B0 ; adc_int();
00B0 A7DF rcall _adc_int
00B2 .dbline 115
00B2 ; timer0_init();
00B2 E5DF rcall _timer0_init
00B4 .dbline 116
00B4 ; timer1_init();
00B4 ECDF rcall _timer1_init
00B6 .dbline 118
00B6 ;
00B6 ; TIMSK0 = 0x01; //timer 0 interrupt sources
00B6 81E0 ldi R24,1
00B8 80936E00 sts 110,R24
00BC .dbline 119
00BC ; TIMSK1 = 0x00; //timer 1 interrupt sources
00BC 2224 clr R2
00BE 20926F00 sts 111,R2
00C2 .dbline 120
00C2 ; TIMSK2 = 0x00; //timer 2 interrupt sources
00C2 20927000 sts 112,R2
00C6 .dbline 122
00C6 ;
00C6 ; SEI();
00C6 7894 sei
00C8 .dbline -2
00C8 L16:
00C8 .dbline 0 ; func end
00C8 0895 ret
00CA .dbend
00CA .dbfunc e bubble_sort _bubble_sort fV
00CA ; j -> R20,R21
00CA ; change -> R22,R23
00CA ; temp -> R10,R11
00CA ; k -> R14,R15
00CA ; len -> R12
00CA ; a -> y+10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -