Gefunden für avr timer bit - Zum Elektronik Forum





1 - Spannungswächter aus Resten ;-) -- Spannungswächter aus Resten ;-)




Ersatzteile bestellen
  Mahlzeit,

wenn keine Einwände/Verbesserungen kommen sollte die Spannungsversorgung fertig sein :-).

Bis auf C1 1000uF der jetzt 100uF ist wurden alle Bauteile mit Euren Werten eingebaut, es war ein langer Weg Eure Infos zu verstehen und umzusetzen.

Der Strombedarf wenn alles in Bewegung ist (außer die RC Sachen) liegt bei ca. 110mA, die uC sind schon sehr sparsam ;-).

Ein großes DANKE an alle die mir geholfen haben, und auch an alle Anderen die hier wertvolle Tipps geben, oft lese ich hier nur und finde auch sehr oft ein passendes Thema was mir weiterhilft.

Das Programm:


Code :
2 - TLC5940: welches Rastermaß hat das NT-Gehäuse? -- TLC5940: welches Rastermaß hat das NT-Gehäuse?
Hi!
Um einem AVR etwas Arbeit abzunehmen und nicht alle Timer verballern zu müssen möchte ich ihm folgenden Kontrollör zur Seite stellen: http://www.ti.com/lit/ds/symlink/tlc5940.pdf
Jetzt frage ich mich allerdings, ob das NT-Gehäuse das normale 2,54mm-Pinraster hat oder so eine bescheuerte Sonderform.
Das Datenblatt erwähnt dieses Gehäuse bei den Maßzeichnungen gar nicht, so leicht kann man es sich als Hersteller natürlich auch machen >.<
Danke im Voraus...
PS: Falls meine Befürchtung stimmt: kennt jemand eine Alternative?
Auf die Auflösung kommts mir gar nicht so an, 8 Bit reichen locker, ne eingebaute Stromregelung ist auch nicht wichtig. Es sollten aber schon mindestens 4 Kanäle sein.


[ Diese Nachricht wurde geändert von: ElektroNicki am  3 Nov 2011 22:22 ]...








3 - AVR-Assemblercode von Atmega88 auf -8 umstricken -- AVR-Assemblercode von Atmega88 auf -8 umstricken
Hi!
Ich möchte mir ein Elektorprojekt nachbauen.
Dafür wird ein Atmega88 verwendet, ich habe aber nur den Atmega8 hier.
Ich habe schon etwas über die Unterschiede gefunden, blicke aber trotzdem nicht ganz durch.
http://www.gaw.ru/pdf/Atmel/app/avr/AVR094.pdf
Z.B. meckert der Compiler über "out TCCR0A,r16"
Ist irgendwie klar, der Atmega8 hat ja nur einen Ausgang vom zweiten Timer etc.
Aber wie schreibe ich das um?
Geht das überhaupt, oder war der Atmega88 _statt_ dem 8er nötig?
Wäre schön, wenn mir jemand weiterhelfen würde

Code :
4 - ATmega8515 mit STK-500 und AVR-Studio 4 -- ATmega8515 mit STK-500 und AVR-Studio 4
@GableGuy200
Spare dir bitte zukünftig die dreißig Fragezeichen, eines reicht vollkommen aus.
Edit: was genau möchtest du denn wissen? Wie man in C programmiert, wie man in C AVRs programmiert, wie man mit dem Studio in C programmiert, wie man das Programm in den µC bekommt oder wie man LEDn und Taster programmtechnisch so verbindet, dass man die LEDn mit Tastern schalten kann?
Eswas präziser wäre gut .

@Kleinspannung:

Zitat :
Schleife:
-port pin toggeln
-kurze pause
-port pin toggeln
Toggeln ist denglisch für invertieren. Würde man dieses Programm so umsetzen, würde kein wirkliches sichtbares Blinken erzeugt.

So schon eher:

Schleife:
Bit umdrehen
Warten
Schleife Ende.

In C kann man das auf exakt 101 Möglichkeiten bringen, eine einfache ohne Timer und ISR wäre die hier:


5 - 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...
6 - PWM für 4pol-Lüfter -- PWM für 4pol-Lüfter
Was du glaub ich noch nicht geschrieben hast: Welche Auflösung soll die PWM denn haben? 8 Bit ist für Lüfter doch etwas übertrieben.

Wie wäre es wenn du die 8-Bit Werte für einen ganzen Port im RAM ablegst? Das 1. Bit steht für den 1. Lüfter, das 2. für den 2. usw. bis zum achten Lüfter. Von diesen Werten gibt es dann so viele wie du PWM Auflösung brauchst, bzw. so viele, dass du bei 25kHz alle durchbekommst (2^n Werte bevorzugt). Die werden dann der Reihe nach gelesen und direkt auf den Port geschrieben, sind alle durch beginnt's von vorn.


Code : lo...
7 - Mikrowellecontroller programieren -- Mikrowellecontroller programieren
Hallo

Wenn du microcontroller programmierst musst du ab und zu einzelne Bits in den Steuerregistern, die meißt ein Byte lang sind, verändern. Da aber ein Byte das kleinste ist was sich addressieren lässt kann man die Bits nicht einzeln verändern, man muss sich 'Tricks' einfallen lassen.

