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

📄 test_7135.lis

📁 ad7135的avr16的源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 01C0                   .dbline -2
 01C0           L19:
 01C0                   .dbline 0 ; func end
 01C0 0895              ret
 01C2                   .dbend
 01C2                   .dbfunc e USART_TX _USART_TX fV
 01C2           ;           data -> R20
                        .even
 01C2           _USART_TX::
 01C2 0E940000          xcall push_gset1
 01C6 402F              mov R20,R16
 01C8                   .dbline -1
 01C8                   .dbline 171
 01C8           ; }
 01C8           ; //***************************************************** 
 01C8           ; //函数名称:void USART_INIT(void) 
 01C8           ; //函数功能:8M,波特率9600
 01C8           ; //注意事项:
 01C8           ; //*****************************************************
 01C8           ; void USART_TX(unsigned char data)
 01C8           ; {      
 01C8                   .dbline 172
 01C8           ;        UDR=data;
 01C8 4CB9              out 0xc,R20
 01CA           L21:
 01CA                   .dbline 174
 01CA           L22:
 01CA                   .dbline 173
 01CA           ;        while(!(UCSRA&(1<<TXC)))
 01CA 5E9B              sbis 0xb,6
 01CC FECF              rjmp L21
 01CE                   .dbline 175
 01CE           ;        ;
 01CE           ;        DELAY_NMS(1);
 01CE 01E0              ldi R16,1
 01D0 10E0              ldi R17,0
 01D2 1FDF              xcall _DELAY_NMS
 01D4                   .dbline -2
 01D4           L20:
 01D4 0E940000          xcall pop_gset1
 01D8                   .dbline 0 ; func end
 01D8 0895              ret
 01DA                   .dbsym r data 20 c
 01DA                   .dbend
                        .area vector(rom, abs)
                        .org 44
 002C 0C94ED00          jmp _usart_receive
                        .area text(rom, con, rel)
 01DA                   .dbfile test_7135.c
 01DA                   .dbfunc e usart_receive _usart_receive fV
 01DA           ;              d -> R16
                        .even
 01DA           _usart_receive::
 01DA 0A93              st -y,R16
 01DC 0FB7              in R16,0x3f
 01DE 0A93              st -y,R16
 01E0                   .dbline -1
 01E0                   .dbline 184
 01E0           ; }
 01E0           ; //***************************************************** 
 01E0           ; //函数名称:void USART_INIT(void) 
 01E0           ; //函数功能:下位机收到0x01,则进行1次ad转换
 01E0           ; //注意事项:
 01E0           ; //*****************************************************
 01E0           ; #pragma interrupt_handler usart_receive:12
 01E0           ; void usart_receive(void)
 01E0           ; {      
 01E0                   .dbline 186
 01E0           ;        unsigned char d;
 01E0           ;        d=UDR;
 01E0 0CB1              in R16,0xc
 01E2                   .dbline 187
 01E2           ;        if(d==0x01)
 01E2 0130              cpi R16,1
 01E4 19F4              brne L25
 01E6                   .dbline 188
 01E6           ;        {    
 01E6                   .dbline 189
 01E6           ;                 PORTB|=(1<<0);
 01E6 C09A              sbi 0x18,0
 01E8                   .dbline 190
 01E8           ;                 SEI();
 01E8 7894              sei
 01EA                   .dbline 191
 01EA           ;        }
 01EA 02C0              xjmp L26
 01EC           L25:
 01EC                   .dbline 193
 01EC                   .dbline 194
 01EC C098              cbi 0x18,0
 01EE                   .dbline 195
 01EE F894              cli
 01F0                   .dbline 196
 01F0           L26:
 01F0                   .dbline -2
 01F0           L24:
 01F0 0991              ld R16,y+
 01F2 0FBF              out 0x3f,R16
 01F4 0991              ld R16,y+
 01F6                   .dbline 0 ; func end
 01F6 1895              reti
 01F8                   .dbsym r d 16 c
 01F8                   .dbend
 01F8                   .dbfunc e DATA_DISPLAY _DATA_DISPLAY fV
 01F8           ;           temp -> y+0
 01F8           ;              i -> R20
 01F8           ;           data -> R20,R21
                        .even
 01F8           _DATA_DISPLAY::
 01F8 0E940000          xcall push_gset1
 01FC A801              movw R20,R16
 01FE 2497              sbiw R28,4
 0200                   .dbline -1
 0200                   .dbline 204
 0200           ;        else
 0200           ;        {    
 0200           ;                 PORTB&=~(1<<0);
 0200           ;                 CLI();
 0200           ;        }
 0200           ; }
 0200           ; //***************************************************** 
 0200           ; //函数名称:void USART_INIT(void) 
 0200           ; //函数功能:8M,波特率9600
 0200           ; //注意事项:
 0200           ; //*****************************************************
 0200           ; void DATA_DISPLAY(unsigned int data)
 0200           ; {      
 0200                   .dbline 206
 0200           ;        unsigned char temp[4],i;
 0200           ;        temp[0]=data/1000;
 0200 28EE              ldi R18,1000
 0202 33E0              ldi R19,3
 0204 8A01              movw R16,R20
 0206 0E940000          xcall div16u
 020A 0883              std y+0,R16
 020C                   .dbline 207
 020C           ;        temp[1]=(data/100)%10;
 020C 24E6              ldi R18,100
 020E 30E0              ldi R19,0
 0210 8A01              movw R16,R20
 0212 0E940000          xcall div16u
 0216 2AE0              ldi R18,10
 0218 30E0              ldi R19,0
 021A 0E940000          xcall mod16u
 021E 0983              std y+1,R16
 0220                   .dbline 208
 0220           ;        temp[2]=(data/10)%10;
 0220 2AE0              ldi R18,10
 0222 30E0              ldi R19,0
 0224 8A01              movw R16,R20
 0226 0E940000          xcall div16u
 022A 2AE0              ldi R18,10
 022C 30E0              ldi R19,0
 022E 0E940000          xcall mod16u
 0232 0A83              std y+2,R16
 0234                   .dbline 209
 0234           ;        temp[3]=data%10;
 0234 2AE0              ldi R18,10
 0236 30E0              ldi R19,0
 0238 8A01              movw R16,R20
 023A 0E940000          xcall mod16u
 023E 0B83              std y+3,R16
 0240                   .dbline 210
 0240           ;        for(i=0;i<4;i++)
 0240 4427              clr R20
 0242 0BC0              xjmp L34
 0244           L31:
 0244                   .dbline 211
 0244                   .dbline 212
 0244 CE01              movw R24,R28
 0246 E42F              mov R30,R20
 0248 FF27              clr R31
 024A E80F              add R30,R24
 024C F91F              adc R31,R25
 024E 0081              ldd R16,z+0
 0250 B8DF              xcall _USART_TX
 0252                   .dbline 213
 0252 01E0              ldi R16,1
 0254 10E0              ldi R17,0
 0256 DDDE              xcall _DELAY_NMS
 0258                   .dbline 214
 0258           L32:
 0258                   .dbline 210
 0258 4395              inc R20
 025A           L34:
 025A                   .dbline 210
 025A 4430              cpi R20,4
 025C 98F3              brlo L31
 025E                   .dbline -2
 025E           L27:
 025E 2496              adiw R28,4
 0260 0E940000          xcall pop_gset1
 0264                   .dbline 0 ; func end
 0264 0895              ret
 0266                   .dbsym l temp 0 A[4:4]c
 0266                   .dbsym r i 20 c
 0266                   .dbsym r data 20 i
 0266                   .dbend
 0266                   .dbfunc e main _main fV
                        .even
 0266           _main::
 0266                   .dbline -1
 0266                   .dbline 220
 0266           ;        {
 0266           ;             USART_TX(temp[i]);
 0266           ;                 DELAY_NMS(1);
 0266           ;        }
 0266           ; } 
 0266           ; //********************************************************** 
 0266           ; //主函数
 0266           ; //**********************************************************
 0266           ; void main(void)
 0266           ; {      
 0266                   .dbline 221
 0266           ;        CLI();
 0266 F894              cli
 0268                   .dbline 222
 0268           ;        PORT_INIT();
 0268 E1DE              xcall _PORT_INIT
 026A                   .dbline 223
 026A           ;        T0_125K();
 026A E8DE              xcall _T0_125K
 026C                   .dbline 224
 026C           ;        INT0_INIT();
 026C F2DE              xcall _INT0_INIT
 026E                   .dbline 225
 026E           ;        T1_INIT();
 026E 85DF              xcall _T1_INIT
 0270                   .dbline 226
 0270           ;        USART_INIT();
 0270 9FDF              xcall _USART_INIT
 0272                   .dbline 227
 0272           ;        SEI();
 0272 7894              sei
 0274           L36:
 0274                   .dbline 230
 0274           L37:
 0274                   .dbline 229
 0274 FFCF              xjmp L36
 0276           X2:
 0276                   .dbline -2
 0276           L35:
 0276                   .dbline 0 ; func end
 0276 0895              ret
 0278                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile test_7135.c
 0000           _VIN::
 0000                   .blkb 2
 0002                   .dbsym e VIN _VIN i
 0002           _T1_NUM::
 0002                   .blkb 4
 0006                   .dbsym e T1_NUM _T1_NUM l

⌨️ 快捷键说明

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