Autor |
Suche: Programm für Diascanner in Assembler |
|
|
|
|
BID = 574299
Kuddel Daddeldu Neu hier
Beiträge: 20 Wohnort: Hamburg
|
|
Hallo Forum,
Ich habe mich bei einem Projekt in der Zeit verschätzt und jetzt brauche ich eure Hilfe. Also folgendes:
Ich habe eine Art Diascanner gebaut(den ich zu Weihnachten verschenken möchte), bei dem eine Kamera vor einen Diaprojektor montiert ist. Diese Kamera wird über einen Elektromagneten ausgelöst, der über ein Relais mit einem ATtiny15 angesteuert wird(PB1). Der Mechanismus, der die Dias schiebt, wird ebenfalls über ein Relais mit dem gleichen ATtiny15 angesteuert(PB0). Mir ist beim Bau die Zeit davongelaufen und jetzt habe ich keine Zeit mehr ein Programm für den AVR zu schreiben. Ich bin in sachen Assembler ein totaler Anfänger und darum würde es bestimmt eine ganze Woche dauern, bis ich so ein Programm zusammengeklöppelt hätte. Die Zeit habe ich natürlich nicht mehr. Darum dachte ich mir: He, warum fragst du nicht die Experten im Forum, für die ist das doch Kinderkram.
Ich würde mich also total freuen, wenn sich einer von euch erbamen könnte und mir hilft, mein Program rechtzeitig auf die Beine zu stellen.
Also hier das was ich ganz genau brauche:
Ich brauche eine Programm für einen ATtiny15L, dass:
1. Sofort nach dem einschalten Spannung bei PB1 anlegt(5V).
2. So solange ausharrt, bis jemand den Taster an PB3 betätigt(der ist geschaltet wie auf dem ATMEL Eval-Board. Also PB3 als Eingang)
3. Für 0,2 Sekunden Spannung an PB0 anlegt.
4. Danach wieder 1,0 Sekunden lang ausharrt(Immernoch mit Spannung an PB1)
5. Nach der Sekunde Wartezeit die Sannung an PB1 für 0,3 Sekunden auf Null setzt.
6. Dann 0,3 Sekunden wartet.
7. Dann wieder bei Punkt 3. beginnt
8. Nach exakt 50 durchgängen wieder bei Punkt 1. beginnt.
Bekommt ihr das hin? Oder könnt ihr mir wenigstens Tipps geben (vor allen Dingen, wie ich das mit der Wartezeit hinbekomme)? Wäre echt super. Wie gesagt, ich würd es selbst probieren, aber die Zeit ist zu knapp.
Danke schonmal im Vorraus. |
|
BID = 574313
Racingsascha Schreibmaschine
Beiträge: 2247 Wohnort: Gundelsheim
|
|
Bin kein Atmel-Mensch, aber kannst du zB. Bascom-Basic? Damit müsste das ziemlich schnell zusammengeschrieben sein.
_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie. |
|
BID = 574315
Kuddel Daddeldu Neu hier
Beiträge: 20 Wohnort: Hamburg
|
Ich kann es nicht, aber vielleicht du Oder vielleicht sieht das hier jemand der das mit irgendeiner Form von C hinbekommt. Hauptsache das ist am 24.12 fertig
|
BID = 574347
Her Masters Voice Inventar
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5308 Wohnort: irgendwo südlich von Berlin
|
was gibts doch für Spassvögel!!!!!!
Haste dir mal Gedanken gemacht was ne Softwareentwicklung kostet? Dazu noch mit Extraeilzuschlag....
_________________
Tschüüüüüüüs
Her Masters Voice
aka
Frank
***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************
|
BID = 574368
Kuddel Daddeldu Neu hier
Beiträge: 20 Wohnort: Hamburg
|
Ich war mal davon ausgegangen, das sowas für euch in zwei minuten gemacht ist. Außerdem reicht es ja eigentlich schon, wenn ihr mir sagt, wie ich es in Assembler hinbekomme, dass das Programm genau meine vorgegebene Zeit "wartet" alles andere kann ich selbst (glaube ich zumindest).
|
BID = 574374
Racingsascha Schreibmaschine
Beiträge: 2247 Wohnort: Gundelsheim
|
Hast du überhaupt mal Microcontroller programmiert? Wenn nein, wird das glaub bis morgen nix mehr...
_________________
Fnord ist die Quelle aller Nullbits in deinem Computer.
Fnord ist die Angst, die Erleichterung, und ist die Angst.
Fnord schläft nie.
|
BID = 574379
Her Masters Voice Inventar
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5308 Wohnort: irgendwo südlich von Berlin
|
einen Timer einfach immer durchlaufen lassen und die Durchläufe zählen, so kommt man auf seine Wartezeit.
_________________
Tschüüüüüüüs
Her Masters Voice
aka
Frank
***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************
|
BID = 574380
Jornbyte Moderator
Beiträge: 7178
|
Für die schnelle Mark am Bahnhof reicht der Delayloop Generator.
Damit sind Warteschleifen schnell gemacht.
Download:
http://www.home.unix-ag.org/tjabo/avr/AVRdelayloop.html
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 574387
Kuddel Daddeldu Neu hier
Beiträge: 20 Wohnort: Hamburg
|
@Jornbyte:
Danke soetwas habe ich gesucht.
Ach ja: Wollen wir wetten, dass ich es bis morgen 16:00 geschafft habe? Ich glaube fest an mich!
|
BID = 574392
Her Masters Voice Inventar
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5308 Wohnort: irgendwo südlich von Berlin
|
wenigstens Einer...
|
BID = 574398
Kuddel Daddeldu Neu hier
Beiträge: 20 Wohnort: Hamburg
|
Pff. Spottet nur.
|
BID = 574513
Kuddel Daddeldu Neu hier
Beiträge: 20 Wohnort: Hamburg
|
Schade, dass wir um nichts gewettet haben!
Ich hab mich hier ganze drei... nein sogar vier(!!) Stunden abgemüht, für etwas, das ihr in 2 Minuten hinbekommen hättet. Aber was solls, jetzt kann ich wenigstens stolz sein, es selbst gemacht zu haben und ich hab auch noch was gelernt.
Zitat :
|
.include "tn15def.inc"
ldi r21, 0b00000001
Step1:
; -----------------------------
; Spannung an PB0 anlegen.
ldi r20, 0b00000000
ldi r16, 0b00000111
out DDRB, r16
ldi r16, 0b00000001
out PORTB, r16
Step2:
; -----------------------------
; Auf den Taster Warten.
sbis PINB, 3
rjmp Step2
Step3:
; -----------------------------
; Für 0,2 Sekunden Spannung an
; PB1 anlegen.
sbi PORTB, 1
ldi R17, $26
WGLOOP0: ldi R18, $17
WGLOOP1: ldi R19, $79
WGLOOP2: dec R19
brne WGLOOP2
dec R18
brne WGLOOP1
dec R17
brne WGLOOP0
nop
nop
cbi PORTB, 1
Step4:
; -----------------------------
; Warten.
ldi R17, $3A
WBLOOP0: ldi R18, $18
WBLOOP1: ldi R19, $F8
WBLOOP2: dec R19
brne WBLOOP2
dec R18
brne WBLOOP1
dec R17
brne WBLOOP0
nop
nop
Step5:
; -----------------------------
; Spannung an PB0 für 0,3
; Sekunden auf Null setzt.
cbi PORTB, 0
ldi R17, $03
WCLOOP0: ldi R18, $BB
WCLOOP1: ldi R19, $DA
WCLOOP2: dec R19
brne WCLOOP2
dec R18
brne WCLOOP1
dec R17
brne WCLOOP0
ldi R17, $12
WCLOOP3: dec R17
brne WCLOOP3
sbi PORTB, 0
Step6:
; -----------------------------
; 0,3 Sekunden warten.
ldi R17, $04
WDLOOP0: ldi R18, $C6
WDLOOP1: ldi R19, $C9
WDLOOP2: dec R19
brne WDLOOP2
dec R18
brne WDLOOP1
dec R17
brne WDLOOP0
ldi R17, $0C
WDLOOP3: dec R17
brne WDLOOP3
Step7:
; -----------------------------
; Bis 50 zählen.
add r20, r21
sbrs r20, 5
rjmp Step3
rjmp Step1
ende: rjmp ende
|
Ach übrigens: Fröhliche Weihnachten und einen guten Rutsch!
|
BID = 574548
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Zitat :
| für etwas, das ihr in 2 Minuten hinbekommen hättet |
und
Zitat :
| Darum dachte ich mir: He, warum fragst du nicht die Experten im Forum, für die ist das doch Kinderkram.
|
So lautet das immer, immer dieses typische Geschleime mit den Experten, Profis und Könnern, aber auch für die ist es Arbeit bzw. das Reindenken in das Problem anderer.
Und das dauert eben keine zwei Minuten.
So ist es doch viel schöner, dass du es selbst gemacht hast und ich wünsche Dir selbstverständlich auch ein frohes Weihnachtsfest!
_________________
|
BID = 574552
Ltof Inventar
Beiträge: 9334 Wohnort: Hommingberg
|
Zitat :
Kuddel Daddeldu hat am 24 Dez 2008 14:20 geschrieben :
|
...jetzt kann ich wenigstens stolz sein, es selbst gemacht zu haben und ich hab auch noch was gelernt...
|
Prima!
Sowas in der Art will ich mir auch noch bauen, um meine Diasammlung zu digitalisieren und auszusortieren.
Wie hast Du das optisch gelöst? Wie sind die Ergebnisse? Sind die Bilder spiegelverkehrt?
Hast Du mal ein Foto von dem Aufbau?
Gruß,
Ltof
_________________
„Schreibe nichts der Böswilligkeit zu, was durch Dummheit hinreichend erklärbar ist.“
(Hanlon’s Razor)
|
BID = 574554
Her Masters Voice Inventar
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5308 Wohnort: irgendwo südlich von Berlin
|
In guten Fotoläden kann man entsprechende Geräte auch ausleihen. Dann ist das Ergebnis wirklich gut und man hat anschliessend kein nutzloses Gerät rumstehen.
Für die erfolgreiche Programmierung meine herzlichsten Glückwünsche!!!
_________________
Tschüüüüüüüs
Her Masters Voice
aka
Frank
***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************
|