29
Mini Project Report MICROCONTROLLER BASED MOVING MESSAGE DISPLAY Rajagiri School of Engineering and Technology 1 1. INTRODUCTION LED-based moving-message displays are becoming popular for transmitting information to large groups of people quickly. These can be used indoors or outdoors. We can find such displays in areas like railway platforms, banks, public offices, hotels, training institutes, nightclubs and shops. Compared to LEDs, liquid-crystal displays (LCDs) are easy to interface with a microcontroller for displaying information as these have many built-in functions. But these can’t be observed from a distance and large size LCDs are very costly. We preferred to use 16 single digit alphanumeric displays over the LED dot-matrix type since the former is much cost effective and has less programming burden compared to other. We have used Atmel’s AT89C51 microcontroller as the heart of the circuit along with IC 74LS138 which is a 3to8 decoder, BC558 transistors, LED displays and power supply unit in the circuit. We have programmed to move the message from the rightmost display to the left and the message stayed stationary for a few seconds when the first character reaches the leftmost display, then it continues to move. A 4 pin dip switch connected to the microcontroller through a port is used to select the desired message stored in the memory of the microcontroller. The microcontroller provides the data signal to the 16 display units through other two ports. Another port is used to provide the address of the displays to the 3to8 decoders which are actually controlling the turning on and off of the displays.

MicroController Based Moving Message Display

  • Upload
    arun

  • View
    7.707

  • Download
    1

Embed Size (px)

DESCRIPTION

This is the report of the mini project we did in our sixth semester of Engineering. It uses a at89c51 microcontroller to display 16 messages in moving fashion.

Citation preview

Page 1: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 1

1. INTRODUCTION

LED-based moving-message displays are becoming popular for transmitting

information to large groups of people quickly. These can be used indoors or outdoors.

We can find such displays in areas like railway platforms, banks, public offices,

hotels, training institutes, nightclubs and shops.

Compared to LEDs, liquid-crystal displays (LCDs) are easy to interface with a

microcontroller for displaying information as these have many built-in functions. But

these can’t be observed from a distance and large size LCDs are very costly.

We preferred to use 16 single digit alphanumeric displays over the LED dot-matrix

type since the former is much cost effective and has less programming burden

compared to other.

We have used Atmel’s AT89C51 microcontroller as the heart of the circuit along with

IC 74LS138 which is a 3to8 decoder, BC558 transistors, LED displays and power

supply unit in the circuit.

We have programmed to move the message from the rightmost display to the left and

the message stayed stationary for a few seconds when the first character reaches the

leftmost display, then it continues to move.

A 4 pin dip switch connected to the microcontroller through a port is used to select the

desired message stored in the memory of the microcontroller. The microcontroller

provides the data signal to the 16 display units through other two ports. Another port

is used to provide the address of the displays to the 3to8 decoders which are actually

controlling the turning on and off of the displays.

Page 2: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 2

The report provides a brief idea about the project through the block diagram

explanation given in the first part. It is followed by a circuit diagram and circuit

description given in a nice manner. Then come the software part of the project, it

includes a software description, algorithm and finally the software code. The PCB

designs are provided in the final part of the report. Some random screenshots of the

software used for the program debugging and circuit simulation in also provided.

Page 3: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 3

2. SYSTEM INFORMATION

2.1 BLOCK DIAGRAM

4 PINDIP

Switch

AT89C51Microcontroller

Decoder

LED Display

2.2 BLOCK DIAGRAM EXPLANATION

An at89c51 microcontroller is the heart of the circuit. It has two timers to

control the display timing and it also controls the entire data transfer in the

circuit.

A 4 pin dip switch is connected to microcontroller which gives the input

information to the microcontroller. Each pin in the dip switch has two states 0

and 1, by using 4 pins we can actually give 16 different input signals to the

microcontroller.

The output data is displayed through a set of 16 single segment alphanumeric

LED displays connected to the microcontroller.

A decoder is connected to microcontroller which receives the address

information to control the turning on and off of the LED displays.

Page 4: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 4

3. HARDWARE IMPLEMENTATION

3.1 CIRCUIT DIAGRAM

Page 5: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 5

