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

📄 main.lis

📁 ATMega16驱动Cy2198TR无线串口程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0062           ;       #endif
 0062           ;       
 0062           ;       WIRELESS_EN();
 0062 AB98              cbi 0x15,3
 0064                   .dbline 95
 0064           ;       asm("sei");
 0064 7894              sei
 0066                   .dbline -2
 0066                   .dbline 96
 0066           ; }
 0066           L7:
 0066                   .dbline 0 ; func end
 0066 0895              ret
 0068                   .dbend
 0068                   .dbfunc e USART_Transmit _USART_Transmit fV
 0068           ;         ucbyte -> R16
                        .even
 0068           _USART_Transmit::
 0068                   .dbline -1
 0068                   .dbline 100
 0068           ; 
 0068           ; /*--------------UART0 transmit a byte----------------*/
 0068           ; void USART_Transmit( unsigned char ucbyte )
 0068           ; {
 0068           L9:
 0068                   .dbline 101
 0068           L10:
 0068                   .dbline 101
 0068           ;       while ( !( UCSRA & (1<<UDRE)));
 0068 5D9B              sbis 0xb,5
 006A FECF              rjmp L9
 006C                   .dbline 102
 006C           ;       UDR = ucbyte;
 006C 0CB9              out 0xc,R16
 006E                   .dbline -2
 006E                   .dbline 103
 006E           ; }
 006E           L8:
 006E                   .dbline 0 ; func end
 006E 0895              ret
 0070                   .dbsym r ucbyte 16 c
 0070                   .dbend
 0070                   .dbfunc e Wireless_TransmitByte _Wireless_TransmitByte fV
 0070           ;         ucbyte -> R20
                        .even
 0070           _Wireless_TransmitByte::
 0070 0E940000          xcall push_gset1
 0074 402F              mov R20,R16
 0076                   .dbline -1
 0076                   .dbline 107
 0076           ; 
 0076           ; /*------------wireless transmit a byte-------------*/
 0076           ; void Wireless_TransmitByte(unsigned char ucbyte)
 0076           ; {
 0076           L13:
 0076                   .dbline 108
 0076           L14:
 0076                   .dbline 108
 0076           ;       while(!(WIRELESS_IS_BUSY));
 0076 9A9B              sbis 0x13,2
 0078 FECF              rjmp L13
 007A                   .dbline 109
 007A           ;       USART_Transmit(ucbyte);
 007A 042F              mov R16,R20
 007C F5DF              xcall _USART_Transmit
 007E                   .dbline 110
 007E           ;       USART_Transmit(0x0D);
 007E 0DE0              ldi R16,13
 0080 F3DF              xcall _USART_Transmit
 0082                   .dbline 111
 0082           ;       USART_Transmit(0x0A);
 0082 0AE0              ldi R16,10
 0084 F1DF              xcall _USART_Transmit
 0086                   .dbline -2
 0086                   .dbline 112
 0086           ; }
 0086           L12:
 0086 0E940000          xcall pop_gset1
 008A                   .dbline 0 ; func end
 008A 0895              ret
 008C                   .dbsym r ucbyte 20 c
 008C                   .dbend
 008C                   .dbfunc e Delay_nms _Delay_nms fV
 008C           ;              i -> R20,R21
 008C           ;              j -> R22,R23
 008C           ;              n -> R16,R17
                        .even
 008C           _Delay_nms::
 008C 0E940000          xcall push_gset2
 0090                   .dbline -1
 0090                   .dbline 116
 0090           ; 
 0090           ; /*--------------delaly function---------------------*/
 0090           ; void Delay_nms(unsigned int n)       //N ms
 0090           ; {
 0090                   .dbline 117
 0090           ;    unsigned int i = 0;
 0090 4427              clr R20
 0092 5527              clr R21
 0094                   .dbline 118
 0094           ;    unsigned int j = 0;
 0094 6627              clr R22
 0096 7727              clr R23
 0098                   .dbline 119
 0098           ;    for (i = 0 ; i < n ; i ++)
 0098 0BC0              xjmp L20
 009A           L17:
 009A                   .dbline 120
 009A           ;    {
 009A                   .dbline 121
 009A 6627              clr R22
 009C 7727              clr R23
 009E 02C0              xjmp L24
 00A0           L21:
 00A0                   .dbline 121
 00A0           L22:
 00A0                   .dbline 121
 00A0 6F5F              subi R22,255  ; offset = 1
 00A2 7F4F              sbci R23,255
 00A4           L24:
 00A4                   .dbline 121
 00A4 6437              cpi R22,116
 00A6 E4E0              ldi R30,4
 00A8 7E07              cpc R23,R30
 00AA D0F3              brlo L21
 00AC                   .dbline 122
 00AC           L18:
 00AC                   .dbline 119
 00AC 4F5F              subi R20,255  ; offset = 1
 00AE 5F4F              sbci R21,255
 00B0           L20:
 00B0                   .dbline 119
 00B0 4017              cp R20,R16
 00B2 5107              cpc R21,R17
 00B4 90F3              brlo L17
 00B6                   .dbline -2
 00B6                   .dbline 123
 00B6           ;          for (j = 0 ; j < 1140 ;j ++);
 00B6           ;    }
 00B6           ; }
 00B6           L16:
 00B6 0E940000          xcall pop_gset2
 00BA                   .dbline 0 ; func end
 00BA 0895              ret
 00BC                   .dbsym r i 20 i
 00BC                   .dbsym r j 22 i
 00BC                   .dbsym r n 16 i
 00BC                   .dbend
 00BC                   .dbfunc e USART_Receive _USART_Receive fc
                        .even
 00BC           _USART_Receive::
 00BC                   .dbline -1
 00BC                   .dbline 127
 00BC           ; 
 00BC           ; /*--------------USART receive a byte---------------------*/
 00BC           ; unsigned char USART_Receive(void)
 00BC           ; {
 00BC           L26:
 00BC                   .dbline 128
 00BC           L27:
 00BC                   .dbline 128
 00BC           ;       while(!(UCSRA&(1<<RXC)));
 00BC 5F9B              sbis 0xb,7
 00BE FECF              rjmp L26
 00C0                   .dbline 129
 00C0           ;       return UDR;
 00C0 0CB1              in R16,0xc
 00C2                   .dbline -2
 00C2           L25:
 00C2                   .dbline 0 ; func end
 00C2 0895              ret
 00C4                   .dbend
                        .area vector(rom, abs)
                        .org 44
 002C 0C946200          jmp _uart0_rx_isr
                        .area text(rom, con, rel)
 00C4                   .dbfile D:\Test\Movetion\Cy2198TR\main.c
 00C4                   .dbfunc e uart0_rx_isr _uart0_rx_isr fV
                        .even
 00C4           _uart0_rx_isr::
 00C4 2A92              st -y,R2
 00C6 2FB6              in R2,0x3f
 00C8 2A92              st -y,R2
 00CA                   .dbline -1
 00CA                   .dbline 135
 00CA           ; }
 00CA           ; 
 00CA           ; /*--------------wireless receive -------------------------*/
 00CA           ; #pragma interrupt_handler uart0_rx_isr:12
 00CA           ; void uart0_rx_isr(void)
 00CA           ; {
 00CA                   .dbline 137
 00CA           ;       //add receiver code here......
 00CA           ;       PORTB = UDR;
 00CA 2CB0              in R2,0xc
 00CC 28BA              out 0x18,R2
 00CE                   .dbline -2
 00CE                   .dbline 138
 00CE           ; }
 00CE           L29:
 00CE 2990              ld R2,y+
 00D0 2FBE              out 0x3f,R2
 00D2 2990              ld R2,y+
 00D4                   .dbline 0 ; func end
 00D4 1895              reti
 00D6                   .dbend

⌨️ 快捷键说明

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