-
Thread
DS 1307 Register defekt? Programmfehler ?
year; char zeit[32]; char datum[32]; int main() { lcd_init(); RTC_Init(); _delay_ms(5); hour = 0x20; min = 0x51; sec = 0x00; date = 0x20; month = 0x08; year = 0x18; weekDay = 1; _delay_ms(5); RTC_SetDateTime(); _delay_ms(5); _delay_ms
// Stop I2C communication after reading the Date } void clock_continue() { _delay_ms(1000); sec ++; if (sec == 0x3B) {_delay_ms(1000); min ++; sec = 0x00;} if (min == 0x3B && sec == 0x3B) {_delay_ms(1000); RTC_GetDateTime();} } [/c]
-
Thread
Zeit Zählen - Beste Möglichkeit
nicht. Könnte mir jemand einen Schubs in die richtige Richtung geben? Verwendet wird ein Atmel 89c51 Die zu messenden Zeiten liegen zwischen 650ms und 1900ms. Ein schönes Wochenende wünscht Sevi
89c51 ist nicht meine Baustelle! aus meiner Ecke gesehen: (Pseudocode) Init: Timer auf Null initialisieren ext Int. auf fallende Flanke initialisieren ZeitLäuftFlag = 0 ISR_Int:
-
Thread
Mit STEP 7 Brötchen verdienen
trotz der fast 1.000 POs = Prozessobjekte beträgt die Zykluszeit bei den aktuellen 417F/H min. 32ms max. 370ms und aktuell 170..180ms (Die Werte habe ich so in Einnerung) zu dem laufen auch viele Funktionen mit 10ms Abtastung. Es ist schon fast Wahnsinn wie schnell die Modernen CPUs sind. Einfache
(Jedoch, mit spez. entw. Hardware ist (fast) alles möglich. Auch µs-Schleifen innerhalb einer 100ms-Schleife)
-
Thread
DCF Problem mit Code
///////////////// //DCF-Synchronisation// /////////////////////// //High-Pegel muß für 1700-1900ms anliegen //Danach muß ein Low-Pegel folgen void dcf_sync(void) { if(!(dataPC & (1<<PIND2))) { if(counter_high>=1750 && counter_high<=1950) { counter_reset();
flags.parity_P3 = flags.parity_err;}; //Überprüfen ob eine 0 oder eine 1 empfangen wurde //0 = 100ms //1 = 200ms //Abfrage größer als 150ms (15% von 1Sekund also 150ms) if (pulse_wide > (65535 - (SYSCLK / 1024)/100*85)) { //Schreiben einer 1 im dcf_rx_buffer an der Bitstelle
-
Thread
DS1631 Auflösung umschalten
i2c_start_wait(DS1631_W); i2c_write(0xAC); i2c_write(0x0C); i2c_stop(); _delay_ms(10); i2c_start_wait(DS1631_W); i2c_write(0xA1); i2c_write(0x28); i2c_write(0x00); i2c_stop(); _delay_ms(10); i2c_start_wait(DS1631_W); i2c_write(0xA2); i2c_write(0x0A); i2c_write(0x00); i2c_stop(); _delay_ms(10); i2c_start_wait(DS1631_W); i2c_write(0x51); i2c_stop(); } [/c] 0xA1 ist die adresse für Temp High, 0xA2 entsprechend für Temp-Low jeweils 2 Byte 0xAC ist das Config.-Register
-
Thread
Fehler beim builden eines Projekts Gesperrt
should work if it's not volatile, but it didn't volatile unsigned short ServoPulse; //Create a 20ms period for servo control ISR (TIMER1_COMPA_vect) { //PORTB |= 0x08; PORTB &= ~0x08; OCR1A = TCNT1 + 20000; //20000 * 1MHz = 20ms OCR1B = TCNT1 + ServoPulse; //Enable OC //TIMSK
should work if it's not volatile, but it didn't volatile unsigned short ServoPulse; //Create a 20ms period for servo control ISR (TIMER1_COMPA_vect) { //PORTB |= 0x08; PORTB &= ~0x08; OCR1A = TCNT1 + 20000; //20000 * 1MHz = 20ms OCR1B = TCNT1 + ServoPulse; //Enable OC //TIMSK
-
Thread
Atmega8 vergleicht keine Variablen
Endpunktermittlung mit dem Einsetzungsverfahren // Pdiff = Vout = AD-Wandler-Wert // 0Pa = 0,25V = 51 // 250Pa = 4,25V = 870 // // 0Pa = 51 * z + y > y = 0Pa - 51 * z // 250Pa = 870 * z + y // // 250Pa = 870 * z - 51 * z + 0Pa // 250Pa = 819 * z // z = 250 / 819
else {PORTB |=_BV(PB0);} //Ventil abgefallen (Tuer offen) _delay_ms(50); } return(0); } [/c]
-
Thread
1-Wire und non-blocking code (state machine)
popeligen schnarchprozessor wird das schwierig. Das läuft sogar auf einem standard 8051 (mit Keil C51 Compiler getestet). Und der teilt durch 12, hat also wahnsinnige 1MIPS an einem 12MHz Quarz.
synchronize to timer tick #define wait_us(us) AvrXDelay(&ds_timer, TICKS_US(us)); #define wait_ms(ms) AvrXDelay(&ds_timer, TICKS_MS(ms)); #else #define wait_sync() #define wait_us(us) delay_us(us) #define wait_ms(ms) delay_ms(ms) #endif [/c] Der Code nutzt wait_xx, wenn das Timing
-
Thread
Zwei Signale - eine Leitung
--- [/pre] Nit Näherungsweise T=RC ergibt sich z.B. mit C = Elko 4,7uF: R = T/C = 100ms/4,7uF = 22k Für genaue Werte: ausprobieren oder R als Poti mit 47k ausführen...
Nachtrag: Und/oder/nicht gibts auch als EIN IC : 74hc51 Dann bräuchte man nur noch einige von den Schmitt-Trigger Invertern die ja frei sind und nen AMV.
-
Thread
LC Display Ansteuerung
= P2.0 (sprich: 4-Bit Mode) Initialisierung laut Datenblatt: 1. Power ON 2. mehr als 15ms warten, nachdem die Beitrebsspannung von 4,5V erreicht ist 3. "Function-Set" senden 4. mehr als 4,1ms warten 5. "Function-Set" senden 6. mehr als 100us warten 7. Function-Set senden 8. Display
was improvisieren. --Wenn Du Assemblersprache benutzt, Anweisungen zaehlen. Ein klassischer MCS51- wie dein AT89C51irgendnevariante es vermutlich ist - ist ein Zwoelftakter, macht Quarz in Hertz durch zwoelf Anweisungen pro Sekunde. Ein paar Anweisungen brauchen die doppelte bis vierfache Zeit (bedingte
-
Thread
Erfahrungswerte Dig. Thermometer DS18B20?
einen DS1820 (sollte in dieser Zeit gleich sein) zum Testen gehabt. Im Testprogramm waren auch 750ms vorgeschrieben. Damit funktionierte das Auslesen. Allerdings habe ich das mit einem C51 gemacht. Grüße Matthias
Die 750ms sind der Maximalwert. D.h. wenn du zufällig einen super super sauschnellen DS18B20 hast, könnte der durchaus schon in 500ms fertig sein. Größere Toleranzen sind extrem unwarscheinlich. Ändere
-
Thread
Problem mit For Schleife
Distanzen wird der Fehler klein sein. Je kleiner die Distanz wird umso größer wird der Fehler. ms
frühestens 1/50s nach der vorherigen startet. Als ersten Ansatz könnte man ja die Zeitdifferenz in ms umrechnen, und dann ein weiteres Delay einfügen mit t_wait = 20ms - Zeitdifferenz(in ms)
-
Thread
Was ist das für ein Signal?
tatsächlich - das Einpfeifen, dann das "Rauschen". Könnte sein, nur der merkwürdige Rhythmus von 500 ms Sinus, 500 ms Daten. Das war bei Packet eher in variabler Länge. Hatte leider Auto-Notch eingeschaltet, daher hier noch mal Originalton. Werde aber mal versuchen, über die Sound-Karte PR zu dekodieren
P49564.7 5A [0x0A]3C 209 15:39:50 X 19350.1 Y 1104.9 Z 45569.5 T30+23.18 79 [0x0A]3B 209 15:39:51 X 19350.1 Y 1105.0 Z 45569.5 P49564.7 58 [0x0A]3B 209 15:39:52 X 19350.0 Y 1105.0 Z 45569.6 P49564.7 59 [0x0A]3B 209 15:39:53 X 19349. 1105.0 Z 45569.6 P49564.7 58 & [0x92][0x82][0xCA][0x02][
-
Thread
Was kann man mit 16Byte an RAM machen?
allerdings zu Lasten der Codedichte und Ausführungszeit. http://www.keil.com/support/man/docs/c51/c51_le_reentrantfuncs.htm
Peter D. schrieb im Beitrag #4829763: > Doch das geht sehr gut, z.B. beim Keil C51 Compiler. > Da der 8051 viele Operationen im RAM ausführen kann, wurde dadurch der > Code sehr kompakt und schnell. Lob den C51 mal nicht in den Himmel, der kann schon ganz schöne Böcke schießen
-
Thread
Projekt für den NXP 8051 "Mischanlage" in Planung
Der Controller ist vorgegeben "NXP 8051" und bestellt. Datenblatt ist hier zu finden : http://www.c51.de/c51.de/Dateien/Humerboards/NLB_LPC935.pdf Nun zum Projekt, ich plane eine Mischanlage für Getränke zu bauen. Die Gefahren und das beachten von Lebensmitteln usw is mir klar und werd ich beachten
IN LINE 185 OF C:\Basteln unsortiert\Ride\C File1.c : Function 'sleep' should return a value RC51 COMPILATION COMPLETE. 3 WARNINGS, 1 ERROR Habe Zahlen bei Sleep() eingegeben aber endert sich nix. Einmal beim Start initialisieren habe ich gemacht.
-
Thread
DS18B20 Datenformat
Zeichen _delay_ms(250); } return 0; } [/c]
WERT_Temp_Luft[8]; dtostrf(temp_S1_LUFT,3,1,WERT_Temp_Luft); //Float zu ASCII _delay_ms(5000); WriteStr_D_1(WERT_Temp_Luft); // schreibe vier Zeichen _delay_ms(250); } return 0; }
-
Thread
Treiber Silabs CP2102 USB zu UART in Win10
> Die installiert er auch brav, dann sagt er ' .... https://community.silabs.com/s/question/0D51M00007xeNnHSAU/cp2102-chip-doesnt-work-possible-knock-off-?language=en_US
Martin B. schrieb im Beitrag #7204476: > Im Gegenzug für diese > freundliche Maßnahme, blacklistet MS Hersteller, die Ihnen nicht passen. > Die laufen dann nur noch unter Linux. Humbug.
-
Thread
Timer in Interrupt Service Routine starten und stoppen
Münze (in meinem Fall 50c, 1€ und 2€) eine unterschiedliche Pulsanzahl mit einer Pausenzeit von 100ms pro Puls aus. Dieses Pulse zähle ich per externen Interrupt. Um jetzt die eingeworfene Münze erkennen zu können, fasse ich die Pulse in "Blöcke" zusammen, damit ich erkennen kann, dass z.B zuerst eine
externer Interrupt EIMSK|=(1<<INT4); sei(); } void loop(void) { PORTA=0x00; WaitMs( 500); PORTA=0xFF; WaitMs(500); } ISR(INT4_vect) { TCCR5B&=~((1<<CS52)|(1<<CS50)); //Timer löschen //Timer 5 1024 Prescaler TCCR5B|=(1<<CS52)|(0<<CS51)|(1<<CS50); //Timer
-
Thread
mit was starten? Atmega8 - Einsteiger will keinen Mist kaufen
Für Pascal-Liebhaber gibt es natürlich auch noch Turbo51 von Igor Funa. In Verbindung mit einem 8051 mit integriertem ser. Bootloader (z.B. von Atmel) hat man eine kleine, feine Lösung, für die es sogar zwei verschiedene IDEs gibt, wenn man die Kommandozeile nicht so mag. Ein Controller als Beispiel: AT89C51RB2 von Atmel. Man kann jedoch Turbo51 für 8051er jeder Art benutzen.
-
Thread
Suche Funkmodul mit ca. 1km Reichweite (für GPS-Übertragung)
125 KHz Nutzbandbreite und mit Sicherheitsabstand 200 KHz. Bei Weightless P sind für 20Bytes , 400 ms und 12,5 KHz. LoRa belegt bei 500 KFz den Kanal für über 10 Minuten. Obendrein blockiert LoRa 200 KHz. In den 200 KHz für Lora passen 16 Weightless P Kanäle rein. Obebdrein ist Weightless P in 400 ms fertig. 16x3 = 48. Es passt bei Weightless P also 48x mehr Objekte auf die gleiche 200 KHz Bandbreite. Die Grafik zeigt eine Übersicht von LoRaWAN zu Weightless P.
-
Thread
Arduino Timerprobleme - suche programmierbaren Oszillator
das auf Basis von millis() machst, kannst du die Blink-Intervalle natürlich auch nur im Raster von 1ms einstellen. Klar könnte man auch 0,1ms oder gar 0,01ms Intervalle benutzen, was aber nichts daran ändert, dass man damit nicht jede beliebige Frequenz exakt erzeugen kann. Für 37 Hz brauchst du
das per se nicht driftet, aber meinen Fehler verdoppelt. So kommt nämlich immernoch der Versatz von 1ms in den gleichen Abständen zusammen, UND zusätzlich wird in der gleichen Phase 1ms hinten abgezogen. Damit verliere ich also 2ms. An die micros() Funktion habe ich auch schon gedacht, so sollte ja
-
Thread
Eclipse und SDCC unter Linux
interrupt 2 using 3 als Fehler angezeigt. Es ist also nicht so einfach möglich, Eclipse die Keil C51 Extensions beizubringen. Und bei SDCC wird es dann ähnlich sein.
im Beitrag #5270824: > Zur Aktualisierung des eclipseSDCC-Plugins FTDI nutzt für ihre neuen FT51 8051 Eclipse 4.4.0 und SDCC: http://www.ftdichip.com/Firmware/FT51AToolchain.htm
-
Thread
Laufwerksbuschstaben zuweisen?
Benutzung. Aber: Die Linux-Tools (selbst die schlechtesten) sind hier deutlich weiter als die MS-Werke... Zumindest als die MS-Werke, die MS Käufern seiner OS zur Verfügung stellt. Intern verwenden die garantiert Besseres. Oder wissen, wie man die Unterstützung dafür in den ganz normalen Tools
durchaus können, nur nicht wollen, jedenfalls nicht ohne besondere Maßnahmen. Das wäre der typische MS-Ansatz...
-
Thread
Wie HID Endpoint mit 128 Byte beim ATMEGA32U4
ich, aber es wird weder ein Thread verlassen noch veranlasse ich einen Abbruch. Wie gesagt mit 51 Byte geht noch alles.
ein USB Endpoint ist auf 64 Byte beschränkt. Wenn der Durchsatz von 64000 Byte/s (64 Byte in 1 ms) zuwenig ist, musst Du auf Bulk Endpoints umsteigen. Die sind auch nur 64 Byte groß, können aber mehrmals im 1ms USB Frame übertragen. Das erfordert einen Treiber für Windows, aber es gibt auch WinUSB
-
Thread
GCC Tutorial
Mach mal ein cmd.exe (oder command.com, falls Du noch ein MS-DOS-Derivat hast) auf (,,MS-DOS Eingabeaufforderung'' oder wie das heißt). Mit `set' solltest Du die aktuellen Einstellungen anzeigen können. Such mal (Explorer oder sowas) nach make.exe. Diese
Jörg schrieb: "Mach mal ein cmd.exe (oder command.com, falls Du noch ein MS-DOS-Derivat hast) auf (,,MS-DOS Eingabeaufforderung'' oder wie das heißt). Mit `set' solltest Du die aktuellen Einstellungen anzeigen können." Ehrlöich gesagt, weiss ich nicht geau, was ich da
-
Thread
555 Timer als "Wecker"/Zeitschaltuhr
nicht besser einen Widerstand hinter den Taster zu legen der die Entladezeit wenigstens auf ein paar 10ms streckt? Falls ja, wie berechnet man so einen Widerstand? Danke & Grüße Thilo
früher schon ein Projekt, falls mir die Ideen ausgehen :) Ich habe für die Zeitkonstante mal 20ms angesetzt, dann wäre der Kondensator nach 60ms schon auf 5% entladen. Beim Berechnen des Entladewiderstands komme ich auf 20ms/470uF = 42.5R (so ungefähr). Also nehme ich ein 47 Ohm Widerstand, dann
-
Thread
*DSO* : Bedienung
Signal auf Ground Potential absinkt oder auf der Spitzenspannung bleibt, > wenn ich *SEC/DIV* auf 200ms/div und darüber stelle. im 200ms/DIV und 4k speichertiefe tastet das DSO mit 1kS/s, was wohl für 1kHz signal eine unterabtastung/aliasing situation ist. Stelle den speicher auf 40k (Acquire knopf
auch so, wie unten im verlinkten Video helfen kann, aber ... https://www.youtube.com/watch?v=w51I9SHsFRE Bernd_Stein
-
Thread
Unterbrechen eines Lauflichts durch Tastendruck
Achja ganz vergeseen wir verwenden einen 89c51cc03 von Atmel. Compalieren tun wir mit Keil 3µvision. Den Controller beschreiben wir mit FLIP. Als Evolutiuons Board verwenden wir ein TFH/PalmTec, TFH-Board 0NF-V2. Die Leds und Taster sitzen auf
sondern kann sie ganz exakt vom Compiler ausrechnen lassen. Für das Entprellen empfiehlt sich ein 10ms Zeitraster. Peter
-
Thread
LCD, HD44780 und KS0076
alle Ausgänge auf Null LCD_PORT &= ~pins; // warten auf die Bereitschaft des LCD _delay_ms( LCD_BOOTUP_MS ); // Soft-Reset muss 3mal hintereinander gesendet werden zur Initialisierung lcd_out( LCD_SOFT_RESET ); _delay_ms( LCD_SOFT_RESET_MS1 ); lcd_enable(); _delay_ms( LCD_SOFT_RESET_MS2 ); lcd_enable(); _delay_ms( LCD_SOFT_RESET_MS3 ); // 4-bit Modus aktivieren lcd_out( LCD_SET_FUNCTION | LCD_FUNCTION_4BIT ); _delay_ms( LCD_SET_4BITMODE_MS ); // 2
-
Thread
Labornetzteil mit getakteter Vorregelung - Überschwinger
Überschwinger, sowohl bei der Spannung, als auch beim Strom. Der Spannungsüberschwinger ist erst nach 100ms ausgeregelt. Der Stromüberschwinger bereits nach 1ms. Wenn ich den Ausgangskondensator extrem groß wähle (3300µF) ist der Überschwinger der Spannung verschwunden. Das ist aber natürlich keine Option
Ausgangskondendsator auf 15V auf. Da der Ausgang mit etwa 5,8mA belastet wird, kommt das mit den 100ms Abklingzeit am Ausgang gut hin. Ich habe mir also überlegt, wie der Spike entsteht. Im Umschaltpunkt CC -> CV hängen wohl beide Regler in der negativen Sättigung, sodass T3 sperrt und T2 öffnet.
-
Thread
Mikrocontrollerverhalten Ext. Interrupt
eindeutig P1_1 = L2 = 0 ist, durch die Logikschaltung ist jeder Zustand von dem anderen mindestens 6,6ms entfernt (120 Grad) EA = 1; }
werden mit Sicherheit in Ordnung sein. Das wäre sonst schon längst jemandem aufgefallen. Den T89C51CC01 gibt es ja schon seit 2000. Peter
-
Thread
Welches USB Oszi?
wenn auch nur begrenzt leistungsfähig) enthalten. Rigol: + Bandbreite 40 MHz + Samplerate 400 Ms/s + Buffer 1 Ms + Min. Timebase 10 ns/div - Software nutzt nicht Möglichkeiten des PCs Picoscope: - Bandbreite 25 MHz - Samplerate 200 (100) Ms/s - Buffer 16 Ks - Min. Timebase 50 ns/div +
Schau dir noch die Saleae Logic pro 8 und 16 an: https://www.saleae.com/de/ 500Ms digital, 50Ms analog
-
Thread
C oder Assembler
Proz rausholen. Aber wann braucht man das das? Selten bis gar nicht. Wem nutzt es, alle Routinen in 10ms erledigt zu haben, um dann 90ms zu warten? Genausogut kann das Programm 20ms laufen, um dann nur 80ms zu warten (völlig überspitztes Beispiel, so gross ist der Unterschied bei weitem nicht). Für den
es wurscht, ob es 9,99ms oder 10,01ms). Ist ne schöne einfache Sache, wenn man im Programm Wartezeiten benötigt. Für ein exaktes Zeitraster braucht man sowieso einen Timer -egal ob mit asm oder C.
-
Thread
Resetschaltung
R und C sind voneinander abhängig. R ist so hoch zu wählen, dass C einige ms zum laden braucht. Dann erst steigt die Spannung am RST auf 5 Volt. Wichtig ist hier vor allem, dass du mindestens einige ms wartetst, bevor die Spannung am RST hochgeht, damit der Quarz sich anständig
Jo, den 47pF kannste auch weglassen, der hat exakt 0 Wirkung. Ein Quarz braucht so 1..20ms zu Anschwingen, deshalb haben Reset-ICs mindestens 50ms Resetdauer. Und da der AT8S52 keinen internen Reset hat, startet er bei 47pF irgendwo im Wald, wenn überhaupt. Peter
-
Thread
AMD-FX- Underclocking
angefangener Stunde und das ganze PC-System kann über UEFI kontrolliert werden . Eben so -typische- MS-Intel-Kartell -Ideen. Und da wollte ich nicht mitspielen .
eine grafische Oberfläche für ein *Miniaturscrollmenü* in 5 Minuten zusammenzuschustern, notfalls mit MS-Visual-C++ oder sowas, dann .. also würde ich ihn nicht beschäftigen
-
Thread
delay mit Röhren
ihr habt. Es ist doch ganz einfach, mit Röhren rein analoge Delays zu bauen. 1m Röhre hat zB. 2.91ms.
hast? > Pol den mal um, dann hast du 180° Verschiebung, das könnte mit deiner > Beobachtung bei 0.3ms übereinstimmen,
-
Thread
Junkers HT-Bus Heatronic 3 Schnittstelle
104µs -> 9600 bits/s - ein Startbit (Low) - 8 Datenbits - 1 Stopbit (High) - gefolgt von ca. 1ms (10 Bitzeiten) Low-Pegel Auffällig ist nur, dass relativ häufig auch mal ein komischer Signalverlauf zu sehen ist. Hier ist statt der 1ms Low-Phase eine 1ms High-Phase gefolgt von der 1ms Low-Phase
Hallo Zorro, kann die 00,33 (51,0) nicht nachvollziehen. 00,33 ergibt 51. Habe inzwischen ca. 25.000 Telegramme des Typs 88 00 18 00 analysiert. In allen Fällen erscheint eine Kessel-Soll Temperatur als Ganzzahl plausibel. Byte
-
Thread
Solarnachfolgung mit 2 Servos in C
angesteuert werden, wobei 2.0-2.3 schon ausreichen, oder? Der Microcontroller mit dem wir arbeiten heißt 80c51 und ist auf irgend einem Board befestigt. Ich hab dummerweise wenig Ahnung vom Programmieren und nachdem meine Lösungsversuche kläglich gescheitert sind läuft mir die Zeit so langsam aus. Darum schreib
zumindestens die aus dem Modellbau) orientieren sich ausschließlich an der Breite des Steuerimpulses. 1ms ist das Minimum, 2ms Maximum, 1,5ms die Mittelstellung. Dieser Impuls sollte dann auch mal wiederholt werden, 20ms soll wohl allgemein akzeptabel sein. Zauberworte sind Timer, Countern und Comparator
-
Thread
1 Servosignal - 4 Schaltzustände
Voll-Bereich reicht somit nicht mehr zum Auslösen einer Aktion. Da die Impulse im Abstand von etwa 20 ms eintreffen, wird dieses Unterprogramm alle 20 ms ausgeführt, der Prell-Zähler hat daher eine Auflösung von 20 ms pro Zählschritt. Man hat hiermit den Telegrammabstand (des Senders) zum Synchronisieren
natürlich auch einen großen Bereich, in dem der Knüppel in Mittelstellung ist. Ergo: Ob das jetzt 1.5ms, oder 1.51ms oder 1.48ms sind, ist doch völlig wurscht.
-
Thread
KS0073 und 4 Zeilen LCD
für den HD44780 habe mal son bisschen umherexperementiert und zwar du hast nach der wartezeit von 18ms(einwenig höher setzen 100ms) schreibst du #030h, muss der wert auf #003h geändert werden sollte dann funktionieren siehe anhang du schreibst in cisc??? init_1: lcall delay18ms ; Zeitverzögerung
Leg mal R/W auf Masse, also nur schreiben. Power-on-Reset des LCDs abwarten (ca. 100ms) Dann folgende Hex-Befehle (RS=0) schicken: 34, 09, 30, 0F, 01, 06 Zwischen den Befehlen 2ms warten, Enable braucht keine Wartezeit, einfach setb und clr Enable. Jetzt kannst Du Daten senden
-
Thread
RC Kanal auslesen
gerade den Wald vor Bäumen nicht. Momentan entscheide ich ob die Pulslänge kleiner als 150*10µs also 1,5ms ist und schalte alles aus und größer 1,51ms alles an. Ich komm nicht drauf wie ich von z.b 1,1 - 1,3ms und dann 1,4 - 1,6ms und 1,7 - 2,0ms auswerden kann so das ich mindestens 3 Schaltzuszände habe
Grenzwerten wären das sieben Bereiche: [c] 1. < 1,1 ms 2. >= 1,1 ms ... <= 1,3 ms 3. > 1,3 ms ... < 1,4 ms 4. >= 1,4 ms ... <= 1,6 ms 5. > 1,6 ms ... < 1,7 ms 6. >= 1,7 ms ... <= 2,0 ms 7. > 2,0 ms [/c] Gruß Willi
-
Thread
C51 Compiler User's Guide 01.97
hallo ich habe ein problem beim compilieren mit dem c51 von keil elektronik. (http://www.keil.com) Die sagen allerdings auf der hp nur ich soll im "C51 Compiler User's Guide 01.97 " nachschaun, allergins hab ich denn net .... Weiß einer wo ich den als *.pdf
Eine Frage Meldet das der Compiler oder der Linker?? Welche C51 Cersion hast du?
-
Thread
ATmega Development Boards (Sind die OK?)
10624_10623_10622_10186_10621_10620_5722415_5711313,searchweb201603_41,ppcSwitch_5&algo_expid=9300ac5e-51c8-4974-8c79-728b39f3f2a0-9&algo_pvid=9300ac5e-51c8-4974-8c79-728b39f3f2a0&transAbTest=ae803_3&priceBeautifyAB=0 ATmega16 https://www.aliexpress.com/item/free-shipping-ATMEGA16-Development-Board-Minimum-System-Core-Board-AVR-Development-Board
dem Atmel Studio entwickelt und programmiert werden, richtig? Am liebsten wären mir Plugins für Ms Visual Studio, damit ich alles dort drin entwickeln und programmieren kann.
-
Thread
Spaß mit Kloeckner-Moeller PS3 in BASIC(?)
PS3 ohne Probleme. Ebenfalls angehängt ist der kleine Monitor, den man am besten mit z.B. Mide-51 und dem ASEM - 51 von W.W. Heinz in einen AT89S52 o.ä. flasht. Der originale MC ist auf der mittleren Platine und der einzige gesockelte Chip bis auf den JEDEC Leersockel. Die Baudrate ist beim Starten
gleichzeitg im NVRAM gepuffert werden. Eine recht genaue Uhr ist im Intel BASIC auch schon vorhanden, mit 5ms Auflösung. Ich teste jetzt noch ein wenig mit anderen Exemplaren und poste dann den Code.
-
Thread
Tekway/Hantek/Voltcraft MSO
pulse width / 2.5 / 2 / 2 to get the delayed data triggered. I have NOT tested bigger values than 2ms/DIV, this is because the resultion of LA is not allowing such small values (less than 10ns), but it seems that the whole range 40ms/DIV to 4us/DIV is affected by the "divide / 2 or 2.5" error. ###
direkt anderen ADCs. Die Hittite HMCAD1520 sind sehr nett, man kann die als 8bit ADC sbnutzen mit 4x250MS/s, 2x500MS/s oder 1x1GS/s (intern interleaved, also weniger arbeit mit neuen FPGA design und viiiiiiel weniger clock skew probleme!!!) oder aber auch als 12bit mit 2x320MS/s oder 1x640MS/s. Man kann
-
Thread
Kleiner ARM (16bit reicht): womit anfangen?
DMX-Daten. Die Berechnung der Zünddaten kann ja dann extern erfolgen. Diese müssen ja nur alle 10 ms berechnet werden, oder sogar nur alle 20 ms wenn ich absolut symetrische Ansteuerung haben will. Auch bei 8 Kanälen ist der AVR da bei weitem noch nicht ausgelastet ;)
@mmerten: auch nicht richtig. Erstmal kommt alle 20ms EXTINT0; Sinuskurve Start. Es läuft T0 an, um zu 3ms verzögern, da der INT immer zu früh kommt, was an der NDG-Detektion liegt. Ist T0 abgelaufen, schaltet er sich aus und T1 an. T1 läuft schnell
-
Thread
ESP8266 TCP Server: Erster Verbindungsaufbau nach Reset dauert lange
Paket gesendet. In Wireshark dann geschaut, wie lange der ESP braucht um das ACK zu schicken: 270ms 234ms 243ms 118ms 249ms 189ms 292ms Ob der ESP auf 80 oder 160MHz eingestellt ist spielt übrigens hierbei auch keine Rolle. Testweise habe ich auch die loop() { ... } Funktion mal komplett leer
10.24.10.202: icmp_seq=17 ttl=128 time=2.61 ms 64 bytes from 10.24.10.202: icmp_seq=18 ttl=128 time=1.51 ms 64 bytes from 10.24.10.202: icmp_seq=19 ttl=128 time=3.21 ms 64 bytes from 10.24.10.202: icmp_seq=20 ttl=128 time=4.28 ms --- 10.24.10.202
-
Thread
multikanal PT100 Thermometer
27.0f, 30.0f, 33.0f, 36.0f, 39.0f, 43.0f, 47.0f, 51.0f, 51.1f, 56.0f, 62.0f, 68.0f, 68.1f, 75.0f, 82.0f, 90.9f, 91.0f, 100.0f}; int findeoptimalenR2(float r2) { float difopt
Umschaltzeit des MUX sondern auch die einschwingzeit der OPs mit ihren Kapazitaeten usw. Rechne mal mit mS Umschaltzeit.
-
Thread
SRF02 an einem AT89C51
mir kann hier noch einer weiter helfen. Also, erstmal vorweg: Ich habe ein Board mit einem AT89C51CC03 drauf, der funktioniert einwandfrei, auch seine Ports. Des weiteren habe ich ein DogXL das an einem Port angeschlossen ist, das betreibe ich mittels selbst implementiertem I2C (ist ja nicht sonderlich
Ciao, Rainer [1] http://www.c51.de/c51.de/Dateien/c51_buecher.php
-
Thread
Sättigungsspannung Transistor
10 mOhm errechnen. In diesem Versuch habe ich die abfallende Spannung über dem Transistor auf 0,51 Volt geregelt. Damit blieb mir etwas mehr Zeit zu messen, bevor alles droht zu schmelzen. Bei allen 3 Messungen •ohne Widerstand 0,51 Volt über dem Transistor •3,3 Ohm Vorwiderstand; 0,51 Volt über dem Transistor •18 Ohm; 0,51 Volt über dem Transistor ( in jeder Messung 40 mA Basisstrom ) ergibt sich in der Leitung gemessen ein Strom von 720 mA. Jetzt passt alles. Mich hätte es sehr gewundert, wenn bei gleicher Spannung