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

📄 avrgsm_com.s90

📁 SMS傳送Sourcode,compiler with C,AT command
💻 S90
字号:
//////////////////////////////////////////////////////////////////////////////
//                                                                           /
//                                                     22/Sep/2005  00:56:53 /
// IAR Atmel AVR C/C++ Compiler V4.10A/W32, Evaluation Version               /
// Copyright 1996-2005 IAR Systems. All rights reserved.                     /
//                                                                           /
//    Source file  =  C:\Documents and Settings\vemund\Desktop\AVRGSM\Files\ /
//                    AVRGSM_com.c                                           /
//    Command line =  --cpu=m128 -ms -o "C:\Documents and                    /
//                    Settings\vemund\Desktop\AVRGSM\Debug\Obj\" -lCN        /
//                    "C:\Documents and Settings\vemund\Desktop\AVRGSM\Debug /
//                    \List\" -lA "C:\Documents and                          /
//                    Settings\vemund\Desktop\AVRGSM\Debug\List\" -y         /
//                    --initializers_in_flash -z3 --no_cse --no_inline       /
//                    --no_code_motion --no_cross_call --no_clustering       /
//                    --no_tbaa --debug -DENABLE_BIT_DEFINITIONS -e -I       /
//                    D:\Programs\iar\avr\INC\ -I                            /
//                    D:\Programs\iar\avr\INC\CLIB\ --eeprom_size 4096       /
//                    "C:\Documents and Settings\vemund\Desktop\AVRGSM\Files /
//                    \AVRGSM_com.c"                                         /
//    List file    =  C:\Documents and Settings\vemund\Desktop\AVRGSM\Debug\ /
//                    List\AVRGSM_com.s90                                    /
//                                                                           /
//                                                                           /
//////////////////////////////////////////////////////////////////////////////

        NAME AVRGSM_com

        RTMODEL "__64bit_doubles", "disabled"
        RTMODEL "__cpu", "3"
        RTMODEL "__cpu_name", "ATmega128"
        RTMODEL "__enhanced_core", "enabled"
        RTMODEL "__has_elpm", "true"
        RTMODEL "__memory_model", "2"
        RTMODEL "__no_rampd", "enabled"
        RTMODEL "__rt_version", "3"

        RSEG CSTACK:DATA:NOROOT(0)
        RSEG RSTACK:DATA:NOROOT(0)

        PUBWEAK `??INTVEC 52`
        PUBLIC COM_Init
        FUNCTION COM_Init,0203H
        LOCFRAME RSTACK, 2, STACK
        PUBLIC USART0_RX_interrupt
        FUNCTION USART0_RX_interrupt,0233H
        LOCFRAME CSTACK, 3, STACK
        LOCFRAME RSTACK, 2, STACK
        PUBWEAK _A_UBRR0H
        PUBWEAK _A_UBRR0L
        PUBWEAK _A_UCSR0B
        PUBWEAK _A_UCSR0C
        PUBWEAK __?EEARH
        PUBWEAK __?EEARL
        PUBWEAK __?EECR
        PUBWEAK __?EEDR
        
        CFI Names cfiNames0
        CFI StackFrame CFA_Y Y DATA
        CFI StackFrame CFA_SP SP DATA
        CFI VirtualResource ?RetPad:1, ?RetHigh:8, ?RetLow:8, ?Ret:17
        CFI Resource R0:8, R1:8, R2:8, R3:8, R4:8, R5:8, R6:8, R7:8, R8:8, R9:8
        CFI Resource R10:8, R11:8, R12:8, R13:8, R14:8, R15:8, R16:8, R17:8
        CFI Resource R18:8, R19:8, R20:8, R21:8, R22:8, R23:8, R24:8, R25:8
        CFI Resource R26:8, R27:8, R28:8, R29:8, R30:8, R31:8
        CFI Resource ?RetHighByteMask:8, SP:16, SPH:8, SPL:8, Y:16
        CFI ResourceParts ?Ret ?RetHigh, ?RetLow, ?RetPad
        CFI ResourceParts SP SPH, SPL
        CFI ResourceParts Y R29, R28
        CFI EndNames cfiNames0
        
        CFI Common cfiCommon0 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign 1
        CFI ReturnAddress ?Ret CODE
        CFI CFA_Y Y+0
        CFI CFA_SP SP+2
        CFI ?RetPad 0
        CFI ?RetHigh and(load(1, DATA, sub(CFA_SP, 1)), ?RetHighByteMask)
        CFI ?RetLow Frame(CFA_SP, 0)
        CFI ?Ret Concat
        CFI R0 Undefined
        CFI R1 Undefined
        CFI R2 Undefined
        CFI R3 Undefined
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 SameValue
        CFI R13 SameValue
        CFI R14 SameValue
        CFI R15 SameValue
        CFI R16 Undefined
        CFI R17 Undefined
        CFI R18 Undefined
        CFI R19 Undefined
        CFI R20 Undefined
        CFI R21 Undefined
        CFI R22 Undefined
        CFI R23 Undefined
        CFI R24 SameValue
        CFI R25 SameValue
        CFI R26 SameValue
        CFI R27 SameValue
        CFI R28 Undefined
        CFI R29 Undefined
        CFI R30 Undefined
        CFI R31 Undefined
        CFI ?RetHighByteMask SameValue
        CFI SPH Undefined
        CFI SPL Undefined
        CFI EndCommon cfiCommon0
        
        
        CFI Common cfiCommon1 Using cfiNames0
        CFI CodeAlign 1
        CFI DataAlign 1
        CFI ReturnAddress ?Ret CODE
        CFI CFA_Y Y+0
        CFI CFA_SP SP+2
        CFI ?RetPad 0
        CFI ?RetHigh and(load(1, DATA, sub(CFA_SP, 1)), ?RetHighByteMask)
        CFI ?RetLow Frame(CFA_SP, 0)
        CFI ?Ret Concat
        CFI R0 SameValue
        CFI R1 SameValue
        CFI R2 SameValue
        CFI R3 SameValue
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI R8 SameValue
        CFI R9 SameValue
        CFI R10 SameValue
        CFI R11 SameValue
        CFI R12 SameValue
        CFI R13 SameValue
        CFI R14 SameValue
        CFI R15 SameValue
        CFI R16 SameValue
        CFI R17 SameValue
        CFI R18 SameValue
        CFI R19 SameValue
        CFI R20 SameValue
        CFI R21 SameValue
        CFI R22 SameValue
        CFI R23 SameValue
        CFI R24 SameValue
        CFI R25 SameValue
        CFI R26 SameValue
        CFI R27 SameValue
        CFI R28 Undefined
        CFI R29 Undefined
        CFI R30 SameValue
        CFI R31 SameValue
        CFI ?RetHighByteMask SameValue
        CFI SPH Undefined
        CFI SPL Undefined
        CFI EndCommon cfiCommon1
        