3.2 CIRCUIT DESCRIPTION

The diagram above shows the circuit of the microcontroller based moving message

display. It comprises microcontroller AT89C51, three-to-eight decoder 74LS138,

common anode alphanumeric displays, regulator 7805 and a few discrete components.

At the heart of the moving-message display is Atmel AT89C51 microcontroller (IC1).

It is a low-power, high-performance, 8-bit microcontroller with 4 kB of flash

programmable and erasable read-only memory (PEROM) used as on-chip program

memory, 128 bytes of RAM used as internal data memory, 32 individually

programmable input/output (I/O) lines divided into four 8-bit ports, two 16-bit

programmable timers/counters, a five-vector two-level interrupt architecture, on-chip

oscillator and clock circuitry.

Ports P0 and P2 of the microcontroller have been configured to act as a common data

bus for all the 16 alphanumeric displays whose corresponding data pins have been

tied together to make a common 16-bit data bus. Port-2 provides the higher byte of

data, while port-0 provides the lower one to light up a character on the display. Port

pins P1.2-P1.4 and P1.5-P1.7 of the microcontroller have been used as address inputs

for decoder IC3 and IC4 (74LS138) to enable one of the fourteen alphanumeric

displays (DIS3 through DIS16) at a time, respectively. However, displays DIS1 and

DIS2 are enabled or disabled directly by port pins P1.0 and P1.1. Pins 4 and 5 are

grounded and pin 6 is made high to enable decoder 74LS138.

All the corresponding data pins Dis 1 through DIS16 of alphanumeric

displays have been tied together, while the common anode of each display is

separately powered via a BC558 transistor which switches ‘on’ or ‘off’ as required,

through outputs of 74LS138 ICs and pins P1.0 and P1.1 of IC1. The higher nibble of

port P3 (P3.4 through P3.7) is used as a selection bus to select one of the 16

Page 6: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 6

previously stored messages using the 4-bit binary value present on these pins. This

value can be changed through a 4-pin DIP switch (S0 through S3).

Selection pins P3.4 through P3.7 are pulled high via resistors R36 through R33,

respectively. When the switch connected to a given pin is open the value is high (1),

and when it is closed the pin is held low and the value becomes ‘0.’ In this way, by

using a 4-bit number you can select any of the 16 messages stored in ROM

Capacitor C5 and resistor R37 form the power-‘on’ reset circuit, while a push-to-

connect switch has been used for manual reset. An 11.0592MHz crystal generates the

basic clock frequency for the microcontroller. To change the message being displayed

while the circuit is working, first change the number present at the selection bus, then

press ‘reset’ key.

The 220V AC mains is stepped down by transformer X1 to deliver the secondary

output of 9V, 500 mA. The output of the transformer is rectified by a full-wave bridge

rectifier comprising diodes D1 through D4, filtered by capacitor C3 and then

regulated by IC 7805 (IC4). Capacitor C4 bypasses any ripple present in the regulated

power supply. LED1 acts as the power-‘on’ indicator.

Page 7: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 7

3.3 CIRCUIT SIMULATION

We used software named Proteus 7 for simulating the working of our project,

especially the timer part. Some of the screenshots of the program is included here.

Page 8: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 8

4. SOFTWARE IMPLEMENTATION

4.1 SOFTWARE DESCRIPTION

The software is written in assembly language and its main concept is as follows.

Timer 1 has been used to generate a delay of around 1 ms for the switching gap

between two consecutive displays. Thus, each display is enabled for 1 ms while

displaying a message. The length of this cycle depends upon the length of the

message string. The cycle repeats

after a ‘0’ is encountered at the end of each message stored in the look-up

table at the end of the program. Each time, to display a character at a given display,

first two bytes (16 bits) of data are sent to Port-2 and Port-0, then the desired display

is enabled by sending its address to Port-1. Thereafter,

a delay of 1 ms (slightly more than that) is generated by timer 1. Upon

timer overflow, the entire display panel is refreshed by passing ‘FFFFH’ to the data

bus. Then the next character at the next display is passed in the similar manner. The

cycle frequency is variable (depending upon the length of the message) but always

