VIDEOS DOWNLOAD
- VIDEOS (8)
- pdf videos (1)
COOL PIX
Popular Posts
-
Aim: To changing the standard setting and advanced setting is COMS setup program. Entering into BIOS Setup: Access the BIOS util...
-
An electronic lock or digital lock is a device which has an electronic control assembly attached to it. They are provided ...
-
Total views RF based Wireless Remote Control 82,176 Wireless motor control through RF 40,656 Automatic night lamp 35,113 Infrared (I...
-
The architecture used in smart phones , personal digital assistants and other mobile devices is anything from ARMv5 in obsolete/low-end...
-
Keil interfacing programs for 8051 508 Sample Programs in Keil for 8051 741 Introduction to Micro vision Keil (IDE) 838 Simple Program...
-
6.3. Monitoring Section 6.3.1. Temperature Sensor The LM35 does not require any external calibration or trimming to provid...
-
An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. An embedded syst...
-
Wi th threats such as climate change and declining oil stocks looming, we should be going all out to find alternative sources of energy...
-
Several devices collect data from sensors and need to send it to another unit, like a computer, for further processing. Data transfer/com...
-
This Project deals with the porting of Micro C /OS-II kernel in ARM powered microcontroller for the implementation of multitasking and...
Showing posts with label microcontroller. Show all posts
Showing posts with label microcontroller. Show all posts
8051 Microcontroller Projects List
Labels: ECE, microcontroller, PROJECT
Simple Digital clock using 8051 microcontroller (AT89C51)
A digital clock is one that displays time digitally. The circuit explained here displays time with two ‘minutes’ digits and two ‘seconds’ digits on four seven segment displays. The seven segment and switches are interfaced with 8051 microcontroller AT89C51. This circuit can be used in cars, houses, offices etc.
DESCRIPTION :
As soon as the Vcc supply is provided to this circuit, the clock starts from 00:00. The time is displayed on four seven segments (in common anode configuration) by using the concept of multiplexing. This is achieved by using timer interrupt (Timer0) of AT89C51
which is configured to refresh seven segments. The segments are refreshed many times in a second for simultaneous display. The clock runs with a delay of exactly one second. Timer1 has been used to produce a time delay of one second. The data pins (a–h) of all the segments are interconnected and receive signal from port P2 of the microcontroller. The control or enable pins (common anode) are connected to pins 1-4 of port P1 (P1^0 – P1^3).
The number on 4th segment (displaying the unit digit of second) is incremented once in a second as it goes from 0 to 9. The number on 3rd segment is incremented after every 10 seconds from 0 to 5. Thus seconds are displayed varying from 00 to 59. The digit on the 2nd segment changes after every 60 seconds (a minute) from 0 to 9 and so on. Thus the clock runs for an hour and after that it resets to zero again
Labels: ECE, microcontroller, PROJECT
How to interface 16x2 LCD with 8051 microcontroller (AT89C51)
It is very important to keep a track of the working of almost all the automated and semi-automated devices, be it a washing machine, an autonomous robot or anything else. This is achieved by displaying their status on a small display module. LCD (Liquid Crystal Display) screen is such a display module and a 16x2 LCD module is very commonly used. These modules are replacing seven segments and other multi segment LEDs for these purposes. The reasons being: LCDs are economical, easily programmable, have no limitation of displaying special & even custom characters (unlike in seven segments), animationsand so on. LCD can be easily interfaced with a microcontroller to display a message or status of a device. This topic explains the basics of a 16x2 LCD and how it can be interfaced with AT89C51 to display a character
DESCRIPTION :
A 16x2 LCD means it can display 16 characters per line and there are 2 such lines. In this LCD each character is displayed in 5x7 pixel matrix. This LCD has two registers.
1. Command/Instruction Register - stores the command instructions given to the LCD. A command is an instruction given to LCD to do a predefined task like initializing, clearing the screen, setting the cursor position, controlling display etc.
2. Data Register - stores the data to be displayed on the LCD. The data is the ASCII value of the character to be displayed on the LCD.
Commonly used LCD Command codes:
Hex Code
|
Command to LCD Instruction Register
|
1
|
Clear screen display
|
2
|
Return home
|
4
|
Decrement cursor
|
6
|
Increment cursor
|
E
|
Display ON, Cursor ON
|
80
|
Force the cursor to the beginning of the 1st line
|
C0
|
Force cursor to the beginning of the 2nd line
|
38
|
Use 2 lines and 5x7 matrix
|
The pin description of this module is given below.
Pin configuration:
Pin
|
Symbol
|
Description
| |
1
|
VSS
|
Ground
|
0 V
|
2
|
VCC
|
Main power supply
|
+5 V
|
3
|
VEE
|
Power supply to control contrast
|
Contrast adjustment by providing a variable resistor through VCC
|
4
|
RS
|
Register Select
|
RS=0 to select Command Register
RS=1 to select Data Register
|
5
|
R/W
|
Read/write
|
R/W=0 to write to the register
R/W=1 to read from the register
|
6
|
EN
|
Enable
|
A high to low pulse (minimum 450ns wide) is given when data is sent to data pins
|
7
|
DB0
|
To display letters or numbers, their ASCII codes are sent to data pins (with RS=1). Also instruction command codes are sent to these pins.
| |
8
|
DB1
| ||
9
|
DB2
| ||
10
|
DB3
|
8-bit data pins
| |
11
|
DB4
| ||
12
|
DB5
| ||
13
|
DB6
| ||
14
|
DB7
| ||
15
|
Led+
|
Backlight VCC
|
+5 V
|
16
|
Led-
|
Backlight Ground
|
0 V
|
Programming the LCD:
1. Data pin8 (DB7) of the LCD is busy flag and is read when R/W = 1 & RS = 0. When busy flag=1, it means that LCD is not ready to accept data since it is busy with the internal operations. Therefore before passing any data to LCD, its command register should be read and busy flag should be checked.
2. To send data on the LCD, data is first written to the data pins with R/W = 0 (to specify the write operation) and RS = 1 (to select the data register). A high to low pulse is given at EN pin when data is sent. Each write operation is performed on the positive edge of the Enable signal.
3. To send a command on the LCD, a particular command is first specified to the data pins with R/W = 0 (to specify the write operation) and RS = 0 (to select the command register). A high to low pulse is given at EN pin when data is sent.
Displaying single character ‘A’ on LCD
The LCD is interfaced with microcontroller (AT89C51). This microcontroller has 40 pins with four 8-bit ports (P0, P1, P2, and P3). Here P1 is used as output port which is connected to data pins of the LCD. The control pins (pin 4-6) are controlled by pins 2-4 of P0 port. Pin 3 is connected to a preset of 10k? to adjust the contrast on LCD screen. This program uses the above concepts of interfacing the LCD with controller by displaying the character ‘A’ on it
CIRCUIT DIAGRAM :
VIDEO ;
Labels: ECE, microcontroller, PROJECT
Subscribe to:
Posts (Atom)