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

📄 usart_test.lis

📁 NEC单片机开发资料 NEC单片机开发资料 NEC单片机开发资料
💻 LIS
字号:
                        .module usart_test.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\串口校准发送测试\usart_test.c
 0000                   .dbfunc e uart0_init _uart0_init fV
                        .even
 0000           _uart0_init::
 0000                   .dbline -1
 0000                   .dbline 5
 0000           ; #include "iom48v.h"
 0000           ; #include "macros.h"
 0000           ; 
 0000           ; void uart0_init(void)
 0000           ; {
 0000                   .dbline 6
 0000           ;       UCSR0A = 0x02;                                  //使用波特率倍增,不使用多从机模式
 0000 82E0              ldi R24,2
 0002 8093C000          sts 192,R24
 0006                   .dbline 7
 0006           ;       UCSR0C = 0x06;                                  //异步串口模式,禁止奇偶校验,1位停止位,8-bit桢模式
 0006 86E0              ldi R24,6
 0008 8093C200          sts 194,R24
 000C                   .dbline 8
 000C           ;       UBRR0L = 0x0C;                                  //设置波特率,9600
 000C 8CE0              ldi R24,12
 000E 8093C400          sts 196,R24
 0012                   .dbline 9
 0012           ;       UBRR0H = 0x00;
 0012 2224              clr R2
 0014 2092C500          sts 197,R2
 0018                   .dbline 10
 0018           ;       UCSR0B = 0x98;                                  //允许接收完成中断使能,禁止发送完成中断,禁止发送寄存器空中断,允许接收,允许发送
 0018 88E9              ldi R24,152
 001A 8093C100          sts 193,R24
 001E                   .dbline -2
 001E           L1:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbend
 0020                   .dbfunc e Delay_ms _Delay_ms fV
 0020           ;              n -> R20
 0020           ;           Time -> R16,R17
                        .even
 0020           _Delay_ms::
 0020 00D0              rcall push_gset1
 0022                   .dbline -1
 0022                   .dbline 14
 0022           ; }
 0022           ; 
 0022           ; void Delay_ms(unsigned int Time)
 0022           ; {
 0022                   .dbline 15
 0022           ;     unsigned char n=0;
 0022 4427              clr R20
 0024 08C0              rjmp L4
 0026           L3:
 0026                   .dbline 17
 0026           ;     while(Time>0)
 0026           ;     {
 0026                   .dbline 18
 0026           ;         for (n=1;n<187;n++)
 0026 41E0              ldi R20,1
 0028 02C0              rjmp L9
 002A           L6:
 002A                   .dbline 19
 002A                   .dbline 20
 002A 0000              nop
 002C                   .dbline 21
 002C           L7:
 002C                   .dbline 18
 002C 4395              inc R20
 002E           L9:
 002E                   .dbline 18
 002E 4B3B              cpi R20,187
 0030 E0F3              brlo L6
 0032                   .dbline 22
 0032 0150              subi R16,1
 0034 1040              sbci R17,0
 0036                   .dbline 23
 0036           L4:
 0036                   .dbline 16
 0036 0030              cpi R16,0
 0038 0107              cpc R16,R17
 003A A9F7              brne L3
 003C           X0:
 003C                   .dbline -2
 003C           L2:
 003C 00D0              rcall pop_gset1
 003E                   .dbline 0 ; func end
 003E 0895              ret
 0040                   .dbsym r n 20 c
 0040                   .dbsym r Time 16 i
 0040                   .dbend
 0040                   .dbfunc e main _main fV
 0040           ;       SendData -> R20
                        .even
 0040           _main::
 0040                   .dbline -1
 0040                   .dbline 27
 0040           ;         {
 0040           ;             NOP();
 0040           ;         }
 0040           ;         Time--;
 0040           ;     }
 0040           ; }
 0040           ; 
 0040           ; void main (void)
 0040           ; {
 0040                   .dbline 28
 0040           ;     unsigned char SendData = 0xFF;
 0040 4FEF              ldi R20,255
 0042                   .dbline 30
 0042           ;     
 0042           ;     uart0_init();
 0042 DEDF              rcall _uart0_init
 0044                   .dbline 33
 0044           ;     
 0044           ;     do
 0044           ;     {
 0044           L14:
 0044                   .dbline 34
 0044           L15:
 0044                   .dbline 34
 0044           ;         while(!(UCSR0A&(1<<UDRE0)));
 0044 2090C000          lds R2,192
 0048 25FE              sbrs R2,5
 004A FCCF              rjmp L14
 004C                   .dbline 35
 004C           ;         UDR0 = SendData;
 004C 4093C600          sts 198,R20
 0050                   .dbline 36
 0050           ;         SendData--;
 0050 4A95              dec R20
 0052                   .dbline 38
 0052           ; //        Delay_ms(5);
 0052           ;     }
 0052           L12:
 0052                   .dbline 39
 0052           ;     while(SendData != 0xFF);
 0052 4F3F              cpi R20,255
 0054 B9F7              brne L15
 0056           L17:
 0056                   .dbline 41
 0056           L18:
 0056                   .dbline 41
 0056 FFCF              rjmp L17
 0058           X1:
 0058                   .dbline -2
 0058           L10:
 0058                   .dbline 0 ; func end
 0058 0895              ret
 005A                   .dbsym r SendData 20 c
 005A                   .dbend

⌨️ 快捷键说明

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