Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

what is the problem with this humidity measurement circuit????

Status
Not open for further replies.

Delphianrex

Junior Member level 1
Joined
Jun 30, 2010
Messages
16
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Location
Iran
Activity points
1,398
hi
I have got this circuit from the Internet which is a simple humidity measurement circuit. i have built the circuit on a breadboard, but it's not functioning properly. It only shows the humidity 99 percent. Even i have manually connected the input pins of the MCU (pin one to eight) to vcc and gnd to check the program is functioning properly or not and it was functioning correctly. I mean when i was changing the bit pattern, it was changing the percentage number. I have also checked the output of the sensor (HS1101) which is driven by a 555 IC and it was changing the frequency with the humidity. i have replaced the ADC either but it is not working again.
I guess the ADC is not functioning properly but i do not know the reason.

this is the code for the MCU:
Code:
// Program to Interface Humidity sensor with 8051 Microcontroller
#include<reg51.h>
sfr lcd_data_pin=0x80;//p0 port
sbit 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 port
unsigned 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;
}
 
void 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 LCD 
	delay(50);
	lcd_command(0x0F);        // for display on cursor blinking
	delay(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();
	}
}


Thanks in advance
 

Attachments

  • Interface Humidity Sensor with 8051 Microcontroller (AT89C51) circuit.gif
    Interface Humidity Sensor with 8051 Microcontroller (AT89C51) circuit.gif
    45.8 KB · Views: 94

hi
i design a project that i use HS1100 humidity sensor.i use it as a variable capacitor and change its variation to frequency.i will send u my project file.simulation in proteous and code in code .vision
 

hi dear Karajbobo
tnx for your reply. could u plz send me your own project????
I'm waiting for your reply.


Thanks in advance
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top