User manual
242
mikoBasic PRO for PIC32
MikroElektronika
Library Example
This code snippet reads analog value from the channel 1 and sends readings as a text over UART1.
Copy Code To Clipboard
program Temperature_Sensor
‘ LCD module connections
dim LCD_RS as sbit at LATB2_bit
dim LCD_EN as sbit at LATB3_bit
dim LCD_D4 as sbit at LATB4_bit
dim LCD_D5 as sbit at LATB5_bit
dim LCD_D6 as sbit at LATB6_bit
dim LCD_D7 as sbit at LATB7_bit
dim LCD_RS_Direction as sbit at TRISB2_bit
dim LCD_EN_Direction as sbit at TRISB3_bit
dim LCD_D4_Direction as sbit at TRISB4_bit
dim LCD_D5_Direction as sbit at TRISB5_bit
dim LCD_D6_Direction as sbit at TRISB6_bit
dim LCD_D7_Direction as sbit at TRISB7_bit
‘ End LCD module connections
dim temp as oat
txt as char[16]
‘ Convert ADC value to Celsius degrees format
sub function ADC_to_degC() as oat
result = ADC1_Get_Sample(8) ‘ Read ADC value from AN8 pin
result = (((3.25/1024) * result - 0.5) * 100)
end sub
main:
CHECON = 0x32
AD1PCFG = 0xFFF7 ‘ Congure AN8 pin as analog I/O
ADC1_Init() ‘ Initialize ADC
Delay_100ms()
Lcd_Init() ‘ Initialize LCD
Lcd_Cmd(_LCD_CLEAR) ‘ Clear LCD
Lcd_Cmd(_LCD_CURSOR_OFF) ‘ Turn cursor off
Lcd_Out(1, 1, “ Temperature: “)
while(TRUE)
temp = ADC_to_degC() ‘ Convert ADC value to Celsius degrees format
FloatToStr(temp, txt)
Lcd_Chr(2,13,223) ‘ Print degree character, ‘C’ for Centigrades
‘ Different LCD displays have different char
code for degree
Lcd_Chr(2,14,”C”) ‘ If you see greek alpha letter try typing 178
instead of 223
Lcd_Out(2, 5, txt) ‘ Display value on the LCD
Delay_1sec() ‘ 1 second delay
wend
end.