Hi
This is some code I wrote to use that board as a basic loop calibrator. Worked OK for me.
Take care
Alec
Code:'**************************************************************** '* Name : Encoder test * '* Author : alec noble * '* Notice : Copyright (c) 2012 alec noble * '* : All Rights Reserved * '* Date : 9/27/2012 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** #CONFIG __config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF #ENDCONFIG 'DEFINE OSC 20 '************************** setup LCD **************************** DEFINE LCD_DREG PORTB ' Set Data to PortB DEFINE LCD_DBIT 0 ' Set starting Data to Bit4 DEFINE LCD_RSREG PORTB ' Set Register Select to PortB DEFINE LCD_RSBIT 4 ' Set RS line to PORTB.4 DEFINE LCD_EREG PORTB ' Set Enable to PortB DEFINE LCD_EBIT 5 ' Set Enable line to PortB.5 DEFINE LCD_BITS 4 ' Set for 4 bit Bus DEFINE LCD_LINES 2 ' Set number of lines to '********************************************************************* CMCON = 7 'comparaters off - digital I/O on port A trisb = 0 'all bits outputs trisa = %00000111 'porta.0, 1, 2 input, all others output cntr var word cntr_1 var word cntr_2 var word preset var byte sck var porta.6 sdi var porta.7 cs var porta.4 cntr = 200 preset = 0 cs = 1 lcdout $FE, $01 pause 5 lcdout "ahn_loop_cal" pause 5000 lcdout $FE, $01 pause 5 lcdout dec cntr '************************ Program ********************************** main: if porta.2 = 1 then set if porta.0 = 1 then CW if porta.1 = 1 then CCW goto main set: pause 5 if porta.2 = 0 then main preset = preset + 1 while porta.2 = 1 : wend if preset > 4 then preset = 0 lookup2 preset, [200, 400, 600, 800, 1000], cntr goto display CW: pause 5 if porta.0 = 0 then main if cntr = 1023 then main cntr = cntr + 1 goto display CCW: pause 5 if porta.1 = 0 then main if cntr < 190 then main cntr = cntr - 1 goto display display: cntr_1 = cntr * 4 lcdout $FE, $01, dec cntr_1, " mV" pause 5 cntr_2 = cntr_1/2 lcdout $FE, $C0, dec2 cntr_2/100, ".", dec2 cntr_2//100, " mA" goto DAC_out DAC_out: cntr_1.15 = 0 cntr_1.14 = 0 cntr_1.13 = 1 'GAIN OF 1 cntr_1.12 = 1 'turn on DAC output low CS ' pause 5 shiftout sdi, sck, 1, [cntr_1\16] high cs while porta.0 or porta.1 = 1 wend goto main




Bookmarks