⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart.lis

📁 avr mega16 232串口调试程序
💻 LIS
字号:
                        .module uart.c
                        .area data(ram, con, rel)
 0000           _baud::
 0000                   .blkb 1
                        .area idata
 0000 2D                .byte 45
                        .area data(ram, con, rel)
 0001                   .dbfile C:\bak\YM200\uart\uart.c
 0001                   .dbsym e baud _baud c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\bak\YM200\uart\uart.c
 0000                   .dbfunc e USART_Init _USART_Init fV
                        .even
 0000           _USART_Init::
 0000                   .dbline -1
 0000                   .dbline 11
 0000           ; #include <iom16v.h>
 0000           ; #include <macros.h>
 0000           ; #include<stdio.h>
 0000           ; unsigned char baud=45;               //baud=9600bps
 0000           ; /*-----------------------------------------------------------
 0000           ; USART_Init  :UART初始化函数
 0000           ; 输入参数    :无
 0000           ; 输出参数    :无
 0000           ; ------------------------------------------------------------*/
 0000           ; void USART_Init(void)
 0000           ; {
 0000                   .dbline 13
 0000           ;                                          /* 设置波特率*/
 0000           ;   UBRRH = (unsigned char)(baud>>8);
 0000 20900000          lds R2,_baud
 0004 3324              clr R3
 0006 232C              mov R2,R3
 0008 3324              clr R3
 000A 27FC              sbrc R2,7
 000C 3094              com R3
 000E 20BC              out 0x20,R2
 0010                   .dbline 14
 0010           ;   UBRRL = (unsigned char)baud;
 0010 20900000          lds R2,_baud
 0014 29B8              out 0x9,R2
 0016                   .dbline 16
 0016           ;                                          /* 设置帧格式: 8 个数据位, 2 个停止位*/
 0016           ;   UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
 0016 8EE8              ldi R24,142
 0018 80BD              out 0x20,R24
 001A                   .dbline 18
 001A           ;                                          /* 接收器与发送器使能*/
 001A           ;   UCSRB = (1<<RXEN)|(1<<TXEN);
 001A 88E1              ldi R24,24
 001C 8AB9              out 0xa,R24
 001E                   .dbline -2
 001E           L1:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbend
 0020                   .dbfunc e main _main fV
 0020           ;           temp -> R20
                        .even
 0020           _main::
 0020                   .dbline -1
 0020                   .dbline 22
 0020           ;  }
 0020           ; 
 0020           ; void main(void)
 0020           ;   {
 0020                   .dbline 24
 0020           ;     unsigned char temp;
 0020           ;     USART_Init();  
 0020 EFDF              xcall _USART_Init
 0022                   .dbline 25
 0022           ;     puts("Hello World!\n");
 0022 00E0              ldi R16,<L3
 0024 10E0              ldi R17,>L3
 0026 0E940000          xcall _puts
 002A                   .dbline 26
 002A           ;     putchar(0x0d);
 002A 0DE0              ldi R16,13
 002C 0E940000          xcall _putchar
 0030                   .dbline 27
 0030           ;     putchar(0x0a);     
 0030 0AE0              ldi R16,10
 0032 0E940000          xcall _putchar
 0036                   .dbline 28
 0036           ;     printf("Please Input in Tx_windows");
 0036 00E0              ldi R16,<L4
 0038 10E0              ldi R17,>L4
 003A 0E940000          xcall _printf
 003E                   .dbline 29
 003E           ;     putchar(0x0a);
 003E 0AE0              ldi R16,10
 0040 0E940000          xcall _putchar
 0044                   .dbline 30
 0044           ;     putchar(0x0d);
 0044 0DE0              ldi R16,13
 0046 0E940000          xcall _putchar
 004A 0DC0              xjmp L6
 004C           L5:
 004C                   .dbline 32
 004C           ;     while (1)
 004C           ;       {                  
 004C                   .dbline 33
 004C           ;          temp=getchar();
 004C 0E940000          xcall _getchar
 0050 402F              mov R20,R16
 0052                   .dbline 34
 0052           ;        if (temp!=0)
 0052 0023              tst R16
 0054 41F0              breq L8
 0056                   .dbline 35
 0056           ;            {
 0056                   .dbline 36
 0056           ;            putchar(temp);
 0056 0E940000          xcall _putchar
 005A                   .dbline 37
 005A           ;            if(temp==0x0d)
 005A 4D30              cpi R20,13
 005C 19F4              brne L10
 005E                   .dbline 38
 005E           ;            putchar(0x0a);
 005E 0AE0              ldi R16,10
 0060 0E940000          xcall _putchar
 0064           L10:
 0064                   .dbline 39
 0064           ;            temp=0;
 0064 4427              clr R20
 0066                   .dbline 40
 0066           ;           }                                           
 0066           L8:
 0066                   .dbline 41
 0066           L6:
 0066                   .dbline 31
 0066 F2CF              xjmp L5
 0068           X0:
 0068                   .dbline -2
 0068           L2:
 0068                   .dbline 0 ; func end
 0068 0895              ret
 006A                   .dbsym r temp 20 c
 006A                   .dbend
                        .area data(ram, con, rel)
 0001                   .dbfile C:\bak\YM200\uart\uart.c
 0001           L4:
 0001                   .blkb 27
                        .area idata
 0001 506C6561736520496E70757420696E20  .byte 'P,'l,'e,'a,'s,'e,32,'I,'n,'p,'u,'t,32,'i,'n,32
 0011 54785F77696E646F777300    .byte 'T,'x,95,'w,'i,'n,'d,'o,'w,'s,0
                        .area data(ram, con, rel)
 001C                   .dbfile C:\bak\YM200\uart\uart.c
 001C           L3:
 001C                   .blkb 14
                        .area idata
 001C 48656C6C6F20576F726C64210A00      .byte 'H,'e,'l,'l,'o,32,'W,'o,'r,'l,'d,33,10,0
                        .area data(ram, con, rel)
 002A                   .dbfile C:\bak\YM200\uart\uart.c

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -