📄 main.s43
字号:
;*****************************************************************************/
;* Example main program showing how to use the file "I2Croutines.s43" */
;* */
;* developed with IAR Embedded Workbench V2.20 */
;* */
;* Texas Instruments Deutschland GmbH */
;* Christian Hernitscheck */
;* August 2004 */
;*****************************************************************************/
;
; THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR
; REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY,
; INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
; FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR
; COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE.
; TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET
; POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY
; INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR
; YOUR USE OF THE PROGRAM.
;
; IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
; CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY
; THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED
; OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT
; OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM.
; EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF
; REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS
; OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF
; USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S
; AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF
; YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS
; (U.S.$500).
;
; Unless otherwise stated, the Program written and copyrighted
; by Texas Instruments is distributed as "freeware". You may,
; only under TI's copyright in the Program, use and modify the
; Program without any charge or restriction. You may
; distribute to third parties, provided that you transfer a
; copy of this license to the third party and the third party
; agrees to these terms by its first use of the Program. You
; must reproduce the copyright notice and any other legend of
; ownership on each copy or partial copy, of the Program.
;
; You acknowledge and agree that the Program contains
; copyrighted material, trade secrets and other TI proprietary
; information and is protected by copyright laws,
; international copyright treaties, and trade secret laws, as
; well as other intellectual property laws. To protect TI's
; rights in the Program, you agree not to decompile, reverse
; engineer, disassemble or otherwise translate any object code
; versions of the Program to a human-readable form. You agree
; that in no event will you alter, remove or destroy any
; copyright notice included in the Program. TI reserves all
; rights not specifically granted under this license. Except
; as specifically provided herein, nothing in this agreement
; shall be construed as conferring by implication, estoppel,
; or otherwise, upon you, any license or other right under any
; TI patents, copyrights or trade secrets.
;
; You may not use the Program in non-TI devices.
;
;******************************************************************************
#include "msp430x16x.h"
/*--- external functions of file "I2Croutines.s43" --------------------------*/
extern InitI2C
extern EEPROM_ByteWrite
extern EEPROM_RandomRead
extern EEPROM_CurrentAddressRead
extern EEPROM_AckPolling
RSEG DATA16_Z
Data DS 6
RSEG CODE
/*---------------------------------------------------------------------------*/
main
MOV #0300h,SP ; initialization of Stack pointer
MOV #WDTPW+WDTHOLD,&WDTCTL ; disable Watchdog
MOV.b #0FFh,&P1DIR ; termination of unused pins
MOV.b #0FFh,&P2DIR
MOV.b #0F5h,&P3DIR
MOV.b #0FFh,&P4DIR
MOV.b #0FFh,&P5DIR
MOV.b #0FFh,&P6DIR
CALL #InitI2C ; Initialize I2C module
EINT
MOV #0000h,R12 ; EEPROM Address
MOV.b #012h,R14 ; Data that should be written into EEPROM Address
CALL #EEPROM_ByteWrite
CALL #EEPROM_AckPolling ; Wait for EEPROM write cycle completion
MOV #0001h,R12 ; EEPROM Address
MOV.b #034h,R14 ; Data that should be written into EEPROM Address
CALL #EEPROM_ByteWrite
CALL #EEPROM_AckPolling ; Wait for EEPROM write cycle completion
MOV #0002h,R12 ; EEPROM Address
MOV.b #056h,R14 ; Data that should be written into EEPROM Address
CALL #EEPROM_ByteWrite
CALL #EEPROM_AckPolling ; Wait for EEPROM write cycle completion
MOV #0003h,R12 ; EEPROM Address
MOV.b #078h,R14 ; Data that should be written into EEPROM Address
CALL #EEPROM_ByteWrite
CALL #EEPROM_AckPolling ; Wait for EEPROM write cycle completion
MOV #0004h,R12 ; EEPROM Address
MOV.b #09Ah,R14 ; Data that should be written into EEPROM Address
CALL #EEPROM_ByteWrite
CALL #EEPROM_AckPolling ; Wait for EEPROM write cycle completion
MOV #0005h,R12 ; EEPROM Address
MOV.b #0BCh,R14 ; Data that should be written into EEPROM Address
CALL #EEPROM_ByteWrite
CALL #EEPROM_AckPolling ; Wait for EEPROM write cycle completion
NOP
MOV #0000h,R12 ; define EEPROM Address
CALL #EEPROM_RandomRead ; Read from address 0x0000
MOV.b R12,Data+0
CALL #EEPROM_CurrentAddressRead ; Read from address 0x0001
MOV.b R12,Data+1
CALL #EEPROM_CurrentAddressRead ; Read from address 0x0002
MOV.b R12,Data+2
CALL #EEPROM_CurrentAddressRead ; Read from address 0x0003
MOV.b R12,Data+3
CALL #EEPROM_CurrentAddressRead ; Read from address 0x0004
MOV.b R12,Data+4
CALL #EEPROM_CurrentAddressRead ; Read from address 0x0005
MOV.b R12,Data+5
MainLoop
JMP MainLoop
COMMON INTVEC
ORG RESET_VECTOR
DW main
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -