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

📄 usart.s

📁 ad7135的avr16的源程序
💻 S
字号:
	.module usart.c
	.area text(rom, con, rel)
	.dbfile usart.c
	.dbfunc e usart_init _usart_init fV
	.even
_usart_init::
	.dbline -1
	.dbline 5
;  /*上位机发送一个数据,下位返回相同的数据,在中断中接收数据,并发送数据*/
; #include <iom16v.h>
; #include <macros.h>
; void usart_init(void)
; {	 
	.dbline 6
; 	 UBRR=0X33;//fosc=8mhz,波特率9600
	ldi R24,51
	out 0x9,R24
	.dbline 7
; 	 UCSRA=0X20;
	ldi R24,32
	out 0xb,R24
	.dbline 8
; 	 UCSRC=0X86;
	ldi R24,134
	out 0x20,R24
	.dbline 9
; 	 UCSRB=0X98;
	ldi R24,152
	out 0xa,R24
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbend
	.area vector(rom, abs)
	.org 44
	jmp _usart_receive
	.area text(rom, con, rel)
	.dbfile usart.c
	.dbfunc e usart_receive _usart_receive fV
;              d -> R16
	.even
_usart_receive::
	st -y,R16
	st -y,R24
	in R16,0x3f
	st -y,R16
	.dbline -1
	.dbline 13
; }
; #pragma interrupt_handler usart_receive:12
; void usart_receive(void)
; {	 
	.dbline 15
; 	 unsigned char d;
; 	 d=UDR;
	in R16,0xc
	.dbline 16
; 	 UDR=0xff;
	ldi R24,255
	out 0xc,R24
L3:
	.dbline 18
L4:
	.dbline 17
; 	 while(!(UCSRA&(1<<TXC)))
	sbis 0xb,6
	rjmp L3
	.dbline -2
L2:
	ld R16,y+
	out 0x3f,R16
	ld R24,y+
	ld R16,y+
	.dbline 0 ; func end
	reti
	.dbsym r d 16 c
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 22
; 	 ;
; 	 
; }
; void main(void)
; {	 
	.dbline 23
; 	 CLI();
	cli
	.dbline 24
; 	 usart_init();
	xcall _usart_init
	.dbline 25
; 	 SEI();
	sei
L7:
	.dbline 26
L8:
	.dbline 26
	xjmp L7
X0:
	.dbline -2
L6:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

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