Microcontroller › 8051 › humidity
- This topic has 1 reply, 2 voices, and was last updated 8 years, 6 months ago by
GANEEV SINGH.
Viewing 2 posts - 1 through 2 (of 2 total)
-
AuthorPosts
-
October 5, 2011 at 8:56 am #1297
bharat
Participantwat r the basic used ..of using microcontroller for sensing humidity?
can any simplified that following code or tel me wat these is all about…
/ Program to Interface Humidity sensor with 8051 Microcontroller#include<reg51.h>sfr lcd_data_pin=0x80;//p0 portsbit rs=P3^0;sbit rw=P3^1;sbit en=P3^2;sbit wr= P3^3;sbit rd= P3^4;sbit intr= P3^5;sfr input_port=0x90; //p1 portunsigned int number=0;unsigned char humidity,lcd,key=0;void delay(unsigned char count){unsigned char i;unsigned int j;for(i=0;i<count;i++)for(j=0;j<1275;j++);}void lcd_command(unsigned char comm){lcd_data_pin=comm;en=1;rs=0;rw=0;delay(1);en=0;}void lcd_data(unsigned char disp){lcd_data_pin=disp;en=1;rs=1;rw=0;delay(1);en=0;}lcd_dataa(unsigned char *disp){unsigned char x;for(x=0;disp[x]!=0;x++){lcd_data(disp[x]);}}void lcd_ini(){lcd_command(0x38); // for using 8-bit 2 row LCDdelay(50);lcd_command(0x0F); // for display on cursor blinkingdelay(50);lcd_command(0x0C);delay(50);lcd_command(0x80);delay(50);}void lcd_display(unsigned int val){unsigned char flg=0;lcd_command(0xC7);if(val==0)lcd_data(‘0’);while(val>0){lcd=val%10;val=val/10;lcd_command(0xC7-flg);lcd_data(lcd+’0′);flg++;}}void display(){key++;number=number+input_port;if(key==11){number=number/key;number=number*10;number=number/25;humidity=number-3;lcd_display(humidity);key=0;number=0;}}void adc(){rd=1;wr=0;delay(2);wr=1;while(intr==1);rd=0;display();delay(2);intr=1;}void main(){lcd_ini();lcd_dataa(“%Rel.Humidity:”);while(1){adc();}}March 31, 2018 at 7:04 am #14822GANEEV SINGH
ParticipantHi
This code is written in order to read a sensor value (must be a humidity sensor here) and display "Rel.Humidity" on a LCD.
In this code average of 11 consecutive sensor readings is made and then it is converted to relative humidity value by means of some sort of a formula. This all is happening inside display() function.
Since 8051's don't have inbuilt ADCs therefore an 8 bit ADC IC must be connected to it with PORT1.
-
AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)
- You must be logged in to reply to this topic.