📄 ecp_rtc.lst
字号:
###############################################################################
# #
# IAR Systems MSP430 Assembler V3.42A/W32 29/Jun/2007 14:45:59 #
# Copyright 1996-2006 IAR Systems. All rights reserved. #
# #
# Target option = MSP430 #
# Source file = C:\Data\DM350MSP430\VA3\ECP_RTC.s43 #
# List file = C:\Data\DM350MSP430\VA3\Debug\List\ECP_RTC.lst #
# Object file = C:\Data\DM350MSP430\VA3\Debug\Obj\ECP_RTC.r43 #
# Command line = C:\Data\DM350MSP430\VA3\ECP_RTC.s43 #
# -OC:\Data\DM350MSP430\VA3\Debug\Obj\ -s+ -M<> #
# -w+ -LC:\Data\DM350MSP430\VA3\Debug\List\ -t8 #
# -r -D__MSP430F155__ #
# -IC:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\ #
# #
###############################################################################
1 00FFF4 #include <msp430x15x.h>
2 00FFF4 #include "ECP.h"
3 00FFF4 ;
4 00FFF4 ;
5 00FFF4 ; 1) Cold Power Up
6 00FFF4 ; 2)
7 00FFF4 ;
8 00FFF4 ;
9 00FFF4
10 00FFF4
11 00FFF4
12 00FFF4
13 000000 EXTERN PowerState
14 00FFF4 ;LINE
15 00FFF4 ;BATTERY
16 00FFF4
17 00FFF4 ORG 0FFF4h
; WDT interrupt vector
18 00FFF4 .... DW WTD_ISR
19 00FFF6 0013 reti
20 000000 RSEG I2CHW_CODE
21 000000 ;-----------------------------------------------
-------------------------------
22 000000 ;Common ISR for Watchdog Interval Timer
23 000000 ;-----------------------------------------------
-------------------------------
24 000000
25 000000 WTD_ISR
26 000000 ;push R4 ; Save
Regs
27 000000 ; mov.b PowerState,R4
; Get the last power state
28 000000 ; cmp.b #LINE,R4
; Were we on line power?
29 000000 ; jeq LINELASTTIME
; Yes
30 000000 ;BATTERYLASTTIME call #CheckPowerState
; Get current state
31 000000 ; mov.b
32 000000
33 000000 ;call #CheckPowerState ; Battery
or Line?
34 000000
35 000000 ;push R4 ; Save
Regs
36 000000 ; mov.b &P6IN,R4
; Read in the switches
37 000000 ; and.b #0xF8,R4
; Mask switches
38 000000 ; jz LOWPOWER
39 000000 ;HIGHPOWER
40 000000 ; nop ;If Low to High goto
Warm Boot
41 000000 ; nop ;If High to Low goto
Power Down
42 000000 1A53 inc R10
; R10 is LSW of RTC value
43 000002 012C jc IncrementMSWRTC
; Increment R11 if R10
44 000004
; rolls over
45 000004 0013 reti
46 000006 1B53 IncrementMSWRTC inc R11
; R11 is the MSW of RTC
47 000008
; value
48 000008 0013 reti
49 00000A ; **********************************************
******************************
50 00000A ; Function: InitRTC
51 00000A ;
52 00000A ; Purpose: This funtion sets the Watchdog timer
to interval timer mode
53 00000A ; for the RTC
54 00000A ;
55 00000A ; Inputs: None
56 00000A ;
57 00000A ; Returns: None
58 00000A ; **********************************************
******************************
59 000000 PUBLIC InitRTC
60 00000A B2401C5A2001 InitRTC mov #WDTPW+WDTCNTCL+WDTTMSEL+W
DTSSEL,&WDTCTL ; 1 second int
61 000010 D2D30000 bis.b #WDTIE,&IE1
; Enable WDT interrupt
62 000014 3041 ret
63 000016
64 000016 END
##############################
# CRC:ED02 #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 26 #
##############################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -