From b866a8ca1f93e270316685d230767d6171cf7892 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 10 Dec 2011 20:11:53 +0000 Subject: added solar adc code git-svn-id: https://svn.spreadspace.org/mur.sat@219 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/ihu/adc.inc | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 software/ihu/adc.inc (limited to 'software/ihu/adc.inc') diff --git a/software/ihu/adc.inc b/software/ihu/adc.inc new file mode 100644 index 0000000..7dee1fd --- /dev/null +++ b/software/ihu/adc.inc @@ -0,0 +1,175 @@ + ;; + ;; mur.sat + ;; + ;; Somewhen in the year 2011, mur.at will have a nano satellite launched + ;; into a low earth orbit (310 km above the surface of our planet). The + ;; satellite itself is a TubeSat personal satellite kit, developed and + ;; launched by interorbital systems. mur.sat is a joint venture of mur.at, + ;; ESC im Labor and realraum. + ;; + ;; Please visit the project hompage at sat.mur.at for further information. + ;; + ;; + ;; Copyright (C) 2011 Christian Pointner + ;; + ;; This file is part of mur.sat. + ;; + ;; mur.sat is free software: you can redistribute it and/or modify + ;; it under the terms of the GNU General Public License as published by + ;; the Free Software Foundation, either version 3 of the License, or + ;; any later version. + ;; + ;; mur.sat is distributed in the hope that it will be useful, + ;; but WITHOUT ANY WARRANTY; without even the implied warranty of + ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ;; GNU General Public License for more details. + ;; + ;; You should have received a copy of the GNU General Public License + ;; along with mur.sat. If not, see . + ;; + ;; ------------------------------------- + ;; DEFINES + ;; constants +ADC_SOL_CH0 EQU b'01000001' +ADC_SOL_CH1 EQU b'01000101' +ADC_SOL_CH2 EQU b'01001001' +ADC_SOL_CH3 EQU b'01001101' +ADC_SOL_CH4 EQU b'01010001' +ADC_SOL_CH5 EQU b'01010101' +ADC_SOL_CH6 EQU b'01011001' +ADC_SOL_CH7 EQU b'01011101' +ADC_SOL_CH8 EQU b'01100001' +ADC_SOL_CH9 EQU b'01100101' +ADC_SOL_CHA EQU b'01101001' +ADC_SOL_CHB EQU b'01101101' +ADC_SOL_CHC EQU b'01110001' + + ;; ------------------------------------- +adc_get_solar + movlw ADC_SOL_CH0 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c0 + btfsc ADCON0,GO + goto adc_get_solar_c0 + movf ADRESH,w + movwf ADC_SOLAR_C0 + + movlw ADC_SOL_CH1 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c1 + btfsc ADCON0,GO + goto adc_get_solar_c1 + movf ADRESH,w + movwf ADC_SOLAR_C1 + + movlw ADC_SOL_CH2 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c2 + btfsc ADCON0,GO + goto adc_get_solar_c2 + movf ADRESH,w + movwf ADC_SOLAR_C2 + + movlw ADC_SOL_CH3 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c3 + btfsc ADCON0,GO + goto adc_get_solar_c3 + movf ADRESH,w + movwf ADC_SOLAR_C3 + + movlw ADC_SOL_CH4 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c4 + btfsc ADCON0,GO + goto adc_get_solar_c4 + movf ADRESH,w + movwf ADC_SOLAR_C4 + + movlw ADC_SOL_CH5 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c5 + btfsc ADCON0,GO + goto adc_get_solar_c5 + movf ADRESH,w + movwf ADC_SOLAR_C5 + + movlw ADC_SOL_CH6 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c6 + btfsc ADCON0,GO + goto adc_get_solar_c6 + movf ADRESH,w + movwf ADC_SOLAR_C6 + + movlw ADC_SOL_CH7 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_c7 + btfsc ADCON0,GO + goto adc_get_solar_c7 + movf ADRESH,w + movwf ADC_SOLAR_C7 + + movlw ADC_SOL_CH8 + movwf ADCON0 + nop + nop + nop + nop + nop + bsf ADCON0,GO +adc_get_solar_v + btfsc ADCON0,GO + goto adc_get_solar_v + movf ADRESH,w + movwf ADC_SOLAR_V + + return \ No newline at end of file -- cgit v1.2.3