Thursday, March 21, 2013

Digital Calendar for 8051

A digital calendar is one that displays time and date digitally. The project explained here, displays time on a 16x2 LCD module. A keypad  4x3 matrix is used to set it. This circuit can be used in cars, houses, offices etc.

This clock works in 12 hour mode and is configured by programming the microcontroller. The program uses a delay function for producing a delay of 1 second.

Code and Proteus simulation is given in the ‘Downloads’ section at the bottom of this page. The program took from me the whole night though good to know that the project is still at testing phase. For this I'm expecting your feedback if any bug found or development needed :)

The Proteus simulation is shown below.

Digital Calendar

On reset, the LCD prompts the user to set time first. The hour and minute components can be set by entering the corresponding valid values using the keypad. The AM/PM mode is set by entering 1 or 2. Give 1 for am while 2 for pm. After that the LCD prompts the user to set date components which is day, month and year.

The set time and date is displayed on LCD screen and changes as the time passes on. Seconds are increased after every one second by making use of delay function uses timer 0 with mode 1. As second reaches 59, minute is incremented by one and second is reset to 0. Similarly, as minute reaches 59, hour is increased by one and minute is set to 0. After hour reaches 11, minute reaches 59 and second reaches 59,  the AM/PM mode is changed accordingly. The date is changing by the same concept taking into account the difference values for its components.

Features




  • The possibility of setting  time and date

  • Simple circuit and min components

  • Acting as real time clock


Downloads


The code was compiled in Kiel uVision 4 and simulation was made in Proteus v7.8 SP2.

To download code and simulation click here

Wednesday, March 13, 2013

My Best Quote!

My best word :)

Volt/Ohm Meter for 8051 using Assembly

The post provides simple Digital Meter project code using assembly for 8051 micro-controller. This project mainly focusing on designing condition circuits and demonstrating a use of Analog to Digital Converter (ADC).

Code, flowchart and Proteus simulation is given in the 'Downloads' section at the bottom of this page. It is assumed that you know how to interface LCD and ADC with 8051 micro-controller.


The result of the Proteus simulation is shown below.



In the above figure, we can see that a read of voltmeter and ohmmeter is shown on the screen. The processor keep scanning for change of analog signals of voltmeter and ohmmeter circuits sequentially and frequently. If some change happens equal to one step size (5/255=19.61mV) or more, the processor calculate the new reads and print it.

Flowchart


The flowchart describes the main routine and each one of the three subroutines included at the assembly code.

The program acts as follows:


  1. Initialize the memory and LCD for display after powering up.


  2. Convert analog voltage signal on IN0 of ADC to 8-bit digital signal.


  3. Calculate and print voltage value (Vin = Digital signal * Step size)


  4. Convert analog voltage signal on IN1 of ADC to 8-bit digital signal.


  5. Calculate and print resistance value by voltage divider method.


  6. Forever repeat steps from 2 to 5



Features



  • Good sensitivity for voltmeter.

  • Ohmmeter resistivity ranges up to 9.7 KΩ.

  • No need of external clocking source for ADC.


  • No need of switches for voltmeter and ohmmeter mode multiplexing.


Downloads


The code was compiled in Kiel uVision 4 and simulation was made in Proteus v7.8 SP2.
To download code, flowchart and simulation click here

Monday, March 4, 2013

VLSI CAD: Logic to Layout

VLSI CAD: Logic to Layout

The course I was waiting for is just starting, I'll be pleased if you join also :)

The course is about VLSI, seems to be another point of view than which we study at our class this year, but I think it's still interesting ^^

Course Instructor: Rob A. Rutenbar
He is the Abel Bliss Professor and Head of the Department of Computer Science (CS) at the University of Illinois at Urbana-Champaign :O

PS. Coursera gives the course online at zero fees! ;)