User manual

240
mikoPascal 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
var LCD_RS : sbit at LATB2_bit;
var LCD_EN : sbit at LATB3_bit;
var LCD_D4 : sbit at LATB4_bit;
var LCD_D5 : sbit at LATB5_bit;
var LCD_D6 : sbit at LATB6_bit;
var LCD_D7 : sbit at LATB7_bit;
var LCD_RS_Direction : sbit at TRISB2_bit;
var LCD_EN_Direction : sbit at TRISB3_bit;
var LCD_D4_Direction : sbit at TRISB4_bit;
var LCD_D5_Direction : sbit at TRISB5_bit;
var LCD_D6_Direction : sbit at TRISB6_bit;
var LCD_D7_Direction : sbit at TRISB7_bit;
// End LCD module connections
var temp : real;
txt : array[20] of char;
// Convert ADC value to Celsius degrees format
function ADC_to_degC() : real;
begin
result := ADC1_Get_Sample(8); // Read ADC value from AN8 pin
result := (((3.25/1024) * result - 0.5) * 100);
end;
begin
CHECON := 0x32;
AD1PCFG := 0xFFF7; // Congure 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) do
begin
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
end;
end.