📄 usart.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 + -