comparison code_part1/OSTC_code_asm_part1/MAIN.ASM @ 0:96a35aeda5f2

Initial setup
author heinrichsweikamp
date Tue, 12 Jan 2010 15:05:59 +0100
parents
children cd5b650920f6
comparison
equal deleted inserted replaced
-1:000000000000 0:96a35aeda5f2
1
2 ; OSTC - diving computer code
3 ; Copyright (C) 2008 HeinrichsWeikamp GbR
4
5 ; This program is free software: you can redistribute it and/or modify
6 ; it under the terms of the GNU General Public License as published by
7 ; the Free Software Foundation, either version 3 of the License, or
8 ; (at your option) any later version.
9
10 ; This program is distributed in the hope that it will be useful,
11 ; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ; GNU General Public License for more details.
14
15 ; You should have received a copy of the GNU General Public License
16 ; along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18
19 ; it under the terms of the GNU General Public License as published by
20 ; the Free Software Foundation, either versio
21 ; includes and isr
22 ; written by: Matthias Heinrichs, info@heinrichsweikamp.com
23 ; written: 041013
24 ; last updated: 081219
25 ; known bugs:
26 ; ToDo:
27
28
29 LIST P=18F4685 ;directive to define processor
30 #include <P18F4685.INC> ;processor specific variable definitions
31
32 #include definitions.asm ; Defines, I/O Ports and variables
33
34 ORG 0x0000
35 goto start ; Start!
36
37 ORG 0x0008
38 bra HighInt ;High Priority Interrups
39
40 ORG 0x0018 ;Low Priority Interrups
41 ; *** low priority interrupts not used
42 bra HighInt ;High Priority Interrups
43
44 HighInt:
45 movff BSR,0x102 ;save BSR register
46 movlb b'00000001' ;select Bank1
47
48 movff STATUS,status_temp ;save STATUS register
49 movff WREG,wreg_temp ;save working register
50
51 movf PORTB,W ;move portb into latch register
52
53 btfsc PIR1,TMR1IF ;Timer1 INT (external 32.768kHz Clock)
54 call timer1int
55
56 btfsc INTCON,TMR0IF ;Timer0 INT (Debounce Timer)
57 call timer0int
58
59 btfsc PIR2,TMR3IF ;Timer3 INT (Delay for PWM Buzzer)
60 call timer3int
61
62 btfsc PIR1,RCIF ; UART
63 call uartint
64
65 btfsc INTCON,INT0IF ; Switch left
66 call schalter_links
67
68 btfsc INTCON3,INT1IF ; switch right
69 call schalter_rechts
70
71 movff wreg_temp,WREG ;restore working register
72 movff status_temp,STATUS ;restore STATUS register
73 movff 0x102,BSR ;restore BSR register
74 retfie
75
76 ORG 0x00100 ;
77 #include text_table.asm ; includes textmacros
78 #include displaytext.asm ; sends texts to wordprocessor
79 #include math.asm ; mathematical functions
80 #include wait.asm ; waitroutines
81 #include valconv.asm ; outputs to POSTINC2
82 #include eeprom_rs232.asm ; Internal EEPROM and RS232 Interface
83 #include oled_samsung.asm ; Attached in 80-System 8-Bit Mode
84 #include menu_custom.asm ; Menu "Custom FunctionsI" and "Custom FunctionsII"
85 #include menu.asm ; Main Menu and Setup Menu
86 #include menu_reset.asm ; Submenu "Reset"
87 #include menu_settime.asm ; Submenu "Set Time"
88 #include ms5535.asm ; Interface to MS5535A,B or C pressure sensor
89 #include pled_outputs.asm ; div. PLED outputs and background debugger
90 #include i2c_eeprom.asm ; for external I2C EEPROM and general I2C Routines
91 #include menu_logbook.asm ; Submenu "Logbook"
92 #include interface.asm ; Interface routines
93 #include menu_ppO2.asm ; Constant ppO2 setup menu
94 #include menu_battery.asm ; Submenu "Battery Info"
95 #include menu_gassetup.asm ; Menu "Gas Setup"
96 #include isr.asm ; Interrupt service routine (RTC&Sensor)
97 #include surfmode.asm ; Mainroutines for Surfacemode
98 #include divemode.asm ; Mainroutines for Divemode
99 #include divemode_menu.asm ; Underwater menu
100 #include sleepmode.asm ; Mainroutines for Sleepmode
101 #include adc_rtc.asm ; A/D converter (battery control) and RTC init
102 #include temp_extrema.asm ; Takes care of the temperature extrema logger
103 #include sync_clock.asm ; syncs RTC with PC
104 #include tempcomp.asm ; extra temperature compensation
105 #include start.asm ; Startup and init, checks background debugger
106 #include simulator.asm ; Stand-alone simulator routines
107 #include io.asm ; Low-Level I/O access
108
109 ORG 0x0A000 ; keep free for new c_code
110 nop
111
112 ORG deco_main_calc_hauptroutine
113 return ;Dummy
114 ORG deco_main_calc_without_deco
115 return ;Dummy
116 ORG deco_main_clear_tissue
117 return ;Dummy
118 ORG deco_main_calc_desaturation_time
119 return ;Dummy
120 ORG deco_main_calc_wo_deco_step_1_m
121 return ;Dummy
122 ORG deco_main_hash
123 return ;Dummy
124 ORG main_clear_CNS_fraction
125 return ;Dummy
126 ORG main_calc_CNS_fraction
127 return ;Dummy
128 ORG main_calc_CNS_decrease_15min
129 return ;Dummy
130 ORG main_push_tissues_to_vault
131 return ;Dummy
132 ORG main_pull_tissues_from_vault
133 return ;Dummy
134
135
136 MESSG "OSTC - diving computer code, Copyright (C) 2009 HeinrichsWeikamp GbR"
137 MESSG "This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the"
138 MESSG "Free Software Foundation, either version 3 of the License, or (at your option) any later version."
139 MESSG "This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY"
140 MESSG "or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details."
141 MESSG "You should have received a copy of the GNU General Public License along with this program.If not, see http://www.gnu.org/licenses/."
142
143 END ; end of program
144