![]() |
||||
Part IIILCD display Interface
The display used here is a 16x1 character LCD display module, which is equalent to HD44780 controlled display. This display accepts and displays the ASCII values stored in its data register. The LCD module is connected to the 89c51 microcontroller such that it looks internally to the controller as an ordinary memory mapped device. i.e., AD0-AD7 of the microcontroller are connected to the data lines of the display D0-D7 and A8, the pin 21 of the controller is chosen as A0 to the display module to select between the Control and Data registers of the display module. The WR*(INV) pin 16 of the controller is connected to the WR* pin 5 of the display and the signal is inverted and connected to EN pin 6 of the display to enable the display while write operation. Here now the address to the display registers were 100h (xxxx xxx1 xxxx xxxx) for Data register and 0000h (xxxx xxx0 xxxx xxxx) for the control register. We can use these addresses to write to the display registers. Consider when a byte is to be written in the data register. For this, in assembly, MOV DPTR, #0100h & MOVX @DPTR, xx instructions are executed. While executing this instruction, the higher order address is placed on A8 through A15 and lower order address is placed on AD0 through AD7, which we are not considered. Here, A8 now holds '1' which will be latched throughout the operation. Then the data xx now will be placed on AD0 through AD7, which is data for the display and now WR* pin goes low and the write operation is Implemented.
This idea reduces the burden of extra hardware and software implementation to interface the display module.
End of Part III
|
![]() |