Gefunden für adc ergebniss - Zum Elektronik Forum |
| 1 - Schaltung für niedrigste Zell-Spannung einer Serienschaltung von Lipo-Zellen -- Schaltung für niedrigste Zell-Spannung einer Serienschaltung von Lipo-Zellen | |||
| |||
| 2 - Messsignalauswertung im ADU Atmega32 -- Messsignalauswertung im ADU Atmega32 | |||
Tja,wie gesagt viel Plan habe ich auch nicht...
Und assembler ist mir so unbekannt wie das innere des Mondes,ich habe es nur mit Bascom geschafft Spannungen zu messen und umzuwandeln. Zumindest mit 8 Bit,bei 9 und 10 komme ich mit der Verarbeitung des Hi und Low Wertes noch nicht klar.... Was ich bisher weiß(auf den Mega8 bezogen) Du kannst direkt nur bis Vcc messen.Also 5V.Bei mehr brauchst nen Spannungsteiler. Der ADC kann freilaufend oder zur Einzelmessung konfiguriert werden. Bei Einzel muß jede Messung im Programm extra gestartet werden. Du sagst dem ADC,welchen Eingang er nehmen soll. Definierst eine Variable,wo er das Ergebniss der Wandlung ablegt. Ist er fertig,hast du je nach gewählter Auflösung einen Wert darin stehen. Wie du das aber jetzt weiterverarbeitest und zur Anzeige bringst
So weit bin ich auch noch nicht vorangekommen
... | |||
3 - PIC programmieren mit PICALLW -- PIC programmieren mit PICALLW | |||
| Ich behandel nur die PIC12F und PIC16F typen:
Erst eine kleine Übersicht über die PIC - Architektur: Die PICs besitzen die sogenannte Harvard (RISC) Architektur,die besagt, daß die Speicherbereiche für Daten und Programme getrennt sind. (im gegensatz zur vonNeumann -Architektur) Das bedeutet für uns praktisch: Wir haben den Flash Programmspeicher, in den wir unser Programm speichern und einen SRAM Bereich für Daten.Dieser SRAM bereich ist in sogenannte Bänke aufgeteilt, weil wir nur 128 Speicherstellen dieses Bereiches direkt ansprechen können. Die Bank wird durch Bits in dem sog. STATUS -Register eingestellt.Jetzt wird es etwas kompliziert: Im SRAM bereich befindet sich nicht nur frei zugänglicher Speicher,den wir nutzen können wir wir wollen,sondern auch alle Register,die zum steuern der Hardware benötigt werden.Wieviel SRAM der jeweilige PIC hat, und wo dieser Speicher im SRAM bereich liegt steht im Datenblatt.(bei den meisten PICs liegt z.b von 20h bis 7Fh frei nutzbarer Speicher). Die meisten Befehle benötigen eine SRAM adresse (auch File geannt) und eine Richtung.Wir haben noch ein besonderes W Register,daß in keinem Speicherbereich liegt und als Akkumulator dient. Nehmen wir ein beispiel: ADDWF 20h,W Dieser Befehl addiert die Werte aus... | |||
| 4 - * und / Operatoren bei AVRs -- * und / Operatoren bei AVRs | |||
| Wenn so einfach wäre, ist aber nicht.
Ein Beispiel für 16 Bit Mulitiplikation: .include 8515def.inc .list .def temp = r23 .def mc16ul = r16 ;multiplicand lowbyte .def mc16uh = r17 ;multiplicand highbyte .def mp16ul = r18 ;multiplier lowbyte .def mp16uh = r19 ;multiplier highbyte .def m16u0 = r18 ;Ergebniss byte 0 Low Byte .def m16u1 = r19 ;Ergebniss byte 1 .def m16u2 = r20 ;Ergebniss byte 2 .def m16u3 = r21 ;Ergebniss byte 3 High Byte .def mcnt16u = r22 ;Counter ;multiplizieren 300 * 300 rjmp init init: ldi temp,high(ramend) out sph,temp ldi temp,low(ramend) out spl,temp main: ldi mc16ul,low(300) ldi mc16uh,high(300) ldi mp16ul,low(300) ldi mp16uh,high(300) rcall calc2 loop: rjmp loop ;--------------- 16 * 16bit Multiplikation calc2: clr m16u3 clr m16u2 ldi mcnt16u,16 lsr mp16uh ror mp16ul m16u_1: brcc noadd8 add m16u2,mc16ul adc m16u3,mc16uh noadd8: ror m16u3 ror m16u2 ror m16u1 ror m16u0 dec mcnt16u brne m16u_1 ret ... |
|
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 7 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst 1 Besucher in den letzten 60 Sekunden alle 60.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |