Hallo an Alle,
habt Ihr irgendwelche Lieferquellen für einen Attiny 25-20 im SO8 Gehäuse, im 0.150" nicht in den breiteren.
Benötige den für ein bestehendes Projekt.
Oder alternativ verfügbar wäre der ATTINY25V-10SSU.
Jetzt meine Frage, ich habe ein Programm das normalerweise mit dem 20MHZ Typ mit internem RC Oszillator 8 MHz läuft.
Kann mir einer helfen, ob ich den ATTINY25-10SSU da auch einsetzen kann ?
Gruß Thomas
Alles anzeigen
habt Ihr irgendwelche Lieferquellen für einen Attiny 25-20 im SO8 Gehäuse, im 0.150" nicht in den breiteren.
Benötige den für ein bestehendes Projekt.
Oder alternativ verfügbar wäre der ATTINY25V-10SSU.
Jetzt meine Frage, ich habe ein Programm das normalerweise mit dem 20MHZ Typ mit internem RC Oszillator 8 MHz läuft.
Kann mir einer helfen, ob ich den ATTINY25-10SSU da auch einsetzen kann ?
Gruß Thomas
Quellcode
- $regfile = "attiny25.dat"
- $swstack = 32
- $hwstack = 10
- $framesize = 40
- $crystal = 8000000
- $PROG &HFF,&HE2,&HDF,&HFF' generated. Take care that the chip supports all fuse bytes.
- '----------------------------------------------
- '----------------------------------------------
- Config Portb.0 = Output
- Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down
- Dim Pwm_value_eeprom As Byte
- Readeeprom Pwm_value_eeprom , 2 'Position im eeprom
- Pwm0a = Pwm_value_eeprom
- Dim Pwm_value_flasrom As Byte
- Dim Pwm_value_flasrom_save As Byte
- '----------------------------------------------
- '----------------------------------------------
- Config Pinb.1 = Input
- Config Pinb.2 = Input
- Plus Alias Pinb.2
- Portb.1 = 1
- Minus Alias Pinb.1
- Portb.2 = 1
- '----------------------------------------------
- '----------------------------------------------
- Config Timer1 = Timer , Prescale = 1024 'Timer konfigurieren
- On Timer1 Timer_irq 'Timerinterrupt Subroutine zuweisen
- Enable Timer1 'Timer aktivieren
- Start Timer1 'Timer starten
- 'Timer1 = 61 '0.0250 Sekunden 'Timer auf neuen Startwert einstellen
- 'Timer1 = 158 '0.0125 Sekunden 'Timer auf neuen Startwert einstellen
- '----------------------------------------------
- Enable Interrupts 'Global Interrupts erlauben.
- '----------------------------------------------
- Dim Timervariable As Byte
- Timervariable = 160
- Dim Prelltaster_1 As Byte
- Dim Lampe_aus As Bit
- Dim Taste__dim As Byte
- '----------------------------------------------
- '----------------------------------------------
- Const Dimmgeschwindigkeit = 1 'größer wird langsammer
- Const Zeit_ausschalten = 40 'Zeit für Lampe aus - größer dann muss man länger warten
- '----------------------------------------------
- '######################################################
- Do
- '----------------------------------------
- Pwm0a = Pwm_value_eeprom
- '----------------------------------------
- '----------------------------------------
- If Plus = 1 And Minus = 0 Then 'Wenn Taste gedrückt
- If Prelltaster_1 = 0 Then '800ms Entprellung
- If Lampe_aus = 0 Then 'normalmodus
- If Taste__dim = 0 Then 'Wenn Wartezeit abgelaufen ist
- Taste__dim = Dimmgeschwindigkeit 'dann Wartezeit hochschreiben
- If Pwm_value_eeprom < 255 Then Pwm_value_eeprom = Pwm_value_eeprom + 1 'Dimmwert erhöhen
- Writeeeprom Pwm_value_eeprom , 2
- End If
- Else
- Reset Lampe_aus
- Pwm_value_eeprom = Pwm_value_flasrom_save 'zurückladen
- End If
- End If
- End If
- '----------------------------------------
- '----------------------------------------
- If Minus = 1 And Plus = 0 Then 'Wenn Taste gedrückt
- If Prelltaster_1 = 0 Then '800ms Entprellung
- If Lampe_aus = 0 Then 'normalmodus
- If Taste__dim = 0 Then 'Wenn Wartezeit abgelaufen ist
- Taste__dim = Dimmgeschwindigkeit 'dann Wartezeit hochschreiben
- If Pwm_value_eeprom >= 1 Then Pwm_value_eeprom = Pwm_value_eeprom - 1 'Dimmwert erhöhen
- Writeeeprom Pwm_value_eeprom , 2
- End If
- Else
- Reset Lampe_aus
- Pwm_value_eeprom = Pwm_value_flasrom_save 'zurückladen
- End If
- End If
- End If
- '----------------------------------------
- '----------------------------------------
- If Plus = 1 Or Minus = 1 Then 'solange immer nur eine Taste gedrückt wird
- Timervariable = Zeit_ausschalten '160 * 0,0125s = 2 sec
- End If
- '----------------------------------------
- '----------------------------------------
- If Plus = 0 And Minus = 0 Then 'Beide Tasten gedrückt.
- Prelltaster_1 = 80 '1000ms
- End If
- '----------------------------------------
- '----------------------------------------
- If Timervariable = 0 Then
- If Pwm_value_eeprom <> 255 Then 'vor überschreiben Sichern
- Pwm_value_flasrom_save = Pwm_value_eeprom 'Sichern
- Set Lampe_aus
- Pwm_value_eeprom = 255
- End If
- End If
- '----------------------------------------
- Loop
- '######################################################
- '------------[ Timer IRQ]------------
- Timer_irq: 'Beginn Subroutine
- 'Timer1 = 61 '0.0250 Sekunden 'Timer auf neuen Startwert einstellen
- Timer1 = 158 '0.0125 Sekunden 'Timer auf neuen Startwert einstellen
- If Timervariable > 0 Then Decr Timervariable '2sec Tastebdruck
- If Prelltaster_1 > 0 Then Decr Prelltaster_1 '800ms Entprellung
- If Taste__dim > 0 Then Decr Taste__dim
- Return 'Ende Subroutine
- '---------------------------------------