// C:\Documents and Settings\vemund\Desktop\AVRGSM\Files\AVRGSM_com.c
//    1 /*! \file ********************************************************************
//    2 *
//    3 * Atmel Corporation
//    4 *
//    5 * - File              : AVR_SMS_com.c
//    6 * - Compiler          : IAR EWAAVR 3.20C
//    7 *
//    8 * - Support mail      : avr@atmel.com
//    9 *
//   10 * - Supported devices : The example is written for ATmega169
//   11 *
//   12 *
//   13 * - AppNote           : AVR323 - Interfacing Cellphones
//   14 *
//   15 * - Description       : Example of how to use AVR Butterfly as Mobilephone controller
//   16 *
//   17 * $Revision: 1.1 $
//   18 * $Date: Tuesday, November 08, 2005 12:26:18 UTC $
//   19 *****************************************************************************/
//   20 //Includes
//   21 #include"iom169.h"
//   22 
//   23 
//   24 
//   25 
//   26 /*! \brief USART initialization
//   27  *
//   28  *  \param    input     Desired baudrate...see datasheet
//   29  *
//   30  *  \retval             void
//   31  *
//   32  */

        RSEG CODE:CODE:NOROOT(1)
//   33 void COM_Init( unsigned int baudrate )
COM_Init:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function COM_Init
//   34 {
//   35     UBRR0H = (unsigned char) (baudrate>>8);                             //Setting baudrate
        MOVW	R19:R18, R17:R16
        MOV	R18, R19
        STS	_A_UBRR0H, R18
