summaryrefslogtreecommitdiff
path: root/software
diff options
context:
space:
mode:
Diffstat (limited to 'software')
-rw-r--r--software/idm/idm.asm43
1 files changed, 36 insertions, 7 deletions
diff --git a/software/idm/idm.asm b/software/idm/idm.asm
index 59a83e3..60fa6a6 100644
--- a/software/idm/idm.asm
+++ b/software/idm/idm.asm
@@ -30,17 +30,41 @@
;; -------------------------------------
;; DEFINES
-
CNT0 EQU H'0020'
CNT1 EQU H'0021'
;; -------------------------------------
;; OFFSET
org .0
+ goto init
+
+ ;; -------------------------------------
+ ;; Interrupts
+ org .4
+ clrf BSR
+ btfsc PIR1,SSP1IF
+ goto int_spi
+ retfie
+
+int_spi
+ bsf PORTA,7
+ nop
+ bcf PORTA,7
+ retfie
;; -------------------------------------
;; INIT
init
+ ;; BANK 4
+ movlw b'00000100'
+ movwf BSR
+ movlw b'00100100'
+ movwf SSP1CON1
+ movlw b'00010000'
+ movwf SSP1CON3
+ movlw b'00000000'
+ movwf SSP1STAT
+
;; BANK 3
movlw b'00000011'
movwf BSR
@@ -49,19 +73,24 @@ init
;; BANK 2
movlw b'00000010'
- movwf BSR
+ movwf BSR
;; BANK 1
movlw b'00000001'
movwf BSR
- movlw b'11111111'
+ movlw b'01111111'
movwf TRISA
- movlw b'01110111'
+ movlw b'01110011'
movwf TRISB
-
+ movlw b'01011000'
+ movwf OSCCON
+ movlw b'01000000'
+ movwf PIE1
+
;; BANK 0
clrf BSR
-
+ clrf PIR1
+ bsf INTCON,GIE
bcf PORTA,7
;; -------------------------------------
@@ -83,7 +112,7 @@ inner
movlw b'00001000'
xorwf PORTB,f
-
+
goto main
;; -------------------------------------