Difference between revisions of "7.8051 Interfacing:LEDs"
Line 28: | Line 28: | ||
The code below is included in Led_Blinking.c file. This file contains the '''main()''' function with which execution of the code begins. | The code below is included in Led_Blinking.c file. This file contains the '''main()''' function with which execution of the code begins. | ||
}} | }} | ||
− | <syntaxhighlight lang="c"> | + | <syntaxhighlight lang="c" line> |
/* Reg51.h contains the defnition of all ports and SFRs */ | /* Reg51.h contains the defnition of all ports and SFRs */ | ||
#include <reg51.h> | #include <reg51.h> |
Revision as of 19:49, 15 December 2013
LED Interfacing with 8051
Introduction
Light Emitting Diodes as we know are PN Junction diodes which emit light when forward biased. Well, lets say they simply emit light! They come in various packages through hole as well as SMD. They are basically used to:
- Indicate System status, ON/OFF etc.
- LED lighting: Well, recent technology trends show a increasing usage of LEDs in domestic and industrial lighting. And there are cool projects in DIY community too. Check the Lumapad for instance.
- Also you could build some display projects like the persistence of vision[POV].
Well, lets just start interfacing a simple LED with the micrcontroller.
Objective
Turn ON LEDs for a second, and turn OFF LEDs for a second repeatedly. The LEDs are connected to any of the four ports of the 8051 microcontroller.
Schematic Diagram
Code
The code is divided mainly in to two sections for all the interfaces.
- C files
- The c files primarily contain, the main.c and other '*.c' files depending on the peripheral or control features used.
- Header files
- The header files will contain function prototypes of the included c files.
This makes the code reusable. Whenever a interface, or feature is required to be tested, a source file(e.g lcd.c) and a corresponding header(.h) file is included.
So, lets start with a simple example. The entire project can be downloaded from the link at the end of the page. You could view a step by step procedure to configure the project in the 8051 tools set up tutorial. The code below is included in Led_Blinking.c file. This file contains the main() function with which execution of the code begins.
/* Reg51.h contains the defnition of all ports and SFRs */
#include <reg51.h>
#include "delay.h"
#define LedOn 0xFF //sending a logic one turns on the LED
#define LedOff 0x00 //sending logic zero turns it off
/* start the main program */
void main()
{
while(1)
{
/* Turn On all the leds and wait for one second */
P0=LedOn;
P1=LedOn;
P2=LedOn;
P3=LedOn;
delay_sec(1);
/* Turn off all the leds and wait for one second */
P0=LedOff;
P1=LedOff;
P2=LedOff;
P3=LedOff;
delay_sec(1);
}
}