📄 usart1.lis
字号:
.module USART1.C
.area text(rom, con, rel)
0000 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
.area data(ram, con, rel)
0000 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
0000 _USART1_sendPosi::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
0001 .dbsym e USART1_sendPosi _USART1_sendPosi c
0001 _USART1_sendCount::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
0002 .dbsym e USART1_sendCount _USART1_sendCount c
.area text(rom, con, rel)
0000 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
0000 .dbfunc e USART1_Init _USART1_Init fV
0000 ; i -> <dead>
.even
0000 _USART1_Init::
0000 .dbline -1
0000 .dbline 14
0000 ; #define _USART1_H
0000 ; #include "AT90CAN128.H"
0000 ;
0000 ; uint8 rec_Buf[16];
0000 ; uint8 volatile USART1_sendPosi =0;
0000 ; uint8 volatile USART1_sendCount=0;
0000 ;
0000 ; //UART1 initialize
0000 ; // desired baud rate:9600
0000 ; // actual baud rate:9615 (0.2%)
0000 ; // char size: 8 bit
0000 ; // parity: Disabled
0000 ; void USART1_Init(void)
0000 ; {
0000 .dbline 17
0000 ; uint8 i;
0000 ;
0000 ; UCSR1B = 0x00; //disable while setting baud rate
0000 2224 clr R2
0002 2092C900 sts 201,R2
0006 .dbline 18
0006 ; UCSR1A = 0x00;
0006 2092C800 sts 200,R2
000A .dbline 19
000A ; UCSR1C = 0x06;
000A 86E0 ldi R24,6
000C 8093CA00 sts 202,R24
0010 .dbline 20
0010 ; UBRR1L = 0x33; //set baud rate lo单片机内部晶振=8M
0010 83E3 ldi R24,51
0012 8093CC00 sts 204,R24
0016 .dbline 21
0016 ; UBRR1H = 0x00; //set baud rate hi
0016 2092CD00 sts 205,R2
001A .dbline 22
001A ; UCSR1B = (1 << TXEN1) | (1 << TXCIE1);
001A 88E4 ldi R24,72
001C 8093C900 sts 201,R24
0020 .dbline -2
0020 L3:
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym l i 1 c
0022 .dbend
0022 .dbfunc e USART1_Begin_Send _USART1_Begin_Send fV
.even
0022 _USART1_Begin_Send::
0022 .dbline -1
0022 .dbline 27
0022 ; }
0022 ;
0022 ;
0022 ; void USART1_Begin_Send(void)
0022 ; {
0022 .dbline 28
0022 ; USART1_sendCount = 16;
0022 80E1 ldi R24,16
0024 80930100 sts _USART1_sendCount,R24
0028 .dbline 29
0028 ; USART1_sendPosi = 0;
0028 2224 clr R2
002A 20920000 sts _USART1_sendPosi,R2
002E .dbline 30
002E ; UDR1 = rec_Buf[USART1_sendPosi++];
002E 20900000 lds R2,_USART1_sendPosi
0032 3324 clr R3
0034 822D mov R24,R2
0036 8F5F subi R24,255 ; addi 1
0038 80930000 sts _USART1_sendPosi,R24
003C 80E0 ldi R24,<_rec_Buf
003E 90E0 ldi R25,>_rec_Buf
0040 E22D mov R30,R2
0042 FF27 clr R31
0044 E80F add R30,R24
0046 F91F adc R31,R25
0048 2080 ldd R2,z+0
004A 2092CE00 sts 206,R2
004E .dbline -2
004E L4:
004E .dbline 0 ; func end
004E 0895 ret
0050 .dbend
.area vector(rom, abs)
.org 136
0088 0C942800 jmp _USART1_TX_ISR
.area text(rom, con, rel)
0050 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
0050 .dbfunc e USART1_TX_ISR _USART1_TX_ISR fV
.even
0050 _USART1_TX_ISR::
0050 2A92 st -y,R2
0052 3A92 st -y,R3
0054 8A93 st -y,R24
0056 9A93 st -y,R25
0058 EA93 st -y,R30
005A FA93 st -y,R31
005C 2FB6 in R2,0x3f
005E 2A92 st -y,R2
0060 .dbline -1
0060 .dbline 36
0060 ; }
0060 ;
0060 ;
0060 ; #pragma interrupt_handler USART1_TX_ISR:iv_USART1_TX
0060 ; void USART1_TX_ISR(void)
0060 ; {
0060 .dbline 37
0060 ; if (USART1_sendPosi < USART1_sendCount)
0060 20900100 lds R2,_USART1_sendCount
0064 30900000 lds R3,_USART1_sendPosi
0068 3214 cp R3,R2
006A 80F4 brsh L6
006C X0:
006C .dbline 38
006C ; UDR1 = rec_Buf[USART1_sendPosi++];
006C 20900000 lds R2,_USART1_sendPosi
0070 3324 clr R3
0072 822D mov R24,R2
0074 8F5F subi R24,255 ; addi 1
0076 80930000 sts _USART1_sendPosi,R24
007A 80E0 ldi R24,<_rec_Buf
007C 90E0 ldi R25,>_rec_Buf
007E E22D mov R30,R2
0080 FF27 clr R31
0082 E80F add R30,R24
0084 F91F adc R31,R25
0086 2080 ldd R2,z+0
0088 2092CE00 sts 206,R2
008C L6:
008C .dbline -2
008C L5:
008C .dbline 0 ; func end
008C 2990 ld R2,y+
008E 2FBE out 0x3f,R2
0090 F991 ld R31,y+
0092 E991 ld R30,y+
0094 9991 ld R25,y+
0096 8991 ld R24,y+
0098 3990 ld R3,y+
009A 2990 ld R2,y+
009C 1895 reti
009E .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\CANBUS\数据帧\查询\单向通讯\结点1-串口\USART1.C
0000 _rec_Buf::
0000 .blkb 16
0010 .dbsym e rec_Buf _rec_Buf A[16:16]c
0010 ; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -