RE: Microcontroller-Based Moving-Message Display
||MOVING MESSAGE DISPLAY USING MICROCONTROLER
MOVING MESSAGE.doc (Size: 1.77 MB / Downloads: 145)
LCD-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 rail¬way 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 display¬ing information as these have many built-in functions. But these can't be observed from a distance and large ¬size LCDs are very costly.
Here microcontroller used is a AT89C2051-12 pc. Port 0 is used to drive the LCD display. 12 MHZ crystal is connected at pins19 and 18 to give frequency of timing to controller. Power supply of 5v voltage is applied to to microcontroller and LCD display at pin40 and pin 2 respectively.
A potienometer or variable resistor is connected between 1 and 16 of LCD display. A reset switch is connected pin 9 of microcontroller. Here LED is connected in power supply circuit to indicate that power supply is coming.
Microcontroller based “MOVING MESSAGE DISPLAY PROJECT” display the message “POOJA AND PRERNA”. In this project programming is done in assembly language to display the message.
As we start the project or as we switch on the power supply the project start to display the message on LCD screen. To restart the message on LCD display again so that it display on screen from starting position, a reset switch is pressed which is connected to reset pin of microcontroller.
Micro control¬ler AT89C5I-12 PC
At the heart of the moving-mes¬sage display is Atmel AT89C5I mi-crocontroller.It is a low-power, high-performance, 8-bit microcontrol¬ler with 4kB 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 I6-bit programmable timers/ counters, a five-vector two-level interrupt archi¬tecture, on-chip oscillator and clock circuitry.
Ports PO and P2 of the microcon¬troller have been configured to act as a common data bus for all the 16 alphanumeric displays whose cor-responding data pins have been tied together to make a common 16-bit data bus. Port-2 provides the higher byte of data, while port-O provides the lower one to light up a character on the display.
The AT89C51-12PC, where “c” stands before the 51 stands for CMOS, which has a low power consumption,”12’ indicates 12 MHZ, “P”, is for plastic DIP package, “C” is for commercial.
The AT89C2051 is a low-voltage, high-performance CMOS 8-bit microcomputer with2K bytes of Flash programmable and erasable read-only memory (PEROM). The device is manufactured using Atmel’s high-density nonvolatile memory technology and is compatible with the industry-standard MCS-51 instruction set. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C2051 is a powerful microcomputer which provides a highly-flexible and cost-effective solution to many embedded control applications. The AT89C2051 provides the following standard features: 2K bytes of Flash, 128bytes of RAM, 15 I/O lines, two 16-bit timer/counters, a five vector two-level interrupt architecture, a full duplex serial port, a precision analog comparator, on-chip oscillator and clock circuitry. In addition, the AT89C2051 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port and interrupt system to continue functioning. The power-down mode saves the RAM contents but freezes the oscillator disabling all other chip functions until the next hardware reset.
Restrictions on Certain Instructions
The AT89C2051 and is an economical and cost-effective member of Atmel’s growing family of microcontrollers. It contains 2K bytes of Flash program memory. It is fully compatible with theMCS-51 architecture, and can be programmed using the MCS-51 instruction set. However, there are a few considerations one must keep in mind when utilizing certain instructions to pro-gram this device. All the instructions related to jumping or branching should be restricted such that the destination address falls within the physical program memory space of the device, which is 2K for theAT89C2051. This should be the responsibility of the software programmer. For example, LJMP7E0H would be a valid instruction for the AT89C2051 (with 2K of memory), whereas LJMP 900Hwould not.7.1Branching Instructions LCALL, LJMP, ACALL, AJMP, SJMP, JMP @A+DPTR – These unconditional branching instructions will execute correctly as long as the programmer keeps in mind that the destination branching address must fall within the physical boundaries of the program memory size (locations 00H to 7FFH for the 89C2051). Violating the physical space limits may cause unknown program behavior. CJNE [...], DJNZ [...], JB, JNB, JC, JNC, JBC, JZ, JNZ – With these conditional branching instructions the same rule above applies. Again, violating the memory boundaries may causeerratic execution. For applications involving interrupts the normal interrupt service routine address locations of the80C51 family architecture have been preserved.7.2MOVX-related Instructions, Data Memory The AT89C2051 contains 128 bytes of internal data memory. Thus, in the AT89C2051 the stack depth is limited to 128 bytes, the amount of available RAM. External DATA memory access is not supported in this device, nor is external PROGRAM memory execution. Therefore, no MOVX[...] instructions should be included in the program.