12 Bit ADC 8Ch, AD7828 Testprogramm Kategorie: Programmierung Basic (von Ernst H. - 11.01.2011 19:16) | ||
| ||
' Testprogramm I2C-ADC (I2C 12-bit, 8-CH Analog-to-Digital Converter) ' mit AD7828 fertiges mini Modul Fa www.gravitech.us ca 20$ ' Für ein Hutschienengehäuse habe ich ein solches Modul im Einsatz ' mit Eingangs - Schutzbeschaltung und für drei Kanäle einen Me�verstärker ' mit Präz. OPA 07 für Shunt +/-50mV ' Ernst H. 2011-01-11 'Ausgabe: 'Ch0 Ch1 Ch2 Ch3 Ch4 Ch5 Ch6 Ch7 '1577 1578 1563 0 0 0 0 0 '1576 1577 1562 0 0 0 0 0 '1577 1578 1562 0 0 0 0 0 '1577 1578 1563 0 0 0 0 0 'Kanal 0-1 Nullpunkt angehoben - Lade / Entladestrommessung von Akkus '************************************************************ #define ADC_I2C_ADDR 0x90 ' I2C address Dim ADVAL As Word ' Store A/D value Dim ADVAL_HIGHBYTE As Byte ' High byte of ADVAL Dim ADVAL_LOWBYTE As Byte ' Low byte of ADVAL Dim DAT As Byte ' Configuring data Dim Durchlauf As Integer ' Counter Sub main() I2C_Init(I2C_100kHz) For Durchlauf = 0 To 7 '�berschrift Msg_WriteText("Ch") Msg_WriteInt(Durchlauf) Msg_WriteChar(9 ) 'Tabulator Next Msg_WriteChar(13 ) 'CR Do While 1 For Durchlauf = 0 To 7 Select Case Durchlauf Case 0 DAT = 0b10001100 ' Conifg Einstellung für Ch0 Case 1 DAT = 0b11001100 Case 2 DAT = 0b10011100 Case 3 DAT = 0b11011100 Case 4 DAT = 0b10101100 Case 5 DAT = 0b11101100 Case 6 DAT = 0b10111100 Case 7 DAT = 0b11111100 End Select I2C_Start() I2C_Write(ADC_I2C_ADDR) I2C_Write(DAT) AbsDelay(1) I2C_Start() I2C_Write(ADC_I2C_ADDR+1) 'Leseadresse ADVAL_HIGHBYTE = I2C_Read_ACK() ADVAL_LOWBYTE = I2C_Read_NACK() I2C_Stop() 'Msg_WriteWord(Durchlauf) 'Msg_WriteText(" Wert= ") Msg_WriteWord(ADVAL_LOWBYTE + ADVAL_HIGHBYTE * 255) Msg_WriteChar(9 ) Next Msg_WriteChar(13 ) AbsDelay(1000) End While End Sub | ||
Antwort schreiben Antworten: Re: 12 Bit ADC 8Ch, AD7828 Testprogramm (von Ernst H. - 11.01.2011 21:53) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum