📄 main.lis
字号:
0000 ;
0000 ; uint8 t_send_flag = 0; //A250用到
0000 ; uint8 rece_complete_flag = 0; //A250用到
0000 ;
0000 ; uint16 T10_send[MAX_SEND]={0}; //发送缓冲
0000 ; uint16 T10_read[MAX_RECE]={0,0,0,0,0,0,0,0,0,0,15,5}; //接收缓冲
0000 ;
0000 ; uint8 receFCom[6]={0}; //解包缓冲
0000 ; uint8 receDComCount = 0; //解包计数器
0000 ;
0000 ; uint8 testFlag = 0;
0000 ;
0000 ; //包头的特殊码表
0000 ; const uint8 receNFtab[62] = {0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,
0000 ; 0x0f,0x1f,0x2f,0x3f,0x4f,0x5f,0x6f,0x7f,0x8f,0x9f,
0000 ; 0xe0,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,
0000 ; 0x0e,0x1e,0x2e,0x3e,0x4e,0x5e,0x6e,0x7e,0x8e,0x9e,
0000 ; 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,
0000 ; 0x0c,0x1c,0x2c,0x3c,0x4c,0x5c,0x6c,0x7c,0x8c,0x9c,
0000 ; 0xd0,0xd1
0000 ; };
0000 ;
0000 ;
0000 ;
0000 ; void port_init(void)
0000 ; {
0000 .dbline 90
0000 ; PORTA = 0xe0;
0000 80EE ldi R24,224
0002 8BBB out 0x1b,R24
0004 .dbline 91
0004 ; DDRA = 0x18;
0004 88E1 ldi R24,24
0006 8ABB out 0x1a,R24
0008 .dbline 92
0008 ; PORTB = 0x00;
0008 2224 clr R2
000A 28BA out 0x18,R2
000C .dbline 93
000C ; DDRB = 0xFF;
000C 8FEF ldi R24,255
000E 87BB out 0x17,R24
0010 .dbline 94
0010 ; PORTD = 0x80;
0010 80E8 ldi R24,128
0012 82BB out 0x12,R24
0014 .dbline 95
0014 ; DDRD = 0xfA;
0014 8AEF ldi R24,250
0016 81BB out 0x11,R24
0018 .dbline 96
0018 ; U7(0xff);
0018 0FEF ldi R16,255
001A 0E940000 xcall _U7
001E .dbline 97
001E ; U9(0xff);
001E 0FEF ldi R16,255
0020 0E940000 xcall _U9
0024 .dbline 98
0024 ; U18(0xff);
0024 0FEF ldi R16,255
0026 0E940000 xcall _U18
002A .dbline 99
002A ; U19(0xff);
002A 0FEF ldi R16,255
002C 0E940000 xcall _U19
0030 .dbline 100
0030 ; PORTD = 0x00;
0030 2224 clr R2
0032 22BA out 0x12,R2
0034 .dbline 101
0034 ; DDRC = 0b10011111;
0034 8FE9 ldi R24,159
0036 84BB out 0x14,R24
0038 .dbline 102
0038 ; PORTC= 0b11111111;
0038 8FEF ldi R24,255
003A 85BB out 0x15,R24
003C .dbline -2
003C L1:
003C .dbline 0 ; func end
003C 0895 ret
003E .dbend
003E .dbfunc e timer1_init _timer1_init fV
.even
003E _timer1_init::
003E .dbline -1
003E .dbline 110
003E ; }
003E ;
003E ; //TIMER1 initialize - prescale:64
003E ; // WGM: 4) CTC, TOP=OCRnA
003E ; // desired value: 100mSec
003E ; // actual value: 99.996mSec (0.0%)
003E ; void timer1_init(void)
003E ; {
003E .dbline 111
003E ; TCCR1B = 0x00; //stop
003E 2224 clr R2
0040 2EBC out 0x2e,R2
0042 .dbline 112
0042 ; TCNT1H = 0xBC; //setup
0042 8CEB ldi R24,188
0044 8DBD out 0x2d,R24
0046 .dbline 113
0046 ; TCNT1L = 0x82;
0046 82E8 ldi R24,130
0048 8CBD out 0x2c,R24
004A .dbline 114
004A ; OCR1AH = 0x43;
004A 83E4 ldi R24,67
004C 8BBD out 0x2b,R24
004E .dbline 115
004E ; OCR1AL = 0x7E;
004E 8EE7 ldi R24,126
0050 8ABD out 0x2a,R24
0052 .dbline 116
0052 ; OCR1BH = 0x43;
0052 83E4 ldi R24,67
0054 89BD out 0x29,R24
0056 .dbline 117
0056 ; OCR1BL = 0x7E;
0056 8EE7 ldi R24,126
0058 88BD out 0x28,R24
005A .dbline 118
005A ; ICR1H = 0x43;
005A 83E4 ldi R24,67
005C 87BD out 0x27,R24
005E .dbline 119
005E ; ICR1L = 0x7E;
005E 8EE7 ldi R24,126
0060 86BD out 0x26,R24
0062 .dbline 120
0062 ; TCCR1A = 0x00;
0062 2FBC out 0x2f,R2
0064 .dbline 121
0064 ; TCCR1B = 0x0B; //start Timer
0064 8BE0 ldi R24,11
0066 8EBD out 0x2e,R24
0068 .dbline -2
0068 L2:
0068 .dbline 0 ; func end
0068 0895 ret
006A .dbend
006A .dbfunc e timer0_init _timer0_init fV
.even
006A _timer0_init::
006A .dbline -1
006A .dbline 129
006A ; }
006A ;
006A ; //TIMER0 initialize - prescale:64
006A ; // WGM: Normal
006A ; // desired value: 1mSec
006A ; // actual value: 0.995mSec (0.5%)
006A ; void timer0_init(void)
006A ; {
006A .dbline 130
006A ; TCCR0 = 0x00; //stop
006A 2224 clr R2
006C 23BE out 0x33,R2
006E .dbline 131
006E ; TCNT0 = 0x54; //set count
006E 84E5 ldi R24,84
0070 82BF out 0x32,R24
0072 .dbline 132
0072 ; OCR0 = 0xAC; //set compare
0072 8CEA ldi R24,172
0074 8CBF out 0x3c,R24
0076 .dbline 133
0076 ; TCCR0 = 0x03; //start timer
0076 83E0 ldi R24,3
0078 83BF out 0x33,R24
007A .dbline -2
007A L3:
007A .dbline 0 ; func end
007A 0895 ret
007C .dbend
.area vector(rom, abs)
.org 36
0024 0C943E00 jmp _timer0_ovf_isr
.area text(rom, con, rel)
007C .dbfile E:\avrwork3_pt100\main.c
.area data(ram, con, rel)
0074 .dbfile E:\avrwork3_pt100\main.c
0074 L5:
0074 .blkb 1
.area idata
0074 00 .byte 0
.area data(ram, con, rel)
0075 .dbfile E:\avrwork3_pt100\main.c
.area text(rom, con, rel)
007C .dbfile E:\avrwork3_pt100\main.c
007C .dbfunc e timer0_ovf_isr _timer0_ovf_isr fV
007C .dbsym s a L5 c
.even
007C _timer0_ovf_isr::
007C 2A92 st -y,R2
007E 8A93 st -y,R24
0080 9A93 st -y,R25
0082 2FB6 in R2,0x3f
0084 2A92 st -y,R2
0086 .dbline -1
0086 .dbline 138
0086 .dbline 140
0086 84E5 ldi R24,84
0088 82BF out 0x32,R24
008A .dbline 141
008A 80910000 lds R24,_sendpro
008E 8F5F subi R24,255 ; addi 1
0090 80930000 sts _sendpro,R24
0094 .dbline 143
0094 80917400 lds R24,L5
0098 8F5F subi R24,255 ; addi 1
009A 80937400 sts L5,R24
009E .dbline 144
009E 8931 cpi R24,25
00A0 31F4 brne L6
00A2 .dbline 144
00A2 .dbline 145
00A2 2224 clr R2
00A4 20927400 sts L5,R2
00A8 .dbline 146
00A8 81E0 ldi R24,1
00AA 80930200 sts _t_send_flag,R24
00AE .dbline 147
00AE L6:
00AE .dbline -2
00AE L4:
00AE 2990 ld R2,y+
00B0 2FBE out 0x3f,R2
00B2 9991 ld R25,y+
00B4 8991 ld R24,y+
00B6 2990 ld R2,y+
00B8 .dbline 0 ; func end
00B8 1895 reti
00BA .dbend
.area vector(rom, abs)
.org 24
0018 0C945D00 jmp _time1_compa_isr
.area text(rom, con, rel)
00BA .dbfile E:\avrwork3_pt100\main.c
00BA .dbfunc e time1_compa_isr _time1_compa_isr fV
.even
00BA _time1_compa_isr::
00BA 2A92 st -y,R2
00BC 8A93 st -y,R24
00BE 9A93 st -y,R25
00C0 2FB6 in R2,0x3f
00C2 2A92 st -y,R2
00C4 .dbline -1
00C4 .dbline 154
00C4 ; }
00C4 ;
00C4 ; #pragma interrupt_handler timer0_ovf_isr:10
00C4 ; void timer0_ovf_isr(void)
00C4 ; {
00C4 ; static uint8 a=0;
00C4 ; TCNT0 = 0x54; //reload counter value
00C4 ; sendpro++;
00C4 ;
00C4 ; a++;
00C4 ; if(25==a){
00C4 ; a=0;
00C4 ; t_send_flag = 1; //发送周期
00C4 ; }
00C4 ;
00C4 ; }
00C4 ;
00C4 ;
00C4 ; #pragma interrupt_handler time1_compa_isr:7
00C4 ; void time1_compa_isr(void)
00C4 ; {
00C4 .dbline 156
00C4 ; // Time_Int++; //温度0.1秒的标志
00C4 ; PORTA^=0x10; //LED闪烁
00C4 80E1 ldi R24,16
00C6 2BB2 in R2,0x1b
00C8 2826 eor R2,R24
00CA 2BBA out 0x1b,R2
00CC .dbline 157
00CC ; testFlag++;
00CC 80917300 lds R24,_testFlag
00D0 8F5F subi R24,255 ; addi 1
00D2 80937300 sts _testFlag,R24
00D6 .dbline -2
00D6 L8:
00D6 2990 ld R2,y+
00D8 2FBE out 0x3f,R2
00DA 9991 ld R25,y+
00DC 8991 ld R24,y+
00DE 2990 ld R2,y+
00E0 .dbline 0 ; func end
00E0 1895 reti
00E2 .dbend
.area vector(rom, abs)
.org 4
0004 0C947100 jmp _int0_isr
.area text(rom, con, rel)
00E2 .dbfile E:\avrwork3_pt100\main.c
00E2 .dbfunc e int0_isr _int0_isr fV
.even
00E2 _int0_isr::
00E2 .dbline -1
00E2 .dbline 162
00E2 ; }
00E2 ;
00E2 ; #pragma interrupt_handler int0_isr:2
00E2 ; void int0_isr(void)
00E2 ; {
00E2 .dbline -2
00E2 L9:
00E2 .dbline 0 ; func end
00E2 1895 reti
00E4 .dbend
.area vector(rom, abs)
.org 56
0038 0C947200 jmp _adc_isr
.area text(rom, con, rel)
00E4 .dbfile E:\avrwork3_pt100\main.c
00E4 .dbfunc e adc_isr _adc_isr fV
.even
00E4 _adc_isr::
00E4 .dbline -1
00E4 .dbline 169
00E4 ;
00E4 ; }
00E4 ;
00E4 ;
00E4 ; #pragma interrupt_handler adc_isr:15
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -