@Sprinter,
das muß nicht unbedingt stimmen, ich habe hier Piezos, die einfach zwichen VCC und einem Port liegen, auf den Port 4 kHz, und dann gehen Meine Ohren fliegen, also ohne umzupolen,
Es kann aber Piezoabhängig sein.
Gruß Sebastian
Falls es ein nicht selbstschwingender Piezo ist:
Dann brauchst du 2 Ports, die du in der Frequenz des Tones wechseln lässt:
PortX:0101010101...
PortY:1010101010...
Miss das Ding mal durch, ist bestimmt sehr hochohmig. Dann kannst ihn direkt zwischen die Ports hängen.
Wenn du ne Spannung drauf gibt hörst du ihn clicken -- aber nur das erste Mal. Um ihn nochmal clicken zu lassen, musst du umpolen.
Durch das schnelle Umpolen mitm µC hört man nen Ton.
@Sprinter,
das muß nicht unbedingt stimmen, ich habe hier Piezos, die einfach zwichen VCC und einem Port liegen, auf den Port 4 kHz, und dann gehen Meine Ohren fliegen, also ohne umzupolen,
Es kann aber Piezoabhängig sein.
Gruß Sebastian
Sonst ging der gleiche Piezo auch immer so.
Naja egal, das Display möchte ich zuerst prüfen.
Geht der Code oben?
Gruß, Björn
Nur tote Fische schwimmen mit dem Strom...
Das mußt Du wohl besser wissen, oder ?Geht der Code oben?
Zum Leuchten lassen geht er. In die Hauptschleife muss er nicht rein.
Was mir nicht dran gefällt: Nach dem Config stehel alle Ports auf 0.
Das ist hier nur sehr kurz -- etwa 2µs bis du alle Ports fertig hast -- aber *etwas* unschön. Genau sowas kann dir ner zickige Schaltung ins Nirvana senden.
Setze erst alle Port-Register auf 1 (Pullup aktiv), dann pack die DDRs an und mach die Ports zu Ausgängen, und dann setzt du die Pins auf 0, die du haben willst.
Damit meinte ich sinngemäß "kann ich den Code testen ohne meine Schaltung zu zerschrotten".Zitat von izaseba
Gruß, BjörnCode:$regfile = "m8def.dat" $crystal = 8000000 PortD.0 = 1 PortD.1 = 1 PortD.2 = 1 PortD.3 = 1 PortD.4 = 1 PortD.5 = 1 PortD.6 = 1 PortD.7 = 1 PortB.5 = 1 PortB.3 = 1 PortB.1 = 1 Config PortD = Output 'PortD ist mit den Kathoden belegt Config PortB = Output 'PortB sind die Transistoren PortD.4 = 0 'D.4 ist an Pin 10 PortD.5 = 0 'D.5 ist an Pin 12 PortB.5 = 0 'B.5 ist an der Basis des Transistors der ersten Displaystelle Do Loop
P.S.: Was sind DDRs?
Nur tote Fische schwimmen mit dem Strom...
Lesezeichen