Post on 10-Apr-2015
description
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.
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.
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.
Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY
Rajagiri School of Engineering and Technology 4
3. HARDWARE IMPLEMENTATION
3.1 CIRCUIT DIAGRAM
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
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.
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.
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
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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.
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.
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
Mini Project Report MICROCONTROLLER BASED MOVINGMESSAGE DISPLAY
Rajagiri School of Engineering and Technology 29
APPENDIX