Gefunden für eeprom 16 byte - Zum Elektronik Forum |
| 1 - AVR-Assemblercode von Atmega88 auf -8 umstricken -- AVR-Assemblercode von Atmega88 auf -8 umstricken | |||
| |||
| 2 - [Projekt] Tasten + Speicherung udn PC Anbindung -- [Projekt] Tasten + Speicherung udn PC Anbindung | |||
| müssen es unbedingt 10 Taster sein? 8 währen besser *g*
Nun, etwas zum Entprellen: Ein Taster schaltet nur scheinbar ein, Tatsächlich "Flattert" der Kontakt in der Regel einige ms zwischen an und aus. Für ein Relais oder eine Lampe macht das keinen Unterschied, der Controller aber bekommt das mit und würde statt 1 Tastendruck dann z.b. 5 oder 10 hintereinander speichern. Daher muss man den Taster entprellen. Das kann per software geschehen, indem man einen Taster immer wieder abfragt (polling) und dann erst bei mehreren Übereinstimmungen des Zustandes diesen übernimmt oder man macht es per Hardware indem man mittels Widerstand - Kondensatorgruppe einen Tiefpaß aufbaut. Wenn dein Programm sonst nichts weiter macht würde es wohl Sinn machen das Entprellen in der Software zu verankern. bei 10 Tastern würde ich 2 Byte nutzen und für jeden Taster ein Bit. d.h. du hättest bis zu 16 Taster frei. Diese liesen sich dann auch relativ leicht im EEPROM des Controllers abspeichern (hat den Vorteil, daß die Daten auch bei Betriebsspannungsverlust erhalten bleiben). Auslesen kann man die dann relativ Problemlos. Wie willst du die Taster verschalten? jeden Taster an einen Port oder mit einer Matrix? bei letzterem könnte man im kleinsten Fall mit 7 Portpins a... | |||
3 - Parametersuche für AVR? -- Parametersuche für AVR? | |||
Offtopic :Meine Frage wurde also gefunden. Nur leider nicht gelesen.
Scheinbar schlagen hier meine 3 Probleme voll zu (siehe Signatur). Wusel_1, Jornbyte: Und wie bitte bekomme ich aus den Daten, die es bei Atmel gibt und ich von da in xls kopiere, die Abtastrate des ADC raus? Und die Doppelbelegung mit dem OC vom 16 bit Timer? Und die RC-Oszi-Taktrate? Wie? Etwa indem ich erst nach den oberflächlichen Werte was raussuche und mich dann durch Datenblatt und Pinout kämpfe? Also nochmal ganz langsam: Für irgendwas braucht man z.B. 11 normale DIO, davon 8 bit zusammenhängend an einem Port (also 1 Byte + 3 bit), 4 Single ended ADC, 2 komplementäre Ausgänge einer 8bit PWM, mit Pausenzeit 1 16 bit Input capture bei mind. 30MHz 1 externer IRQ 1 Hardware-I2C 20KB Flash, 800Byte Eeprom Also gibt man den ganzen Kram in eine echte parametrische Suche ein, und die sagt einem dann, dass a) man daf... | |||
| 4 - Mehrere DS18S20 auslesen -- Mehrere DS18S20 auslesen | |||
| Soo,
Das geht über den Befehl ROM SEARCH. Hier weitere Links, die ich gefunden habe (nachdem ich das Datenblatt komplett gelesen habe ).
Du kommst aber nicht drumrum, zu Beginn die entsprechenden Sensoren mit ihrer Nummer zu beschreiben! Später, also nach einmaliger Beschreibung des ROMs kannst du dann indirekt über die Nummer adressieren - bzw. es antwortet einer mit Temperaturwert und dem Inhalt aus dem EEPROM (deiner Nummer). Die kannst du dann gleich als Index für eine Tabelle (-> Array) benutzen. Alternativ könnte man die ID (8 Byte) auch in einer Tabelle anlegen und mithilfe eines Indizes die ID auslesen und den entsprechenden Wert in eine Tabelle mit gleichem Index schreiben, in C etwa so: char sensor1[8] = {ID0, ..., ID7}; char sensor2[8] = {ID0, ..., ID7}; char *sensors[] = {&sensor1[0], &sensor2[0]}; char temperatur[sizeof(sensors / 8)]; for(i=0;i<(sizeof sensors)/8; i++) temperatur[i] = lese_temperatur(sensors[i]); /* sprich: der Temperaturwert von Sensor i wird im Vektor temperatur mit dem Index i gespeichert */ Vektor, Feld, Array -> alles dasselbe. Es kommt nun aber v.a. drauf an, wie das System... | |||
| 5 - Dateisystem für 256k Flash -- Dateisystem für 256k Flash | |||
Zitat : Allerdings verschenkt man dann mit den redundanten Steuerzeichen Platz im Flash. Bei vier Datensätzen gehen schon 4 Byte flöten. Das find ich nicht sooo tragisch. Bei 64k Platz und der maximalen Samplingrate von 4Hz sind das immernoch etwa 54 von möglichen 68min. Man könnte auch alle 16 Bytes (also 4 Samples á 4 Bytes) ein Steuerzeichen einbauen, was weniger Platz verschwenden würde. Statt 0xFF nimmt man dann halt 0x55, damit, wie du schon sagtest, der Kontrollör zwischen leerem Flash und Steuerzeichen unterscheiden kann. Zitat : Und man kann u.U. nicht zwischen alten und neuen Werten unterscheiden Wie meinst du das? Ich schreib ja nicht kreuz und ... | |||
| 6 - Tastaturcode -- Tastaturcode | |||
Oder was fertiges (ist alt)
.include 4433def.inc .def temp = r16 ; universalregister definieren .def keybdata = r14 ; kegister fuer keyboard daten .def keybparity = r15 ; keyboard parity counter .def keybcount = r18 .def status = r19 ; hier merken wir uns keycodes .equ break = 0 ; bit 0 vom keyb. status register -> breakcode folgt .equ shift = 1 ; shift gedrueckt?! .equ caps = 2 ; caps an/aus .equ alt = 3 .equ ctrl = 4 rjmp reset ; Reset Handler rjmp keyb_int ; IRQ0 Handler reti ; IRQ1 Handler reti ; Timer1 Capture Handler reti ; Timer1 compare Handler reti ; Timer1 Overflow Handler reti ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler reti ; UART RX Complete Handler : RXCIE reti ; UDR Empty Handler reti ; UART TX Complete Handler reti ; ADC Conversion Complete Interrupt Handler reti ; EEPROM Ready Handler reti ; Analog Comparator Handler reset: ldi temp, RAMEND out SP, temp ; set stack pointer ; Port datenrichtungen setzen ; PD 2 | |||
| 7 - Atmel Evaluations-Bausatz; Prozessor-Qual... -- Atmel Evaluations-Bausatz; Prozessor-Qual... | |||
| Allora!
..es geht um folgendes: dieses Board bei Pollin: Atmel Evaluations-Bausatz ArtNr:Best.Nr. 810 022 Diese Platine zum Anschluss an den PC ermöglicht die direkte Programmierung der ATmega8535, ATmega16 und ATmega32. Technische Daten: - Betriebsspannung 9 V~ - ISP- und JTAG-Anschluss - ISP to seriell integriert - serieller Anschluß über MAX232 - 3 Programmtaster - 2 LEDs - 1 Buzzer - Port PA, PB, PC auf 34-polige Pfostenleiste herausgeführt und jetzt zum eingemachten: Welchen Prozessor???? (sollte für Anfänger geeignet sein) - ATmega8535-16: 8-Kbyte self-programming Flash Program Memory, 544 Byte SRAM, 512 Byte EEPROM, 8-channel 10-bit A/D Converter. Up to 16 MIPS throughput at 16 MHz. 2.7 - 5.5 Volt operation. - ATmega16: 16-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operation. - ATmega32: 32-Kbyte self-programming Flash Program Memory, 2-Kbyte SRAM, 1-Kbyte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operat... | |||
| 8 - unbekanntes Programm entdeckt -- unbekanntes Programm entdeckt | |||
| Das öffnen der Datei geht nicht, also hier das Listing:
MC68HC711E9 Bootloader ROM 1 **************************************************** 2 * BOOTLOADER FIRMWARE FOR 68HC711E9 - 21 Aug 89 3 **************************************************** 4 * Features of this bootloader are... 5 * 6 * Auto baud select between 7812.5 and 1200 (8 MHz) 7 * 0 - 512 byte variable length download 8 * Jump to EEPROM at $B600 if 1st download byte = $00 9 * PROGRAM - Utility subroutine to program EPROM 10 * UPLOAD - Utility subroutine to dump memory to host 11 * Mask I.D. at $BFD4 = $71E9 12 **************************************************** 13 * Revision A - 14 * 15 * Fixed bug in PROGRAM routine where the first byte 16 * programmed into the EPROM was not transmitted for 17 * verify. 18 * Also added to PROGRAM routine a skip of bytes 19 * which were already programmed to the value desired. 20 * 21 * This new version allows variable length download 22 * by quitting reception of characters when an idle 23 * of at least four character times occurs 24 * 25 **************************************************** 26 27 * EQUATES FOR USE WITH INDEX OFFSET = $1000 28 * 29 0008 PORTD EQU... |
|
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 8 Beiträge im Durchschnitt pro Tag heute wurden bisher 13 Beiträge verfasst 3 Besucher in den letzten 60 Sekunden alle 20.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |