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

📄 uart.lis

📁 UART为RS232串行通信例子程序
💻 LIS
字号:
                         .module uart.c
                         .area text(rom, con, rel)
 0000                   .dbfile D:\ICC-AVR\examples.sl\uart\uart.c
 0000                   .dbfunc s main _main fI
                       ;           temp -> R20
                         .even
 0000                 _main::
 0000                   .dbline 15{
                       ; /**********************************************
                       ;              http://www.sl.com.cn
                       ;       双龙电子公司----RS232通信演示程序(ICCAVR)
                       ;                  作者:詹卫前
                       ;           1、使用ICCAVR的终端调试窗口,进行通信调试。
                       ;           2、在AVR的UART工作之前,应当先对ICCAVR的终
                       ;              端调试窗口进行设置,设置串口为com1或com2,
                       ;              通信波特率为19200。
                       ;           3、接线:PORTD.0(RXD)----R(D232)
                       ;                    PORTD.1(TXD)----T(D232)
                       ; **********************************************/
                       ; #include <io8515.h>
                       ; #include <stdio.h>
                       ; void main(void)
                       ;     {
 0000                   .dbline 17
                       ;      unsigned char temp;
                       ;      UBRR = 12;
 0000 8CE0              ldi R24,12
 0002 89B9              out 0x9,R24
 0004                   .dbline 18
                       ;      UCR=0x18;    
 0004 88E1              ldi R24,24
 0006 8AB9              out 0xa,R24
 0008                   .dbline 19
                       ;      puts("Hello World!\n");
 0008 00E0              ldi R16,<L2
 000A 10E0              ldi R17,>L2
 000C 00D0              rcall _puts
 000E                   .dbline 20
                       ;      putchar(0x0d);
 000E 0DE0              ldi R16,13
 0010 00D0              rcall _putchar
 0012                   .dbline 21
                       ;      putchar(0x0a);  
 0012 0AE0              ldi R16,10
 0014 00D0              rcall _putchar
 0016                   .dbline 22
                       ;      printf("请使用PC机键盘输入数字、字母或汉字!");
 0016 00E0              ldi R16,<L3
 0018 10E0              ldi R17,>L3
 001A 00D0              rcall _printf
 001C                   .dbline 23
                       ;      putchar(0x0a);
 001C 0AE0              ldi R16,10
 001E 00D0              rcall _putchar
 0020                   .dbline 24
                       ;      putchar(0x0d);
 0020 0DE0              ldi R16,13
 0022 00D0              rcall _putchar
 0024 0DC0              rjmp L5
 0026                 L4:
 0026                   .dbline 26
                       ;      while (1)
                       ;            {           
 0026                   .dbline 27
                       ;             temp=getchar();
 0026 00D0              rcall _getchar
 0028 202E              mov R2,R16
 002A 312E              mov R3,R17
 002C 422D              mov R20,R2
 002E                   .dbline 28
                       ;             if (temp!=0)
 002E 4423              tst R20
 0030 39F0              breq L7
 0032                   .dbline 29
                       ;                 {
 0032                   .dbline 30
                       ;                  putchar(temp);
 0032 042F              mov R16,R20
 0034 00D0              rcall _putchar
 0036                   .dbline 31
                       ;                  if(temp==0x0d)
 0036 4D30              cpi R20,13
 0038 11F4              brne L9
 003A                   .dbline 32
                       ;                     putchar(0x0a);
 003A 0AE0              ldi R16,10
 003C 00D0              rcall _putchar
 003E                 L9:
 003E                   .dbline 33
                       ;                  temp=0;
 003E 4427              clr R20
 0040                   .dbline 34
                       ;                 }                           
 0040                 L7:
 0040                   .dbline 35
 0040                 L5:
 0040                   .dbline 25
 0040 F2CF              rjmp L4
 0042                 X0:
 0042                   .dbline 36}
                       ;            }
                       ;      }
 0042                 L1:
 0042 0895              ret
 0044                   .dbsym r temp 20 c
                         .area data(ram, con, rel)
 0000                   .dbfile D:\ICC-AVR\examples.sl\uart\uart.c
 0000                 L3:
 0000                   .blkb 36
                         .area idata
 0000 C7EBCAB9D3C35043BBFABCFCC5CCCAE4   .byte 199,235,202,185,211,195,'P,'C,187,250,188,252,197,204,202,228
 0010 C8EBCAFDD7D6A1A2D7D6C4B8BBF2BABA   .byte 200,235,202,253,215,214,161,162,215,214,196,184,187,242,186,186
 0020 D7D62100          .byte 215,214,33,0
                         .area data(ram, con, rel)
 0024                   .dbfile D:\ICC-AVR\examples.sl\uart\uart.c
 0024                 L2:
 0024                   .blkb 14
                         .area idata
 0024 48656C6C6F20576F726C64210A00   .byte 'H,'e,'l,'l,'o,32,'W,'o,'r,'l,'d,33,10,0
                         .area data(ram, con, rel)
 0032                   .dbfile D:\ICC-AVR\examples.sl\uart\uart.c

⌨️ 快捷键说明

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