📄 test232main.lis
字号:
.module test232main.c
.area text(rom, con, rel)
0000 .dbfile D:\报警系统设计资料\报警系统软件\开关量64CPU—485\test232main.c
0000 .dbfunc e uart1_init _uart1_init fV
.even
0000 _uart1_init::
0000 .dbline -1
0000 .dbline 4
0000 ; #include "test232main.h"
0000 ;
0000 ; void uart1_init(void)
0000 ; {
0000 .dbline 5
0000 ; UCSR1B = 0x00; //disable while setting baud rate
0000 2224 clr R2
0002 2092C900 sts 201,R2
0006 .dbline 6
0006 ; UCSR1A = 0x00;
0006 2092C800 sts 200,R2
000A .dbline 7
000A ; UCSR1C = 0x06;
000A 86E0 ldi R24,6
000C 8093CA00 sts 202,R24
0010 .dbline 8
0010 ; UBRR1L = 0x67; //set baud rate lo
0010 87E6 ldi R24,103
0012 8093CC00 sts 204,R24
0016 .dbline 9
0016 ; UBRR1H = 0x00; //set baud rate hi
0016 2092CD00 sts 205,R2
001A .dbline 10
001A ; UCSR1B = 0xD8;
001A 88ED ldi R24,216
001C 8093C900 sts 201,R24
0020 .dbline -2
0020 L1:
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbend
0022 .dbfunc e USART_Transmit _USART_Transmit fV
0022 ; data -> R16
.even
0022 _USART_Transmit::
0022 .dbline -1
0022 .dbline 14
0022 ; }
0022 ;
0022 ; void USART_Transmit( unsigned char data )
0022 ; {
0022 L3:
0022 .dbline 17
0022 L4:
0022 .dbline 16
0022 ; //Wait for empty transmit buffer
0022 ; while ( !( UCSR1A & (1<<UDRE1)) )
0022 8091C800 lds R24,200
0026 8072 andi R24,32
0028 E1F3 breq L3
002A .dbline 19
002A ; ;
002A ; //Put data into buffer, sends the data
002A ; UDR1 = data;
002A 0093CE00 sts 206,R16
002E .dbline -2
002E L2:
002E .dbline 0 ; func end
002E 0895 ret
0030 .dbsym r data 16 c
0030 .dbend
0030 .dbfunc e USART_Receive _USART_Receive fc
.even
0030 _USART_Receive::
0030 .dbline -1
0030 .dbline 23
0030 ; }
0030 ;
0030 ; unsigned char USART_Receive( void )
0030 ; {
0030 L7:
0030 .dbline 26
0030 L8:
0030 .dbline 25
0030 ; //Wait for data to be received
0030 ; while ( !(UCSR1A & (1<<RXC1)) )
0030 8091C800 lds R24,200
0034 8078 andi R24,128
0036 E1F3 breq L7
0038 .dbline 28
0038 ; ;
0038 ; //Get and return received data from buffer
0038 ; return UDR1;
0038 0091CE00 lds R16,206
003C .dbline -2
003C L6:
003C .dbline 0 ; func end
003C 0895 ret
003E .dbend
003E .dbfunc e main _main fV
.even
003E _main::
003E .dbline -1
003E .dbline 32
003E ; }
003E ;
003E ; void main(void)
003E ; {
003E .dbline 33
003E ; CLI();
003E F894 cli
0040 .dbline 34
0040 ; uart1_init();
0040 DFDF xcall _uart1_init
0042 .dbline 35
0042 ; SEI();
0042 7894 sei
0044 02C0 xjmp L12
0046 L11:
0046 .dbline 37
0046 08E8 ldi R16,136
0048 ECDF xcall _USART_Transmit
004A L12:
004A .dbline 36
004A FDCF xjmp L11
004C X0:
004C .dbline -2
004C L10:
004C .dbline 0 ; func end
004C 0895 ret
004E .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -