Forum: Mikrocontroller und Digitale Elektronik Analog Digital Konverter Brauche Hilfe


von Mike D. (hero2992)


Lesenswert?

Hallo Ich möchte eine Led durch einen Spannungswechsel An PortC0 
steuern. Bei >3V an PortB0 ist sie an und bei <3V an PortB.0 ist sie 
aus. ich habe bereits ein programm geschrieben jedoch ohne erfolg. darum 
möchte ich euch bitten mir zu helfen. Ich arbeite in Assembler, bin 
jedoch nch Anfänger.Ich möchte mit einem 8Bit Komparator vergleichen... 
(2Bit genauigkeit gehen verloren)... Ihc hoffe ihr könnt mir helfen...

(erst wollte ich mit dem Interrupt arbeiten) habe jedoch keine 
Vorstellung wie ich das Programmieren kann.

MFG Hero

Mein Listing:

RJMP MAIN  ;0x000
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI    ;Interuptvektor 15 für ADC

MAIN:
SER R22
OUT DDRC,R22  ;Configuriere PortC als Eingang
SEI        ;Global Interrupt aktivieren

LDI R16,0x04
OUT SPH,R16    ;H Byte von Stack setzen

LDI R16,0x5F
OUT SPL,R16    ;L Byte von Stack setzen

LDI R17,0B01100000
OUT ADMUX,R17  ;Referentz = Versorgungsspannung, MUX=> ADC0, Adlar = 1 ( 
Nur 8 Bit genauigkeit)

LDI R17,0B10111000
OUT ADCSRA,R17  ;Division Factor 2,Free run,Interrupt enable,...

LDI R20,160    ;255/4,77(versorgung) x 3V = 160(dez)
IN R21,ADCH
CP R21,R20
BRPL LAMPEAN

LDI R20,160    ;255/4,77(versorgung) x 3V = 160(dez)
IN R21,ADCH
CP R21,R20
BRMI LAMPEAUS

IMMER: RJMP IMMER  ;Endlosschleife




LAMPEAN:

SER R20      ;Set R20
OUT PORTD,R20
RJMP MAIN

LAMPEAUS:

CLR R20      ;Lösche R20
OUT PORTD,R20
RJMP MAIN

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
Noch kein Account? Hier anmelden.