📄 uart.lis
字号:
.module uart.c
.area vector(rom, abs)
.org 72
0048 0C940000 jmp _uart0_rx_isr
.area text(rom, con, rel)
0000 .dbfile D:\new_sd\uart.c
0000 .dbfunc e uart0_rx_isr _uart0_rx_isr fV
0000 ; status -> R16
0000 ; data -> R16
.even
0000 _uart0_rx_isr::
0000 0A93 st -y,R16
0002 0FB7 in R16,0x3f
0004 0A93 st -y,R16
0006 .dbline -1
0006 .dbline 16
0006 ;
0006 ; #include "GLO.H"
0006 ; #include "uart.h"
0006 ; //--------------------------------------------------------------------
0006 ; /*
0006 ; uart0接收结束中断 与PL-2303通信
0006 ; */
0006 ; //中断向量
0006 ; //协议帧格式
0006 ; //SYNC + LENGTH(2 byte) + COMMAND + DATA + CHECKSUM
0006 ; //
0006 ; //--------------------------------------------------------------------
0006 ; #pragma interrupt_handler uart0_rx_isr:19
0006 ;
0006 ; void uart0_rx_isr(void)
0006 ; {
0006 .dbline 18
0006 ; unsigned char status,data;
0006 ; status = UCSR0A;
0006 0BB1 in R16,0xb
0008 .dbline 19
0008 ; data = UDR0;
0008 0CB1 in R16,0xc
000A .dbline 25
000A ; /* if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
000A ; {
000A ; }
000A ; // PORTA = led_7[data];
000A ; */
000A ; data = UDR0;
000A 0CB1 in R16,0xc
000C .dbline -2
000C L1:
000C 0991 ld R16,y+
000E 0FBF out 0x3f,R16
0010 0991 ld R16,y+
0012 .dbline 0 ; func end
0012 1895 reti
0014 .dbsym r status 16 c
0014 .dbsym r data 16 c
0014 .dbend
0014 .dbfunc e USART_Transmit _USART_Transmit fV
0014 ; data -> R16
.even
0014 _USART_Transmit::
0014 .dbline -1
0014 .dbline 44
0014 ; }
0014 ; //--------------------------------------------------------------------
0014 ; /*
0014 ; uart0 寄存器空中断(发送中断)
0014 ; */
0014 ; //--------------------------------------------------------------------
0014 ; /*
0014 ; #pragma interrupt_handler uart0_udre_isr:20
0014 ;
0014 ; void uart0_udre_isr(void)
0014 ; {
0014 ; while (!(UCSRA & DATA_REGISTER_EMPTY)); // 等待发送寄存器空
0014 ; UDR = data;
0014 ;
0014 ; }
0014 ; */
0014 ;
0014 ; void USART_Transmit(unsigned char data)
0014 ; {
0014 L3:
0014 .dbline 45
0014 L4:
0014 .dbline 45
0014 ; while (!(UCSR0A & DATA_REGISTER_EMPTY)); // 等待发送寄存器空
0014 5D9B sbis 0xb,5
0016 FECF rjmp L3
0018 .dbline 46
0018 ; UDR0 = data; // 发送数据
0018 0CB9 out 0xc,R16
001A .dbline -2
001A L2:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r data 16 c
001C .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -