Hey friends, this is my 3rd year BE project \"speed control for DC motors\" and I would like to share with you all. Here you will learn how to connect LCD, hex keyboard and motor. The code was written in assembly to simplify. I first explained the LCD interface hexadecimal keyboard interface and the motor interface with L293D. let\'s start! ! ! * Lumia 52 * LCD * hex keyboard * DC motor I think you have basic knowledge of 8051 programming in assembly 293d Bridge motor driver, so with an IC, we can connect two DC motors that can be controlled clockwise and anticlockwise, and we can control the speed of each DC motor by giving PWM enable pins. The L293D has an output current of 600 mA and a peak output current of 1. 2A per channel. In addition, the integrated circuit is also included to protect the circuit from the influence of the back potential output diode. Output power supply (VCC2) There is a wide range from 4. 5 V to 36 V, which makes L293D The best choice for DC motor drives. As you can see in the circuit, it takes three pins to connect the DC motor (A, B, Enable). If you want to control the speed, the enable pin is connected to the PWM pin of the micro controller. I only connected one motor and used the enable pin to control the speed of the DC motor. I am not going to delve into the LCD as it is too big a topic and I have mentioned some sites that are very using full LCD including 16-pin Vss-GND Vdd- Positive voltage v- Contrast setting data pin LED to backlight pin LED and LED- 3 control lines are required for LCD (RS, R/W & EN)& 8 (or 4)data lines. WhenRSis low (0) , Data will be treated as a command. When RS is high (1) , The data sent is considered astext data that should be displayed on the screen. WhenR/Wis low (0) , The information on the data bus is being written to the LCD. When RW is high (1) , The program is effectively read from the LCD. In most cases, data is not required to be read from the LCD, so this line can be connected directly to the Gnd, saving a controller line. Enablepin is used to lock the data on the data pin. A HIGH - Low signal is required to lock data. The LCD will explain and execute our commands when the EN Line is lowered. If you never put it low, your instructions will never be executed. refrence- The keyboard is essentially a collection of 16 keys arranged in the form of a 4 × 4 matrix. A hexadecimal keyboard usually has keys that represent numbers 0 to 9 and characters A to F. The hexadecimal keyboard has 8 communication lines, R1, R2, R3, R4, C1, C2, C3 and c4, respectively. R1 to R4 represents four rows, and C1 to C4 represents four columns. When a specific key is pressed, the corresponding row and column of the terminal connection of the key are short-circuited. For example, if you press 1, the row R1 and column C1 will be short-circuited, and so on. The program identifies which key is pressed by a method called column scanning. In this method, a particular row remains low ( Keep other lines High) And check if the column is low. If a column is found to be low, the key representing the connection between the column and the corresponding row ( Line keeping low) Was pressed. For example, if row R1 is initially kept low and column C1 is found to be low during scanning, this means that key 1 is pressed.