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

📄 uart.lst

📁 UART为RS232串行通信例子程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
__text_start:
__start:
    00CF E5CF      LDI	R28,0x5F
    00D0 E0D2      LDI	R29,2
    00D1 BFCD      OUT	P3D,R28
    00D2 BFDE      OUT	P3E,R29
    00D3 51C0      SUBI	R28,0x10
    00D4 40D0      SBCI	R29,0
    00D5 EA0A      LDI	R16,0xAA
    00D6 8308      STD	R16,0+Y
    00D7 2400      CLR	R0
    00D8 EDE8      LDI	R30,0xD8
    00D9 E0F0      LDI	R31,0
    00DA E010      LDI	R17,0
    00DB 3FE3      CPI	R30,0xF3
    00DC 07F1      CPC	R31,R17
    00DD F011      BEQ	0x00E0
    00DE 9201      ST	R0,Z+
    00DF CFFB      RJMP	0x00DB
    00E0 8300      STD	R16,0+Z
    00E1 E2E5      LDI	R30,0x25
    00E2 E0F1      LDI	R31,1
    00E3 E6A0      LDI	R26,0x60
    00E4 E0B0      LDI	R27,0
    00E5 E011      LDI	R17,1
    00E6 39ED      CPI	R30,0x9D
    00E7 07F1      CPC	R31,R17
    00E8 F021      BEQ	0x00ED
    00E9 95C8      LPM
    00EA 9631      ADIW	R30,1
    00EB 920D      ST	R0,X+
    00EC CFF9      RJMP	0x00E6
    00ED D001      RCALL	_main
_exit:
    00EE CFFF      RJMP	_exit
FILE: uart.c
(0000) /**********************************************
(0001)              http://www.sl.com.cn
(0002)       双龙电子公司----RS232通信演示程序(ICCAVR)
(0003) 	             作者:詹卫前
(0004) 		  1、使用ICCAVR的终端调试窗口,进行通信调试。
(0005) 		  2、在AVR的UART工作之前,应当先对ICCAVR的终
(0006) 		     端调试窗口进行设置,设置串口为com1或com2,
(0007) 			 通信波特率为19200。
(0008) 		  3、接线:PORTD.0(RXD)----R(D232)
(0009) 		           PORTD.1(TXD)----T(D232)
(0010) **********************************************/
(0011) #include <io8515.h>
(0012) #include <stdio.h>
(0013) void main(void)
(0014) 	{
(0015)      unsigned char temp;
(0016)      UBRR = 12;
_main:
  temp                 --> R20
    00EF E08C      LDI	R24,0xC
    00F0 B989      OUT	P09,R24
(0017)      UCR=0x18;    
    00F1 E188      LDI	R24,0x18
    00F2 B98A      OUT	P0A,R24
(0018) 	 puts("Hello World!\n");
    00F3 E804      LDI	R16,0x84
    00F4 E010      LDI	R17,0
    00F5 D2C3      RCALL	_puts
(0019) 	 putchar(0x0d);
    00F6 E00D      LDI	R16,0xD
    00F7 D2A3      RCALL	_putchar
(0020) 	 putchar(0x0a);	 
    00F8 E00A      LDI	R16,0xA
    00F9 D2A1      RCALL	_putchar
(0021)      printf("请使用PC机键盘输入数字、字母或汉字!");
    00FA E600      LDI	R16,0x60
    00FB E010      LDI	R17,0
    00FC D082      RCALL	_printf
(0022)      putchar(0x0a);
    00FD E00A      LDI	R16,0xA
    00FE D29C      RCALL	_putchar
(0023) 	 putchar(0x0d);
    00FF E00D      LDI	R16,0xD
    0100 D29A      RCALL	_putchar
    0101 C00D      RJMP	0x010F
(0024)      while (1)
(0025)            { 		   
(0026)           	temp=getchar();
    0102 D2B1      RCALL	_getchar
    0103 2E20      MOV	R2,R16
    0104 2E31      MOV	R3,R17
    0105 2D42      MOV	R20,R2
(0027) 			if (temp!=0)
    0106 2344      TST	R20
    0107 F039      BEQ	0x010F
(0028)                 {
(0029) 				 putchar(temp);
    0108 2F04      MOV	R16,R20
    0109 D291      RCALL	_putchar
(0030) 				 if(temp==0x0d)
    010A 304D      CPI	R20,0xD
    010B F411      BNE	0x010E
(0031) 				    putchar(0x0a);
    010C E00A      LDI	R16,0xA
    010D D28D      RCALL	_putchar
(0032) 				 temp=0;
    010E 2744      CLR	R20
(0033) 				}  	    			   		
(0034)        	   }
    010F CFF2      RJMP	0x0102
(0035)      }
FILE: <library>
    0110 9508      RET
_islower:
    0111 E285      LDI	R24,0x25
    0112 E090      LDI	R25,0
    0113 2E20      MOV	R2,R16
    0114 2E31      MOV	R3,R17
    0115 0E28      ADD	R2,R24
    0116 1E39      ADC	R3,R25
    0117 2DE2      MOV	R30,R2
    0118 2DF3      MOV	R31,R3
    0119 95C8      LPM
    011A 2D00      MOV	R16,R0
    011B 2711      CLR	R17
    011C 7002      ANDI	R16,2
    011D 7010      ANDI	R17,0
    011E 9508      RET
_toupper:
    011F D03A      RCALL	push_gset1
    0120 2F40      MOV	R20,R16
    0121 2F51      MOV	R21,R17
    0122 2F04      MOV	R16,R20
    0123 2F15      MOV	R17,R21
    0124 DFEC      RCALL	_islower
    0125 2E20      MOV	R2,R16
    0126 2E31      MOV	R3,R17
    0127 2022      TST	R2
    0128 F411      BNE	0x012B
    0129 2033      TST	R3
    012A F039      BEQ	0x0132
    012B 2F04      MOV	R16,R20
    012C 2F15      MOV	R17,R21
    012D 5601      SUBI	R16,0x61
    012E 4010      SBCI	R17,0
    012F 5B0F      SUBI	R16,0xBF
    0130 4F1F      SBCI	R17,0xFF
    0131 C002      RJMP	0x0134
    0132 2F04      MOV	R16,R20
    0133 2F15      MOV	R17,R21
    0134 D028      RCALL	pop_gset1
    0135 9508      RET
mod16u:
    0136 9468      BSET	6
    0137 C001      RJMP	0x0139
div16u:
    0138 94E8      BCLR	6
    0139 92EA      ST	R14,-Y
    013A 92FA      ST	R15,-Y
    013B 938A      ST	R24,-Y
    013C 24EE      CLR	R14
    013D 18FF      SUB	R15,R15
    013E E181      LDI	R24,0x11
    013F 1F00      ROL	R16
    0140 1F11      ROL	R17
    0141 958A      DEC	R24
    0142 F439      BNE	0x014A
    0143 F416      BRTC	0x0146
    0144 2D0E      MOV	R16,R14
    0145 2D1F      MOV	R17,R15
    0146 9189      LD	R24,Y+
    0147 90F9      LD	R15,Y+
    0148 90E9      LD	R14,Y+
    0149 9508      RET
    014A 1CEE      ROL	R14
    014B 1CFF      ROL	R15
    014C 1AE2      SUB	R14,R18
    014D 0AF3      SBC	R15,R19
    014E F420      BCC	0x0153
    014F 0EE2      ADD	R14,R18
    0150 1EF3      ADC	R15,R19
    0151 9488      BCLR	0
    0152 CFEC      RJMP	0x013F
    0153 9408      BSET	0
    0154 CFEA      RJMP	0x013F
push_arg4:
    0155 933A      ST	R19,-Y
    0156 932A      ST	R18,-Y
push_arg2:
    0157 931A      ST	R17,-Y
    0158 930A      ST	R16,-Y
    0159 9508      RET
push_gset1:
    015A 935A      ST	R21,-Y
    015B 934A      ST	R20,-Y
    015C 9508      RET
pop_gset1:
    015D E0E1      LDI	R30,1
pop:
    015E 9149      LD	R20,Y+
    015F 9159      LD	R21,Y+
    0160 FDE0      SBRC	R30,0
    0161 9508      RET
    0162 9169      LD	R22,Y+
    0163 9179      LD	R23,Y+
    0164 FDE1      SBRC	R30,1
    0165 9508      RET
    0166 90A9      LD	R10,Y+
    0167 90B9      LD	R11,Y+
    0168 FDE2      SBRC	R30,2
    0169 9508      RET
    016A 90C9      LD	R12,Y+
    016B 90D9      LD	R13,Y+
    016C FDE3      SBRC	R30,3
    016D 9508      RET
    016E 90E9      LD	R14,Y+
    016F 90F9      LD	R15,Y+
    0170 9508      RET
push_gset2:
    0171 937A      ST	R23,-Y
    0172 936A      ST	R22,-Y
    0173 CFE6      RJMP	push_gset1
push_gset3:
    0174 92BA      ST	R11,-Y
    0175 92AA      ST	R10,-Y
    0176 CFFA      RJMP	push_gset2
push_gset4:
    0177 92DA      ST	R13,-Y
    0178 92CA      ST	R12,-Y
    0179 CFFA      RJMP	push_gset3
