Author |
Topic |
swede
Member
1091 Posts |
Posted - 2003/04/24 : 20:53:18
|
Jag var kvar i Schweiz. Åkte till Zürich och hälsade på.
//magnus |
perl -ne'chomp;$a.=pack"b*",$_;END{print"\n$a\n\n"}'<<RM 10000010001101101010011000001110000101100000010001001110 101011100011011010100110110011101000010001010000 RM |
|
|
loovet
Member
354 Posts |
Posted - 2003/04/25 : 00:16:31
|
Angående rejvgudrun tankar på att det finns färdiga kort att köpa;
För mig är det, det gemensamma utbytet, samt den egna tillfredställelsen som gör att jag tycker att det är så otroligt roligt att, tillsammans men hjälp av andra, skapa min egen grej.
I mitt fall så är det så otroligt långt från min profession att det förmodligen är näst intill otänkbart att hålla på med DIY inom HIFI. Det är förmodligen därför det är så otroligt kul... Hoppas att det finns fler som känner det samma...
/loovet |
// det blev en aleph 1.7 // |
|
|
rejvgudrun
Member
562 Posts |
Posted - 2003/04/26 : 15:07:07
|
Blev klar med nätdelen igår...nyfikenheten tog överhanden och jag kopplade in den direkt i vägguttaget... och säkringen gick med en liten puff =( jag hade kopplat +60V&-60V till jorden på kretskortet med var sitt 15k motstånd imellan...
friskt kopplat, hälften brunnet...
vilka komponenter förutom trissorna är esd-känsliga? kan esd-skadade komponenter orsaka kortisar?
//v |
________________________ PRAGA MATER URBIUM |
|
|
loovet
Member
354 Posts |
Posted - 2003/05/01 : 18:27:03
|
Och här kommer jag med min kod för volymkontrollen. Får väl ses som ett utkast då jag ännu inte har provat att styra någon volym med den ännu, men den fungerar ypperligt på min lysdiodrar
Använder min av en PIC16F84, RB0 används för interrupt och är kopplad till en pulsgivare. RB1 är oxå kopplad till pulsigvaren och fungerar som en riktningsindikator, öka eller minska volymen. Använder mig av RA0:3 och RB4:7 som utgångar.
Nagref, jag tror att du skrev tidigare att alla förändringar på Interrupten skulle gära att den hoppade in i den rutinen. Altså både tillkoppling och frånkoppling på RBO. Som jag har fått det hela att fungera så verkar det dock som att han bara hoppar in i rutinen vid tillkoppling.
Kanske finns någon som vill utnytja koden så håll till godo...
mvh
/loovet
org 0x00 ;This is where we come on power up and reset
;*******************SETUP CONSTANTS*******************
INTCON EQU 0x0B ;Interrupt Control Register PORTB EQU 0x06 ;Port B register address PORTA EQU 0x05 ;Port A register address TRISA EQU 0x85 ;TrisA register address TRISB EQU 0x86 ;TrisB register address STATUS EQU 0X03 ;Status register address COUNT EQU 0x0c ;This will be our counting variable goto main ;Jump over the interrupt address
;***************INTERRUPT ROUTINE***************
org 0x04 ;This is where PC points on an interrupt btfss PORTB,1 ;Check RB1 to find out if to increase ;or decrease goto increase ;If RB1 = 1 then decrease goto decrease ;If RB1 = 0 then increase
increase bcf INTCON,0x01 ;We need to clear this flag to enable ;more interrupts movlw 0xFF ;Move the value 255 into w subwf COUNT,0 ;Subtract w from COUNT, and put the ;result in w btfss STATUS,0 ;Check the Carry flag. Kolla om vi nått 255 ;i så fall skall vi inte fortsätta att öka. incf COUNT,1 ;Increment COUNT by 1, and put the result ;back into COUNT retfie ;Come out of the interrupt routine
decrease bcf INTCON,0x01 ;We need to clear this flag to enable ;more interrupts movlw 0x00 ;Move the value 0 into w subwf COUNT,0 ;Subtract w from COUNT, and put the ;result in w btfss STATUS,2 ;Check the Carry flag. Kolla så att vi inte har ;noll för i så fall skall vi inte minska mer. decf COUNT,1 retfie ;Come out of the interrupt routine
;*******************Main Program*********************
main
;*******************Set Up The Interrupt Registers****
bsf INTCON,7 ;GIE – Global interrupt enable (1=enable) bsf INTCON,4 ;INTE - RB0 Interrupt Enable (1=enable) bcf INTCON,1 ;INTF - Clear FLag Bit Just In Case
;*******************Set Up The Ports******************
bsf STATUS,5 ;Switch to Bank 1 movlw 0x03 movwf TRISB ;Set RB0 as input movlw 0x10 movwf TRISA ;Set R 0 to RA3 on PortA as output bcf STATUS,5 ;Come back to Bank 0
;*********************Defalult value volume*****************
movlw b'00000000' ;Put the value from start to 0 movwf COUNT ;*******************Now Send The Value Of COUNT To Port A
loop movf COUNT,0 ;Move the contents of Count into W movwf PORTA ;Now move it to Port A movf COUNT,0 movwf PORTB goto loop ;Keep on doing this end ;End Of Program |
// det blev en aleph 1.7 // |
|
|
swede
Member
1091 Posts |
Posted - 2003/05/02 : 11:47:25
|
Ah, nu förstår jag varför du bara får 24 steg på ett varv. I och med att du triggar interruptet på positiv flank, så kommer din sanningstabell vara följande:
A B --- 0 0 <- inget interrupt 0 1 <- inget interrupt 1 1 <- interrupt ena hållet 1 0 <- interrupt andra hållet.
Med andra ord tappar du upplösningen (du behåller 1/4 av upplösningen). Men det fungerar! Och det är ett snyggt hack!
Så antingen nöjer du dig med 24 steg per varv, eller lär dig hur man avkodar alla "states".
Kram, //magnus |
perl -ne'chomp;$a.=pack"b*",$_;END{print"\n$a\n\n"}'<<RM 10000010001101101010011000001110000101100000010001001110 101011100011011010100110110011101000010001010000 RM |
|
|
Topic |
|
|
|