hallo, ich hab mal gehört, dass der 90s4433 spannungen messen kann. ich hab jetzt einen 90s8535, und der wird das ja wohl auch können, oder? und wenn er's kann, wie geht das dann? irgendwie mit den AD wandlern? bitte um hilfe! mfg raoul4
wie sonst? Genau dafür sind die Analogeingänge da. Wie es genau gemacht, steht im Datenblatt, und in der Codesammlung sind sicher auch ein paar Beispiele.
in der codesammlung hab ich nichts brauchbares gefunden und englisch kann ich auch nicht so gut. es muss doch irgendwen geben, der das schonmal in C und mit einem 90s gemacht hat. kommt, schreibt doch mal was rein. mfgraoul4
komm beschäftige dich doch mal selber damit :P sorry, aber abschreiben kann jeder. Wenn du kein englisch kannst, dann lern es :) wirste über kurz oder lang nich dran vorbei kommen...
hallo, so hab mir jetzt mal das datenblatt angeschaut und dabei folgenden (stümper) code erstellt. vielleicht so(?): #include <90s8535.h> #asm .equ __lcd_port=0x1b #endasm #include <lcd.h> #include <delay.h> void main(void) { lcd_init(16); //LCD initialisieren lcd_clear(); //LCD-Speicher löschen ADMUX=0b00000011; //um PA3 als A/D Wandler-Port zu nutzen ADCSR=0b10100000; //um ADFR (free running mode) und ADEN //(enable) zu setzen while (1) { }; } das ziel dieses (noch unvollständigen) programms ist es eigentlich die spannung zu messen und sie dann auf dem LCD anzuzeigen. ich bin noch ein ziemlicher anfänger und habe mir auch schon das buch "C für Mikrocontroller" bestellt. und dann gleich noch zwei fragen: 1. wie kann ich nur einzelne bits ändern, also nicht so: 0b11010110 sondern vielleicht geht's ja auch noch anders?!?! 2. muss ich im DDRA noch den PA3 als input eintragen, damit ich in ADCH und ADCL das ergebnis lesen kann?
Hallo... Sind nicht nach dem Reset erstmal alle Ports Inputs??? ...HanneS...
Es ist guter Programmierstil, alle Ports so zu initialisieren, wie man sie benötigt und sich nicht auf irgendwelche Default-Werte zu verlassen. Gruß, Frank
Ich habe neulich die ADC's dazu benutzt 2 Infrarot Abstandssensoren zu testen. Der Code macht nichts anderes als 2 ADC's zu starten und deren Wert ohne jegliche formatierung auf einem LCD Display anzuzeigen, also genau das was du haben möchtest. Der Code ist für CodevisionAVR, müsste Dir weiterhelfen. Und Lass dich nicht am #include <mega16.h> stören, wenn dus einfach in #include <90s8535.h> änderst müsste es schon funzen. Wenn nicht, prüf die Registeradressen.
hallo markus k., ich hab zu deinem code zehntausend fragen. ich habe mir zwar schon das buch "C für Mikrocontroller" gekauft, aber verstehe trotzdem so einiges nicht.(im buch mein ich >>) z.b.: -enum und struct befehl. -viele beispielprogramme. -wenn da jetzt "|=" steht, dann weiß ich garnicht wieso und für welchen zweck. und genauso ist es auch bei "&=". mfg raoul4
Hallo Raul4... Tip: Vokabeln lernen... Aber tröste dich, ich blicke da auch nicht durch, befasse mich aber derzeit auch nicht mit C, mache meine Sachen in Assembler. Dass "!=" der Operator für "Ungleich" ist raffe ich noch, beim Rest müsste ich nachschlagen. Richtig gesehen braucht man zu jeder Programmiersprache oder zu jedem Befehlssatz mit der/dem man arbeitet ein Befehlsverzeichnis als Nachschlagewerk... Viel Erfolg... Bit- & Bytebruch... - ...HanneS...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.