Implementation of sign board dot matrix display with 8051

25
LAB 2: Implementation of sign board DOT matrix display with 8051 Aim - Implementation of dot-matrix led based system using MCS-51 Objectives - To design the hardware to interface the display to MCS51 microcontroller. - To develop the application software using C language - To simulate the program and verify the result Introduction This laboratory experiment will provide a basic concept on how to drive and control a dot matrix led using 8051 microcontroller. An 8x8 dot matrix is selected for this assignment. Dot matrix led display Dot-matrix led display comprises of an array of LED’s that are intersected in such a way that the negative terminal of each LED (cathode) in the same rows are connected and the positive terminal (anode) of each LED in the same column are linked together.

Transcript of Implementation of sign board dot matrix display with 8051

Page 1: Implementation of sign board dot matrix display with 8051

LAB 2: Implementation of sign board DOT matrix display with 8051

Aim

- Implementation of dot-matrix led based system using MCS-51

Objectives

- To design the hardware to interface the display to MCS51 microcontroller.

- To develop the application software using C language

- To simulate the program and verify the result

Introduction

This laboratory experiment will provide a basic concept on how to drive and

control a dot matrix led using 8051 microcontroller. An 8x8 dot matrix is selected for this

assignment.

Dot matrix led display

Dot-matrix led display comprises of an array of LED’s that are intersected in such

a way that the negative terminal of each LED (cathode) in the same rows are connected

and the positive terminal (anode) of each LED in the same column are linked together.

Page 2: Implementation of sign board dot matrix display with 8051

Fig.1 internal structure an LED dot matrix

The figure above shows the basic schematic for a typical 8x8 led matrix

The dot-matrix led displays are widely a used to display information on machines,

clocks, train station departure, airport and sign boards etc.

Choosing a microcontroller

When embarking on a dot-matrix display project or assignment, the main

consideration should focus on the type of microcontroller to use. The specification must

to be considered in selecting the microcontrollers are the number of I/O pins available,

the amount of current that each pin can source and finally the speed at which the

microcontroller operates

The 89c51 microcontroller has made the issue of control signal speed and I/O pins

availability. The chip has a total number of 32 I/O pins and operates at a speed greater

than 10MHz.

Design the hardware to interface display to the MCS-51 microcontroller.

In the hardware design, six 8x8 dot-matrix LEDs were used and 74HC595 used

for serial to parallel shift registering in order to use less I/O pins of the microcontroller.

By using the 74HC595, only 3 I/O lines to drive 8 LEDs. The below figure shows the

hardware design in proteus software.

Page 3: Implementation of sign board dot matrix display with 8051

C language code using keil uvision

Page 4: Implementation of sign board dot matrix display with 8051

#include <reg52.h>

unsigned char cnter, i;

unsigned int n_counter;

#define array_number (array1)

unsigned char code array1[]= {

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0xFE,0x11,0x11,0x11,0xFE, //A

0x00,0xff,0x02,0x02,0x04,0x02,0xfF, //M

0x00,0x81,0x81,0xFF,0x81,0x81,0x00,

0x00,0xff,0x02,0x04,0x08,0x10,0xff,

//0x00,0xFF,0x01,0x02,0x04,0x18,0x20,0x3F,

0x00,0x7F,0x80,0x80,0x80,0x80,0x7F,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0xFF,0x89,0x89,0x89,0x89,0x76,

0x00,0x7F,0x80,0x80,0x80,0x80,0x7F,

0x00,0x7E,0x81,0x81,0x91,0x91,0xF1,

0x00,0x00,0xFE,0x11,0x11,0x11,0xFE,

0x00,0x81,0x81,0x81,0x7F,0x01,0x01,

Page 5: Implementation of sign board dot matrix display with 8051

0x00,0x81,0x81,0x81,0x7F,0x01,0x01,

0x00,0xFF,0x89,0x89,0x89,0x89,0x89,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x7F,0x80,0x80,0x80,0x80,0x7F,

0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,

0x00,0x8E,0x91,0x91,0x91,0x91,0x7E,

0x00,0x8F,0x89,0x89,0x89,0x89,0xF1,

//0x00,0x41,0x21,0x11,0x09,0x05,0x03,

0x0,0x81,0x41,0x21,0x11,0x9,0x5,0x3,

0x00,0x76,0x89,0x89,0x89,0x89,0x76,

0x00,0x7E,0x81,0x81,0x81,0x81,0x7E,

0x00,0xE1,0x91,0x91,0x91,0x91,0x8E,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x88,0x84,0x82,0xFF,0x80,0x80,

0x0,0x42,0x91,0x91,0x91,0x91,0x6E,

0x0,0x0,0x0,0x0,0x6C,0x0,0x0,0x0,

0x0,0xF2,0x91,0x91,0x91,0x91,0x8E,

0x0,0x4E,0x91,0x91,0x91,0x91,0x7E, //

Page 6: Implementation of sign board dot matrix display with 8051

0x0,0x4E,0x91,0x91,0x91,0x91,0x7E, //

0x0,0x0,0x0,0x0,0x66,0x0,0x0,0x0, //:

0x0,0x60,0x50,0x48,0x44,0xFF,0x40, //4

0x0,0x81,0x41,0x21,0x11,0x9,0x5,0x3, //7

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x0,0xF2,0x91,0x91,0x91,0x91,0x8E,0x0,

0x0,0x81,0x41,0x21,0x11,0x9,0x5,0x3,

0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1,

0x0,0x7E,0x81,0x81,0x81,0x81,0x7E,0x0,

0x0,0x81,0x41,0x21,0x11,0x9,0x5,0x3,

0x80,0x40,0x20,0x10,0x8,0x4,0x2,0x1,

0x0,0xF2,0x91,0x91,0x91,0x91,0x8E,0x0,

0x0,0x7E,0x81,0x81,0x81,0x81,0x7E,0x0,

0x0,0x80,0x84,0x82,0xFF,0x80,0x80,0x0,

0x0,0xF2,0x91,0x91,0x91,0x91,0x8E,0x0,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

Page 7: Implementation of sign board dot matrix display with 8051

sbit SD = P1^1;

sbit SH_CK = P1^0;

sbit ST_CK = P1^2;

sbit SD1 = P1^6;

sbit SH_CK1 = P1^5;

sbit ST_CK1 = P1^7;

sbit SD11 = P3^6;

sbit SH_CK11 = P3^5;

sbit ST_CK11 = P3^7;

sbit SD2 = P3^1;

sbit SH_CK2 = P3^0;

sbit ST_CK2 = P3^2;

sbit SD22 = P2^6;

sbit SH_CK22 = P2^5;

sbit ST_CK22 = P2^7;

sbit SD222 = P2^1;

sbit SH_CK222 = P2^0;

Page 8: Implementation of sign board dot matrix display with 8051

sbit SH_CK222 = P2^0;

sbit ST_CK222 = P2^2;

void Ser_IN(unsigned char Data);

void Ser_IN(unsigned char Data)

{ unsigned char i;

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

{ SH_CK = 0;

SD = Data & 0x80;

Data <<= 1;

SH_CK = 1;

}

}

void chip_OUT(void)

{

ST_CK = 0;

ST_CK = 1;

}

Page 9: Implementation of sign board dot matrix display with 8051
Page 10: Implementation of sign board dot matrix display with 8051
Page 11: Implementation of sign board dot matrix display with 8051
Page 12: Implementation of sign board dot matrix display with 8051
Page 13: Implementation of sign board dot matrix display with 8051
Page 14: Implementation of sign board dot matrix display with 8051
Page 15: Implementation of sign board dot matrix display with 8051

Simulation using proteus software

Page 16: Implementation of sign board dot matrix display with 8051
Page 17: Implementation of sign board dot matrix display with 8051

Clock code

Page 18: Implementation of sign board dot matrix display with 8051
Page 19: Implementation of sign board dot matrix display with 8051
Page 20: Implementation of sign board dot matrix display with 8051
Page 21: Implementation of sign board dot matrix display with 8051
Page 22: Implementation of sign board dot matrix display with 8051
Page 23: Implementation of sign board dot matrix display with 8051

Conclusion

The implementation of the microcontroller based sign board dot matrix led

display. There were many challenges face while doing this lab assignment. First

challenge was on how to display a single character on the dot-matrix, which was

achieved after a very long battle. The second challenge was scrolling the characters using

timer, it was also achieved over a very long battle where the second challenge was more

challenging than the first challenge. The finally challenge was how to display clock on

the dot-matrix led, and that was successful achieved.

Moreover, regarding the hardware implementation, a single dot matrix led was

used due to time and cost constrain.

Apparently, all the lab objectives were successfully achieved and all learned were

moderately applied.

Reference

a. Mazidi.M.A., Mazidi J.G., 2000,“8051 Microcontroller and Embedded Systems”,Upper

Saddle River, N.J. Pearson Edu. Inc.

Pictures

The hardware was implemented, a single dot matrix led was used due to time and

cost constrain.

Page 24: Implementation of sign board dot matrix display with 8051
Page 25: Implementation of sign board dot matrix display with 8051