push_gset5:
    017A 92FA      ST	R15,-Y
    017B 92EA      ST	R14,-Y
    017C CFFA      RJMP	push_gset4
pop_gset5:
    017D 27EE      CLR	R30
    017E CFDF      RJMP	pop
_printf:
    017F DFD5      RCALL	push_arg4
    0180 DFD9      RCALL	push_gset1
    0181 9722      SBIW	R28,2
    0182 E082      LDI	R24,2
    0183 E090      LDI	R25,0
    0184 8388      STD	R24,0+Y
    0185 8399      STD	R25,1+Y
    0186 2F8C      MOV	R24,R28
    0187 2F9D      MOV	R25,R29
    0188 9604      ADIW	R24,4
    0189 2F28      MOV	R18,R24
    018A 2F39      MOV	R19,R25
    018B 2700      CLR	R16
    018C 2711      CLR	R17
    018D D205      RCALL	__va_start
    018E 2E20      MOV	R2,R16
    018F 2E31      MOV	R3,R17
    0190 2D42      MOV	R20,R2
    0191 2D53      MOV	R21,R3
    0192 8348      STD	R20,0+Y
    0193 8359      STD	R21,1+Y
    0194 812C      LDD	R18,4+Y
    0195 813D      LDD	R19,5+Y
    0196 E10A      LDI	R16,0x1A
    0197 E010      LDI	R17,0
    0198 D00A      RCALL	__print
    0199 2E20      MOV	R2,R16
    019A 2E31      MOV	R3,R17
    019B 2D42      MOV	R20,R2
    019C 2D53      MOV	R21,R3
    019D 2F04      MOV	R16,R20
    019E 2F15      MOV	R17,R21
    019F 9622      ADIW	R28,2
    01A0 DFBC      RCALL	pop_gset1
    01A1 9624      ADIW	R28,4
    01A2 9508      RET
