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

📄 uart.lst

📁 ATmega64关于usart通信的源码。
💻 LST
字号:
   1               		.file	"UART.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__tmp_reg__ = 0
   6               	__zero_reg__ = 1
   7               		.global __do_copy_data
   8               		.global __do_clear_bss
  10               		.text
  11               	.Ltext0:
  83               	.global	USART_putchar
  85               	USART_putchar:
   1:UART\UART.c   **** /*****************************************************/
   2:UART\UART.c   **** /*            File name : UART.c                                                    */
   3:UART\UART.c   **** /* Description : code for UART0 of m64/128                             */
   4:UART\UART.c   **** /* Platform     : AVRStudio4.13 + WinAVR20070525  for AVR     */
   5:UART\UART.c   **** /* Author       : Michael Zhang - 章其波                            */
   6:UART\UART.c   **** /* Email         : sudazqb@163.com                                          */
   7:UART\UART.c   **** /* MSN          : zhangqibo_1985@hotmail.com                          */
   8:UART\UART.c   **** /* Date          : 2006-12-26                                                    */
   9:UART\UART.c   **** /* NOT FOR COMMERCIAL USE,     ALL RIGHT RESERVED!         */
  10:UART\UART.c   **** /*****************************************************/
  11:UART\UART.c   **** /* Change Log:                                                                      */
  12:UART\UART.c   **** /*                   20061226: modify for AVRGCC, fdevopen();        */
  13:UART\UART.c   **** /*                   20061226: original version from ATmel's datasheet*/
  14:UART\UART.c   **** /*****************************************************/
  15:UART\UART.c   **** 
  16:UART\UART.c   **** #include"UART.h"
  17:UART\UART.c   **** 
  18:UART\UART.c   **** 
  19:UART\UART.c   **** int USART_putchar(char CH)
  20:UART\UART.c   **** {
  86               	d (size=0) */
  87               	.L3:
  89               	.LM1:
  90               		sbis 43-0x20,5
  91               		rjmp .L3
  21:UART\UART.c   **** 	/* Wait for empty transmit buffer */
  22:UART\UART.c   **** 	while ( !( UCSR0A & (1<<UDRE0)) );
  92               	(size=0) */
  93               	.L3:
  95 0002 00C0      	.LM1:
  23:UART\UART.c   **** 	/* Put data into buffer, sends the data */
  24:UART\UART.c   **** 	UDR0=CH;
  96               	e size=0 */
  97               	/* prologue end (size=0) */
  98 0004 8CB9      	.L3:
  25:UART\UART.c   **** 	return 0;
  26:UART\UART.c   **** }
  99               	FBB1
 100               	.LM0:
 101 0006 80E0      	.LFBB1:
 102 0008 90E0      	/* prologue: frame size=0 */
 103               	/* prologue end (size=0) */
 104 000a 0895      	.L3:
 106               	.LM1:
 107               		sbis 43-0x20,5
 108               		rjmp .L3
 110               	.LM2:
 111               		out 44-0x20,r24
  27:UART\UART.c   **** 
  28:UART\UART.c   **** 
  29:UART\UART.c   **** int USART_getchar(void)
  30:UART\UART.c   **** {
 113               	n	68,0,24,.LM2-.LFBB1
 114               	.LM2:
 115               		out 44-0x20,r24
 117               	.LM3:
 118               		ldi r24,lo8(0)
  31:UART\UART.c   ****  	/* Wait for data to be received */
  32:UART\UART.c   **** 	while ( !(UCSR0A & (1<<RXC0)) );
 119               	M2:
 120               		out 44-0x20,r24
 122 000e 00C0      	.LM3:
  33:UART\UART.c   **** 	/* Get and return received data from buffer */
  34:UART\UART.c   **** 	return UDR0;
 123               	24,.LM2-.LFBB1
 124               	.LM2:
 125 0010 8CB1      		out 44-0x20,r24
  35:UART\UART.c   **** }
 126               	is 43-0x20,5
 127               		rjmp .L3
 129               	.LM2:
 130 0014 0895      		out 44-0x20,r24
 132               	.LM3:
 133               		ldi r24,lo8(0)
 134               		ldi r25,hi8(0)
 135               	/* epilogue: frame size=0 */
 136               		ret
 137               	/* epilogue end (size=1) */
 138               	/* function USART_putchar size 6 (5) */
  36:UART\UART.c   **** 
  37:UART\UART.c   **** 
  38:UART\UART.c   **** void COM_Initial(unsigned int UBRR_val)
  39:UART\UART.c   **** {
 140               	SART_putchar size 6 (5) */
 142               	.Lscope1:
 144               	.global	USART_getchar
  40:UART\UART.c   **** 	/* Set baud rate */
  41:UART\UART.c   **** 	UBRR0H = (unsigned char)(UBRR_val>>8);
 145               	RT_getchar:F(0,1)",36,0,0,USART_getchar
 146               	.global	USART_getchar
 148 0018 3327      	USART_getchar:
  42:UART\UART.c   **** 	UBRR0L = (unsigned char)UBRR_val;
 150               	char, @function
 151               	USART_getchar:
  43:UART\UART.c   **** 	/* Enable receiver and transmitter */
  44:UART\UART.c   **** 	UCSR0B = (1<<RXEN0)|(1<<TXEN0);
 153               	char, @function
 154               	USART_getchar:
 156 0022 8AB9      	.LM4:
  45:UART\UART.c   **** 	/* Set frame format: 8data, 2stop bit */
  46:UART\UART.c   **** 	//UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
  47:UART\UART.c   **** 	fdevopen(USART_putchar,USART_getchar);//
 157               	function
 158               	USART_getchar:
 160 0026 70E0      	.LM4:
 161 0028 80E0      	.LFBB2:
 162 002a 90E0      	/* prologue: frame size=0 */
 163 002c 0E94 0000 	/* prologue end (size=0) */
 164               	.L10:
 166               	.LM5:
 167               		sbis 43-0x20,7
 168               		rjmp .L10
 170               	.LM6:
 171               		in r24,44-0x20
DEFINED SYMBOLS
                            *ABS*:00000000 UART.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:2      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:3      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:4      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:5      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:6      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:85     .text:00000000 USART_putchar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:112    .text:0000000c USART_getchar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cckElnJP.s:139    .text:00000016 COM_Initial

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
fdevopen

⌨️ 快捷键说明

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