domingo, 8 de octubre de 2017

Lectura de un sensor DS18S20 con visualizacion en un LCD


sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D7 at RB7_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D4 at RB4_bit;

// Pin direction
sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB7_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB4_bit;
#include <built_in.h>
const char ASCCI[] = "0123456789ABCDEF";

void main() {
unsigned Temp;
char string[8];
adcon1 = 6;
       Lcd_Init();
       Lcd_Cmd(_LCD_CLEAR);
       Lcd_Cmd(_LCD_CURSOR_OFF);
       while(1){
           temp=ReadDs(0);
           DS18S20ToStr(temp,string);
           lcd_out(1,1,String);
           delay_ms(200);
     
       }
}

Ejemplos hechos en Mikroc para microcontroladores PIC

Lectura de ADC y visualización en display LCD 2X16



// Lcd pinout settings
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D7 at RB7_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D4 at RB4_bit;

// Pin direction
sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB7_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB4_bit;

void main() {
unsigned t;
unsigned short h,l;
char txt[7];
   trisb=0;
   portb=0;
   trisa  = 0xff;
   ADC_Init();
   Lcd_Init();
   Lcd_Cmd(_LCD_CLEAR);               // Clear display
   Lcd_Cmd(_LCD_CURSOR_OFF);          // Cursor off
   Lcd_Out(1,1,"Start LCD");                 // Write text in first row

while(1){
     t=ADC_Read(0);
     wordtostr(t,txt);
     lcd_out(2,1,txt);
     delay_ms(100);
}

}

Esta es la configuracion apropiada para este proyecto