high enough so that the message appears continuous to the human eye. Timer 0, with

its interrupt enabled, is used to change the starting address of the message in cyclic

manner so that the characters scroll from left to right with a proper gap between each

shift. Meanwhile, the interrupt service sub-routine also checks for the starting address

of DIS16 (right-most display). As soon as the first character reaches DIS16, the

message stays for a longer time so that the entire message

(message length not longer than 16 characters) can be easily read. Thereafter,

characters again start scrolling rightwards, so the entire message goes out and

disappears after a while to reappear from left side.

All the messages are stored in the form of a look-up table in the program memory

(ROM) itself. When the circuit is switched ‘on’ (or reset), the monitoring program

Page 9: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 9

first checks for the binary number present at the selection bus and according to that,

the ROM address of the starting character of the selected message is loaded into the

data-pointer. Thereafter, on-chip ROM reading is used to read the entire message over

there.

Each character is represented in the look-up table of the source code by two bytes. For

example, ‘S’ is represented by ‘Sh’ and ‘Sl’ separated by a comma. In addition to the

alphabets, Arabic numerals and a few special characters have been defined in the

program. For instance, a blank space is represented by ‘bsh, bsl.’ Thus, it is very easy

to modify the program.

Page 10: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 10

4.2 SOFTWARE DEVELOPMENT

We used software named Keil µVision 3 for building the target software and

debugging it. We could analyze each and every data bit in the ROM and RAM

throughout the program execution along with the states of all the 4 ports of the

microcontroller. We could also analyze the working of the timers according to the

written program. Some screen shots of the program is included here.

Page 11: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 11

4.3 ALGORITHM

Algorithm for at89c51 programming

Port 1 is used as address bus

Port 2 is used as higher order data bus

Port 0 is used as lower order data bus

Select inputs are given to the higher nibble of Port 3

Since a 16 segment display is used, each character is represented by two 8 bit

values as DBH at port 2 and DBL at port 0

// Program execution starts from here.

Main

Set global interrupt bit

Enable timer 0 interrupt

Timer 0 is configured in mode 1

Set initial count of timer 0 to 00H

Initialize the RAM address locations starting from 30H to 60H as FFH

Set the address for displays from 1st to 16th in memory locations starting from

41H to 50H ( data given to decoder to enable each display )

Read the data from port 3 to accumulator ( select inputs )

Mask lower nibble of accumulator

According to data in accumulator load the data pointer with the base address

of the corresponding message stored in the look up table in the RAM

Store the higher and lower bits of data pointer in register R3 and R2

Initialize register R1 with 41H ( address of left most display )

Start the timer 0

Step A

Copy values in R1 to R0

Page 12: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 12

Move the data pointed by data pointer to port 2 and port 0 through

accumulator

Move the data ( address of displays ) pointed by R0 to port 1

Start timer 1 in mode 1 for generating a delay of 1ms ( delay between each

display )

When timer 1 overflows ( interrupts ) turn the display off and continue

Decrement R0

Increment data pointer, so that next character of message is loaded

Go back to Step A and repeat these steps until the accumulator = 0

If accumulator = 0, reload the data pointer with the base address of selected

message using registers R3 and R2 and go back to Step A

// Interrupt Service Routine for Timer 0 ( executed when timer 0 overflows )

Initialize R6 with 10 in Main at the beginning of program execution

Initialize R7 with 46 in Main at the beginning of program execution so that

timer 0 need to overflow 46 times before R1 increments ( by one ) to changing

the starting display

Start timer 0 again and return back

Continue above steps till R1 reaches 50H i.e. the first letter in selected

message reaches the rightmost display

When R1 = 50H, decrement R6 and restart timer 0 and return back, so that

display remains stationary till R6 =0

When R6 = 0, increment R1 and restart timer 0 and return back.

When R1 = 60H, reload R1 with 41H i.e. the address of the leftmost display

and R6 with 10

Page 13: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 13

4.4 SOFTWARE CODE

$mod51

DBH equ p2 ; Higher byte of Data Bus

DBL equ p0 ; Lower byte of Data Bus

ADB equ p1 ; Address Bus

input equ p3 ; message select input

;** codes for decimal digits are given below:

; ('h' refers to higher byte, 'l' to lower one)

zeroh equ 85h

zerol equ 0d0h

oneh equ 0d7h

onel equ 0ffh

twoh equ 0b2h

twol equ 8dh

threeh equ 92h

threel equ 0cdh

fourh equ 0c2h

fourl equ 0ffh

fiveh equ 8ah

fivel equ 0cdh

Page 14: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 14

sixh equ 8ah

sixl equ 8dh

sevenh equ 0d7h

sevenl equ 0ddh

eighth equ 82h

eightl equ 8dh

nineh equ 82h

ninel equ 0cdh

;** codes for alphabets are given below:

Ah equ 0c2h

Al equ 9dh

Bh equ 82h

Bl equ 8dh

Ch equ 0afh

Cl equ 8dh

Dh equ 87h

Dl equ 8dh

Eh equ 0aah

El equ 8dh

Fh equ 0eah

Fl equ 9dh

GH equ 8dh

Page 15: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 15

Gl equ 8dh

Hh equ 0c2h

Hl equ 0bfh

Ih equ 0bfh

Il equ 0c4h

Jh equ 0bfh

Jl equ 0b4h

Kh equ 6ch

Kl equ 0bfh

Lh equ 0afh

Ll equ 0afh

Mh equ 0c5h

Ml equ 0bbh

Nh equ 47h

Nl equ 0bbh

Oh equ 87h

Ol equ 8dh

Ph equ 0e2h

Pl equ 9dh

Qh equ 27h

Ql equ 9dh

Rh equ 62h

Page 16: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 16

Rlw equ 9dh

Sh equ 8ah

Sl equ 0cdh

Th equ 0ffh

Tl equ 0d4h

Uh equ 87h

Ul equ 0afh

Vh equ 57h

Vl equ 0fbh

Wh equ 87h

Wl equ 0aeh

Xh equ 7dh

Xl equ 7bh

Yh equ 0fbh

Yl equ 0fah

Zh equ 0bdh

Zl equ 4dh

;** codes for few special characters:

strh equ 78h ;for star sign (asterisk)

strl equ 72h

plsh equ 0fah ;for '+' sign

plsl equ 0f6h

Page 17: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 17

mnsh equ 0fah ;minus sign

mnsl equ 0ffh

_h equ 0bfh ; underscore sign

_l equ 0efh

bsh equ 0ffh ;blank space

bsl equ 0ffh

pieh equ 0d7h ;for pie

piel equ 0f4h

mueh equ 0dfh ;for micro (mu)

muel equ 0eeh

org 0000h

sjmp main

org 000bh ;timer0 interrupt vector address

clr tr0 ;clear timer0 run bit

mov tl0,#00h

mov th0,#00h ;reload timer0 with initial count

djnz r7,a1

mov r7,#46

cjne r1,#60h,a5 ;check to again start entering from left-side

sjmp a4

a5: cjne r1,#50h,a2 ;check for display to stay on reaching display-16

sjmp a3

a2: inc r1

sjmp a1

a3: djnz r6,a1

inc r1

Page 18: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 18

sjmp a1

a4: mov r6,#10

mov r1,#41h

a1: setb tr0 ; set timer0 run bit

reti ;return from timer0 ISR and clear tf0

main: mov ie,#00h

setb ea ;set global interrupt bit

setb et0 ;enable timer0 interrupt

mov tmod,#01h ;timer0 configured in mode 1

mov tcon,#00h

mov tl0,#00h

mov th0,#00h ;set initial count to 0000H

mov r7,#46 ;provides gap between each shift

mov r6,#10

mov r0,#60h

blank: mov @r0,#0ffh ;initialize the pointed location by null address

dec r0

cjne r0,#2fh,blank

mov r1,#41h ;load address-pointer with initial address

mov 50h,#0dfh ;address for 16th Display (rightmost)

mov 4fh,#0bfh ;address for 15th Display

mov 4eh,#9fh ;address for 14th Display

mov 4dh,#7fh ;address for 13th Display

mov 4ch,#5fh ;address for 12th Display

mov 4bh,#3fh ;address for 11th Display

mov 4ah,#1fh ;address for 10th Display

mov 49h,#0fbh ;address for 9th Display

mov 48h,#0f7h ;address for 8th Display

mov 47h,#0f3h ;address for 7th Display

Page 19: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 19

mov 46h,#0efh ;address for 6th Display

mov 45h,#0ebh ;address for 5th Display

mov 44h,#0e7h ;address for 4th Display

mov 43h,#0e3h ;address for 3rd Display

mov 42h,#0fdh ;address for 2nd Display

mov 41h,#0feh ;address for 1st Display (leftmost)

chk: mov a,input ;load accumulator with value at P3

orl a,#0fh ;mask lower nibble to get selection bus value

cjne a,#0ffh,chk0

mov dptr,#default ;load dptr with starting address of default message

sjmp read ; now start reading

chk0: cjne a,#0fh,chk1

mov dptr,#msg0 ;load dptr with starting address of msg0

sjmp read ; now start reading

chk1: cjne a,#1fh,chk2

mov dptr,#msg1

sjmp read

chk2: cjne a,#2fh,chk3

mov dptr,#msg2

sjmp read

chk3: cjne a,#3fh,chk4

mov dptr,#msg3

sjmp read

chk4: cjne a,#4fh,chk5

mov dptr,#msg4

sjmp read

Page 20: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 20

chk5: cjne a,#5fh,chk6

mov dptr,#msg5

sjmp read

chk6: cjne a,#6fh,chk7

mov dptr,#msg6

sjmp read

chk7: cjne a,#7fh,chk8

mov dptr,#msg7

sjmp read

chk8: cjne a,#8fh,chk9

mov dptr,#msg8

sjmp read

chk9: cjne a,#9fh,chk10

mov dptr,#msg9

sjmp read

chk10: cjne a,#0afh,chk11

mov dptr,#msg10

sjmp read

chk11: cjne a,#0bfh,chk12

mov dptr,#msg11

sjmp read

chk12: cjne a,#0cfh,chk13

mov dptr,#msg12

sjmp read

Page 21: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 21

chk13: cjne a,#0dfh,chk14

mov dptr,#msg13

sjmp read

chk14: mov dptr,#msg14

sjmp read

read: mov r3,dph

mov r2,dpl

setb tr0

rd1: mov r0,01h

rd2: clr a

movc a,@a+dptr

jz down

mov DBH,a

clr a

inc dptr

movc a,@a+dptr

mov DBL,a

mov ADB,@r0

acall timer

dec r0

inc dptr

sjmp rd2

down: mov dph,r3 ;reload dph

mov dpl,r2 ;reload dpl

sjmp rd1

timer: mov tmod,#10h ;set mode 1 for timer1

mov th1,#0fch ;FC66H will generate a delay of 1ms with 11.0592MHz

Xtal

mov tl1,#66h

setb tr1

Page 22: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 22

jnb tf1,$ ;wait until timer1 overflows

clr tr1

clr tf1

mov DBH,#0ffh

mov DBL,#0ffh

ret

;** look-up table starts from here:

msg0: db

Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Bh,Bl,Ih,Il,Rh,Rlw,Th,Tl,Hh,Hl,bsh,bsl,Dh,D

l,Ah,Al,Yh,Yl,0

msg1: db

Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Nh,Nl,Eh,El,Wh,Wl,bsh,bsl,Yh,Yl,Eh,El,Ah,

Al,Rh,Rlw,0

msg2: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Dh,Dl,Ih,Il,Wh,Wl,Ah,Al,Lh,

Ll,Ih,Il,bsh,bsl,strh,strl,0

msg3: db

Mh,Ml,Eh,El,Rh,Rlw,Rh,Rlw,Yh,Yl,bsh,bsl,Ch,Cl,Hh,Hl,Rh,Rlw,Ih,Il,Sh,Sl,Th,Tl,M

h,Ml,Ah,Al,Sh,Sl,0

msg4: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Hh,Hl,Oh,Ol,Lh,Ll,Ih,Il,bsh,b

sl,strh,strl,0

msg5: db

strh,strl,bsh,bsl,Eh,El,Ih,Il,Dh,Dl,bsh,bsl,Mh,Ml,Uh,Ul,Bh,Bl,Ah,Al,Rh,Rlw,Ah,Al,K

h,Kl,bsh,bsl,strh,strl,0

msg6: db

Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Dh,Dl,Ah,Al,Sh,Sl,Hh,Hl,Eh,El,Hh,Hl,Rh,Rl

w,Ah,Al,0

msg7: db

Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Wh,Wl,Eh,El,Dh,Dl,Dh,Dl,Ih,Il,Nh,Nl,Gh,Gl,

0

Page 23: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 23

msg8: db

Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Jh,Jl,Ah,Al,Nh,Nl,Mh,Ml,Ah,Al,Sh,Sl,Hh,Hl,

Th,Tl,Mh,Ml,Ih,Il,0

msg9: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Rh,Rlw,Ah,Al,Kh,Kl,Hh,Hl,I

h,Il,bsh,bsl,strh,strl,0

msg10: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Ph,Pl,Oh,Ol,Nh,Nl,Gh,Gl,Ah,

Al,Lh,Ll,bsh,bsl,strh,strl,0

msg11: db

Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Mh,Ml,Oh,Ol,Th,Tl,Hh,Hl,Eh,El,Rh,Rlw,Sh,

Sl,Dh,Dl,Ah,Al,Yh,Yl,0

msg12: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Rh,Rlw,Ah,Al,Mh,Ml,Jh,Jl,A

h,Al,Nh,Nl,bsh,bsl,strh,strl,0

msg13: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Lh,Ll,Oh,Ol,Hh,Hl,Rh,Rlw,Ih

,Il,bsh,bsl,strh,strl,0

msg14: db

strh,strl,bsh,bsl,Hh,Hl,Ah,Al,Ph,Pl,Ph,Pl,Yh,Yl,bsh,bsl,Eh,El,Ah,Al,Sh,Sl,Th,Tl,Eh,E

l,Rh,Rlw,bsh,bsl,strh,strl,0

default: db

Wh,Wl,Eh,El,Lh,Ll,Ch,Cl,Oh,Ol,Mh,Ml,Eh,El,bsh,bsl,Th,Tl,Oh,Ol,bsh,bsl,Ah,Al,Lh,

Ll,Lh,Ll,0

end

Page 24: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 24

5. PCB DESIGN

Acual-size, single side PCB for Microcontroller Based Moving Message Display exceptLED Display part.

Single side PCB for LED Display part of Microcontroller Based Moving Message Display. Not ActualSize.

Page 25: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 25

6. RESULT

The breadboard prototype of the circuit was made and tested for a single display. It

was verified by the guide. Then the circuit including the all display units was mounted

on PCB. The selected messages moved from the leftmost display to the right and it

stayed stationary for a few seconds, when the first character reached the leftmost

display. Thus the desired result was obtained.

Page 26: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 26

7. CONCLUSION

It may be concluded that the mini project has helped us to develop a deep practical

knowledge of the at89c51 microcontroller. We have dealt with the timer programming

and the interrupt programming of the microcontroller. The LED displays proved to

very cost effective and simple to program compared to others. We could also use the

software like Proteus 7 and Keil µVision 3 that are very indispensible in embedded

software development.

Page 27: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 27

8. FUTURE SCOPE

Many more messages would be possible if complete Port-3 is used for message

selection. Pins RxD, TxD, INT0 and INT1 have been kept free, so that these can be

used for interfacing with the serial port of the PC. Also, interrupt pins can be used to

display some message and sound an alarm in the case of an emergency. For example,

a fire sensor can be connected to ‘INT0’ and a vibration detector to ‘INT1.’ These

pins can also be used to send signals to synchronise a similar system that displays

another related message at the same time, so a 16-character, twoline display is made

possible.

A PC keyboard can be interfaced with microcontroller so that messages can display

on the fly.

Page 28: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 28

9. REFERENCES

The 8051 Microcontroller and Embedded Systems by Muhammad Ali Mazidi

Websites www.atmel.com www.alldatasheets.com

Page 29: MicroController Based Moving Message Display

Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY

Rajagiri School of Engineering and Technology 29

APPENDIX