+ All Categories
Home > Documents > propeller led display

propeller led display

Date post: 28-Dec-2015
Category:
Upload: shweta-jain
View: 45 times
Download: 3 times
Share this document with a friend
Description:
electronics display using least no. of leds
Popular Tags:
38
Propeller LED Display CHAPTER 1 1 PROPELLER LED DISPLAY OVERVIEW Propeller is a term associated with a circular rotating object. As this project needs to rotate the whole circuit assembly, there must be some prime mover attached to it. So, the term ‘Propeller’. This project using bright light emitting diodes for displaying the characters and symbols on its assembly. That’s why this project is named as ‘PROPELLER LED DISPLAY’. This is the phenomenon which is related to vision capability of human eye by which an afterimage is thought to persist for approximately 1/25th of a second. So, if someone is observing the images at a rate of 25 images per second, then they appear to be continuous. The best example of this property is the red circle we observe when we rotate the firecracker or incense stick in circle. This project was started with a simple principle which is frequently encountered in our everyday life, which is Persistence of Vision. This phenomenon makes one feel fast moving/changing objects to appear continuous. A television is a common example; in which image is re-scanned every 25 times, thus making it continuous. Further, a glowing objects if rotated in a circle at fast speed, it shows a continuous circle. By modifying this basic idea, 7 LEDs can be rotated in a circle, showing 7 concentric circles. But if these LEDs are switched at precise intervals, a steady display pattern can be shown. Existing systems do employ POV principle, but for displaying each pixel, individual LED is used. Dept. of Electronics and Communication,KITE,Jaipur Page 1
Transcript
Page 1: propeller led display

Propeller LED Display

CHAPTER 1

1 PROPELLER LED DISPLAY OVERVIEW

Propeller is a term associated with a circular rotating object. As this project needs to rotate the

whole circuit assembly, there must be some prime mover attached to it. So, the term ‘Propeller’.

This project using bright light emitting diodes for displaying the characters and symbols on its

assembly. That’s why this project is named as ‘PROPELLER LED DISPLAY’. This is the

phenomenon which is related to vision capability of human eye by which an afterimage is

thought to persist for approximately 1/25th of a second. So, if someone is observing the images

at a rate of 25 images per second, then they appear to be continuous. The best example of this

property is the red circle we observe when we rotate the firecracker or incense stick in circle.

This project was started with a simple principle which is frequently encountered in our everyday

life, which is Persistence of Vision. This phenomenon makes one feel fast moving/changing

objects to appear continuous. A television is a common example; in which image is re-scanned

every 25 times, thus making it continuous. Further, a glowing objects if rotated in a circle at fast

speed, it shows a continuous circle. By modifying this basic idea, 7 LEDs can be rotated in a

circle, showing 7 concentric circles. But if these LEDs are switched at precise intervals, a steady

display pattern can be shown. Existing systems do employ POV principle, but for displaying

each pixel, individual LED is used. This results in a huge number of LEDs even for small sized

displays. By using a propeller type display, LED count can be kept to a bare minimum. Even 7

LEDs can perform a task of over 525 LEDs. Applications can find their way into cost effective

solutions for large public displays, information systems. It can directly replace Railway station

information displays, bus stands and many more places.

Conventional methods of displaying images to public are using LCD display and dot-matrix

LED board. Propeller LED display is a device that project an image or time as if the images are

floating in the air. The floating image is received because of human eye limitation. Actually the

floating images emerge by synchronizing LED'S blink to form an image at particular time and

rate.

The programming of PIC is using Assembly Language. This project consist two main circuit;

motor controller circuit and LED circuit. 9VDC will be used to supply the power for motor

Dept. of Electronics and Communication,KITE,Jaipur Page 1

Page 2: propeller led display

Propeller LED Display

controller circuit. Then the motor controller circuit will provides power to LED circuit and DC

motor. When DC motor is rotating, the floating image will appear. The synchronization of DC

motor speed and LED blink cause the image visible to human eyes. So the desired image such as

clock, date or symbol can be programmed and displayed.

Dept. of Electronics and Communication,KITE,Jaipur Page 2

Page 3: propeller led display

Propeller LED Display

CHAPTER 2

2.1 Working principle

