Gefunden für analog timer - Zum Elektronik Forum |
| 1 - einfache Möglichkeit anzuzeigen, dass Deckenlampe brennt -- einfache Möglichkeit anzuzeigen, dass Deckenlampe brennt | |||
| |||
| 2 - Timer als Ersatz für TV Timer -- Timer als Ersatz für TV Timer | |||
| So der Monitor läuft. Habe ein neues Signal Board eingebaut. War für 9 Euro sehr günstig und lohnt sich schon wenn man bedenkt das der Defekte Monitor nichts gekostet hat.
Ein Ausschaltproblem ist auch erledigt. Timer Betrieb über den Sat Receiver funktioniert direkt. Wenn der Receiver ausgeht schaltet der Monitor ohne Signal ab. Also bisher alles bestens. Bild ist auch Top da der Monitor über Hdmi am Receiver hängt. Jetzt hat sich aber ein neues Problem aufgetan. Der Ton. Da die Monitorspeaker Käse sind sind wollte ich den Tön über zwei vorhandene Sony Miniaktivspeaker wiedergeben. Ich versuchte den Tön am Scart Ausgang des Receivers abzugreifen über einen Scart zu Cinch Adapter Umschaltbar von Input zu Output. Das Ergebnis ist aber nicht überzeugend. Der Pegel ist für Aktivspeaker etwas niedrig. Und dann kommt ein eigenartiger Effekt das Musiksignale gut vernehmbar und laut wiedergegeben werden aber Spräche nur leise und verzwitchert. Ganz eigenartiger Effekt. Hat das auch schonmal von euch jemand gehabt? Ich hab's dann nochmal ohne den Adapter versucht mit einem Scart Stecker der noch mit ca 20 cm Kabel belegt war. Das Tonsignals an den vorgesehenen Pins Analog out direkt abgegriffen. Und siehe da das gleiche Ergebnis wie vorher. Ist fü... | |||
3 - Mikrowellekontroller oder konventionell? -- Mikrowellekontroller oder konventionell? | |||
| Grundsätzlich ist so nen µC nichts anderes als ein Mikroprozessor, der Recheneinheit, Arbeitsspeicher, Programmspeicher und z.T. Peripheriebausteine bereits integriert hat.
Da gibts von vielen Herstellern unterschiedliche Familien, im Hobbybereich sind aber Atmel AVR und Microchip PIC ziemlich weit vorne dabei, weil billig und einfach zu benutzen. Um da was anzuschließen kannst du im simpelsten Fall die einzelnen I/Os setzen bzw. auslesen. Manche davon sind mehrfach belegt und können anstelle des digitalen I/O auch Funktionen wie A/D-Wandler oder PWM Ausgang übernehmen. Oft sind auch diverse serielle Schnittstellen wie UART, SPI oder I²C integriert. Dazu gibts dann nen Haufen Register, Timer und Interrupts um auf Ereignisse zu reagieren und das Zeug zu steuern. Als Betriebsspannung sind 3,3 und 5V gängig, viele Chips können aber auch mit einem größeren Spannungsbereich umgehen. (AVR je nach Takt und Modell zwischen 1,8 und 5,5V.) Die spucken dann TTL-kompatible Pegel aus die man direkt weiter verwursten kann, oder z.b. mit nem MAX232 auf klassische V.24 umsetzen. Die Leistung reicht dabei aus um LED oder Kleinsignalransistoren direkt anzusteuern. Aus dem Kopf wären das beim AVR 20mA pro Portpin, bzw. 200mA für den ganzen Chip - kann mittlerweile auch... | |||
| 4 - Hilfe:Klartraum-Maske -- Hilfe:Klartraum-Maske | |||
| So, ich habe mal ein bisschen was programmiert. Ich habe mich
dann doch für den Attiny13A entschieden, weil sich bei dem der Watchdog einfacher nutzen lässt ( WD-Interrupt statt Reset ). Der Spannungsbereich ist mit 1.8V..5.5V auch sehr entgegenkommend. Es werden 2 Ports für die LEDs genutzt. Normalerweise würde das auch ein Port schaffen, wenn die jeweils relativ hochohmig angebunden werden. Strombilanz: Warte 6h auf REM-Phase 4.5µA Led-Blinkend mit Watchdog (1800ms*4.5µA + 200ms * 5mA)/2s = ~ 500µA )* Power-Down-Mode nach REM-Blinken 120nA Betrieb mit einer CR2032, die grob über 200mAh verfügen sollte (das anfängliche 3x-Blinken als Start-Feedback vernachlässige ich mal) : 6.0h Warten auf REM 4.50uA = 270 µAh 0.5h aktiv blinken (0.2/1.8) 500.00µA = 250 µAh 17.5h Warten auf nächste Nacht 0.12µA= 2.1µAh = 522µAh Tagesverbrauch Bei 200mAh sind das -> 383 Tage, die Batterie hält also ein gutes Jahr bei täglicher Anwendung. Wenn es nicht angewendet wird, ist der Idle Strom so gering, dass die Batterie in diesem Zustand theoretisch 190 Jahre hält. Es lohnt sich also nicht mehr, in diesem Bereich zu optimieren oder sich was an... | |||
| 5 - n Impulse zählen und auswerten -- n Impulse zählen und auswerten | |||
| Ich bin neu im Forum und hoffe, mein Thema passt irgendwie hierher. Bin leider ein Greenhorn und habe nur lange zurückliegende
Elektronik-Erfahrungen. Problemstellung: Ich betreibe eine Photovoltaikanlage mit unentgeltlicher Einspeisung. D.h. ich muss versuchen, die meiste Energie selbst zu verbrauchen. Sinn oder Unsinn dieser Konstellation soll nicht Gegenstand der Erörterung sein
Im Augenblick taste ich Impulse ab, indem ich an einem alten Stromzähler an der Scheibe Markierungen angebracht habe und diese über eine Timer-Schwellwertschalterkombination (analog) auswerte. Keine sehr elegante Lösung. Ich möchte mir eine Schaltung aufbauen, mit der ich eine (in gewissem Rahmen)frei definierbare Anzahl Impulse verwende, um ein Relais zu schalten. Die Frequenz der verfügbaren (TTL-gerechten) Rechteckimpulse aus o.g Anordnung liegt bei ca. 1 bis 10 Hz. Ziel ist es also, bei unter- oder überschreiten von z. B. 7Hz eine Pegeländerung zu erreichen. (Die gewünschte Hysterese könnte ich auf der analogen Seite realisieren) Könnte man sowas mit einem Zähler realisieren und welche Schaltkreise wären dafür geeignet? Wenn meine Problemstellung nicht hierher passt, wo denkt Ihr könnte ich Hilfe finden? Gruß aus... | |||
| 6 - Schaltung für DC-Motor: Drehzahl und Richtung per Poti -- Schaltung für DC-Motor: Drehzahl und Richtung per Poti | |||
| Mit den entsprechenden Grundkenntnissen währe das einfachste einen µ-Controller die Auswertung machen zu lassen. Da würde der kleinste ATtiny gehen der 1 Timer und mindestens einen AD Wandlereingang hat. Dazu bräuchte man noch eine H Brücke (4 Bipolartransistoren (2 NPN und 2 PNP) mit entsprechenden Basiswiderständen und je nach verfügbaren Controllerpins noch 2 Logiggatter (würde 2 Pins einsparen), wenn aber nur der Motor bewegt werden soll würde ich auf die Gatter verzichten und hätte somit den Platzbedarf nochmals halbiert)) und einen Widerstand für den Reset des Controllers sowie das Poti. Ok, bei 12V benötigt man noch 3 Bauteile um 5V zu generieren für den Controller (7805 und 2 Kondensatoren.) Das ist imho die kleinste Möglichkeit sowas aufzubauen und würde wohl rein von der Platine her locker auf 3x3cm auskommen wenn man sogar noch entsprechende Schraubklemmen vorsieht.
Wenn du dir die Einarbeitung in dieses Thema zutraust (ist gar nicht so schwer mit entsprechendem Interesse und ein paar Grundlagen) ist es sicher kein großes Problem ein Programm zu erstellen was eben dies tut. Rein analog wird es sicher mit Komparatorschaltungen auch gehen allerdings kann ich dir dazu aus dem Stehgreif nichts sagen, ich meide die Analogtechnik wo immer es geht | |||
| 7 - Maturaarbeit: Motorisiertes Kugellabyrinth -- Maturaarbeit: Motorisiertes Kugellabyrinth | |||
Zitat : was analog(Modellbau-FB-Technik) heisst?... Also ein Wikipedia-Link oder auch nur ein Suchwort würde reichen. Gotcha, so dumm ist die Frage gar nicht. Ich weiss es zwar, aber wo es erklärt ist, .... hier mal ein paar Bruchstücke: http://www.rn-wissen.de/index.php/Servos http://www.hooked-on-rc-airplanes.com/servo-tutorial.html Grob erklärt: In der Fersteuerung ist ein Poti, welches in einem Timer die Zeit bestimmt. Die Pulse sind je nach Position des Stellhebels an der FB 1-2ms lang. Diese Pulse werden per Funk an den Empfänger und von dort an die Servos übertragen. Da drin ist wieder ein Poti. Dieses Poti ist hier aber an die Ausgangsachse des Servos gekopplet. Die El... | |||
| 8 - ATMEGA32 liest nur 0xFF aus dem EEPROM -- ATMEGA32 liest nur 0xFF aus dem EEPROM | |||
| Hallo!
Irgendwas stimmt nicht mit meinem Quellcode mit Assembler. Ich kann ohne Probleme verschiedene I²C-ICs steuern und auslesen, nur beim DS1307 und sogar beim 24C04 bzw SDA2516 liest der AVR nur 0xFF. Ich habe verschiedene Tests gemacht um den Fehler einzukreisen. Zuerst ein Schreibtestprogramm für den TDA6200: Code : ;********************************************************************************************* ;* * ;* Test... | |||
| 9 - Schreiben geht, lesen nicht - I2C und AVR -- Schreiben geht, lesen nicht - I2C und AVR | |||
| Hallo Leute!
Ich habe meine AVR300.asm verloren, und zwar die bereits umgeschribene und komme nun nicht mehr raus, wie ich das vor Monaten geschafft habe einen SDA2516-2 auszulesen. Beschreiben funktioniert ohne ein weiteren Problem, nur das lesen nicht und brauche mal schnell eure Hilfe und bedanke mich jetzt schon. Im Anhang mein Code: Code : .include "m48def.inc" ; change if an other device is used ;**** Global I2C Constants **** ... | |||
| 10 - Wildretter-Blitzer mit 3V ? -- Wildretter-Blitzer mit 3V ? | |||
| Prinzipiell meinte ich das so. Blöde ist blos, dass der über den Reset blockierte 555 den gleichen Strom konsumiert (eigentlich sogar mehr), als würde er laufen. Ein Stromspareffekt ist damit nicht machbar.
Schöner wäre es, man würde so in den Oszillator eingreifen, dass er eben weniger braucht. Mit nem PIC wäre das alles ruckzuck zusammengestrickt.
edit: Ich würde schon den zweiten Timer als vernünftigen Dämmerungsschalter benutzen. Da irgendwie analog mit dem Fotowiderstand an den Reset gehen, macht wieder alles Mögliche. edit2: Es geht, indem R11 statt an die Versorgung, an den Ausgang des Dämmerungsschalters geklemmt wird. Dann braucht die Schaltung wenigstens nicht mehr als im Betrieb. In der Simulation braucht der bipolare NE555 im geresetteten Zustand den doppelten Strom wie im Betrieb. Das ist Murks. Den Reset würde ich nicht benutzen. Der CMOS-Timer braucht wohl insgesamt weniger und dieses Verhalten wird nicht so ausgeprägt sein. Wieviel, weiß ich nicht. [ Diese Nachricht wurde geändert von: Ltof am 5 Jan 2009 12:01 ]... | |||
| 11 - PWM für 4pol-Lüfter -- PWM für 4pol-Lüfter | |||
| Hallo Zusammen,
ich stehe nach langer elektronischer Ruhepause mal wieder vor einem Problem. Ich möchte mir für meinen PC eine Lüftersteuerung bauen, soweit noch leicht, gibt ja genug Anleitungen. Allerdings habe ich mir Lüfter mit 4poligem Anschluss zugelegt, und zwar solche mit zusätzlichem Pin für die Steuerung der Geschwindigkeit. Diese erwarten an dem 4. Pin ein PWM-Signal von 25kHz. Insgesamt regeln möchte ich auf diese Art 5-6 Lüfter, wenn möglich getrennt, also mittels Software-PWM. Als µC hatte ich einen ATmega8 ins Auge gefasst, da es der kleinste mit genug Pins und I2C ist. Genug geschrieben, hier mein Problem: Der ATmega8 lässt sich maximal mit 16MHz takten. Bei 25kHz Zielfrequenz komme ich auf 640 Takte pro Durchgang. Für einen Timer-Interrupt gehen allein für das Standard-Zeugs (RJMP, RETI, SREG sichern/rückschreiben) 12 Takte drauf. Bei einer (Un-)Genauigkeit von 50 Schritten bleibt mir also keine Zeit für das eigentliche Port-setzen. Ich hoffe, ich übersehe hier etwas wichtiges..
Ausweichmöglichkeiten: Einen "speziellen" Chip, der mehrere PWM-Kanäle zur Verfügung stellt, die 5-6 Lüfter getrennt regeln können. Ich hatte a... | |||
| 12 - Countdown- 7 Segment Anzeige -- Countdown- 7 Segment Anzeige | |||
| Ich habe jetzt einmal spaßeshalber diesen Quelltext in die BASCOM-Umgebung kopiert und kompilieren lassen. Tatsächlich wird mir nur dieser eine Fehler angezeigt. Das wundert mich sehr. Ich kann nämlich z. B. mit Pind.10 und Pind.18 nichts anfangen. Woher kommen diese großen Zahlen? Sind das Pin-Nummern? An Pin 10 beispielsweise liegt Bit 7 des Ports B, an Pin 18 liegt Bit 4 von Port B. (Im Datenblatt nachsehen, welche Port-Bits an welchen IC-Pins anliegen!)
Es müßte also nach meinem Verständnis nicht Pind.10 heißen, sondern Pinb.7 und nicht Pind.18, sondern Pinb.4 (analog bei den anderen Deklarationen und beim Setzen der Port-Bits). Wenn ich die angezählte Zeile in zwei aufteile, kommt aber wieder ein Fehler, da nach If Portd.3 = 1 kein Befehl folgt, der in diesem Falle auszuführen wäre! Die Programmierung genauerer Zeitabstände mittels Timer-Interrupt kommt vielleicht später mal noch. Für jetzt möchte ich aber darauf aufmerksam machen, daß die darzustellenden Zahlen im Abstand von etwa 1,25 s (und nicht 1 s) erscheinen, da pro Ziffer 1 s gewartet wird und pro Piepston 0,25... | |||
| 13 - Ausschalttimer mit Zufallsgenerator -- Ausschalttimer mit Zufallsgenerator | |||
| Ok meine letzte Idee war wohl doch etwas kompliziert. Nun hier ne einfachere Version mit Skizze.
Der NE555 ist wohl die beste Möglichkeit, dein Vorhaben zu realisieren. Erst mal solltest du dich über Prellen von Tastern, digitale Zähler, Digital-Analog-Wandler (DAC) und spannungsgesteuerte Monoflops (spannungsgesteuerter MMV) mit dem NE555 informieren, der Gockel spukt dir über das Zeug genügend Informationen aus. Zur Skizze: Ganz links ist der Taster mit Pull-Down-Widerstand. Dieser hat ca. 10-22kOhm. Der Taster geht auf den Takt- (Clock) Eingang des Zählers. Der Zähler zählt bei jedem Impuls um 1 weiter (bei einem 4-Bit-Zähler von 0-15 und dann wieder von vorne). Ein 4-Bit-Zähler würde reichen, mehr Bit wären aber vorteilhaft, dann stehen einfach mehr Zahlen für den Zufall zur Verfügung. Die Zähl-Impulse kommen durch das Prellen des Tasters ( http://de.wikipedia.org/wiki/Prellen ). Da diese unterschiedlich viele sind, hat man jedes Mal eine andere Zahl am Ausgang des Zählers anliegen. Nach dem Zähler kommt ein Digital-Analog-Wandler. Dieser macht nichts anderes, als eine Dualzahl (die vom Zähler kommt) in eine analoge Spannung (al... | |||
| 14 - Spannung vergleichen von Solarzellen -- Spannung vergleichen von Solarzellen | |||
| Hallo,
wie Ltof schon schrieb, mit den zwei analog- Eingängen der LOGO kämst Du schon zurecht. Entsprechende Bausteine bauen z.B. Spannung Nord= Spannung Süd = 5V. Spannung Ost= Spannung West = 5V. Bei Abweichungen den entsprechenden Motor mittels timer und/oder mit einem neuen Vergleich, in die entsprechende Richtung fahren. An die zentrale Zelle einen Schmitt-Trigger- Modul bauen, welche sagt z.B. Einstrahlung oberhalb Grenzwert => Nachführung erlaubt, Einstrahlung weitunterhalb Grenzwert => Morgenstellung anfahren muß mittels Endschalter kontrolliert werden. Gruß Markus ... | |||
| 15 - Signal mehrerer Fotodioden (Lichtintensität) mit µC auswerten (Signalkonditionierung) -- Signal mehrerer Fotodioden (Lichtintensität) mit µC auswerten (Signalkonditionierung) | |||
| Moin, "Plan" ist übertrieben.
Das Layout ist bei meinem Umstieg von Windows zu Linux leider flöten gegangen. War alles sehr klein. Es ging um Audiosignale, die digitalisiert wurden. Ein Teil habe ich mal hier aufgeschrieben. Ein Timer wird so initialisiert, dass bei jedem Positiven Vergleich ein Interrupt ausgelöst wird. In diesem wird dann der Wert eingelesen und weiterverarbeitet. Dieser Teil dürfte uninteressant sein, da er auf mein Problem zugeschnitten ist. Es wurde abwechseln immer zwei Kanäle (ADC0 und ADC1) gesampelt. Code : ... | |||
| 16 - Frage zu AVR-ATmega8L, Lösung per Interrupts sinnvoll? -- Frage zu AVR-ATmega8L, Lösung per Interrupts sinnvoll? | |||
| Hallo,
ich hab mich erst kurz in µC eingelesen und noch kaum einen Überblick. (Blutiger Anfänger im µC-Befehlssatz trifft es besser. Elektronik ist kein Problem, mit Pseudo-Assembler durfe ich auch mal rumspielen und der Unterschied zwischen Input/Output, Analog/Digital und Port/Pin ist auch klar.) Ich wollte folgende Kleinigkeit einen ATmega8L machen lassen und wäre hoch erfreut, wenn mich jemand in die richtige Richtung schubsen könnte: IO: 2 Eingänge A&B (Digital und je 1 Bit; per CNY17-Optokoppler) 1 Ausgang Z (auch Digital, soll per Logik-Level MOSFET ein Reed-Relais dran.) Logik: Wenn sich am Eingang A der Pegel ändert (Wird relativ konstant mit 1 Hz und etwa 50:50 Duty-Zycle sein) soll ca 10 s lang die Impulse an A gezählt werden. Nach den 10 s sollte abhängigt von der Anzahl der Wechsel und dem Pegel an Eingang B der Ausgang Z für ca 5 s aktiviert werden. Falls jemanden an den Details interesiert ist, es soll eine PC-Fernbedienung werden. An A kommt ein Handy, bzw. der Vibrationsmotor-Anschluss, an B per USB-5V der Status vom PC und das Reedrelais darf den Ein-/Ausschalttaster spielen. Ist es sinn... | |||
| 17 - LED-Blinklicht mit ATS2313 mittels Timer -- LED-Blinklicht mit ATS2313 mittels Timer | |||
| Hallo @all,
dank Jornbytes Hilfe, bin ich mit meinem LED-Blink-Programm mittels Timer weitergekommen. Da normale, auf Bremsschleifen basierende Programme, die Prozessorzeit unnötig verschwenden ist es ratsamer die Blink-Routinen über den eingebauten Timer laufen zu lassen! Im Folgenden hier Jornbytes Erklärung: Zitat : Also... In den Register/Bit Definitions for the AT90S2313 finest du am Ende folgende Zeilen: .equ INT0addr=$001 ;External Interrupt0 Vector Address .equ INT1addr=$002 ;External Interrupt1 Vector Address .equ ICP1addr=$003 ;Input Capture1 Interrupt Vector Address .equ OC1addr =$004 ;Output Compare1 Interrupt Vector Address .equ OVF1addr=$005 ;Overflow1 Interrupt Vector Address .equ OVF0addr=$006 ;Overflow0 Interrupt Vector Address .equ URXCaddr=$007 ;UART Receive Complete Interrupt Vector Address .equ UDREaddr=$008 ;UART Data Register Empty Interrupt Vector Address .equ UTXCaddr... | |||
| 18 - Probleme mit ADC -- Probleme mit ADC | |||
| Hallo
Ich habe einen ATmega128, der auf einem Board von Olimex sitzt. Da ich mich für yC interessierte borgte mir ein ehemaliger Lehrer, das Ding zum Anfangen. Einige grundlegende Schritte, habe ich schon bewältigt, die Kontrolle über die Ein- und Ausgänge, den Timer, und die serielle Schnittstelle habe ich bereits. Jetzt wollte ich mich über den ADC, den Analog-Digital-Converter hermachen. Also habe ich mir, wie schon öfter, das Datenblatt gekrallt, und mich mal hinein gelesen, bis ich, wie ich glaubte, das meiste verstanden habe. So schloss ich kurzerhand die Hardware (siehe Anhang) so, wie ich es für richtig hielt, und schrieb ein Programm (siehe Anhang) dazu. Bald fand ich heraus, wie der ADC gestartet wurde und er schickte tatsächlich Daten, allerdings die falschen, denn egal ob an dem ADC was hängt oder nicht, er steuert immer voll aus, d.h. alle 10 Bits sind gesetzt. Was sagt Ihr dazu, Hardwarefehler, oder Softwarefehler? PS: an PortB hängen 8 LED's, am Eingang des ADC hängt eine Photodiode, als Referenz dient ein Poti. ... | |||
| 19 - Mein Lauflicht :) -- Mein Lauflicht :) | |||
Ich verwende für dieses Beispiel nur Befehle die für alle Atmel (mit Ram) anwendbar sind Um einen anderen Prozz ans Laufen zu bringen muss nur der Includeeintrag und die Interrupttabelle geändert werden. Zuerst sagen wir dem Assembler mal was da für ein µController Verwendung findet. Das wird mit der Assembler Directive .include gemacht. In jedem Prozz sind paar Dinge vorhanden, wie zum Beispiel D/A-Wandler, Timer, Uart, bla bla...... .Diese Komponenten können sich über einen Interrupt melden. Dies führt dazu, das der Prozz zu einer festgelegten Adresse in der Interrupttabelle springt (Interrupt Vector Address). Vor dieser Tabelle ist noch Platz für einen einzigen Befehl. Damit soll es nun Losgehen. rjmp losgehts springt an den Anfang des Programm und da sagen wir dem Prozz was er alles verwenden soll. Der Stackpointer wird an das Ende vom Ram eingerichtet. Der braucht für dieses Beispiel nur wenig Platz Weiter geht’s mit PortB, der wird benötigt um paar LED blinken zu lassen. Dazu wird das Register 16 verwendet. Da steht eine 0x55 drin, Binär ist das 01010101. Dieses Muster wird an PortB ausgegeben. Danach kommt der Befehl ror (Rotiere nach Rechts) . Nach dem warten (0,5 s) geht es zurück zur Marke main. Was passiert bei warten, das ist auch e... | |||
| 20 - dos command aus VB (oder C)proggi ausführen? -- dos command aus VB (oder C)proggi ausführen? | |||
| an sich kein problem. ich habe dazu ein kleines delphi programm geschrieben, das zudem als systemdienst unter nt /2000 arbeitet. da läuft ein timer , der nach bestimmter zeit einen ping absetzt, alles über delphi klasse tcp/ip socks gemacht. braucht kaum zeitressourcen. in vb geht das auch analog, kann dir aber nicht genau sagen wie, da ich kein vb kann.
deine vorgehensweise ist aber genau richtig. wenn du willst, kann ich dir die alten sourcen raussuchen. gruss ralf ... | |||
| 21 - Praxisanwendung eines einfachen RC-Tiefpasses -- Praxisanwendung eines einfachen RC-Tiefpasses | |||
| Ja, billige Klangregler,
Unterdrückung von Störimpulsen, Zeitglieder für Verzögerungsschaltungen (Timer), Antialiasing-Filter vor Analog-Digital-Wandlern und nach Digital-Analog-Wandlern. Unbeabsichtigt auch, z.B. in Audio und Videoanwendungen, durch die Kombination von Kabelkapazität und Innenwiderstand der Signalquelle. ... | |||
| 22 - PIC 16F84A -- PIC 16F84A | |||
| hi
ich verwende einen 4mhz quarz also bei mir muss ich ein funksignal entschlüssel und es analog machen damit dann ein kasten mit einem analogen messwerk dieses signal zeigen kann. und dazu muss ich eine bitreihenfolge, des signals, rausfischen, damit ich dem prog sagen kann, wann der anfangen darf. er soll immer bei 2 ms anfangen und das was ich da geschrieben habe ist mit nem vorverteiler, wollte nur wissen ob das so richtig ist. ich hoffe das bringt dich weiter den ich will eigentlich nur wissen wie ich z.b. mit if abfragen kann ob nun der timer 2ms gezählt hat bei dem signal (bit). mfg u37 ... | |||
| 23 - Hilfe AVR mit I2C software AVR300 -- Hilfe AVR mit I2C software AVR300 | |||
| also gut dan poste ich halt das avr300.asm
;**** A P P L I C A T I O N N O T E A V R 3 0 0 ************************ ;* ;* Title : I2C (Single) Master Implementation ;* Version : 1.0 (BETA) ;* Last updated : 97.08.27 ;* Target : AT90Sxxxx (any AVR device) ;* ;* Support email : avr@atmel.com ;* ;* DESCRIPTION ;* Basic routines for communicating with I2C slave devices. This ;* single master implementation is limited to one bus master on the ;* I2C bus. Most applications do not need the multimaster ability ;* the I2C bus provides. A single master implementation uses, by far, ;* less resources and is less XTAL frequency dependent. ;* ;* Some features : ;* * All interrupts are free, and can be used for other activities. ;* * Supports normal and fast mode. ;* * Supports both 7-bit and 10-bit addressing. ;* * Supports the entire AVR microcontroller family. ;* ;* Main I2C functions : ;* 'i2c_start' - Issues a start condition and sends address ;* and transfer direction. ;* 'i2c_rep_start' - Issues a repeated start condition and sends ;* address and transfer dire... | |||
| 24 - Lichtsteuerungs Idee gesucht -- Lichtsteuerungs Idee gesucht | |||
| Hallo zusammen,
Ich habe auch schon versucht eine Lichtsteuereung zu machen Ich habe eine Kleinsteuerung Easy und habe es mit Tastdimmern versucht. Das Problem Mit der Impulsdauer.. ist, es kommt keine Rückmeldung der Leuchte ob sie An oder Aus ist. Und wie weit gedimmt ist. Besonders bei Hand und Timer Bedienung. Es können Timer beim Tasten mitlaufen... Da kann aber in der Praxis schnell etwas durcheinander kommen. Die beste Lösung ist hier Analog. dafür bauche ich aber eine Umsetzng von der 0 bis 10V auf die 1-10V Schnittstelle die in der Beleuchtungstechik viel zufinden ist. Kenn jemand diese umsetzung? Eine andere ist ein Lichtsensor der die Hellichkeit an die Steuerung zurück meldet. Eine PC Lösung halte ich für weniger gut. Dauerbetrieb des Rechners... Kleinsteuerungen gibt es bei E-Bay schon für wenig Geld. mfg SPS [ Diese Nachricht wurde geändert von: SPS am 12 Aug 2004 20:40 ]... | |||
| 25 - Timer im Atmel - wie benutzen? -- Timer im Atmel - wie benutzen? | |||
|
.include m8def.inc ;Pfad zur Include-Datei ggf. anpassen .def temp = r16 ;braucht man immer .org 0000 rjmp reset ;RESET RETI ; External Interrupt0 Vector Address RETI ; External Interrupt1 Vector Address RETI ; Output Compare2 Interrupt Vector Address RETI ; Overflow2 Interrupt Vector Address RETI ; Input Capture1 Interrupt Vector Address RETI ; Output Compare1A Interrupt Vector Address RETI ; Output Compare1B Interrupt Vector Address rjmp check ; Overflow1 Interrupt Vector Address RETI ; Overflow0 Interrupt Vector Address RETI ; SPI Interrupt Vector Address RETI ; USART Receive Complete Interrupt Vector Address RETI ; USART Data Register Empty Interrupt Vector Address RETI ; USART Transmit Complete Interrupt Vector Address RETI ; ADC Interrupt Vector Address RETI ; EEPROM Interrupt Vector Address RETI ; Analog Comparator Interrupt Vector Address RETI ; Irq. vector address for Two-Wire Interface RETI ; SPM complete Interrupt Vector Address RETI ; SPM complete Interrupt Vector Address reset: ;Stackpointer initialisieren ldi temp,low(RAMEND) out SPL, temp ldi temp,high(RAMEND) out S... | |||
| 26 - Countdown Uhr -- Countdown Uhr | |||
| Das ASM - Beispiel:
.include tutorial/uart/2313def.inc ;Pfad zur Include-Datei ggf. anpassen .def temp = r18 .def counter = r17 .def fbin = r19 ;Ausgangswert .def tBCDL = r19 ;Obere Dezimalstelle .def tBCDH = r20 ;Untere Dezimalstelle .org 0000 rjmp reset ; RESET =$001 ;Reset RETI ; INT0addr=$001 ;External Interrupt0 Vector Address RETI ; INT1addr=$002 ;External Interrupt1 Vector Address RETI ; ICP1addr=$003 ;Input Capture1 Interrupt Vector Address RETI ; OC1Aaddr=$004 ;Output Compare1A Interrupt Vector Address rjmp check ; OVF1addr=$005 ;Overflow1 Interrupt Vector Address RETI ; OVF0addr=$006 ;Overflow0 Interrupt Vector Address RETI ; SPIaddr =$007 ;SPI Interrupt Vector Address RETI ; URXCaddr=$008 ;UART Receive Complete Interrupt Vector Address RETI ; UDREaddr=$009 ;UART Data Register Empty Interrupt Vector Address RETI ; UTXCaddr=$00a ;UART Transmit Complete Interrupt Vector Address RETI ; ADCCaddr =$00b ;ADC Interrupt Vector Address RETI ; ERDYaddr =$00c ;EEPROM Interrupt Vector Address RETI ; ACIaddr =$00d ;Analog Comparator Interrupt Vector Address reset: ;Stackpointer initialisieren ldi temp, RAMEND out SPL, temp | |||
| 27 - DMX-Empfangs-Programm für AVR -- DMX-Empfangs-Programm für AVR | |||
| also, bevor ich jetzt tausendmal nachfrage, poste ich doch einfach mal den programmtext, und du kannst dann ja mal das nötige verändern. falls du da die zeit zu hast $baud = 250000 On Urxc Rx_sub Enable Serial Declare Sub Get_byte '******************************************************************************* Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.6 , Rs = Porta.4 Config Lcd = 16 * 2 Cls Cursor Off '******************************************************************************* Do 'hier soll erstmal nur der wert des eingestellten dmx-kanals in eine varible geschrieben werden! Loop '******************************************************************************* $asm Get_byte: ' das unterprogramm aus dem ASM-Listing ' inc dmx_countL mußt du als inc r22 schreiben ' so wie es in den .def steht ' also die Namen gegen die Register tauschen ' 8515 mit 8MHz .include "8515def.inc" .equ Channels_all = 1 ... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 9 Beiträge im Durchschnitt pro Tag heute wurden bisher 2 Beiträge verfasst 6 Besucher in den letzten 60 Sekunden alle 10.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |