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

📄 usart.lis

📁 ad7135的avr16的源程序
💻 LIS
字号:
                        .module usart.c
                        .area text(rom, con, rel)
 0000                   .dbfile usart.c
 0000                   .dbfunc e usart_init _usart_init fV
                        .even
 0000           _usart_init::
 0000                   .dbline -1
 0000                   .dbline 5
 0000           ;  /*上位机发送一个数据,下位返回相同的数据,在中断中接收数据,并发送数据*/
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; void usart_init(void)
 0000           ; {      
 0000                   .dbline 6
 0000           ;        UBRR=0X33;//fosc=8mhz,波特率9600
 0000 83E3              ldi R24,51
 0002 89B9              out 0x9,R24
 0004                   .dbline 7
 0004           ;        UCSRA=0X20;
 0004 80E2              ldi R24,32
 0006 8BB9              out 0xb,R24
 0008                   .dbline 8
 0008           ;        UCSRC=0X86;
 0008 86E8              ldi R24,134
 000A 80BD              out 0x20,R24
 000C                   .dbline 9
 000C           ;        UCSRB=0X98;
 000C 88E9              ldi R24,152
 000E 8AB9              out 0xa,R24
 0010                   .dbline -2
 0010           L1:
 0010                   .dbline 0 ; func end
 0010 0895              ret
 0012                   .dbend
                        .area vector(rom, abs)
                        .org 44
 002C 0C940900          jmp _usart_receive
                        .area text(rom, con, rel)
 0012                   .dbfile usart.c
 0012                   .dbfunc e usart_receive _usart_receive fV
 0012           ;              d -> R16
                        .even
 0012           _usart_receive::
 0012 0A93              st -y,R16
 0014 8A93              st -y,R24
 0016 0FB7              in R16,0x3f
 0018 0A93              st -y,R16
 001A                   .dbline -1
 001A                   .dbline 13
 001A           ; }
 001A           ; #pragma interrupt_handler usart_receive:12
 001A           ; void usart_receive(void)
 001A           ; {      
 001A                   .dbline 15
 001A           ;        unsigned char d;
 001A           ;        d=UDR;
 001A 0CB1              in R16,0xc
 001C                   .dbline 16
 001C           ;        UDR=0xff;
 001C 8FEF              ldi R24,255
 001E 8CB9              out 0xc,R24
 0020           L3:
 0020                   .dbline 18
 0020           L4:
 0020                   .dbline 17
 0020           ;        while(!(UCSRA&(1<<TXC)))
 0020 5E9B              sbis 0xb,6
 0022 FECF              rjmp L3
 0024                   .dbline -2
 0024           L2:
 0024 0991              ld R16,y+
 0026 0FBF              out 0x3f,R16
 0028 8991              ld R24,y+
 002A 0991              ld R16,y+
 002C                   .dbline 0 ; func end
 002C 1895              reti
 002E                   .dbsym r d 16 c
 002E                   .dbend
 002E                   .dbfunc e main _main fV
                        .even
 002E           _main::
 002E                   .dbline -1
 002E                   .dbline 22
 002E           ;        ;
 002E           ;        
 002E           ; }
 002E           ; void main(void)
 002E           ; {      
 002E                   .dbline 23
 002E           ;        CLI();
 002E F894              cli
 0030                   .dbline 24
 0030           ;        usart_init();
 0030 E7DF              xcall _usart_init
 0032                   .dbline 25
 0032           ;        SEI();
 0032 7894              sei
 0034           L7:
 0034                   .dbline 26
 0034           L8:
 0034                   .dbline 26
 0034 FFCF              xjmp L7
 0036           X0:
 0036                   .dbline -2
 0036           L6:
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbend

⌨️ 快捷键说明

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