If you move a bright light fast by the eyes, it will leave a line behind because the human brain

and eyes are slow to interpret fast changes in light intensity, leaving an after glow. If a row of

LED’s is moved sideways while the LED’s intensity is changed, an image will shortly visualize

in the air where the LED’s are moved. If this is done several times, for example if the LED’s are

mounted on the end of a bar mounted on a motor as in the figure on the right, the same area in

the air could be scanned several times showing the same image each time. Done at high speed it

would generate a quite good virtual display hanging in air thanks to the persistence of vision

Dept. of Electronics and Communication,KITE,Jaipur Page 3

2 WORKING PRINCIPLE

Microcontrolled LEDs

DC Motor

Power Supply

Fig 1: Schematic Diagram

Page 4: propeller led display

Propeller LED Display

effect of the brain. People has started to refer to this kind of display as POV-displays

(Persistence of vision displays) as if it was the only type of displays depending on the persistence

of vision effect but that is kind of ignorant as many display types use the same effect, like for

example CRTs and multiplexed LED displays, thus "mechanically scanned display" is a more

accurate name.

2.2 How this clock works:

The basic principle used is the persistence of vision. As the LEDs rotate at a high speed they can

be controlled with the help of a micro-controller so as to glow them in such a combination that a

floating display is formed .A motor spins the "propeller", and a small microprocessor keeps track

of time and changes the pattern on seven LEDs with exact timing to simulate an array of LEDs.

It is an illusion, but it works nicely.

Fig 2: Working of Propeller LED Display

2.3 Display Formation

Dept. of Electronics and Communication,KITE,Jaipur Page 4

Page 5: propeller led display

Propeller LED Display

As we have already learned that POV is the basic phenomena involved, now to use this we need

to get into some details. We first divide our numbers into matrix of 5*5.

This how a no. would appear. On the basis of the ABOVE diagram , coding is done and then the

display is formed.

CHAPTER 3

Dept. of Electronics and Communication,KITE,Jaipur Page 5

Fig 3: Display Formation

Page 6: propeller led display

Propeller LED Display

3 CONSTRUCTION AND COMPONENTS USED

Basically, Propeller LED display has 2 units:

1. Rotating circuit board

2. DC motor with power supply unit

Rotating board and DC motor with power supply unit:

Dept. of Electronics and Communication,KITE,Jaipur Page 6

Fig 4: Rotating Circuit Board

Fig 5: DC Motor with Power Supply

Page 7: propeller led display

Propeller LED Display

Components used are 1 Microcontroller 8051,8 LEDs, Interrupter module, Capacitors, resistors,

IC 7805,Crystal Oscillator, High speed DC Motor, rotor.

Interrupter Module (OPTO COUPLER) :-Interrupter module is our hardware sensor module,

consisting of the IR interrupt sensor MOC7811, from Motorola Inc. This sensor was selected

from a variety of other alternatives, because of its small size, precise interrupt sensing, and

sturdy casing. One great advantage of using this module is interfacing it with the microcontroller

is just a matter of two resistors and a general purpose transistor and is provides isolation between

2 circuits.

Microcontroller AT89C2051:-This project is based on the microcontroller AT89C2051, which is

a derivative of 8051 family, from Atmel Inc. This is a 20 pin IC packaged in DIP package. This

mall sized IC is used, mainly because of its reduced weight. This improves the performance of

the display.

LED Module:- LED module consisting of 8 bright LED is fixed in another side of the arm of our

project. These LEDs are connected with each of the port pin of microcontroller, with a series

current limiting resistor of 470 ohm.

DC Motor: Repeated scanning of the display is must for continuous vision. This task is achieved

using circular rotation of the whole circuit assembly. So, we used a DC motor with 1200 rpm

needed as the prime mover.

DC Power Supply: For microcontroller, as well as the DC motor, a regulated DC power supply is

required. We have to provide +6V to the microcontroller, while +9V to the motor.

Dept. of Electronics and Communication,KITE,Jaipur Page 7

Page 8: propeller led display

Propeller LED Display

From the Fig 6, the 9V DC is supplied to Motor Controller Circuit. Motor Controller circuit is

controlling the DC motor speed and the speed is adjustable. In order to rotate the circuit, DC

motor is used. Microcontroller purposed is to execute the program and transmit the signal to

LED. As output, a line of LED is used to transmit the desired signal. In order to display the

images, DC motor will rotate the circuit board. If the displayed image is not clear, the DC motor

speed is adjusted until the displayed image is visible.

Dept. of Electronics and Communication,KITE,Jaipur Page 8

Fig 6: Block Diagram of Propeller LED Display

Page 9: propeller led display

Propeller LED Display

3.1 MOTOR

Motors come in many sizes and types, but their basic function is the same. Motors of all types

serve to convert electrical energy into mechanical energy. They can be found in VCR's,

elevators, CD players, toys, robots, watches, automobiles, subway trains, fans, space ships, air

conditioners, refrigerators, and many other places. The performance of the motor is very

important in circuit design. This is because the electrics motors directly affect its speed and

pushing capability. Motor performance information is needed to select the required speed. The

current requirements from the motor will dictate what type and size batteries will need and they

are also a factor in determining the minimum current requirements for motor speed controllers.

3.1.1 DC Motor

DC motors seem quite simple. Apply a voltage to both terminals, and it will spin. DC motors are

non-polarized which means that it can reverse voltage so the motor will rotate in two directions,

forward and backward. Typical DC motors are rated from about 6V-12V. The larger ones are

often 24V or more but for the purpose of this project, it is necessary to use 6V-12V range motor.

Voltage is directly related to motor torque. The more voltage supplied, the higher the torque will

be produce. Specifications of most DC motors show high revolutions per minute (rpm) and low

torque.

The DC motor is popular in a number of drive applications due to its simple operation and

control. By referring Fig 7, it has 2 main parts which is rotor and stator. Stator is the part where

the permanent magnet situated and used to generate the magnetic field and it is static. Rotor is

the rotary part in the motor and contains block of core and wire loops. It also called the armature.

Dept. of Electronics and Communication,KITE,Jaipur Page 9

Fig 7: DC Motor

Page 10: propeller led display

Propeller LED Display

The rotor is placed inside the magnetic field caused by two permanent magnets. By referring to

the situation that shown in Fig 8, both sides of the wire loop will have a force on them. trying to

make the wire loop rotate. The current is applied to the loop through the commutator, which is

shown as two pieces of metal formed into a ring in the figure. Current is applied to the

commutator by stationary graphite blocks, called brushes, which rub against the commutator

ring. The loop will continue to rotate anticlockwise until it is vertical. At this point, the stationary

brushes won't be applying current around the loop anymore because they will be contacting the

gap between the commutator segments, but the inertia of the loop keeps it going a little more,

until the DC supply reconnects to the commutator segments, and the current then goes around the

loop in the opposite direction. The force though is still in the same direction. and the loop

continues to rotate.

Dept. of Electronics and Communication,KITE,Jaipur Page 10

Fig 8: Operation of DC Motor

Page 11: propeller led display

Propeller LED Display

3.1.1.1 DC Motor Voltage

DC motors are non-polarized - meaning that one can reverse voltage without any bad things

happening. Typical DC motors are rated from about 6V-12V. The larger ones are often 24V or

more. But for the purposes of this project, do stay in the 6V-12V range. It is stated that voltage is

directly related to motor torque. High voltage produces higher torque. A DC motor is rated at the

voltage it is most efficient at running. If very few volts are applied, it just won't work. If too

much is applied, it will overheat and the coils will melt. So the general rule is to apply as close to

the rated voltage of the motor. But do not surpass 12V motors unless the torque is required

badly.

3.1.1.2 DC Motor Current

As with all circuitry, one must pay attention to current. Too little, and it just won't work. Too

much, the motor will meltdown. When buying a motor, there are two current ratings one should

pay attention to. The first is operating current. This is the average amount of current the motor is

expected to draw under a typical torque. Multiply this number by the rated voltage and the

average power draw required to run the motor is obtained. The other current rating which one

needs to pay attention to is the stall current. This is when the motor is power up, and enough

torque is put to force it to stop rotating. This is the maximum amount of current the motor will

ever draw, and hence the maximum amount of power too. So, one must design all control

circuitry capable of handling this stall current. Also, if the motor is constantly run, or run it

higher than the rated voltage, it is wise to heat sink to keep the motor's coils from melting.

3.1.1.3 DC Motor Power Rating

Basically, all motors are rated at certain wattage. Wattage is energy. Inefficiency of energy

conversion directly relates to heat output. Too much heat, the motor coils melt. So the

manufacturers of motors know how much wattage will cause motor failure, and post this on the

motor specification sheets.

The equation is:

Power (watts) = Voltage * Current

Dept. of Electronics and Communication,KITE,Jaipur Page 11

Page 12: propeller led display

Propeller LED Display

Increase voltage and measure current until the power is about -90% below the given power

rating.

3.1.1.4 DC Motor Torque

Torque is defined as that force which tends to produce and maintain rotation. The function of

torque in a DC motor is to provide the mechanical output or drive the piece of equipment that the

DC motor is attached to. There are two torque value ratings which must been pay attention to.

The first is the operating torque. This is the torque the motor was designed to give. Usually it is

the listed torque value. The other rated value is stall torque. This is the torque required to stop the

motor from rotating. he torque which is developed by the motor can be determined using

Equation:

T = KΦI

where

T = torque

K = a constant depending on physical size of motor

Φ = field flux, number of lines of force per pole

I, = armature current

When buying a DC motor, there are two torque value ratings which must be Pay attention to. The

first is operating torque. This is the torque the motor was designed to give. Usually it is the listed

torque value. The other rated value is stall torque. This is the torque required to stop the motor

from rotating. If one need a little more speed, going 20% above the rated motor voltage value is

fairly safe. But, that this is less efficient, and the motor should be heat-sinked.

3.1.1.5 Velocity

Velocity is very complex when it comes to DC motors. The general rule is motors run the most

efficient when run at the highest possible speeds. Obviously however this is not possible. There

are times to run the motor slowly. Just like car, it won't to keep the car constantly at high speed.

The voltage and applied torque resistance obviously also affects speed.

Dept. of Electronics and Communication,KITE,Jaipur Page 12

Page 13: propeller led display

Propeller LED Display

3.2 LED

A light-emitting diode (LED) is a semiconductor light source. LEDs are used as indicator lamps

in many devices, and are increasingly used for lighting. Introduced as a practical electronic

component in 1962, early LEDs emitted low-intensity red light, but modern versions are

available across the visible, ultraviolet and infrared wavelengths, with very high brightness. The

LED is based on the semiconductor diode. When a diode is forward biased (switched

on),electrons are able to recombine with holes within the device, releasing energy in the form of

photons. This effect is called electro luminescence and the color of the light (corresponding to

the energy of the photon) is determined by the energy gap of the semiconductor. An LED is

usually small in area (less than 1 mm 2), and integrated optical components are used to shape its

diation pattern and assist in reflection.

LEDs present many advantages over incandescent light sources including lower energy

consumption, longer lifetime, improved robustness, smaller size, faster switching, and greater

durability and reliability. However, they are relatively expensive and require more precise

current and heat management than traditional light sources. Current LED products for general

lighting are more expensive to buy than fluorescent lamp sources of comparable output. They

also enjoy use in applications as diverse as replacements for traditional light sources in aviation

lighting, automotive lighting (particularly indicators) and in traffic signals. The compact size of

LEDs has allowed new text and video displays and sensors to be developed, while their high

switching rates are useful in advanced communications technology. IR LEDs are also used in

many commercial products such as a TV remote.

Dept. of Electronics and Communication,KITE,Jaipur Page 13

Page 14: propeller led display

Propeller LED Display

CHAPTER 4

4 WORKING OPERATION AND RELATED CODES

4.1 SOFTWARE DESCRIPTION

Kiel compiler

The KIEL 8051 Development Kits are a complete solution for creating software for the 8051

family of microcontroller. The development Kits comprise many different tools that allow

projects ranging from simple to highly complex to be developed with relative ease. You will

find that with the KIEL development kits you can rely on tools that have been tested by real

users over a long period of time.KIEL provides a familiarity to the tools that will provide a basis

for using more complex features. It is assumed that the user is familiar with Windows has at

least some familiarity with the 2051 microcontroller family and the C programming language.

Algorithm

i. Main routine

1. Load proper value in IE register, so that the interrupts INT0 and T0 are enabled. (IE =83H)

2. Offer higher priority to the INT0 (External) interrupt.(IP = 01H)

3. Configure timer 1 as 16-bit timer, and timer0 as 8-bit auto reload mode timer. ( TMOD= 12H)

4. INT0 should be configured as edge interrupt. (IT0=1)

5. Configure port 3 as input port. (P3 = 0FFH)

6. Move input string to the video RAM area.(call„ramc‟ function)

7. Start the timers.

8. Initiate an infinite loop.

Dept. of Electronics and Communication,KITE,Jaipur Page 14

Page 15: propeller led display

Propeller LED Display

ii. Interrupt Routines

a. External Interrupt

1. Stop the timers.

2. Move th1 and tl1 into convenient registers.

3. Divide this 16 bit value by our total number Of segments.

4. Subtract the answer from 256, and load the Result in th0.

5. Now, reset the video RAM pointer and character segment pointers to their initial respective

6. start the timer.

7. Return from interrupt

b. Timer 0 Interrupt

1. Call the display routine.

2. Clear timer overflows flag.

3. Return from interrupt

4.2 Sources codes & Schematics

-Schematic in PDF format//**************************************

// Clock 16 MHz

// Version 1.0 Janvier 2002

// Sylvain Bissonnette

//**************************************

//**************************************

// I N C L U D E

//**************************************

#include <io2313v.h>

Dept. of Electronics and Communication,KITE,Jaipur Page 15

Page 16: propeller led display

Propeller LED Display

#include <macros.h>

//**************************************

// D E F I N E

//**************************************

#define TRUE 0x01

#define FALSE 0x00

#define ANALOG 0x01

#define DIGITAL 0x02

//**************************************

// I N T E R R U P T H A N D L E R

//**************************************

#pragma interrupt_handler Crossing_interrupt:2

#pragma interrupt_handler IR_interrupt:4

#pragma interrupt_handler Degre_interrupt:5

#pragma interrupt_handler Ticker_interrupt:7

//**************************************

// P R O T O T Y P E

//**************************************

void Crossing_interrupt(void);

void Degre_interrupt(void);

void Time(unsigned char);

void IR_interrupt(void);

void Ticker_interrupt(void);

void Display(void);

void CopyData(int Value);

void CopyDot(void);

//**************************************

Dept. of Electronics and Communication,KITE,Jaipur Page 16

Page 17: propeller led display

Propeller LED Display

// G L O B A L V A R I A B L E

//**************************************

int WeelPosition;

unsigned char Pos;

unsigned int Adder;

unsigned char LatchedIrData;

unsigned char Sec;

unsigned char Min;

unsigned char Hrs;

int SecComp;

int MinComp;

int HrsComp;

unsigned char ClockStyle;

unsigned char TimeString[50];

unsigned char *TimeStringPtr;

unsigned char i;

//**************************************

// C O N S T A N T

//**************************************

const unsigned char table[12][6] = {{ 0x3e, 0x41, 0x41, 0x41,

0x3e, 0x00 }, // 0

{ 0x00, 0x21, 0x7f, 0x01, 0x00,

0x00 }, // 1

{ 0x21, 0x43, 0x45, 0x49, 0x31,

0x00 }, // 2

{ 0x42, 0x41, 0x51, 0x69, 0x46,

0x00 }, // 3

Dept. of Electronics and Communication,KITE,Jaipur Page 17

Page 18: propeller led display

Propeller LED Display

{ 0x0c, 0x14, 0x24, 0x5f, 0x04,

0x00 }, // 4

{ 0x72, 0x51, 0x51, 0x51, 0x4e,

0x00 }, // 5

{ 0x1e, 0x29, 0x49, 0x49, 0x06,

0x00 }, // 6

{ 0x40, 0x47, 0x48, 0x50, 0x60,

0x00 }, // 7

{ 0x36, 0x49, 0x49, 0x49, 0x36,

0x00 }, // 8

{ 0x30, 0x49, 0x49, 0x4a, 0x3c,

0x00 }, // 9

{ 0x00, 0x36, 0x36, 0x00, 0x00,

0x00 }, // :

{ 0x00, 0x00, 0x00, 0x00, 0x00,

0x00 }};// space

//**************************************

// M A I N

//**************************************

void main()

{

WDTCR = 0x0e; // Enable WatchDog at 0.97 sec

PORTD = 0x0d; // Pull up on PD2&PD3 & Led White ON

DDRD = 0x03; // PD0-O PD1-O PD2-I PD3-I PD4-I

PD5-I PD6-I PD7-I

//INT 0

MCUCR = 0x02; // Int0 generate int on falling eadge

Dept. of Electronics and Communication,KITE,Jaipur Page 18

Page 19: propeller led display

Propeller LED Display

GIMSK = 0x40; // Int0 enable

//Timer0

TCCR0 = 0x05; // Timer0 / 1024

//Timer1

TCCR1B = 0x42; // Timer1 / 8 & Input Capture on Rising

eadge

TIMSK = 0x4a; // int enable on Timer1 Compare Match

// int enable on Timer 1 Input Capture

// int enable on Timer0 Overflow

PORTB = 0x00;

DDRB = 0xff; // PB0-7 as output

Hrs = 0;

Min = 0;

Sec = 0;

ClockStyle = ANALOG;

SEI();

while(1)

{

asm("WDR");

for (i=0;i<200;i++);

f if ((LatchedIrData == 0xbb) || (LatchedIrData == 0x92))

Time(TRUE);

f if ((LatchedIrData == 0xb3) || (LatchedIrData == 0xb0))

ClockStyle = DIGITAL;

f if ((LatchedIrData == 0xb4) || (LatchedIrData == 0xb1))

ClockStyle = ANALOG;

LatchedIrData = 0;

Dept. of Electronics and Communication,KITE,Jaipur Page 19

Page 20: propeller led display

Propeller LED Display

}

}

/

**************************************************

********

Name: void Time(void)

Description:

Input: none

Output: none

Misc:

**************************************************

********/

void Time(unsigned char Fast)

{

f if (Fast == FALSE) Sec++;

else Sec += 60;

f if (Sec > 59)

{

Sec = 0;

Min++;

f if (Min > 59)

{

Min = 0;

Hrs++;

f if (Hrs > 11)

{

Hrs = 0;

Dept. of Electronics and Communication,KITE,Jaipur Page 20

Page 21: propeller led display

Propeller LED Display

}

}

}

f if (ClockStyle == ANALOG)

{

SecComp = Sec*6;

MinComp = Min*6;

HrsComp = (Hrs*30)+(Min/2);

}

else

{

TimeStringPtr = &TimeString[0];

CopyData(Hrs);

CopyDot();

CopyData(Min);

CopyDot();

CopyData(Sec);

}

}

/

**************************************************

********

Name: void CopyData(int Value)

Description:

Input: none

Output: none

Misc:

Dept. of Electronics and Communication,KITE,Jaipur Page 21

Page 22: propeller led display

Propeller LED Display

**************************************************

********/

void CopyData(int Value)

{

f if (Value < 10)

{

for (i=0;i<6;i++) *TimeStringPtr++ = table[0][i];

for (i=0;i<6;i++) *TimeStringPtr++ = table[Value][i];

}

else

{

for (i=0;i<6;i++) *TimeStringPtr++ = table[Value/10][i];

for (i=0;i<6;i++) *TimeStringPtr++ = table[Value-

((Value/10)*10)][i];

}

}

/

**************************************************

********

Name: void CopySpace(void)

Description:

Input: none

Output: none

Misc:

**************************************************

********/

void CopyDot(void)

Dept. of Electronics and Communication,KITE,Jaipur Page 22

Page 23: propeller led display

Propeller LED Display

{

for (i=0;i<6;i++) *TimeStringPtr++ = table[10][i];

}

/

**************************************************

********

