📄 uart.lis
字号:
.module UART.c
.area data(ram, con, rel)
0000 _bSCI_Event::
0000 .blkb 1
.area idata
0000 00 .byte 0
.area data(ram, con, rel)
0001 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\RS232通信协议应用设计\UART.c
0001 .dbsym e bSCI_Event _bSCI_Event c
0001 _bBuzzer_Count::
0001 .blkb 1
.area idata
0001 00 .byte 0
.area data(ram, con, rel)
0002 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\RS232通信协议应用设计\UART.c
0002 .dbsym e bBuzzer_Count _bBuzzer_Count c
.area text(rom, con, rel)
0000 .dbfile E:\Steaven2000\AVR\AVR_Book\PROGRA~1\SOURCE~1\Code\RS232通信协议应用设计\UART.c
0000 .dbfunc e sSet_SCI_Event _sSet_SCI_Event fV
0000 ; event -> R16
.even
0000 _sSet_SCI_Event::
0000 .dbline -1
0000 .dbline 23
0000 ; //********************************************************************
0000 ; // File Name : UART.c
0000 ; // Author : Steaven
0000 ; // Created : 2008-10-05
0000 ; // Modified :
0000 ; // Revision : V0.0
0000 ; //********************************************************************
0000 ;
0000 ; #include "includes.h"
0000 ;
0000 ; struct SCI_Buffer stSciBuffer;
0000 ;
0000 ; INT8U bSCI_Event = 0; //SCI Event
0000 ; INT8U bBuzzer_Count = 0; //Buzzer ON Time
0000 ;
0000 ; //********************************************************************
0000 ; // Function : sSet_SCI_Event
0000 ; // Input : event - SCI Event
0000 ; // Output : none
0000 ; // Description : Interface Function
0000 ; //********************************************************************
0000 ; void sSet_SCI_Event(INT8U event)
0000 ; {
0000 .dbline 24
0000 ; bSCI_Event = event;
0000 00930000 sts _bSCI_Event,R16
0004 .dbline -2
0004 .dbline 25
0004 ; }
0004 L1:
0004 .dbline 0 ; func end
0004 0895 ret
0006 .dbsym r event 16 c
0006 .dbend
0006 .dbfunc e sbGet_SCI_Event _sbGet_SCI_Event fc
0006 ; event -> R16
.even
0006 _sbGet_SCI_Event::
0006 .dbline -1
0006 .dbline 34
0006 ;
0006 ; //********************************************************************
0006 ; // Function : sbGet_SCI_Event
0006 ; // Input : none
0006 ; // Output : SCI Event
0006 ; // Description : Interface Function
0006 ; //********************************************************************
0006 ; INT8U sbGet_SCI_Event(void)
0006 ; {
0006 .dbline 36
0006 ; INT8U event;
0006 ; event = bSCI_Event;
0006 00910000 lds R16,_bSCI_Event
000A .dbline 37
000A ; bSCI_Event = 0;
000A 2224 clr R2
000C 20920000 sts _bSCI_Event,R2
0010 .dbline 38
0010 ; return(event);
0010 .dbline -2
0010 L2:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbsym r event 16 c
0012 .dbend
0012 .dbfunc e sSet_Buzzer_Count _sSet_Buzzer_Count fV
0012 ; bCount -> R16
.even
0012 _sSet_Buzzer_Count::
0012 .dbline -1
0012 .dbline 48
0012 ; }
0012 ;
0012 ; //********************************************************************
0012 ; // Function : sSet_Buzzer_Count
0012 ; // Input : bCount - Buzzer ON Time
0012 ; // Output : none
0012 ; // Description : Interface Function
0012 ; //********************************************************************
0012 ; void sSet_Buzzer_Count(INT8U bCount)
0012 ; {
0012 .dbline 49
0012 ; bBuzzer_Count = bCount;
0012 00930100 sts _bBuzzer_Count,R16
0016 .dbline -2
0016 .dbline 50
0016 ; }
0016 L3:
0016 .dbline 0 ; func end
0016 0895 ret
0018 .dbsym r bCount 16 c
0018 .dbend
0018 .dbfunc e sbGet_Buzzer_Count _sbGet_Buzzer_Count fc
.even
0018 _sbGet_Buzzer_Count::
0018 .dbline -1
0018 .dbline 59
0018 ;
0018 ; //********************************************************************
0018 ; // Function : sbGet_Buzzer_Count
0018 ; // Input : none
0018 ; // Output : Buzzer ON Time
0018 ; // Description : Interface Function
0018 ; //********************************************************************
0018 ; INT8U sbGet_Buzzer_Count(void)
0018 ; {
0018 .dbline 60
0018 ; return(bBuzzer_Count);
0018 00910100 lds R16,_bBuzzer_Count
001C .dbline -2
001C L4:
001C .dbline 0 ; func end
001C 0895 ret
001E .dbend
001E .dbfunc e Init_UART _Init_UART fV
.even
001E _Init_UART::
001E .dbline -1
001E .dbline 70
001E ; }
001E ;
001E ; //********************************************************************
001E ; // Function : Init_UART
001E ; // Input : none
001E ; // Output : none
001E ; // Description : ATmega16 UART Initialization,9600/N/8/1
001E ; //********************************************************************
001E ; void Init_UART(void)
001E ; {
001E .dbline 71
001E ; UCSRA = 0x00;
001E 2224 clr R2
0020 2BB8 out 0xb,R2
0022 .dbline 72
0022 ; UCSRB = 0xD8;
0022 88ED ldi R24,216
0024 8AB9 out 0xa,R24
0026 .dbline 73
0026 ; UCSRC = 0x86;
0026 86E8 ldi R24,134
0028 80BD out 0x20,R24
002A .dbline 74
002A ; UBRRL = 0x33;
002A 83E3 ldi R24,51
002C 89B9 out 0x9,R24
002E .dbline 75
002E ; SCI_Task_Init();
002E .dbline -2
002E .dbline 76
002E ; }
002E L5:
002E .dbline 0 ; func end
002E 00C0 xjmp _SCI_Task_Init
0030 .dbend
0030 .dbfunc e SCI_Task_Init _SCI_Task_Init fV
.even
0030 _SCI_Task_Init::
0030 .dbline -1
0030 .dbline 85
0030 ;
0030 ; //********************************************************************
0030 ; // Function : SCI_Task_Init
0030 ; // Input : none
0030 ; // Output : none
0030 ; // Description : Enable UART RX Interrupt and Initialize Buffer
0030 ; //********************************************************************
0030 ; void SCI_Task_Init(void)
0030 ; {
0030 .dbline 86
0030 ; Enable_UART_RX_INT();
0030 03D0 xcall _Enable_UART_RX_INT
0032 .dbline 87
0032 ; SciBuffer_Init(&stSciBuffer);
0032 00E0 ldi R16,<_stSciBuffer
0034 10E0 ldi R17,>_stSciBuffer
0036 .dbline -2
0036 .dbline 88
0036 ; }
0036 L6:
0036 .dbline 0 ; func end
0036 42C0 xjmp _SciBuffer_Init
0038 .dbend
0038 .dbfunc e Enable_UART_RX_INT _Enable_UART_RX_INT fV
.even
0038 _Enable_UART_RX_INT::
0038 .dbline -1
0038 .dbline 97
0038 ;
0038 ; //********************************************************************
0038 ; // Function : Enable_UART_RX_INT
0038 ; // Input : none
0038 ; // Output : none
0038 ; // Description : Enable UART RX Interrupt
0038 ; //********************************************************************
0038 ; void Enable_UART_RX_INT(void)
0038 ; {
0038 .dbline 98
0038 ; UCSRB |= 0x80;
0038 579A sbi 0xa,7
003A .dbline -2
003A .dbline 99
003A ; }
003A L7:
003A .dbline 0 ; func end
003A 0895 ret
003C .dbend
003C .dbfunc e Enable_UART_TX_INT _Enable_UART_TX_INT fV
.even
003C _Enable_UART_TX_INT::
003C .dbline -1
003C .dbline 108
003C ;
003C ; //********************************************************************
003C ; // Function : Enable_UART_TX_INT
003C ; // Input : none
003C ; // Output : none
003C ; // Description : Enable UART TX Interrupt
003C ; //********************************************************************
003C ; void Enable_UART_TX_INT(void)
003C ; {
003C .dbline 109
003C ; UCSRB |= 0x40;
003C 569A sbi 0xa,6
003E .dbline -2
003E .dbline 110
003E ; }
003E L8:
003E .dbline 0 ; func end
003E 0895 ret
0040 .dbend
0040 .dbfunc e Disable_UART_RX_INT _Disable_UART_RX_INT fV
.even
0040 _Disable_UART_RX_INT::
0040 .dbline -1
0040 .dbline 119
0040 ;
0040 ; //********************************************************************
0040 ; // Function : Disable_UART_RX_INT
0040 ; // Input : none
0040 ; // Output : none
0040 ; // Description : Disable UART RX Interrupt
0040 ; //********************************************************************
0040 ; void Disable_UART_RX_INT(void)
0040 ; {
0040 .dbline 120
0040 ; UCSRB &= ~0x80;
0040 5798 cbi 0xa,7
0042 .dbline -2
0042 .dbline 121
0042 ; }
0042 L9:
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbend
0044 .dbfunc e Disable_UART_TX_INT _Disable_UART_TX_INT fV
.even
0044 _Disable_UART_TX_INT::
0044 .dbline -1
0044 .dbline 130
0044 ;
0044 ; //********************************************************************
0044 ; // Function : Disable_UART_TX_INT
0044 ; // Input : none
0044 ; // Output : none
0044 ; // Description : Disable UART TX Interrupt
0044 ; //********************************************************************
0044 ; void Disable_UART_TX_INT(void)
0044 ; {
0044 .dbline 131
0044 ; UCSRB &= ~0x40;
0044 5698 cbi 0xa,6
0046 .dbline -2
0046 .dbline 132
0046 ; }
0046 L10:
0046 .dbline 0 ; func end
0046 0895 ret
0048 .dbend
0048 .dbfunc e UART_TX_DATA _UART_TX_DATA fV
0048 ; bData -> R16
.even
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -