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

📄 main.lis

📁 ATMega16驱动Cy2198TR无线串口程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\Test\Movetion\Cy2198TR\main.c
 0000                   .dbfunc e main _main fI
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 42
 0000           ; /*
 0000           ; Cy2198TR-B Program
 0000           ; by Chenxi
 0000           ; */
 0000           ; #include <iom16v.h>
 0000           ; 
 0000           ; /*====================MACRO DEFINE============================================*/
 0000           ; /*define system as transmitter or receiver*/
 0000           ; /*
 0000           ; transmitter -- 1
 0000           ; receiver -- 0
 0000           ; */
 0000           ; #define WIRELESS_TRANSIMIT_SEL 1
 0000           ; 
 0000           ; /*----------ports---------*/
 0000           ; #define W_EN  3
 0000           ; #define W_BUSY        2
 0000           ; #define W_RT  1
 0000           ; #define W_FS  0
 0000           ; #define W_RXD 0  
 0000           ; #define W_TXD 1
 0000           ; 
 0000           ; #define WIRELESS_EN()                 PORTC &= (~(1 << W_EN))
 0000           ; #define WIRELESS_REC_EN()             PORTC |= (1 << W_RT)
 0000           ; #define WIRELESS_SEND_EN()            PORTC &= (~(1 << W_RT))
 0000           ; #define WIRELESS_IS_BUSY              PINC & (1 << W_BUSY)
 0000           ; #define WIRELESS_FREQUENCY_SEL() PORTC |= (1 << W_FS)
 0000           ; 
 0000           ; /*============================================================================*/
 0000           ; /*=================FUNCTIONS DECLARATION======================================*/
 0000           ; void Port_Init(void);
 0000           ; void USART_Init(void);
 0000           ; void Wireless_Init(void);
 0000           ; void USART_Transmit(unsigned char ucbyte);
 0000           ; void Wireless_TransmitByte(unsigned char ucbyte);
 0000           ; void Delay_nms(unsigned int n);
 0000           ; unsigned char USART_Receive(void);
 0000           ; /*============================================================================*/
 0000           ; 
 0000           ; /*================== MAIN ====================================================*/
 0000           ; int main(void)
 0000           ; {
 0000                   .dbline 43
 0000           ;       Wireless_Init();
 0000 2CD0              xcall _Wireless_Init
 0002 0AC0              xjmp L3
 0004           L2:
 0004                   .dbline 45
 0004                   .dbline 46
 0004 01E0              ldi R16,1
 0006 34D0              xcall _Wireless_TransmitByte
 0008                   .dbline 47
 0008 08EE              ldi R16,1000
 000A 13E0              ldi R17,3
 000C 3FD0              xcall _Delay_nms
 000E                   .dbline 48
 000E 02E0              ldi R16,2
 0010 2FD0              xcall _Wireless_TransmitByte
 0012                   .dbline 49
 0012 08EE              ldi R16,1000
 0014 13E0              ldi R17,3
 0016 3AD0              xcall _Delay_nms
 0018                   .dbline 50
 0018           L3:
 0018                   .dbline 44
 0018           ;       while(1)
 0018 F5CF              xjmp L2
 001A           X0:
 001A                   .dbline 51
 001A           ;       {       
 001A           ;       Wireless_TransmitByte(0x01);
 001A           ;       Delay_nms(1000);
 001A           ;       Wireless_TransmitByte(0x02);
 001A           ;       Delay_nms(1000);
 001A           ;       }
 001A           ;       return 0;
 001A 0027              clr R16
 001C 1127              clr R17
 001E                   .dbline -2
 001E           L1:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbend
 0020                   .dbfunc e Port_Init _Port_Init fV
                        .even
 0020           _Port_Init::
 0020                   .dbline -1
 0020                   .dbline 58
 0020           ; }
 0020           ; /*============================================================================*/
 0020           ; 
 0020           ; /*===============FUNCTIONS HERE===============================================*/
 0020           ; /*--------------Initialize Ports--------------------*/
 0020           ; void Port_Init(void)
 0020           ; {
 0020                   .dbline 59
 0020           ;       PORTB = 0x01;
 0020 81E0              ldi R24,1
 0022 88BB              out 0x18,R24
 0024                   .dbline 60
 0024           ;       DDRB = 0xFF;
 0024 8FEF              ldi R24,255
 0026 87BB              out 0x17,R24
 0028                   .dbline 61
 0028           ;       DDRC |= (1 << W_EN) | (1 << W_RT) | (1 << W_FS);
 0028 84B3              in R24,0x14
 002A 8B60              ori R24,11
 002C 84BB              out 0x14,R24
 002E                   .dbline 62
 002E           ;       DDRC |= ~(1 << W_BUSY);
 002E 84B3              in R24,0x14
 0030 8B6F              ori R24,251
 0032 84BB              out 0x14,R24
 0034                   .dbline 63
 0034           ;       PORTC = (1 << W_EN) | (1 << W_RT) | (1 << W_BUSY) | (1 << W_FS);
 0034 8FE0              ldi R24,15
 0036 85BB              out 0x15,R24
 0038                   .dbline 64
 0038           ;       DDRD |= (1 << W_TXD);
 0038 899A              sbi 0x11,1
 003A                   .dbline 65
 003A           ;       DDRD &= ~(1 << W_RXD);
 003A 8898              cbi 0x11,0
 003C                   .dbline 66
 003C           ;       PORTD |= (1 << W_TXD) | (1 << W_RXD);   
 003C 82B3              in R24,0x12
 003E 8360              ori R24,3
 0040 82BB              out 0x12,R24
 0042                   .dbline -2
 0042                   .dbline 67
 0042           ; }
 0042           L5:
 0042                   .dbline 0 ; func end
 0042 0895              ret
 0044                   .dbend
 0044                   .dbfunc e USART_Init _USART_Init fV
                        .even
 0044           _USART_Init::
 0044                   .dbline -1
 0044                   .dbline 72
 0044           ; 
 0044           ; /*--------------UART0 initialize----------------*/
 0044           ; /*baudrate: 19200*/
 0044           ; void USART_Init(void)
 0044           ; {
 0044                   .dbline 73
 0044           ;       UCSRB = 0x00; 
 0044 2224              clr R2
 0046 2AB8              out 0xa,R2
 0048                   .dbline 74
 0048           ;       UCSRA = 0x00;
 0048 2BB8              out 0xb,R2
 004A                   .dbline 75
 004A           ;       UCSRC = (1 <<URSEL) | 0x06;
 004A 86E8              ldi R24,134
 004C 80BD              out 0x20,R24
 004E                   .dbline 76
 004E           ;       UBRRL= 25;
 004E 89E1              ldi R24,25
 0050 89B9              out 0x9,R24
 0052                   .dbline 77
 0052           ;       UBRRH= 0x00;
 0052 20BC              out 0x20,R2
 0054                   .dbline 78
 0054           ;       UCSRB = 0x98;
 0054 88E9              ldi R24,152
 0056 8AB9              out 0xa,R24
 0058                   .dbline -2
 0058                   .dbline 79
 0058           ; }
 0058           L6:
 0058                   .dbline 0 ; func end
 0058 0895              ret
 005A                   .dbend
 005A                   .dbfunc e Wireless_Init _Wireless_Init fV
                        .even
 005A           _Wireless_Init::
 005A                   .dbline -1
 005A                   .dbline 83
 005A           ; 
 005A           ; /*----------------initialize system-----------------*/
 005A           ; void Wireless_Init(void)
 005A           ; {
 005A                   .dbline 84
 005A           ;       asm("cli");
 005A F894              cli
 005C                   .dbline 85
 005C           ;       Port_Init();
 005C E1DF              xcall _Port_Init
 005E                   .dbline 86
 005E           ;       USART_Init();
 005E F2DF              xcall _USART_Init
 0060                   .dbline 89
 0060           ;       
 0060           ;       #if WIRELESS_TRANSIMIT_SEL
 0060           ;               WIRELESS_SEND_EN();
 0060 A998              cbi 0x15,1
 0062                   .dbline 94
 0062           ;       #else
 0062           ;               WIRELESS_RECEIVE_EN();

⌨️ 快捷键说明

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