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

📄 串口校准发送测试.lst

📁 NEC单片机开发资料 NEC单片机开发资料 NEC单片机开发资料
💻 LST
字号:
__start:
__text_start:
    001A EFCF      LDI	R28,0xFF
    001B E0D2      LDI	R29,2
    001C BFCD      OUT	0x3D,R28
    001D BFDE      OUT	0x3E,R29
    001E 51C0      SUBI	R28,0x10
    001F 40D0      SBCI	R29,0
    0020 EA0A      LDI	R16,0xAA
    0021 8308      STD	Y+0,R16
    0022 2400      CLR	R0
    0023 E0E0      LDI	R30,0
    0024 E0F1      LDI	R31,1
    0025 E011      LDI	R17,1
    0026 30E0      CPI	R30,0
    0027 07F1      CPC	R31,R17
    0028 F011      BEQ	0x002B
    0029 9201      ST	R0,Z+
    002A CFFB      RJMP	0x0026
    002B 8300      STD	Z+0,R16
    002C E3E4      LDI	R30,0x34
    002D E0F0      LDI	R31,0
    002E E0A0      LDI	R26,0
    002F E0B1      LDI	R27,1
    0030 E010      LDI	R17,0
    0031 33E4      CPI	R30,0x34
    0032 07F1      CPC	R31,R17
    0033 F021      BEQ	0x0038
    0034 95C8      LPM
    0035 9631      ADIW	R30,1
    0036 920D      ST	R0,X+
    0037 CFF9      RJMP	0x0031
    0038 D021      RCALL	_main
_exit:
    0039 CFFF      RJMP	_exit
FILE: D:\串口校准发送测试\usart_test.c
(0001) #include "iom48v.h"
(0002) #include "macros.h"
(0003) 
(0004) void uart0_init(void)
(0005) {
(0006) 	UCSR0A = 0x02;					//使用波特率倍增,不使用多从机模式
_uart0_init:
    003A E082      LDI	R24,2
    003B 938000C0  STS	0xC0,R24
(0007) 	UCSR0C = 0x06;					//异步串口模式,禁止奇偶校验,1位停止位,8-bit桢模式
    003D E086      LDI	R24,6
    003E 938000C2  STS	0xC2,R24
(0008) 	UBRR0L = 0x0C;					//设置波特率,9600
    0040 E08C      LDI	R24,0xC
    0041 938000C4  STS	0xC4,R24
(0009) 	UBRR0H = 0x00;
    0043 2422      CLR	R2
    0044 922000C5  STS	0xC5,R2
(0010) 	UCSR0B = 0x98;					//允许接收完成中断使能,禁止发送完成中断,禁止发送寄存器空中断,允许接收,允许发送
    0046 E988      LDI	R24,0x98
    0047 938000C1  STS	0xC1,R24
    0049 9508      RET
_Delay_ms:
  n                    --> R20
  Time                 --> R16
    004A D024      RCALL	push_gset1
(0011) }
(0012) 
(0013) void Delay_ms(unsigned int Time)
(0014) {
(0015)     unsigned char n=0;
    004B 2744      CLR	R20
    004C C008      RJMP	0x0055
(0016)     while(Time>0)
(0017)     {
(0018)         for (n=1;n<187;n++)
    004D E041      LDI	R20,1
    004E C002      RJMP	0x0051
(0019)         {
(0020)             NOP();
    004F 0000      NOP
    0050 9543      INC	R20
    0051 3B4B      CPI	R20,0xBB
    0052 F3E0      BCS	0x004F
(0021)         }
(0022)         Time--;
    0053 5001      SUBI	R16,1
    0054 4010      SBCI	R17,0
    0055 3000      CPI	R16,0
    0056 0701      CPC	R16,R17
    0057 F7A9      BNE	0x004D
    0058 D019      RCALL	pop_gset1
    0059 9508      RET
(0023)     }
(0024) }
(0025) 
(0026) void main (void)
(0027) {
(0028)     unsigned char SendData = 0xFF;
_main:
  SendData             --> R20
    005A EF4F      LDI	R20,0xFF
(0029)     
(0030)     uart0_init();
    005B DFDE      RCALL	_uart0_init
(0031)     
(0032)     do
(0033)     {
(0034)         while(!(UCSR0A&(1<<UDRE0)));
    005C 902000C0  LDS	R2,0xC0
    005E FE25      SBRS	R2,5
    005F CFFC      RJMP	0x005C
(0035)         UDR0 = SendData;
    0060 934000C6  STS	0xC6,R20
(0036)         SendData--;
    0062 954A      DEC	R20
(0037) //        Delay_ms(5);
(0038)     }
(0039)     while(SendData != 0xFF);
    0063 3F4F      CPI	R20,0xFF
    0064 F7B9      BNE	0x005C
(0040)     
(0041)     while(1);
FILE: <library>
    0065 CFFF      RJMP	0x0065
    0066 9508      RET
push_gset5:
    0067 92FA      ST	R15,-Y
    0068 92EA      ST	R14,-Y
push_gset4:
    0069 92DA      ST	R13,-Y
    006A 92CA      ST	R12,-Y
push_gset3:
    006B 92BA      ST	R11,-Y
    006C 92AA      ST	R10,-Y
push_gset2:
    006D 937A      ST	R23,-Y
    006E 936A      ST	R22,-Y
push_gset1:
    006F 935A      ST	R21,-Y
    0070 934A      ST	R20,-Y
    0071 9508      RET
pop_gset1:
    0072 E0E1      LDI	R30,1
pop:
    0073 9149      LD	R20,Y+
    0074 9159      LD	R21,Y+
    0075 FDE0      SBRC	R30,0
    0076 9508      RET
    0077 9169      LD	R22,Y+
    0078 9179      LD	R23,Y+
    0079 FDE1      SBRC	R30,1
    007A 9508      RET
    007B 90A9      LD	R10,Y+
    007C 90B9      LD	R11,Y+
    007D FDE2      SBRC	R30,2
    007E 9508      RET
    007F 90C9      LD	R12,Y+
    0080 90D9      LD	R13,Y+
    0081 FDE3      SBRC	R30,3
    0082 9508      RET
    0083 90E9      LD	R14,Y+
    0084 90F9      LD	R15,Y+
    0085 9508      RET

⌨️ 快捷键说明

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