📄 usart.lis
字号:
.module usart.c
.area text(rom, con, rel)
0000 .dbfile D:\仿真\增量式模糊控制\usart.c
0000 .dbfunc e put_char _put_char fV
0000 ; ch -> R16
.even
0000 _put_char::
0000 .dbline -1
0000 .dbline 4
0000 ; #define USART_C
0000 ; #include "includes.h"
0000 ; void put_char(unsigned char ch)
0000 ; {
0000 L2:
0000 .dbline 9
0000 L3:
0000 .dbline 9
0000 ; /* if(ch == '\n')
0000 ; {
0000 ; usart_putchar('\r');
0000 ; } */
0000 ; while(!(UCSRA&(1<<UDRE)));
0000 5D9B sbis 0xb,5
0002 FECF rjmp L2
0004 .dbline 10
0004 ; UDR = ch;
0004 0CB9 out 0xc,R16
0006 .dbline -2
0006 L1:
0006 .dbline 0 ; func end
0006 0895 ret
0008 .dbsym r ch 16 c
0008 .dbend
0008 .dbfunc e put_string _put_string fV
0008 ; string -> R20,R21
.even
0008 _put_string::
0008 0E940000 xcall push_gset1
000C A801 movw R20,R16
000E .dbline -1
000E .dbline 13
000E ; }
000E ; void put_string(unsigned char *string)
000E ; {
000E 04C0 xjmp L7
0010 L6:
0010 .dbline 15
0010 .dbline 16
0010 FA01 movw R30,R20
0012 0191 ld R16,Z+
0014 AF01 movw R20,R30
0016 F4DF xcall _put_char
0018 .dbline 17
0018 L7:
0018 .dbline 14
0018 ; while(*string)
0018 FA01 movw R30,R20
001A 2080 ldd R2,z+0
001C 2220 tst R2
001E C1F7 brne L6
0020 .dbline -2
0020 L5:
0020 0E940000 xcall pop_gset1
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbsym r string 20 pc
0026 .dbend
0026 .dbfunc e InitSerial _InitSerial fV
.even
0026 _InitSerial::
0026 .dbline -1
0026 .dbline 20
0026 ; {
0026 ; put_char(*string++);
0026 ; }
0026 ; }
0026 ; void InitSerial(void) //串口初始化
0026 ; {
0026 .dbline 28
0026 ; // 晶振频率 : 4.0MHz
0026 ; // 通信参数: 8 Data, 1 Stop, No Parity
0026 ; // 波特率:
0026 ; // UBRRL= 0x0C 19200;
0026 ; // UBRRL= 0x19 9600;
0026 ; // UBRRL= 0x33 4800;
0026 ; // UBRRL= 0x67 2400
0026 ; UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); //允许发送和接收
0026 88E9 ldi R24,152
0028 8AB9 out 0xa,R24
002A .dbline 29
002A ; UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位数据位+1位停止位
002A 86E8 ldi R24,134
002C 80BD out 0x20,R24
002E .dbline 31
002E ; //UBRRH = 0x00; //set baud rate hi
002E ; UBRRL=0x19;
002E 89E1 ldi R24,25
0030 89B9 out 0x9,R24
0032 .dbline -2
0032 L9:
0032 .dbline 0 ; func end
0032 0895 ret
0034 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -