July 12th, 2008
LM35 Based Thermometer Display Temperature on LCD
The LM35 of National Semiconductors that is used in this project is a precision centigrade temperature sensor, which has an analog output voltage. It has a range of -55ºC to +150ºC and a accuracy of ±0.5ºC . The output voltage is 10mV/ºC . The output voltage is converted by the AD convertor of the ATMega8. The temperature is displayed on an LCD module. In this example the thermometer has a range of 0ºC to 40ºC and a resolution of 0.5ºC. If you want to have a readout in Fahrenheit you can use the LM34.
LM35 Based Thermometer Display Temperature on LCD: [Link]










March 7th, 2009 at 7:02 pm
hello . me name is alireza me need progeram lcd for damasanj im very need send to e mail good bye
January 28th, 2010 at 8:44 pm
// ***********************************************************
// Project:
// Author:
// Module description:
// ***********************************************************
#include // Most basic include files
#include // Add the necessary ones
#include // here
#include
#define F_CPU 1000000
// Define here the global static variables
//
int My_global;
const char enable = 0×08;
void lcd_init(void);
void write_inst(char val);
void write_data(char val);
void write_text( unsigned char* aray );
// Prototype for Keys_comb, with one input argument
// Interrupt handler example for INT0
//
SIGNAL(SIG_INTERRUPT0) {
}
// It is recommended to use this coding style to
// follow better the mixed C-assembly code in the
// Program Memory window
//
void my_function(void) { // Put the open brace ‘{‘ here
// Inline assembly example
}
// ***********************************************************
// Main program
//
int main(void) {
//Configuring DDRB for Output, to view the key pressed
// my_function(); //Calling my_function
DDRC = 0xFF;
DDRD = 0×0C;
DDRB = 0×01;
DDRA = 0xFF;
PORTC = 0×00;
lcd_init();
write_text(“WELCOME……!”);
while(1) { // Infinite loop; define here the
}
}
void lcd_init(void)
{
_delay_ms(15);
write_inst(0×30);
write_inst(0×30);
write_inst(0×30);
write_inst(0×36); //Set interface length
write_inst(0×08); //Enable Display/Cursor off for now
write_inst(0×01); //Clear Display
write_inst(0×06); //set curser move
write_inst(0×0F); //Enable Display
}
void write_inst(char val)
{
PORTB = 0×00;
PORTC = 0×01;
PORTA = val;
PORTC = 0×00;
_delay_ms(15);
}
void write_data(char val)
{
PORTB = 0×01;
PORTC = 0×01;
PORTA = val;
PORTC = 0×00;
_delay_ms(1);
}
void write_text( unsigned char* aray )
{
unsigned char i=0;
while(aray[i] != ”)
{
write_data(aray[i]);
i++;
if(i==19)
{
write_inst(0xc0); //new linge
}
}
}