Seiten: 1 [2] 3 4
|
 |
|
Autor
|
Thema: Atmel und 4 PWMs (Gelesen 25743 mal)
|
b0nze
Gast
|
Ha, lol, das is gut  Für was glaubste, ist nen PC-Netzteil gemacht? Für hochkomplizierte und empfindliche Bauteile 
Ich hab das Zeugs fast immer am USB hängen.
Spezifikationen sind glaub -5% und +10%, also bis 5,5V und das hält er ja aus.. worst case.
Gegen deine 200 hab ich nix, aber das braucht niemand. Da drückt man sich nur die Finger tot.
b0nze
|
|
|
Gespeichert
|
|
|
|
philipp.ni
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 100

Ich liebe dieses Forum!
|
stimmt au wieder  ich hängs wohl eher an nen molex da das teil eh in meine front verdammt wird.
darum existieren die 200 auch nur intern. extern (per lcd anwählbar) sinds 10 oder 20 
noch mal zu dem HITFET: ~1.30€ pro gate ist doch recht happig. unterscheidet sich das ganze sehr von der nd2-mod von klinkerstein (http://wayne.klinkerstein.m-fa...gipoti_idee.png)? und wie setz ich den in die schaltung ein? einfach durch den IRF ersetzen?
|
|
« Letzte Änderung: Februar 9, 2005, 15:09:28 von philipp.ni »
|
Gespeichert
|
|
|
|
|
philipp.ni
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 100

Ich liebe dieses Forum!
|
wie benutz ich den HITFET denn? einfach signal vom mikrocontroller -> HITFET -> kondi 100nF?
unter diesen lüftern sind z.b. auch einige papst... hab das langzeitprojekt au gelesen
|
|
|
Gespeichert
|
|
|
|
Freak5
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 139

|
Naja man kann das ja auch anders programmeren-> So wie die Maus mit Beschleunigung. Dann nimmt man die Impulse, die man vorher gegeben hat, wenn man dauerdrücken gespielt hat und multipliziert das mit 2. Wenn du das ein paar mal machst(ich würde auch eine Obergrenze einbauen) Dann ist man auch bei 200 Schritten ganz schnell durch.
|
|
|
Gespeichert
|
|
|
|
philipp.ni
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 100

Ich liebe dieses Forum!
|
ich denke ich bleib bei 20 Schritten. Wie rechne ich denn mit gepackten BCD Zahlen? ich hab gelesen, dass es den befehl DAA gibt, aber laut Befehls-tabelle von Atmel gibts den nicht.
|
|
|
Gespeichert
|
|
|
|
b0nze
Gast
|
Warum fängst du jetzt mit BCD an? Vorher noch verschwenderisch immer 90% seiner 200Schritte vergeuden und jetzt an ner BCD sparen .
Ich selbst hab eigentlich noch keine PBCD benutzt und wüsste auch nicht, wann du die brauchst. Als Hilfsmittel hat der Atmel das Half-Carry Flag, das glaube ich gesetzt wird wenn was über die 15 geht. Speicher das Zeugs lieber als Wert in den RAM mit STS und LDS.
Programmierst du eigentlich in Assembler?
b0nze
|
|
|
Gespeichert
|
|
|
|
Freak5
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 139

|
Man kann doch immer Digital in richtige Zahlen umrechnen, wenn man es zum Display schickt. Das muss man bei Grafik ohnehin. Also machen diese gapackten Zahlen meistens keinen Sinn-> Meine Meinung
|
|
|
Gespeichert
|
|
|
|
b0nze
Gast
|
Ich speicher die Werte immer in einem Byte und dann kommt einfach die Umwandlung.
zehner2ascii: clr temp1 zehner2ascii_2: cpi temp3, 10 brcs zehner2ascii_3 inc temp1 subi temp3, 10 rjmp zehner2ascii_2 zehner2ascii_3: ori temp1, 0x30 ; wandelt in ascii um (48 addieren) ori temp3, 0x30
; --- entfernt die führende Null, falls vorhanden --- cpi temp1, 0x30 brne zehner2ascii_4 ldi temp1, 0x20 ; --- ---- ---- zehner2ascii_4: ret
Ganz einfach nach dem Prinzip des Subtrahierens. Du ziehst immer 10 ab solange es geht und dann weiste wieviel 10er da waren. temp1/temp3 sind die benutzen Register und sind hier hohe Register.
b0nze
|
|
|
Gespeichert
|
|
|
|
philipp.ni
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 100

Ich liebe dieses Forum!
|
PBCD deshalb, weil ich für die ausgabe 2 7-Segment-Anzeigen verwende. dessen Treiber wollen es eben als PBCD. 17€uronen für n passendes display sind mir z.zt n bischn viel (bei reichelt). bei pollin gäbs zwar eins für 5€ aber a) ohne hintergrundbeleuchtung, b) weiß ich net wie die qualität ist und c) kommen noch 5€ versandt drauf... Wenn ihr n billiges 4x20 display habt... ich bin immer offen dafür 
und zum dritten mal: ja, ich programmier in assembler.
|
|
|
Gespeichert
|
|
|
|
b0nze
Gast
|
Also.. du behälst den Wert trotzdem in einem in einem Register, der kann dann einen Wert von 0-255 haben.
Wenn du deine Anzeige aktualisierst, dann wandelst du diesen Wert mit der Routine, die ich da gepostet hab um. Die macht es dann zu einem BCD (ohne P ), dazu musst du noch die 2 "ori tempx, 0x30" rausmachen (das wäre dann ja ASCII). Die 3 Zeilen drunter kannste schon dranlassen und ersetzt den Wert, den der Teil reinschreibt halt durch das, was bei dem Treiber (Zwischenfrage: die 4055/4056?) ein "Leer" ist.
Also haste am Ende 2 Bytes. Jetzt nimmste Byte2 (das für die Zehner) und haust ihm einen "SWAP" auffen Kopf und dann wird aus 1234 5678 ==> 5678 1234. Dann noch ein "OR Byte1, Byte2" und du hast es. Zur Sicherheit kannste vorher noch ein "ANDI 0x0f" auf Byte1 und Byte2 machen, das löscht die nicht benötigten Bits, aber die dürften immer 0 sein.
Und dann gibste Byte1 einfach am PortX aus.
b0nze
|
|
|
Gespeichert
|
|
|
|
philipp.ni
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 100

Ich liebe dieses Forum!
|
ich benutz den 4511er. der hat einige vorteile wie z.b. dass er ne null automatisch mit nix ersetzt 
wieso suchst du nach nem carry-flag und guckst net einfach mit brlt ob die zahl kleiner als 10 ist?
|
|
|
Gespeichert
|
|
|
|
|
philipp.ni
Dremelfreund

Karma: +0/-0
Offline
Geschlecht: 
Beiträge: 100

Ich liebe dieses Forum!
|
Solangs klapt, soll mirs recht sein  wie geht denn der teil mit dem HITFET? einfach signal an HITFET und hinter den noch n kleiner kondi?
Wo sind denn beim mega16 die Register versteckt (adressen)? in der m16def.inc sind se net drin und im datenblatt hab ich au nix gefunden... kann eigentlich net sein, dass es die net gibt, oder?
bin nämlich eigentlich fertig mit dem proggi aber der meint er kennt R10 net (die erste definition von Registern)
EDIT: ops, hab .equ statt .def verwendet *schäm*
|
|
« Letzte Änderung: Februar 10, 2005, 20:47:26 von philipp.ni »
|
Gespeichert
|
|
|
|
|
Seiten: 1 [2] 3 4
|
|
|
|
|