summaryrefslogtreecommitdiff
path: root/software
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2011-12-09 02:12:08 +0000
committerChristian Pointner <equinox@mur.at>2011-12-09 02:12:08 +0000
commitdb96749f76a65c0be486515e1d7bac101dfbe368 (patch)
tree92bb28f007cd64ab84883e6c3aa0def4793bd249 /software
parentidm initial checkin (diff)
idm as simple sound card
initial comparator config git-svn-id: https://svn.spreadspace.org/mur.sat@208 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software')
-rw-r--r--software/idm/idm.asm59
1 files changed, 50 insertions, 9 deletions
diff --git a/software/idm/idm.asm b/software/idm/idm.asm
index 352d6a0..86bffae 100644
--- a/software/idm/idm.asm
+++ b/software/idm/idm.asm
@@ -40,7 +40,11 @@
;; constants
;; I/O Pins
+;; PortA
+MPU_INT EQU .4
+;; PortC
+
;; variables
;; page 0 only
TMP EQU H'0020'
@@ -73,9 +77,26 @@ STATUS_TEMP EQU H'007F'
bcf STATUS,RP1
;; dispatch interrupt sources
+ btfsc PIR1,TMR2IF
+ goto int_tmr2
btfsc PIR1,RCIF
goto int_uart_rx
goto interrupt_end
+
+int_tmr2
+ movlw b'00010000'
+ xorwf PORTA,f
+
+ bsf ADCON0,GO
+int_tmr2_adcon
+ btfsc ADCON0,GO
+ goto int_tmr2_adcon
+
+ movf ADRESH,w
+ movwf TXREG
+
+ bcf PIR1,TMR2IF
+ goto interrupt_end
int_uart_rx
call uart_rx_byte
@@ -110,6 +131,16 @@ init
bsf STATUS,RP1
movlw b'00000000'
movwf BAUDCTL
+ movlw b'00100000'
+ movwf ANSEL
+
+ ;; bank 2
+ bcf STATUS,RP0
+ bsf STATUS,RP1
+ movlw b'10100000'
+ movwf CM1CON0
+ movlw b'10110000'
+ movwf CM2CON0
;; bank 1
bsf STATUS,RP0
@@ -117,9 +148,9 @@ init
movlw b'10000000'
movwf OPTION_REG
clrf PSTRCON
- movlw b'01101000'
+ movlw b'01111000'
movwf OSCCON
- movlw b'11111111'
+ movlw b'11001111'
movwf TRISA
movlw b'11111111'
movwf TRISB
@@ -129,21 +160,31 @@ init
movwf TRISD
movlw b'00100100'
movwf TXSTA
- movlw .12
+ movlw .8
movwf SPBRG
clrf SPBRGH
- movlw b'00100000'
+ movlw b'00100010'
movwf PIE1
clrf PIE2
+ movlw .200
+ movwf PR2
+ clrf ADCON1
;; bank 0
bcf STATUS,RP0
bcf STATUS,RP1
movlw b'10010000'
movwf RCSTA
- movlw B'01000000'
+ movlw b'00001100'
+ movwf T2CON
+ movlw b'01000000'
movwf INTCON
+ clrf TMR2
+ movlw b'10010101'
+ movwf ADCON0
+ bcf PORTA,MPU_INT
+
clrf TMP
bsf INTCON,GIE
@@ -184,10 +225,10 @@ main
;; btfsc STATUS,Z
;; goto main
- movlw '.'
- movwf TXREG
- movlw .255
- call wait_ms
+ ;; movlw '.'
+ ;; movwf TXREG
+ ;; movlw .255
+ ;; call wait_ms
goto main