English
Language : 

DAC8562 Datasheet, PDF (15/16 Pages) Analog Devices – +5 Volt, Parallel Input Complete 12-Bit DAC
DAC8562
DAC8562 – M68HC11 Interface Program Source Code
*
* DAC8562 to M68HC11 Interface Assembly Program
* Adolfo A. Garcia
* September 14, 1992
*
* M68HC11 Register definitions
*
PORTB EQU $1004
PORTC EQU $1003
Port C control register
*
“0,0,0,0;0,CLR/,CE/,MSB-LSB/”
DDRC EQU $1007
Port C data direction
*
* RAM variables:
MSBS are encoded from 0 (Hex) to F (Hex)
*
LSBS are encoded from 00 (Hex) to F (Hex)
*
DAC requires two 8-bit loads
*
MSBS EQU $00
Hi-byte: “0,0,0,0;MSB,DB10,DB9,DB8”
LSBS
EQU $01
Lo-byte: “DB7,DB6,DB5,DB4;DB3,DB2,
DB1,DB0”
*
* Main Program
*
ORG $C000
Start of user’s RAM in EVB
INIT
LDS #$CFFF
Top of C page RAM
*
* Initialize Port C Outputs
*
LDAA #$07
0,0,0,0;0,1,1,1
STAA DDRC
CLR/,CE/, and MSB-LSB/ are now enabled
as outputs
LDAA #$06
0,0.0,0;0,1,1,0
*
CLR/-Hi, CE/-Hi, MSB-LSB/-Lo
STAA PORTC
Initialize Port C Outputs
*
* Call update subroutine
*
BSR UPDATE
Xfer 2 8-bit words to DAC8562
JMP $E000
Restart BUFFALO
*
* Subroutine UPDATE
*
UPDATE PSHX
Save registers X, Y, and A
PSHY
PSHA
*
* Enter contents of the Hi-byte input register
*
LDAA #$0A
0,0,0,0;1,0,1,0
STAA MSBS
MSBS are set to 0A (Hex)
*
* Enter Contents of’ Lo-byte input register
*
LDAA #$AA
1,0,1,0;1,0,1,0
STAA LSBS
LSBS are set to AA (Hex)
*
LDX #MSBS
Stack pointer at 1st byte to send via Port B
LDY #$1000
Stack pointer at on-chip registers
*
* Clear DAC output to zero
*
BCLR PORTC,Y $04 Assert CLR/
BSET PORTC,Y $04 De-assert CLR/
*
* Loading input buffer latches
*
BSET PORTC,Y $01 Set hi-byte register load
TFRLP LDAA 0,X
Get a byte to transfer via Port B
STAA PORTB
Write data to input register
INX
Increment counter to next byte for transfer
CPX #LSBS+1
Are we done yet ?
BEQ DUMP
If yes, update DAC output
BCLR PORTC,Y $01 Latch hi-byte register and set lo-byte register
load
BRA TFRLP
*
DAC8562–M68HC11 Interface Program Source Code (Continued)
* Update DAC output with contents of input registers
*
DUMP BCLR PORTC,Y $02 Assert CE/
BSET PORTC,Y $02 Latch DAC register
*
PULA
When done, restore registers X, Y & A
PULY
PULX
RTS
** Return to Main Program **
REV. A
–15–