diff options
author | Christian Pointner <equinox@mur.at> | 2011-07-11 17:41:20 +0000 |
---|---|---|
committer | Christian Pointner <equinox@mur.at> | 2011-07-11 17:41:20 +0000 |
commit | 2052f399e416780f406b19d9cd90a7be55f86e15 (patch) | |
tree | 54f31fd8cae463b7a6fc86c9e2415175427bff47 /software/ihu | |
parent | fixed prescaler due to FOSC/4 (diff) |
added ihu source dir
git-svn-id: https://svn.spreadspace.org/mur.sat@31 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software/ihu')
-rw-r--r-- | software/ihu/Makefile | 34 | ||||
-rw-r--r-- | software/ihu/ihu.asm | 96 |
2 files changed, 130 insertions, 0 deletions
diff --git a/software/ihu/Makefile b/software/ihu/Makefile new file mode 100644 index 0000000..3c1cb81 --- /dev/null +++ b/software/ihu/Makefile @@ -0,0 +1,34 @@ +## +## 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 <equinox@mur.at> +## +## 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 <http://www.gnu.org/licenses/>. +## + +PROJECT := ihu +PROC_TYPE := 16F887 + +include ../pic.include.mk diff --git a/software/ihu/ihu.asm b/software/ihu/ihu.asm new file mode 100644 index 0000000..3cde059 --- /dev/null +++ b/software/ihu/ihu.asm @@ -0,0 +1,96 @@ + ;; + ;; 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 <equinox@mur.at> + ;; + ;; 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 <http://www.gnu.org/licenses/>. + ;; + ;; ------------------------------------- + ;; PREAMBLE + + LIST p=16F887 + include "p16f887.inc" + ;; TODO: set correct configuration bits + __config _FCMEN_OFF & _IESO_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT + + ;; ------------------------------------- + ;; DEFINES + ;; TODO: find right address for context save registers +W_TEMP EQU H'007E' +STATUS_TEMP EQU H'007F' + + ;; ------------------------------------- + ;; Reset Vector + org 0 + goto init + + ;; ------------------------------------- + ;; Interrupt Vector + org 4 + ;; save context + movwf W_TEMP + swapf STATUS,W + movwf STATUS_TEMP + + ;; TODO: implement interrupt service routines + +interrupt_end + ;; restore context + swapf STATUS_TEMP,W + movwf STATUS + swapf W_TEMP,F + swapf W_TEMP,W + retfie + + ;; ------------------------------------- + ;; INIT +init + ;; bank 1 + ;; TODO: do init stuff + goto main + + ;; ------------------------------------- + ;; TABLES + + ;; TODO: add lookup tables if needed + + ;; ------------------------------------- + ;; SUBROUTINES + + ;; TODO: add subroutines + + ;; ------------------------------------- + ;; MAINLOOP +main + + ;; TODO: add main code + +powerdown + sleep + goto main + + ;; ------------------------------------- + ;; END + end |