hellraider
26.03.2006, 16:27
Hallo,
ich habe bei meinem Atmega 32 den ADC auf Port7 programmiert,
und habe nun das Problem, das ich bei einem Eingangswert von
0-5 Volt, die 0-255 ca. 3 mal durchfahre.
Der Vref hängt auf 5V, und am Eingang des ADC hängt ein Poti mit 10k zwischen Masse und 5 V.
-----------------------------------------------------------------------------------
Initteil
Programmauszug :
$regfile = "m32def.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$hwstack = 32
$swstack = 10
$framesize = 40
Ddrd = &B11111111 'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
Ddra = &B00000001
Ddrc = &B11111111
Portc = &B00000000
Ddrb = &B11111111
Portb = &B00000000
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Porta.0
Config Lcd = 16 * 2
Dim A As Byte
Dim B As Byte
Dim X As Byte
Enable Interrupts
Config Adc = Single , Prescaler = Auto
Start Adc
----------------------------------------------------------------------------------
Abfrage ADC
Cls
Home
Lcd " Bargraph "
Lowerline
B = Getadc(7)
Lcd "Speed :" ; B
----------------------------------------------------------------------------------
Kann mir jemand helfen, was ich verkehrt mache ?
Muss ich an Vref eine andere Spannung anlegen ?
Schon mla danke im voraus.
gruß
ich habe bei meinem Atmega 32 den ADC auf Port7 programmiert,
und habe nun das Problem, das ich bei einem Eingangswert von
0-5 Volt, die 0-255 ca. 3 mal durchfahre.
Der Vref hängt auf 5V, und am Eingang des ADC hängt ein Poti mit 10k zwischen Masse und 5 V.
-----------------------------------------------------------------------------------
Initteil
Programmauszug :
$regfile = "m32def.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$hwstack = 32
$swstack = 10
$framesize = 40
Ddrd = &B11111111 'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
Ddra = &B00000001
Ddrc = &B11111111
Portc = &B00000000
Ddrb = &B11111111
Portb = &B00000000
Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.0 , Rs = Porta.0
Config Lcd = 16 * 2
Dim A As Byte
Dim B As Byte
Dim X As Byte
Enable Interrupts
Config Adc = Single , Prescaler = Auto
Start Adc
----------------------------------------------------------------------------------
Abfrage ADC
Cls
Home
Lcd " Bargraph "
Lowerline
B = Getadc(7)
Lcd "Speed :" ; B
----------------------------------------------------------------------------------
Kann mir jemand helfen, was ich verkehrt mache ?
Muss ich an Vref eine andere Spannung anlegen ?
Schon mla danke im voraus.
gruß