User Manual

Functional Description (Continued)
SAMPLE PROGRAM FOR
FIGURE 14
ADC0801-MC6800 CPU INTERFACE
0010 DF 36 DATAIN STX TEMP2 ; Save contents of X
0012 CE 00 2C LDX #$002C ; Upon IRQ
low CPU
0015 FF FF F8 STX $FFF8 ; jumps to 002C
0018 B7 50 00 STAA $5000 ; Start ADC0801
001B 0E CLI
001C 3E CONVRT WAI ; Wait for interrupt
001D DE 34 LDX TEMP1
001F 8C 02 0F CPX #$020F ; Is final data stored?
0022 27 14 BEQ ENDP
0024 B7 50 00 STAA $5000 ; Restarts ADC0801
0027 08 INX
0028 DF 34 STX TEMP1
002A 20 F0 BRA CONVRT
002C DE 34 INTRPT LDX TEMP1
002E B6 50 00 LDAA $5000 ; Read data
0031 A7 00 STAA X ; Store it at X
0033 3B RTI
0034 02 00 TEMP1 FDB $0200 ; Starting address for
; data storage
0036 00 00 TEMP2 FDB $0000
0038 CE 02 00 ENDP LDX #$0200 ; Reinitialize TEMP1
003B DF 34 STX TEMP1
003D DE 36 LDX TEMP2
003F 39 RTS ; Return from subroutine
; To user’s program
Note 1: In order for the microprocessor to service subroutines and interrupts, the stack pointer must be dimensioned in the user’s program.
TL/H/567125
FIGURE 15. ADC0801 MC6820 PIA Interface
24