| Schon gewusst, ... | 
 
| Die IG FTF erhebt und speichert personenbezogene Daten ihrer Mitglieder unzugänglich für Unbefugte, gibt diese weder an Dritte weiter noch werden sie zu anderen als den bestimmungsgemäßen Zwecken genutzt. Minimale Informationen sind allen Mitgliedern und sehr begrenzt für Besucher erkennbar. Mitglieder haben Anspruch auf umfassende Information und Korrektur der gespeicherten Daten; als Autoren verzichten sie auf das Recht zur Löschung der Stammdaten. Wer das nicht will, darf kein Mitglied werden. Alle nichtöffentlichen Bereiche sind nur den verifizierten Mitgliedern zugänglich.> | 
 
 
Aktuelles Datum und Uhrzeit: 04.11.2025, 02:02 
Alle Zeiten sind GMT - 2
 | 
 
 
 
| Autor | 
Nachricht | 
 
Werner
 
Historiker
 
  Status:    Eintritt: 07.04.2006 Mitgliedsnr.: 128 Beiträge: 68 #: 67         BL: NRW        
 
  
  | 
 1/1, Verfasst am: 09.02.2007, 20:54   
  Betreff:
  
WRD - Digital zu Analog
 | 
         
 | 
 
  | 
 
Der MICRO8 benutzt ein digitales Potentiometer als digital-zu-analog-Konverter (DAC).
 
 
Die integrierte Schaltung CAT522 von Catalyst ( Datenblatt als PDF Datei )
 
 
Sie bietet 2 x 8bit aufgelöste Widerstände.
 
Man / WRD kann einen Festwert für den Anfang speichern.
 
 
Hier ein BASCOM Code-Schnipsel wie ein MICRO8 die Daten in den CAT522 bekommt:
 
 
'------------------------------------------------------------------------------
 
'name                     : MICRO8_U1.bas
 
'copyright                : (c) 2007, Werner Braun
 
'purpose                  : TubeTester (testing)
 
'micro                    : Mega8
 
'suited for demo          : yes , only
 
'commercial addon needed  : no
 
'version                  : ZERO , to be changed without notice
 
'------------------------------------------------------------------------------
 
$regfile = "m8def.dat"                                      ' we use the M8
 
$crystal = 3686400
 
$baud = 38400
 
$hwstack = 32
 
$swstack = 8
 
$framesize = 24
 
 
'The following info was inserted by the programmer.
 
'Press the Write PRG button and it will insert the current Lock,and Fusebit
 
'settings.
 
'The options are DIVIDE by 8 : disabled, External osc. selected
 
'$prog &HFF , &HEF , &HDF , &HFF
 
' generated. Take care that the chip supports all fuse bytes.
 
'It is advised to use the $prog only once to set the bits.
 
'So remark it after the chip has been programmed the first time
 
 
Dim Command As Byte
 
Dim Content As Byte
 
Dim Pointer As Byte
 
Dim Ulow(5) As Integer
 
Dim Uhigh(5) As Integer
 
Dim Ilow(5) As Integer
 
Dim Ihigh(5) As Integer
 
Dim Daclow As Byte
 
Dim Dachigh As Byte
 
Dim Dactemp As Integer
 
 
'Hardware:
 
'ATmega8
 
 
'Pin    kind   (used for)
 
 
'PB0 :  OUT    (CLK  CAT 522)
 
'PB1 :  OC1A   (PWM, AUX)
 
'PB2 :  OC1B   (PWM, AUX)
 
'PB3 ;  MOSI   (SPI)
 
'PB4 :  MISO   (SPI)
 
'PB5 :  SCK    (SPI)
 
'PB6 :  XTAL   (external Clock 3.6864Mc)
 
'PB7 :  OUT    (PRG CAT 522)
 
 
'PD0 :  RXD    (UART serial in)
 
'PD1 :  TXD    (UART serial out)
 
'PD2 :  INT0   (AUX)
 
'PD3 :  INT1   (AUX)
 
'PD4 :  XCK    (AUX)
 
'PD5 :  OUT    (DI   CAT 522)
 
'PD6 :  OUT    (CS   CAT 522)
 
'PD7 :  IN     (RDY  CAT 522)
 
 
'PC0 .  ADCin0 (Ihigh)
 
