Sida 3 av 3
Postat: 11 september 2008, 01:24:13
av eAk
du kan löda på en ström kontakt eller stiftlist uppe i vänstra hörnet.
där du kan koppla på egen ström om du vill.
kopplar du ur din pickit och kopplar på 5volt där istället funkar programmet som det ska.
skulle gissa att det har något med fuse bitarna att göra. men orkar inte tareda på vad det är som cepar.
snart har jag skrivit klart kod för att växla dioderna.
Postat: 11 september 2008, 01:32:22
av Plutonium
Nu är jag med

. Men generellt sätt så kan man väl nyttja den befintliga 5volt källan från programmeraren? Och ändå köra det skript som du har skrivit?
Postat: 11 september 2008, 01:40:29
av eAk
Nu harj ag skrivit lite kod här men är lite trött och orkari nte kolla vad som behöver ändras för den står mest och blinkar med delay bara.
Kod: Markera allt
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
cblock 0x20
variabel1, delay1, delay2 ;Used for internal calculations
endc
Start:
banksel ANSEL
clrf ANSEL
banksel TRISC
bcf TRISC,0 ; make IO Pin RC0 an output
bcf TRISC,1 ; make IO Pin RC1 an output
bsf TRISA,3 ;Gör ra3 till input
banksel PORTC
movlw D'0' ;lägg 0 i W
movwf PORTC ;släck alla dioder
;bsf PORTC,0 ; turn on LED C0 (DS1)
;bsf PORTC,1 ; turn on LED C1 (DS2 ?)
banksel PORTA
movlw B'01010101' ;för att växla av /på på dioderna.
movwf variabel1
loopa:
btfss PORTA,3 ;här testar vi knappen (om 0 hoppa till loopb)
goto loopb
call vanta
rrf variabel1 ;här snurrar vi variabel 1 för att byta siffra.
loopb:
btfss variabel1,0 ;här testar vi variabel1 (som har antingen 1/0 i bit 0 för varje gång knappen blivit klickad)
goto loopd
bsf PORTC,1
loopd:
btfsc variabel1,0 ;här testar vi variabel1 (som har antingen 1/0 i bit 0 för varje gång knappen blivit klickad)
goto loopa
bcf PORTC,1
goto loopa ; börja om från loopa
vanta:
movlw D'255'
movwf delay1
movwf delay2
loopc:
decfsz delay1
goto loopc
decfsz delay2
goto loopc
return
end
Postat: 11 september 2008, 02:09:18
av Plutonium
Tusen tack, skall laborera mer med detta imorgon, samt ändra min 5volts ingång.
Postat: 11 september 2008, 02:20:28
av eAk
Nu funkar koden

det var bara att ändral ite på debounce delen.
Kod: Markera allt
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
cblock 0x20
variabel1, delay1, delay2 ;Used for internal calculations
endc
Start:
banksel ANSEL
clrf ANSEL
banksel TRISC
bcf TRISC,0 ; make IO Pin RC0 an output
bcf TRISC,1 ; make IO Pin RC1 an output
bsf TRISA,3 ;Gör ra3 till input
banksel PORTC
movlw D'0' ;lägg 0 i W
movwf PORTC ;släck alla dioder
;bsf PORTC,0 ; turn on LED C0 (DS1)
;bsf PORTC,1 ; turn on LED C1 (DS2 ?)
banksel PORTA
movlw B'01010101' ;för att växla av /på på dioderna.
movwf variabel1
loopa:
btfsc PORTA,3 ;här testar vi knappen (om 0 hoppa till loopb)
goto loopb
call vanta
btfsc PORTA,3
goto loopb
rrf variabel1 ;här snurrar vi variabel 1 för att byta siffra.
loope:
btfss PORTA,3
goto loope
loopb:
btfss variabel1,0 ;här testar vi variabel1 (som har antingen 1/0 i bit 0 för varje gång knappen blivit klickad)
goto loopd
bsf PORTC,1
loopd:
btfsc variabel1,0 ;här testar vi variabel1 (som har antingen 1/0 i bit 0 för varje gång knappen blivit klickad)
goto loopa
bcf PORTC,1
goto loopa ; börja om från loopa
vanta:
movlw D'80'
movwf delay1
movwf delay2
loopc:
decfsz delay1
goto loopc
decfsz delay2
goto loopc
return
end