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.

Project on making A digital clock with digital thermometer using LCD and PIC16f877a

Status
Not open for further replies.

mmahfuj

Junior Member level 2
Junior Member level 2
Joined
May 31, 2012
Messages
23
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Chittagong,Bangladesh
Visit site
Activity points
1,491
Hi...I am facing a great problem in making a simple digital clock with digital thermometer using LCD. I am using here the PIC16f877a microcontroller... I also using here LM35 as a temperature sensor. It shows only temperature reading But i can not get the output of the clock. Now what can I do???
Anybody please reply... I don't want to use "DS1307" ic. I only want to make a simple digital clock with thermometer using lcd

View attachment clock & thermometer.zip
 

You might find something interresting here: https://romanblack.com/one_sec.htm
Your 1000 ms delay will be much longer in your program due to other tasks that the PIC is doing after you exit.
BTW this: if(portc.f0==1) means what? If your portc.f0 is grounded, you will never execute the code below that statement.
 

ZASto....But I can't do it.. please help me to make the full code with schematic... please
I am facing great problem here... I have to submit this project in coming sunday .....please
i need your help so much....
 

Hi,

You can use Roman Blacks code, but perhaps not the easiest code to follow.

The other way is to use a 32k watch crystal with Timer1 to create the 1 second timebase for your RTC.

Plenty of code examples around.
 

@wp100
Code:
	// uses 1 variable; unsigned long bres
	// gets here every TMR0 int (every 256 ticks)

	bres += 256;	// add 256 ticks to bresenham total

	if(bres >= 5000000)	// if reached 1 second!
	{
		bres -= 1000000;	// subtract 1 second, retain error
		do_1sec_event();	// update clock, etc
	}

is THIS above uneasy to follow and understand?

I use this method when I need an almost perfect 1 sec. period for whatever.

Room Thermostat for my Thermo accumulating heating device :) which, btw reads, periodically DS18B20, desides when to switch room temperature to lower jevel (night time), ... and display lots of data at the 2x16 LCD, without hickups, and everything nicely packed in PIC 16F628A. As the timebase, an OCXO keeping the 4MHz crystal at 40 Celsius, and calibrated against GPS
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top