Re: Analog/Digital Wandler Kategorie: CC-Pro Unit & Appl.Board (von NOOBIE - 23.03.2014 18:16) | ||
Als Antwort auf Re: Analog/Digital Wandler von Max - 23.03.2014 10:59 | ||
| ||
> > Dim wert1, wert2 As Single > > Dim zeile1(10) As Char > > Dim zeile2(10) As Char > > > > Sub main() > > LCD_Init() > > LCD_ClearLCD() > > LCD_CursorOff() > > > > zeile1=" 0.00" > > zeile2=" 0.00" > > Do While (True) > > ADC_Set(ADC_VREF_VCC,0) > > wert1 = ADC_Read()*5.0/1024.0 > > ADC_Set(ADC_VREF_VCC,1) > > wert2 = ADC_Read()*5.0/1024.0 > > Ausgabe() > > > > AbsDelay(500) > > End While > > End Sub > > > > Sub Ausgabe() > > Dim einheit(3) As Char > > einheit = " V" > > If wert1>4.99 Then > > zeile1=" HHHH" > > Else > > Str_WriteFloat(wert1,2,zeile2,1) !!!!Du hast zwei Mal zeile2!!! > > End If > > > > If wert2>4.99 Then > > zeile2=" HHHH" > > Else > > Str_WriteFloat(wert2,2,zeile2,1) > > End If > > > > LCD_CursorPos(0x00) > > LCD_WriteText(zeile1) > > LCD_WriteText(einheit) > > LCD_CursorPos(0x40) > > LCD_WriteText(zeile2) > > LCD_WriteText(einheit) > > End Sub > > > > hi ich bin totaler neuling im programmieren und entschuldige mich schon mal für die fragen! > > also ich brauche für ein schulprojekt den C-Control pro mega128 CAN damit will ich eine spannung > > messen und auf dem display anzeigen lassen! > > nun mein problem: an adc0 liegen ständig 4,6V an und an adc1 schwankt die spannuing zwischen 1.4V > > und 1.7V obwohl ich da nichts angeschlossen habe! adc0 funktioniert überhaupt nicht und wenn > > an adc1 gegen gnd eine 1.5V batterie messe zeigt das display 0.00 an. ich wei� absolut nicht mehr > > weiter und hoffe ihr könnt mir helfen. > > schonmal danke im vorraus > > mfg NOOBIE > > Hallo, > offene Ports haben immer einen undefinierten zustand, weil sie wie eine Antenne > wirken. Du solltest bei der Fehlersuche auch immer mit einem > Msg_Befehl arbeiten. Mit Msg kannst du zB sofort erkenne ob > du was misst oder ob du Schmarrn in der Ausgabe programmiert hast, > wie in deinem Fall. > Komma null ist auch unnötig. > Gru� Max > > Dim wert1, wert2 As Single > Dim zeile1(10) As Char > Dim zeile2(10) As Char > > Sub main() > LCD_Init() > LCD_ClearLCD() > LCD_CursorOff() > > > Do While (True) > ADC_Set(ADC_VREF_VCC,0) > wert1 = ADC_Read() > wert1 = wert1 *5/1024 > Msg_WriteFloat(wert1) > Msg_WriteText(" wert1") > Msg_WriteChar(13) > ADC_Set(ADC_VREF_VCC,1) > wert2 = ADC_Read() > wert2 = wert2 *5/1024 > Msg_WriteFloat(wert2) > Msg_WriteText(" wert2") > Msg_WriteChar(13) > Ausgabe() > AbsDelay(500) > End While > End Sub > > Sub Ausgabe() > Dim einheit(3) As Char > zeile1="" > zeile2="" > einheit = " V" > If wert1>4.99 Then > zeile1=" HHHH" > Else > Str_WriteFloat(wert1,2,zeile1,0) > End If > > If wert2>4.99 Then > zeile2=" HHHH" > Else > Str_WriteFloat(wert2,2,zeile2,0) > End If > > LCD_CursorPos(0x00) > LCD_WriteText(zeile1) > LCD_WriteText(einheit) > LCD_CursorPos(0x40) > LCD_WriteText(zeile2) > LCD_WriteText(einheit) > End Sub >> danke für die antwort Max! >> ich habe das programm so geändert wie du es geschrieben hast aber jetzt schwanken die messwerte >> beider eingänge zwischen ca. 1.5V und 2,5V ohne dass ich etwas messe! wie kann ich es hinbekommen >> , dass wenn ich nichts messe auch 0,0V angezeigt wird? oder messe ich falsch? >> mfg NOOBIE | ||
Antwort schreiben Antworten: Re: Analog/Digital Wandler (von Max - 25.03.2014 20:29) Re: Analog/Digital Wandler (von NOOBIE - 5.05.2014 11:37) Re: Analog/Digital Wandler (von Max - 5.05.2014 14:38) Re: Analog/Digital Wandler (von NOOBIE - 13.05.2014 15:40) Re: Analog/Digital Wandler (von Max - 13.05.2014 18:18) Re: Analog/Digital Wandler (von NOOBIE - 14.05.2014 15:51) Re: Analog/Digital Wandler (von Max - 14.05.2014 21:44) Re: Analog/Digital Wandler (von NOOBIE - 23.05.2014 18:07) Re: Analog/Digital Wandler (von NOOBIE - 25.05.2014 18:35) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum