diff options
Diffstat (limited to 'electronics')
-rw-r--r-- | electronics/asm/8.asm | 30 | ||||
-rw-r--r-- | electronics/asm/8.err | 0 | ||||
-rw-r--r-- | electronics/asm/9.asm | 21 | ||||
-rw-r--r-- | electronics/asm/9.err | 0 | ||||
-rw-r--r-- | electronics/asm/\ | 45 | ||||
-rwxr-xr-x | electronics/asm/cable.sh | 4 | ||||
-rw-r--r-- | electronics/asm/mem.asm | 27 | ||||
-rw-r--r-- | electronics/asm/mem.ba~ | 28 | ||||
-rw-r--r-- | electronics/asm/mem.err | 0 | ||||
-rw-r--r-- | electronics/asm/stack.asm | 45 | ||||
-rw-r--r-- | electronics/asm/stack.err | 0 |
11 files changed, 200 insertions, 0 deletions
diff --git a/electronics/asm/8.asm b/electronics/asm/8.asm new file mode 100644 index 0000000..387f4bd --- /dev/null +++ b/electronics/asm/8.asm @@ -0,0 +1,30 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS, RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS, RP0 ; select memory bank 0 + + bsf INTCON, INT0IE + bsf INTCON, GIE + + goto main + +interrupt: ; this will make port b go high for a set amount of time + movlw 255 + movwf PORTB + call wait1000ms + movlw 0 + movwf PORTB + + bcf INTCON, INT0IF + + retfie + +main: + goto main + END ; ends the program diff --git a/electronics/asm/8.err b/electronics/asm/8.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/electronics/asm/8.err diff --git a/electronics/asm/9.asm b/electronics/asm/9.asm new file mode 100644 index 0000000..51e93e1 --- /dev/null +++ b/electronics/asm/9.asm @@ -0,0 +1,21 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + goto main +main: + movlw b'11111111' + movwf PORTB + call wait1000ms + call wait1000ms + movlw b'00000000' + movwf PORTB + call wait1000ms + goto main + ;END ; ends the program diff --git a/electronics/asm/9.err b/electronics/asm/9.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/electronics/asm/9.err diff --git a/electronics/asm/\ b/electronics/asm/\ new file mode 100644 index 0000000..c86ca8e --- /dev/null +++ b/electronics/asm/\ @@ -0,0 +1,45 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'00000000' ; set port A data direction to inputs + movwf TRISA + movlw b'00001111' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + + ;stackptr EQU B10 + tmpdata EQU B9 + + goto main + +main: + ;movlw 0 + ;movwf stackptr + + movlw b'00000001' + movwf PORTA + + movlw b'10100000' ; move 1111 to the output + movwf PORTB + + movlw b'00000000' + movwf PORTA + + movlw b'11111111' + movwf TRISB + + movf PORTB, W + movwf tmpdata + + movlw b'00001111' + movwf TRISB + + swapf tmpdata, W + movwf PORTB + +noend: + goto noend + + END ; ends the program diff --git a/electronics/asm/cable.sh b/electronics/asm/cable.sh new file mode 100755 index 0000000..f435e0b --- /dev/null +++ b/electronics/asm/cable.sh @@ -0,0 +1,4 @@ +#!/bin/sh +sudo modprobe ftdi_sio +sudo chmod 777 /sys/bus/usb-serial/drivers/ftdi_sio/new_id +sudo echo "0403 bd90" > /sys/bus/usb-serial/drivers/ftdi_sio/new_id diff --git a/electronics/asm/mem.asm b/electronics/asm/mem.asm new file mode 100644 index 0000000..0c2d595 --- /dev/null +++ b/electronics/asm/mem.asm @@ -0,0 +1,27 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'11111111' ; set port A data direction to inputs + movwf TRISA + movlw b'00000000' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + goto main +;; for this program use the 2k 8 bit mem chip, with WE on B2, OE on B3, and the memorys 3 least +;; sig bits to B4-B6 (inclusive), all other pins on the mem chip need to be held low, and an led +;; needs to be on B1 +;; when B1 goes high move the 3 pins from the microcontroler to leds and see the value +main: + movlw b'01111000' + movwf PORTB ; make we high, oe low, and 3 pins high + call wait1000ms + + movlw b'00000110' + movwf PORTB ; make we low, oe high, and 3 pins low + +noend: + goto noend + + END ; ends the program diff --git a/electronics/asm/mem.ba~ b/electronics/asm/mem.ba~ new file mode 100644 index 0000000..62c8d54 --- /dev/null +++ b/electronics/asm/mem.ba~ @@ -0,0 +1,28 @@ +start:
+init:
+ clrf PORTA ; make sure port A output latches are low
+ clrf PORTB ; make sure port B output latches are low
+ bsf STATUS,RP0 ; select memory bank 1
+ movlw b'11111111' ; set port A data direction to inputs
+ movwf TRISA
+ movlw b'00000000' ; set port B data direction to outputs
+ movwf TRISB
+ bcf STATUS,RP0 ; select memory bank 0
+ goto main
+;; for this program use the 2k 8 bit mem chip, with WE on B2, OE on B3, and the memorys 3 least
+;; sig bits to B4-B6 (inclusive), all other pins on the mem chip need to be held low, and an led
+;; needs to be on B1
+;; when B1 goes high move the 3 pins from the microcontroler to leds and see the value
+main:
+ movlw b'01111000'
+ movwf PORTB ; make we high, oe low, and 3 pins high
+ call wait1000ms
+
+ movlw b'00000110'
+ movwf PORTB ; make we low, oe high, and 3 pins low
+
+noend:
+ goto noend
+
+ END ; ends the program
+
diff --git a/electronics/asm/mem.err b/electronics/asm/mem.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/electronics/asm/mem.err diff --git a/electronics/asm/stack.asm b/electronics/asm/stack.asm new file mode 100644 index 0000000..c86ca8e --- /dev/null +++ b/electronics/asm/stack.asm @@ -0,0 +1,45 @@ +start: +init: + clrf PORTA ; make sure port A output latches are low + clrf PORTB ; make sure port B output latches are low + bsf STATUS,RP0 ; select memory bank 1 + movlw b'00000000' ; set port A data direction to inputs + movwf TRISA + movlw b'00001111' ; set port B data direction to outputs + movwf TRISB + bcf STATUS,RP0 ; select memory bank 0 + + ;stackptr EQU B10 + tmpdata EQU B9 + + goto main + +main: + ;movlw 0 + ;movwf stackptr + + movlw b'00000001' + movwf PORTA + + movlw b'10100000' ; move 1111 to the output + movwf PORTB + + movlw b'00000000' + movwf PORTA + + movlw b'11111111' + movwf TRISB + + movf PORTB, W + movwf tmpdata + + movlw b'00001111' + movwf TRISB + + swapf tmpdata, W + movwf PORTB + +noend: + goto noend + + END ; ends the program diff --git a/electronics/asm/stack.err b/electronics/asm/stack.err new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/electronics/asm/stack.err |