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

📄 main.lis

📁 AVR16源代码 ICC编译器
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00C8 E1F3              breq L11
 00CA                   .dbline 122
 00CA           ; //LENGTH=(TIMEH*16*16+(TIMEL>>4)*16+(TIMEL&0x0F));
 00CA           ; LENGTH=((TIMEH<<8)|TIMEL);
 00CA 20900600          lds R2,_TIMEL
 00CE 30900700          lds R3,_TIMEL+1
 00D2 40900400          lds R4,_TIMEH
 00D6 50900500          lds R5,_TIMEH+1
 00DA 542C              mov R5,R4
 00DC 4424              clr R4
 00DE 4228              or R4,R2
 00E0 5328              or R5,R3
 00E2 1201              movw R2,R4
 00E4 4424              clr R4
 00E6 5524              clr R5
 00E8 30920100          sts _LENGTH+1,R3
 00EC 20920000          sts _LENGTH,R2
 00F0 50920300          sts _LENGTH+2+1,R5
 00F4 40920200          sts _LENGTH+2,R4
 00F8                   .dbline 123
 00F8           ; JS=0x00;
 00F8 2224              clr R2
 00FA 20920000          sts _JS,R2
 00FE                   .dbline 124
 00FE           ; PORTA|=0x20;
 00FE DD9A              sbi 0x1b,5
 0100                   .dbline 125
 0100           ; return(LENGTH);
 0100 20910200          lds R18,_LENGTH+2
 0104 30910300          lds R19,_LENGTH+2+1
 0108 00910000          lds R16,_LENGTH
 010C 10910100          lds R17,_LENGTH+1
 0110                   .dbline -2
 0110           L6:
 0110 0E940000          xcall pop_gset2
 0114                   .dbline 0 ; func end
 0114 0895              ret
 0116                   .dbsym r i 16 c
 0116                   .dbend
 0116                   .dbfunc e EN_init _EN_init fV
                        .even
 0116           _EN_init::
 0116                   .dbline -1
 0116                   .dbline 128
 0116           ; }
 0116           ; void EN_init(void)
 0116           ; {
 0116                   .dbline 130
 0116           ; 
 0116           ; _asm("sei");
 0116 7894              sei
 0118                   .dbline -2
 0118                   .dbline 132
 0118           ; 
 0118           ; }
 0118           L14:
 0118                   .dbline 0 ; func end
 0118 0895              ret
 011A                   .dbend
 011A                   .dbfunc e main _main fV
 011A           ;              t -> y+6
 011A           ;              l -> R20
 011A           ;              h -> y+2
 011A           ;              i -> R20
                        .even
 011A           _main::
 011A 2A97              sbiw R28,10
 011C                   .dbline -1
 011C                   .dbline 147
 011C           ; /**************************************
 011C           ; **芯片类型:ATmega16
 011C           ; **时钟频率:8M
 011C           ; **硬件接口说明:无
 011C           ; **函数功能说明:主函数,首先等待接收命令,接收到23H则进行数据检测,数据处理,
 011C           ; **函数输入参数及说明:jydata,JSM
 011C           ; **函数返回值:无
 011C           ; **在本函数以外定义的变量:无
 011C           ; **调用的函数说明:SHUJU();DATATEND()
 011C           ; **修改人:
 011C           ; **修改日期:
 011C           ; **修改说明:
 011C           ; **************************************/
 011C           ; void main(void)
 011C           ; {
 011C                   .dbline 148
 011C           ;  unsigned char l=0,i;
 011C 4427              clr R20
 011E                   .dbline 154
 011E           ;  float t;
 011E           ;  long int h;
 011E           ;  
 011E           ; //a.k=0;
 011E           ; 
 011E           ; init_devices();
 011E 0E940000          xcall _init_devices
 0122                   .dbline 155
 0122           ; ext_init();
 0122 0E940000          xcall _ext_init
 0126                   .dbline 156
 0126           ; CLI();//读温度时关闭中断
 0126 F894              cli
 0128                   .dbline 157
 0128           ; Uart_PutChar(0x01);
 0128 01E0              ldi R16,1
 012A 0E940000          xcall _Uart_PutChar
 012E                   .dbline 158
 012E           ; Uart_PutChar(0x02);
 012E 02E0              ldi R16,2
 0130 0E940000          xcall _Uart_PutChar
 0134                   .dbline 160
 0134           ;  
 0134           ; l=Read_Temperature();
 0134 0E940000          xcall _Read_Temperature
 0138                   .dbline 161
 0138           ; t=temperature;
 0138 40900200          lds R4,_temperature+2
 013C 50900300          lds R5,_temperature+2+1
 0140 20900000          lds R2,_temperature
 0144 30900100          lds R3,_temperature+1
 0148 FE01              movw R30,R28
 014A 2682              std z+6,R2
 014C 3782              std z+7,R3
 014E 4086              std z+8,R4
 0150 5186              std z+9,R5
 0152                   .dbline 163
 0152           ; 
 0152           ; Read_EEPROM(EEBuffer,10,10);
 0152 8AE0              ldi R24,10
 0154 90E0              ldi R25,0
 0156 9983              std y+1,R25
 0158 8883              std y+0,R24
 015A 2AE0              ldi R18,10
 015C 00E0              ldi R16,<_EEBuffer
 015E 10E0              ldi R17,>_EEBuffer
 0160 0E940000          xcall _Read_EEPROM
 0164                   .dbline 164
 0164           ; Uart_PutChar(EEBuffer[0]);
 0164 00910800          lds R16,_EEBuffer
 0168 0E940000          xcall _Uart_PutChar
 016C                   .dbline 165
 016C           ; Uart_PutChar(EEBuffer[1]);
 016C 00910900          lds R16,_EEBuffer+1
 0170 0E940000          xcall _Uart_PutChar
 0174                   .dbline 166
 0174           ; for(i=0;i<10;i++)
 0174 09C0              xjmp L20
 0176           L17:
 0176                   .dbline 167
 0176                   .dbline 168
 0176 80E0              ldi R24,<_EEBuffer
 0178 90E0              ldi R25,>_EEBuffer
 017A E42F              mov R30,R20
 017C FF27              clr R31
 017E E80F              add R30,R24
 0180 F91F              adc R31,R25
 0182 8AE0              ldi R24,10
 0184 8083              std z+0,R24
 0186                   .dbline 169
 0186           L18:
 0186                   .dbline 166
 0186 4395              inc R20
 0188           L20:
 0188                   .dbline 166
 0188 4A30              cpi R20,10
 018A A8F3              brlo L17
 018C                   .dbline 170
 018C           ;    {
 018C           ;    EEBuffer[i]=0x0a;
 018C           ;    }
 018C           ;  EEBuffer[1]=0x0b;  
 018C 8BE0              ldi R24,11
 018E 80930900          sts _EEBuffer+1,R24
 0192                   .dbline 171
 0192           ; Write_EEPROM(EEBuffer,10,10);
 0192 8AE0              ldi R24,10
 0194 90E0              ldi R25,0
 0196 9983              std y+1,R25
 0198 8883              std y+0,R24
 019A 2AE0              ldi R18,10
 019C 00E0              ldi R16,<_EEBuffer
 019E 10E0              ldi R17,>_EEBuffer
 01A0 0E940000          xcall _Write_EEPROM
 01A4                   .dbline 173
 01A4           ; 
 01A4           ; for(i=0;i<10;i++)
 01A4 4427              clr R20
 01A6 09C0              xjmp L25
 01A8           L22:
 01A8                   .dbline 174
 01A8 80E0              ldi R24,<_EEBuffer
 01AA 90E0              ldi R25,>_EEBuffer
 01AC E42F              mov R30,R20
 01AE FF27              clr R31
 01B0 E80F              add R30,R24
 01B2 F91F              adc R31,R25
 01B4 2224              clr R2
 01B6 2082              std z+0,R2
 01B8           L23:
 01B8                   .dbline 173
 01B8 4395              inc R20
 01BA           L25:
 01BA                   .dbline 173
 01BA 4A30              cpi R20,10
 01BC A8F3              brlo L22
 01BE                   .dbline 175
 01BE           ;    EEBuffer[i]=0;  
 01BE           ; Read_EEPROM(EEBuffer,10,10);
 01BE 8AE0              ldi R24,10
 01C0 90E0              ldi R25,0
 01C2 9983              std y+1,R25
 01C4 8883              std y+0,R24
 01C6 2AE0              ldi R18,10
 01C8 00E0              ldi R16,<_EEBuffer
 01CA 10E0              ldi R17,>_EEBuffer
 01CC 0E940000          xcall _Read_EEPROM
 01D0                   .dbline 176
 01D0           ; SEI(); //开中断 
 01D0 7894              sei
 01D2                   .dbline 177
 01D2           ; PORTA=0x00;
 01D2 2224              clr R2
 01D4 2BBA              out 0x1b,R2
 01D6                   .dbline 178
 01D6           ; DDRA=0x20;
 01D6 80E2              ldi R24,32
 01D8 8ABB              out 0x1a,R24
 01DA                   .dbline 179
 01DA           ; i=0;
 01DA 4427              clr R20
 01DC                   .dbline 180
 01DC           ; PORTD=0x00;
 01DC 22BA              out 0x12,R2
 01DE                   .dbline 181
 01DE           ; DDRD=0x80;
 01DE 80E8              ldi R24,128
 01E0 81BB              out 0x11,R24
 01E2                   .dbline 182
 01E2           ; i=0;
 01E2                   .dbline 183
 01E2           ; i=0;
 01E2                   .dbline 184
 01E2           ; i=0;
 01E2                   .dbline 185
 01E2           ; i=0;
 01E2                   .dbline 186
 01E2           ; PORTD=0x00;
 01E2 22BA              out 0x12,R2
 01E4                   .dbline 187
 01E4           ; i=0;
 01E4                   .dbline 188
 01E4           ; PORTA=0x20;
 01E4 80E2              ldi R24,32
 01E6 8BBB              out 0x1b,R24
 01E8 06C0              xjmp L27
 01EA           L26:
 01EA                   .dbline 195
 01EA 4ADF              xcall _measure
 01EC FE01              movw R30,R28
 01EE 0283              std z+2,R16
 01F0 1383              std z+3,R17
 01F2 2483              std z+4,R18
 01F4 3583              std z+5,R19
 01F6           L27:
 01F6                   .dbline 194
 01F6           ; 
 01F6           ; 
 01F6           ; //Uart_PutChar(EEBuffer[0]);
 01F6           ; //Uart_PutChar(EEBuffer[1]);
 01F6           ; //SEI();
 01F6           ; while(1)
 01F6 F9CF              xjmp L26
 01F8           X0:
 01F8                   .dbline 197
 01F8           ; h=measure();
 01F8           ; 
 01F8           ; Uart_PutChar(0x03);
 01F8 03E0              ldi R16,3
 01FA 0E940000          xcall _Uart_PutChar
 01FE                   .dbline 198
 01FE           ; Uart_PutChar(0x04);
 01FE 04E0              ldi R16,4
 0200 0E940000          xcall _Uart_PutChar
 0204           L29:
 0204                   .dbline 199
 0204           L30:
 0204                   .dbline 199
 0204 FFCF              xjmp L29
 0206           X1:
 0206                   .dbline -2
 0206                   .dbline 201
 0206           ; while(1);
 0206           ; 
 0206           ; }
 0206           L15:
 0206 2A96              adiw R28,10
 0208                   .dbline 0 ; func end
 0208 0895              ret
 020A                   .dbsym l t 6 D
 020A                   .dbsym r l 20 c
 020A                   .dbsym l h 2 L
 020A                   .dbsym r i 20 c
 020A                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\MY_COMPUTER\d\avr16\atmegal16\main.c
 0000           _LENGTH::
 0000                   .blkb 4
 0004                   .dbsym e LENGTH _LENGTH L
 0004           _TIMEH::
 0004                   .blkb 2
 0006                   .dbsym e TIMEH _TIMEH i
 0006           _TIMEL::
 0006                   .blkb 2
 0008                   .dbsym e TIMEL _TIMEL i
 0008           _EEBuffer::
 0008                   .blkb 100
 006C                   .dbsym e EEBuffer _EEBuffer A[100:100]c
 006C           _ReceiveBuf::
 006C                   .blkb 150
 0102                   .dbsym e ReceiveBuf _ReceiveBuf A[150:150]c
 0102           _SendBuf::
 0102                   .blkb 100
 0166                   .dbsym e SendBuf _SendBuf A[100:100]c
 0166           _SendData::
 0166                   .blkb 100
 01CA                   .dbsym e SendData _SendData A[100:100]c
 01CA           _b::
 01CA                   .blkb 10
 01D4                   .dbstruct 0 10 _AT91S_PMC
 01D4                   .dbfield 0 k i
 01D4                   .dbfield 2 Reserved1 A[4:2]i
 01D4                   .dbfield 6 Reserved2 A[4:2]i
 01D4                   .dbend
 01D4                   .dbsym e b _b S[_AT91S_PMC]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -