?? uart.lis
字號:
.module UART.C
.area vector(rom, abs)
.org 44
002C 0C941200 jmp _USART_Recive_Complete_handler
.org 48
0030 0C941300 jmp _USART_Data_Register_Empty_handler
.org 52
0034 0C941400 jmp _USART_Transmit_Complete_handler
.area text(rom, con, rel)
0000 .dbfile F:\自編程序\M16\ADC\UART.C
0000 .dbfunc e USART_Init _USART_Init fV
.even
0000 _USART_Init::
0000 .dbline -1
0000 .dbline 7
0000 ; #include<iom16v.h>
0000 ; #include<macros.h>
0000 ; #pragma interrupt_handler USART_Recive_Complete_handler:12
0000 ; #pragma interrupt_handler USART_Data_Register_Empty_handler:13
0000 ; #pragma interrupt_handler USART_Transmit_Complete_handler:14
0000 ; void USART_Init(void)
0000 ; {
0000 .dbline 15
0000 ; //{{WIZARD_MAP(UART)
0000 ; // crystal: 16M
0000 ; // Baud Rate: 9600
0000 ; // Character Size: 8-bit
0000 ; // Mode: Asynchronous
0000 ; // Parity: Disabled
0000 ; // Stop Bit: 1-bit
0000 ; UBRRL = 0x33;
0000 83E3 ldi R24,51
0002 89B9 out 0x9,R24
0004 .dbline 16
0004 ; UBRRH = 0x00;
0004 2224 clr R2
0006 20BC out 0x20,R2
0008 .dbline 17
0008 ; UCSRA = 0x00;
0008 2BB8 out 0xb,R2
000A .dbline 18
000A ; UCSRC = 0x86;
000A 86E8 ldi R24,134
000C 80BD out 0x20,R24
000E .dbline 19
000E ; UCSRB = 0x18;
000E 88E1 ldi R24,24
0010 8AB9 out 0xa,R24
0012 .dbline -2
0012 .dbline 23
0012 ; //UCSRB|=0X80;//開接收結(jié)束中斷
0012 ; //UCSRB|=0X40;//開發(fā)送結(jié)束中斷
0012 ; //UCSRB|=0X20;//開數(shù)據(jù)寄存器空中斷
0012 ; }
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbend
0014 .dbfunc e USART_Transmit _USART_Transmit fV
0014 ; data -> R16
.even
0014 _USART_Transmit::
0014 .dbline -1
0014 .dbline 25
0014 ; void USART_Transmit(unsigned char data)
0014 ; {
0014 L3:
0014 .dbline 27
0014 L4:
0014 .dbline 27
0014 ; /* 等待發(fā)送緩沖器為空 */
0014 ; while ( !( UCSRA & (1<<UDRE)) );
0014 5D9B sbis 0xb,5
0016 FECF rjmp L3
0018 .dbline 29
0018 ; /* 將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù) */
0018 ; UDR = data;
0018 0CB9 out 0xc,R16
001A .dbline -2
001A .dbline 30
001A ; }
001A L2:
001A .dbline 0 ; func end
001A 0895 ret
001C .dbsym r data 16 c
001C .dbend
001C .dbfunc e USART_Recive _USART_Recive fc
.even
001C _USART_Recive::
001C .dbline -1
001C .dbline 32
001C ; unsigned char USART_Recive(void)
001C ; {
001C L7:
001C .dbline 34
001C L8:
001C .dbline 34
001C ; /* 等待接收數(shù)據(jù)*/
001C ; while ( !(UCSRA & (1<<RXC)) );
001C 5F9B sbis 0xb,7
001E FECF rjmp L7
0020 .dbline 36
0020 ; /* 從緩沖器中獲取并返回數(shù)據(jù)*/
0020 ; return UDR;
0020 0CB1 in R16,0xc
0022 .dbline -2
0022 L6:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbend
0024 .dbfunc e USART_Recive_Complete_handler _USART_Recive_Complete_handler fV
.even
0024 _USART_Recive_Complete_handler::
0024 .dbline -1
0024 .dbline 39
0024 ; }
0024 ; void USART_Recive_Complete_handler(void)
0024 ; {
0024 .dbline -2
0024 .dbline 41
0024 ;
0024 ; }
0024 L10:
0024 .dbline 0 ; func end
0024 1895 reti
0026 .dbend
0026 .dbfunc e USART_Data_Register_Empty_handler _USART_Data_Register_Empty_handler fV
.even
0026 _USART_Data_Register_Empty_handler::
0026 .dbline -1
0026 .dbline 43
0026 ; void USART_Data_Register_Empty_handler(void)
0026 ; {
0026 .dbline -2
0026 .dbline 45
0026 ;
0026 ; }void USART_Transmit_Complete_handler(void)
0026 L11:
0026 .dbline 0 ; func end
0026 1895 reti
0028 .dbend
0028 .dbfunc e USART_Transmit_Complete_handler _USART_Transmit_Complete_handler fV
.even
0028 _USART_Transmit_Complete_handler::
0028 .dbline -1
0028 .dbline 46
0028 ; {
0028 .dbline -2
0028 .dbline 48
0028 ;
0028 ; }
0028 L12:
0028 .dbline 0 ; func end
0028 1895 reti
002A .dbend
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -