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

📄 main.lis

📁 原创
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 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 + -