'PC1 :  ADCin1 (Ilow)
 
'PC2 :  ADCin2 (Ulow)
 
'PC3 :  ADCin3 (Uhigh)
 
'PC4 :  IN     (Ipolarity)
 
'PC5 :  IN     (Upolarity)
 
'PC6 :  RESET
 
'PC7 :
 
 
 
' DAC:
 
' CAT 522 is a digital potentiometer (DPP) used as a (2 x 8bit) DAC
 
' PB0 = CLK
 
Config Portb.0 = Output
 
Ddrb.0 = 1
 
' PD7 = RDY from CAT 522
 
Config Portd.7 = Input
 
Ddrd.7 = 0
 
' PD6 = CS
 
Config Portd.6 = Output
 
Ddrd.6 = 1
 
' PD5 = DI
 
Config Portd.5 = Output
 
Ddrd.5 = 1
 
' PB7 = PRG
 
Config Portb.7 = Output
 
Ddrb.7 = 1
 
' U1 is +/-volt, 127 is first aprx. to zero volt
 
' put 127 to both DACs
 
Daclow = 127
 
Dachigh = 127
 
' temp. out should have PRG low
 
Portb.7 = 0
 
' temp. out should have CS high
 
Portd.6 = 1
 
Gosub Send_to_dac
 
 
...
 
 
Send_to_dac:
 
 
   ' CAT 522 gets data when clock rises
 
   ' CAT 522 needs 1 startbit
 
   ' CAT 522 reads address A0 A1 next for output 1 or 2
 
   ' CAT 522 gets LSB first
 
   ' put Highbyte first, be fast
 
   ' rotate 8bits left 4 times
 
   Dactemp = Dachigh * 8
 
   ' add startbit + address
 
   Dactemp = Dactemp + 7
 
   Shiftout Portd.5 , Portb.0 , Dactemp , 3 , 13
 
   ' put Lowbyte second, less effect
 
   ' rotate 8bits left 4 times
 
   Dactemp = Daclow * 8
 
   ' add startbit + address
 
   Dactemp = Dactemp + 5
 
   Shiftout Portd.5 , Portb.0 , Dactemp , 3 , 13
 
   ' bit 12 and 13: wait CAT522 needs a two cycles rest.
 
 
Return
 
... _________________ Ich sehe wunderbare Dinge . . . | 
 
  | 
 
| 
Nach oben
 | 
 | 
 
  | 
 
 | 
 
 
 | 
 | 
Du kannst keine Beiträge in diesem Bereich schreiben. Du kannst auf Beiträge in diesem Bereich nicht antworten. Du kannst deine Beiträge in diesem Bereich nicht bearbeiten. Du kannst deine Beiträge in diesem Bereich nicht löschen. Du kannst an Umfragen in diesem Bereich nicht mitmachen.
  | 
 
| 
 | 
 
   
 
Unsere Software nutzt mehr als 70 Erweiterungen, von der großen Mod bis zum kleinsten Snippet. Wir bedanken uns für das Engagement bei:
 
AbelaJohnB, Acid, acoolwelshbloke, AmigaLink, asdil12, AWSW, blubbin, Brewjah, CBACK, Chaze, DimitriSeitz, Flance, Flipper, FuNEnD3R, Hainer, Jamer, Leuchte, Mac, MagMo, mgutt, mitsubishi, 
 
mosymuis, Niels, Nivisec, Nuttzy, OXPUS, PhilippK, Pthiirk, romans1423, R.U.Serious, S2B, Saerdnaer, scheibenbrot, SlapShot434, Smartor, spooky2280, Tuxman, ultima528, Underhill,
 
Wicher, ycl6, ~HG~.
 
phpBB 2 © 2001, 2005 phpBB Group;  deutsche Übersetzung: phpBB.de & IG-FTF;  Konfiguration & Layout: IG-FTF © 2009, 2013
 
Vielen Dank für Ihre Visite bei der Interessengemeinschaft Funk-Technik-Freunde!
 
Bitte besuchen Sie auch die HP Tonaufzeichnung, das Original von Ralf Rankers,
 
verantwortlich betreut und fortgeführt von der Interessengemeinschaft.
 
Impressum 
 |