GeSHi (freebasic):program ADC_on_LEDsdim adc_rd as word main: ANSEL = 0x04 ' Configure AN2 pin as analog TRISA = 0xFF ' PORTA is input ANSELH = 0 ' Configure other AN pins as digital I/O TRISC = 0x3F ' Pins RC7, RC6 are outputs TRISB = 0 ' PORTB is output while (TRUE) adc_rd = ADC_Read(2) ' get ADC value from 2nd channel PORTB = adc_rd ' display adc_rd[7..0] PORTC = Hi(adc_rd) ' display adc_rd[9..8] wendend.
GeSHi (freebasic):sub procedure imprime_Hexadecimal(num) dim i,nibble_inferior as byte 'declaramos el byte nibble_inferior for i=0 to 2 'hacemos que haga esto 2 veces asm 'inicio del bloque ensamblador swap num,1 'intercambiamos los nibbles del numero end asm 'fin del bloque ensamblador nibble_inferior=num and 00001111 'extraemos el nibble inferior del numero if(nibble_inferior<10) 'si el nibble inferior es menor a 10 nibble_inferior=nibble_inferior+'0' 'guardamos valor ascii del numero else 'de lo contrario nibble_inferior=nibble_inferior+55 'guardamos valor ascii de la letra (A=65) end if Lcd_Chr_CP(nibble_inferior) 'imprime el nibble inferior next iend sub