;************************************************** ; Example 4 ;************************************************** ;example on how to use A/D Converter ;written by Kenrick Chin ;version: 1.00 1997 Aug 22 ;************************************************** ; Hardware Constants ;************************************************** REGS EQU $1000 ;base address of I/O registers EEPROM EQU $F800 ADCTL EQU $30 ;A/D Control Register ADR1 EQU $31 ;A/D Result Register 1 ADR2 EQU $32 ;A/D Result Register 2 ADR3 EQU $33 ;A/D Result Register 3 ADR4 EQU $34 ;A/D Result Register 4 OPTION EQU $39 ;System Configuration Options ;ADCTL bit masks CCF EQU $80 ;Conversion Complete Flag SCAN EQU $20 ;Continuous Scan mode MULT EQU $10 ;Multiple-Channel mode ;OPTION bit masks ADPU EQU $80 ;A/D Power Up ;************************************************** ; Start of code ;************************************************** ORG EEPROM ;************************************************** ; Start of program ;************************************************** rstrt LDX #REGS ;set up I/O base address BSET OPTION,X ADPU ;power up A/D system main LDB #MULT ;select Multiple-channel mode STB ADCTL,X ;start conversion wait BRCLR ADCTL,X CCF wait ;wait for conversion LDB ADR1,X ;get A/D register 1 : LDB ADR2,X ;get A/D register 2 : LDB ADR3,X ;get A/D register 3 : LDB ADR4,X ;get A/D register 4 : : BRA main ;loop forever ;************************************************** ; Interrupt Vectors ;************************************************** ORG $FFFE FDB rstrt ;cold reset address END