//   36     UBRR0L = (unsigned char) baudrate;                                  //Setting baudrate
        STS	_A_UBRR0L, R16
//   37 	
//   38     UCSR0B = ( ( 1 << RXEN0 ) | ( 1 << TXEN0 ) );                       //Enable receiver and transmitter
        LDI	R16, 24
        STS	_A_UCSR0B, R16
//   39     UCSR0C = ( 1<<USBS0 )|( 1<<UCSZ01 )|( 1<<UCSZ00 );                  //8N1...see Datasheet for more information
        LDI	R16, 14
        STS	_A_UCSR0C, R16
//   40 
//   41 	
//   42 }//end COM_Init
        RET
        CFI EndBlock cfiBlock0
//   43 
//   44 
//   45                         // Interrupt handler
//   46 
//   47 /*! \brief USART Receive interrupt service routine
//   48  *
//   49  */
//   50 #pragma vector=USART0_RXC_vect

        RSEG CODE:CODE:NOROOT(1)
//   51 __interrupt void USART0_RX_interrupt( void )
USART0_RX_interrupt:
        CFI Block cfiBlock1 Using cfiCommon1
        CFI Function USART0_RX_interrupt
//   52 {
        ST	-Y, R18
        CFI R18 Frame(CFA_Y, -1)
        CFI CFA_Y Y+1
        ST	-Y, R17
        CFI R17 Frame(CFA_Y, -2)
        CFI CFA_Y Y+2
        ST	-Y, R16
        CFI R16 Frame(CFA_Y, -3)
        CFI CFA_Y Y+3
        IN	R17, 0x3F
        IN	R18, 0x3B
//   53 	
//   54 }//end rx-isr
        OUT	0x3B, R18
        OUT	0x3F, R17
        LD	R16, Y+
        CFI R16 SameValue
        CFI CFA_Y Y+2
        LD	R17, Y+
        CFI R17 SameValue
        CFI CFA_Y Y+1
        LD	R18, Y+
        CFI R18 SameValue
        CFI CFA_Y Y+0
        RETI
        CFI EndBlock cfiBlock1

        COMMON INTVEC:CODE:ROOT(1)
        ORG 52
`??INTVEC 52`:
        JMP	USART0_RX_interrupt

        ASEGN ABSOLUTE:DATA:NOROOT,0c1H
// union <unnamed> volatile __near _A_UCSR0B
_A_UCSR0B:
        DS 1

        ASEGN ABSOLUTE:DATA:NOROOT,0c2H
// union <unnamed> volatile __near _A_UCSR0C
_A_UCSR0C:
        DS 1

        ASEGN ABSOLUTE:DATA:NOROOT,0c4H
// union <unnamed> volatile __near _A_UBRR0L
_A_UBRR0L:
        DS 1

        ASEGN ABSOLUTE:DATA:NOROOT,0c5H
// union <unnamed> volatile __near _A_UBRR0H
_A_UBRR0H:
        DS 1

        ASEGN ABSOLUTE:DATA:NOROOT,01cH
__?EECR:

        ASEGN ABSOLUTE:DATA:NOROOT,01dH
__?EEDR:

        ASEGN ABSOLUTE:DATA:NOROOT,01eH
__?EEARL:

        ASEGN ABSOLUTE:DATA:NOROOT,01fH
__?EEARH:

        END
// 
//  4 bytes in segment ABSOLUTE
// 48 bytes in segment CODE
//  4 bytes in segment INTVEC
// 
// 48 bytes of CODE memory (+ 4 bytes shared)
//  0 bytes of DATA memory (+ 4 bytes shared)
//
//Errors: none
//Warnings: 1

⌨️ 快捷键说明

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