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

📄 usart.lis

📁 AD/DA转换,通过外挂LCD显示转换数据数据值
💻 LIS
字号:
                        .module usart.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\新建文件夹\ADDA_ICC\cfile\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           ;    /* if(ch == '\n')
 0000           ;     {
 0000           ;         usart_putchar('\r');
 0000           ;     } */      
 0000           ;     while(!(UCSRA&(1<<UDRE)));   
 0000           L3:
 0000                   .dbline 9
 0000 5D9B              sbis 0xb,5
 0002 FECF              rjmp L2
 0004           X0:
 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 -> R10,R11
                        .even
 0008           _put_string::
 0008 AA92              st -y,R10
 000A BA92              st -y,R11
 000C 5801              movw R10,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           ;     while(*string)
 0010           ;     {
 0010                   .dbline 16
 0010           ;         put_char(*string++);
 0010 F501              movw R30,R10
 0012 0191              ld R16,Z+
 0014 5F01              movw R10,R30
 0016 F4DF              xcall _put_char
 0018                   .dbline 17
 0018           ;     }    
 0018           L7:
 0018                   .dbline 14
 0018 F501              movw R30,R10
 001A 2080              ldd R2,z+0
 001C 2220              tst R2
 001E C1F7              brne L6
 0020           X1:
 0020                   .dbline -2
 0020           L5:
 0020                   .dbline 0 ; func end
 0020 B990              ld R11,y+
 0022 A990              ld R10,y+
 0024 0895              ret
 0026                   .dbsym r string 10 pc
 0026                   .dbend
 0026                   .dbfunc e InitSerial _InitSerial fV
                        .even
 0026           _InitSerial::
 0026                   .dbline -1
 0026                   .dbline 20
 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 30
 002E           ;       UBRRH=0x00; 
 002E 2224              clr R2
 0030 20BC              out 0x20,R2
 0032                   .dbline 31
 0032           ;       UBRRL=0x19;  
 0032 89E1              ldi R24,25
 0034 89B9              out 0x9,R24
 0036                   .dbline -2
 0036           L9:
 0036                   .dbline 0 ; func end
 0036 0895              ret
 0038                   .dbend
 0038           ;       //sei();
 0038           ;     
 0038           ; }
 0038           ; 

⌨️ 快捷键说明

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