__print:
    01A3 DFB1      RCALL	push_arg4
    01A4 DFD5      RCALL	push_gset5
    01A5 9728      SBIW	R28,0x8
    01A6 2400      CLR	R0
    01A7 2411      CLR	R1
    01A8 820E      STD	R0,6+Y
    01A9 821F      STD	R1,7+Y
    01AA C180      RJMP	0x032B
    01AB 89EC      LDD	R30,20+Y
    01AC 89FD      LDD	R31,21+Y
    01AD 8180      LDD	R24,0+Z
    01AE 3285      CPI	R24,0x25
    01AF F059      BEQ	0x01BB
    01B0 8100      LDD	R16,0+Z
    01B1 2711      CLR	R17
    01B2 89EA      LDD	R30,18+Y
    01B3 89FB      LDD	R31,19+Y
    01B4 D219      RCALL	xicall
    01B5 818E      LDD	R24,6+Y
    01B6 819F      LDD	R25,7+Y
    01B7 9601      ADIW	R24,1
    01B8 838E      STD	R24,6+Y
    01B9 839F      STD	R25,7+Y
    01BA C16B      RJMP	0x0326
    01BB 24CC      CLR	R12
    01BC 24DD      CLR	R13
    01BD ED88      LDI	R24,0xD8
    01BE E090      LDI	R25,0
    01BF 2EE8      MOV	R14,R24
    01C0 2EF9      MOV	R15,R25
    01C1 E260      LDI	R22,0x20
    01C2 898C      LDD	R24,20+Y
    01C3 899D      LDD	R25,21+Y
    01C4 9601      ADIW	R24,1
    01C5 8B8C      STD	R24,20+Y
    01C6 8B9D      STD	R25,21+Y
    01C7 89EC      LDD	R30,20+Y
    01C8 89FD      LDD	R31,21+Y
    01C9 8020      LDD	R2,0+Z
    01CA 2433      CLR	R3
    01CB 822A      STD	R2,2+Y
    01CC 823B      STD	R3,3+Y
    01CD 818A      LDD	R24,2+Y
    01CE 819B      LDD	R25,3+Y
    01CF 3588      CPI	R24,0x58
    01D0 E0E0      LDI	R30,0
    01D1 079E      CPC	R25,R30
    01D2 F409      BNE	0x01D4
    01D3 C086      RJMP	0x025A
    01D4 E588      LDI	R24,0x58
    01D5 E090      LDI	R25,0
    01D6 1582      CP	R24,R2
    01D7 0593      CPC	R25,R3
    01D8 F0A4      BLT	0x01ED
    01D9 818A      LDD	R24,2+Y
    01DA 819B      LDD	R25,3+Y
    01DB 3485      CPI	R24,0x45
    01DC E0E0      LDI	R30,0
    01DD 079E      CPC	R25,R30
    01DE F409      BNE	0x01E0
    01DF C143      RJMP	0x0323
    01E0 3485      CPI	R24,0x45
    01E1 E0E0      LDI	R30,0
    01E2 079E      CPC	R25,R30
    01E3 F40C      BGE	0x01E5
    01E4 C041      RJMP	0x0226
    01E5 818A      LDD	R24,2+Y
    01E6 819B      LDD	R25,3+Y
    01E7 3583      CPI	R24,0x53
    01E8 E0E0      LDI	R30,0
    01E9 079E      CPC	R25,R30
    01EA F409      BNE	0x01EC
    01EB C0D0      RJMP	0x02BC
    01EC C039      RJMP	0x0226
    01ED 818A      LDD	R24,2+Y
    01EE 819B      LDD	R25,3+Y
    01EF 368F      CPI	R24,0x6F
    01F0 E0E0      LDI	R30,0
    01F1 079E      CPC	R25,R30
    01F2 F409      BNE	0x01F4
    01F3 C066      RJMP	0x025A
    01F4 E68F      LDI	R24,0x6F
    01F5 E090      LDI	R25,0
    01F6 802A      LDD	R2,2+Y
    01F7 803B      LDD	R3,3+Y
    01F8 1582      CP	R24,R2
    01F9 0593      CPC	R25,R3
    01FA F0CC      BLT	0x0214
    01FB 818A      LDD	R24,2+Y
    01FC 819B      LDD	R25,3+Y
    01FD 3683      CPI	R24,0x63
    01FE E0E0      LDI	R30,0
    01FF 079E      CPC	R25,R30
    0200 F12C      BLT	0x0226
    0201 E686      LDI	R24,0x66
    0202 E090      LDI	R25,0
    0203 802A      LDD	R2,2+Y
    0204 803B      LDD	R3,3+Y
    0205 1582      CP	R24,R2
    0206 0593      CPC	R25,R3
    0207 F0F4      BLT	0x0226
    0208 E586      LDI	R24,0x56
    0209 EF9F      LDI	R25,0xFF
    020A 810A      LDD	R16,2+Y
    020B 811B      LDD	R17,3+Y
    020C 0F00      LSL	R16
    020D 1F11      ROL	R17
    020E 0F08      ADD	R16,R24
    020F 1F19      ADC	R17,R25
    0210 D1D1      RCALL	lpm16
    0211 2FE0      MOV	R30,R16
    0212 2FF1      MOV	R31,R17
    0213 9409      IJMP
    0214 818A      LDD	R24,2+Y
    0215 819B      LDD	R25,3+Y
    0216 3783      CPI	R24,0x73
    0217 E0E0      LDI	R30,0
    0218 079E      CPC	R25,R30
    0219 F409      BNE	0x021B
    021A C0D6      RJMP	0x02F1
    021B 3785      CPI	R24,0x75
    021C E0E0      LDI	R30,0
    021D 079E      CPC	R25,R30
    021E F409      BNE	0x0220
    021F C03A      RJMP	0x025A
    0220 3788      CPI	R24,0x78
    0221 E0E0      LDI	R30,0
    0222 079E      CPC	R25,R30
    0223 F409      BNE	0x0225
    0224 C035      RJMP	0x025A
    0225 C000      RJMP	0x0226
    0226 89EC      LDD	R30,20+Y
    0227 89FD      LDD	R31,21+Y
    0228 8100      LDD	R16,0+Z
    0229 2711      CLR	R17
    022A 89EA      LDD	R30,18+Y
    022B 89FB      LDD	R31,19+Y
    022C D1A1      RCALL	xicall
    022D 818E      LDD	R24,6+Y
    022E 819F      LDD	R25,7+Y
    022F 9601      ADIW	R24,1
    0230 838E      STD	R24,6+Y
    0231 839F      STD	R25,7+Y
    0232 C0F3      RJMP	0x0326
    0233 898E      LDD	R24,22+Y
    0234 899F      LDD	R25,23+Y
    0235 9602      ADIW	R24,2
    0236 8B8E      STD	R24,22+Y
    0237 8B9F      STD	R25,23+Y
    0238 89EE      LDD	R30,22+Y
    0239 89FF      LDD	R31,23+Y
    023A 9732      SBIW	R30,2
    023B 80A0      LDD	R10,0+Z
    023C 80B1      LDD	R11,1+Z
    023D E080      LDI	R24,0
    023E E090      LDI	R25,0
    023F 16A8      CP	R10,R24
    0240 06B9      CPC	R11,R25
    0241 F474      BGE	0x0250
    0242 2D8C      MOV	R24,R12
    0243 2D9D      MOV	R25,R13
    0244 6088      ORI	R24,0x8
    0245 2EC8      MOV	R12,R24

⌨️ 快捷键说明

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