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: 26.04.2024, 00:40
Alle Zeiten sind GMT + 3
|
Autor |
Nachricht |
Werner
Historiker
Status: Eintritt: 07.04.2006 Mitgliedsnr.: 128 Beiträge: 68 #: 66 BL: NRW
|
1/1, Verfasst am: 10.02.2007, 01: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
|