Das zum einen bitweise Boolsche Operationen (&, |, !,...) soll heißen (und, oder, nicht,...). Diese vergleichen jeweils ein Bit miteinander. zb:

01010000 | 00001010 = 01011010

Zum anderen sind hexadezimale Zahlen ganz praktisch:
Die Ziffern 0-9 werden einfach mit Buchstaben A-F fortgesetzt. Man kann so mit einer Stelle 16 verschiedene Zustände angeben. (statt 10 wie bei dezimalen Zahlen, daher der Name) Zur Kennzeichnung einer hex Zahl schreibt man in C ein 0x davor. Mit zwei Ziffern kann man jetzt schon 16*16 Zustände darstellen (vergleiche 10*10) und das entspricht... hopsala 256, also genau ein Byte. Wenn man also schreibt:

(0b heißt natürlich binär)

0x03 heist dass eigentlich 0b00000011
0x00 natürlich 0b00000000 und
0xFF heißt 0b11111111

Auf diese Weise kann man sich Zuweisungen und Abfragen zusammenbasteln, will man zb. Bit 0 (TOV0) des Registers TIFR (Timer Interrupt Flag Register) setzen ohne die anderen Bits zu ...
8 - Rechteckgenerator mit ATmega8 \"verschluckt sich\" -- Rechteckgenerator mit ATmega8 \verschluckt sich\
Hallo AVR-Experten!
Heute habe ich auch mal ein kleines Problem. Es ist zwar überhaupt nicht kritisch, aber ich hätte es gern prinzipiell geklärt und möchte auch etwas dabei lernen.

Kleine Vorgeschichte:
Ich habe auf meiner Arbeitsstelle ein kleines Prüfgerät für die Antriebselektronik von Turbomolekularpumpen gebastelt. (Das sind, vereinfacht gesagt, mit 1500 Umdrehungen pro Sekunde laufende Ventilatoren... ) Diese haben zur Rückmeldung ihrer Drehung zwei Hallelemente eingebaut, deren Signale die Elektronik auswertet. Da ich bei der Überprüfung der Steuerteile die angeschlossene Pumpe nur simuliere, muß ich auch diese Hall-Signale nachbilden. Dazu brauche ich einen "Tongenerator", der zwei symmetrische und komplementäre Rechteckfolgen von ~0 bis etwa 4 kHz ausgibt.
Zunächst hatte ich eine Schaltung mit einem 556 gebastelt, die auch prinzipiell funktionierte. Nur war es leider so, daß die Frequenz nach oben hin extrem schnell zunahm. Dabei hätte ich mir schon eine gleichmäßigere Zunahme gewünscht, um im besonders interessierenden Bereich (Signalisierung von Drehzahl > 50 % bzw. Abschaltung der Pumpe bei zu hoher Drehzahl) feinfühliger einstellen zu können.
Da hatte ich die Idee, einen (für dies...
9 - 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...
10 - DMX-Dimmer: DMX auslesen und Phasenanschnitt zu gleich? -- DMX-Dimmer: DMX auslesen und Phasenanschnitt zu gleich?

Die Timer-counter laufen von selbst, haben entweder 8 oder 16 bit und werden vom Prozessortakt über einen programmierbaren Vorteiler oder extern übner einen Eingang getaktet. Wenn du nichts resettest überläuft der Zähler einfach beim Maximalwert und beginnt wieder von 0. Resetten heisst ganz einfach das Zählerregister mit irgendeinem Startwert überschreiben.

Damit die Timer so laufen wie man es braucht müssen sie passend initialisiert werden. Welche Register genau welche Daten bekommen sollen steht ausführlich im Datenblatt das gerne vollständig gelesen werden möchte.

Interruptroutinen sind kleine Programmteile die aufgrund vordefinierter Ereignisse sofort ausgeführt werden wenn ebendieses Ereignis auftritt. Die Ausführung des restlichen Programms wird dabei so lange unterbrochen. In einem AVR gibt es eine Vielzahl von Interruptquellen, wie z.B. Timer overflow(Timer überläuft Maximalwert), timer compare match (timer-zähler erreicht vordefinierten Wert), Pin change interrupt(Zustand eines I/O- Pins ändert sich) und noch sehr viele mehr. Interrupts sind immer dann sehr nützlich wenn man zu einem bestimmten Zeitpunkt oder nach einem bestimmten Ereignis etwas tun muss, aber nicht dauernd durch Statusabfragen Zeit Rechenzeit verheizen möchte/darf. ...
11 - 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...

Nicht gefunden ? Eventuell gibt es im Elektroforum Transistornet.de für Avr Timer Bit eine Antwort
Im transitornet gefunden: Avr Timer Bit


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!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 9 Beiträge im Durchschnitt pro Tag       heute wurden bisher 2 Beiträge verfasst
© x sparkkelsputz        Besucher : 192919798   Heute : 5250    Gestern : 11413    Online : 241        8.9.2026    12:25
1 Besucher in den letzten 60 Sekunden        alle 60.00 Sekunden ein neuer Besucher ---- logout ----su ---- logout ----
xcvb ycvb
0.0496318340302