Name: void Crossing_interrupt(void

Description:

Input: none

Output: none

Misc:

**************************************************

********/

void Crossing_interrupt(void)

{

static unsigned int LastCount;

static unsigned int TotalCount;

static int Latch;

static unsigned char Lap;

Latch = TCNT1;

TotalCount = Latch - LastCount;

LastCount = Latch;

Lap++;

f if (Lap > 250)

{

Adder = TotalCount / 378;

Lap = 0;

Dept. of Electronics and Communication,KITE,Jaipur Page 23

Page 24: propeller led display

Propeller LED Display

}

WeelPosition = 0;

OCR1 = Latch + Adder;

TIFR |= 0x80;

Display();

}

/

**************************************************

********

Name: void Degre_interrupt(void)

Description:

Input: none

Output: none

Misc:

**************************************************

********/

void Degre_interrupt(void)

{

OCR1 = TCNT1 + Adder;

Display();

}

/

**************************************************

********

Name: void Display(void)

Description:

Input: none

Dept. of Electronics and Communication,KITE,Jaipur Page 24

Page 25: propeller led display

Propeller LED Display

Output: none

Misc:

**************************************************

********/

void Display(void)

{

PORTB = 0x00;

f if (ClockStyle == ANALOG)

{

f if (WeelPosition == HrsComp) PORTB = 0x80;

f if (WeelPosition == MinComp) PORTB = 0xff;

f if (WeelPosition == SecComp) PORTB |= 0x03;

f if ((WeelPosition == 0) ||

(WeelPosition == 30) ||

(WeelPosition == 60) ||

(WeelPosition == 90) ||

(WeelPosition == 120) ||

(WeelPosition == 150) ||

(WeelPosition == 180) ||

(WeelPosition == 210) ||

(WeelPosition == 240) ||

(WeelPosition == 270) ||

(WeelPosition == 300) ||

(WeelPosition == 330)) PORTB |= 0x01;

Dept. of Electronics and Communication,KITE,Jaipur Page 25

Page 26: propeller led display

Propeller LED Display

}

else

{

Pos = ((WeelPosition-100) / 3);

f if (Pos < 49)

{

PORTB = TimeString[48-Pos];

}

}

WeelPosition++;

}

/

**************************************************

********

Name: void IR_interrupt(void)

Description: This routine is called whenever a rising edge

(beginning

of valid IR signal) is received.

- The data codes are sent using pulse coding.

- Each packet has 12 bits and a header.

- The basic time period T = 550us.

- The header length = 4T (2.2ms)

- 0 = pulse with length T followed by space of

length T.

- 1 = pulse with length 2T followed by space of

length T.

- The last 5 bits represent the Addess.

Dept. of Electronics and Communication,KITE,Jaipur Page 26

Page 27: propeller led display

Propeller LED Display

- The first 7 bits represent the command.

- A packet is transmitted every 25ms while a

button is down.

Input: none

Output: Global variable LatchedIrData

Misc: Sony VCR protocol

**************************************************

********/

void IR_interrupt(void)

{

static unsigned int LastCapture;

unsigned int PulseWidth;

static unsigned int IrPulseCount;

static unsigned int IrData;

PulseWidth = ICR1 - LastCapture;

LastCapture = ICR1;

f if (PulseWidth > 4000)

{

IrPulseCount = 0;

IrData = 0;

}

else

{

IrData = IrData >> 1;

f if (PulseWidth > 2800) IrData = IrData | 0x8000;

IrPulseCount++;

f if (IrPulseCount == 12) LatchedIrData = ((IrData >> 4) &

Dept. of Electronics and Communication,KITE,Jaipur Page 27

Page 28: propeller led display

Propeller LED Display

0x00ff);

}

}

/

**************************************************

********

Name: void Ticker_interrupt(void)

Description:

Input: none

Output: none

Misc:

**************************************************

********/

void Ticker_interrupt(void)

{

static unsigned char Tick;

Tick++;

f if (Tick > 62)

{

Time(FALSE);

Tick = 0;

}

TCNT0 = 0x04; // reload counter

Dept. of Electronics and Communication,KITE,Jaipur Page 28

Page 29: propeller led display

Propeller LED Display

CHAPTER 5

5 CONCLUSION

Dept. of Electronics and Communication,KITE,Jaipur Page 29

Page 30: propeller led display

Propeller LED Display

REFERENCES

www.google.com

www.wikipedia.com

www.electropedia.com

Dept. of Electronics and Communication,KITE,Jaipur Page 30


Recommended