Automatic door locks are becoming popular in industry and many companies are using them to protect their valuables. In offices and homes automatic door locks systems are used for the safety of rooms and to allow only authorized persons to enter the office. Automatic door lock systems are also popular in banks. Banks use automatic…
Digital alarm clock with 8051(89c51) microcontroller
Digital alarm with 8051(89c51,89c52) microcontroller is a comprehensive project. Comprehensive in the form that its code is very lengthy. Programming is not an easy stuff for every one , and when it comes to program a microcontroller it becomes more complex to write a code for desired output if you are not familiar with the…
Calculator with 8051(89c51,89c52) Microcontroller, 16×2 Lcd and 4×4 keypad
In this tutorial i am going to build a simple two digit calculator with 8051(89c51,89c52) microcontroller. Calculator takes two single digits and an operator as input and produces output. Input is taken by 4×4 numeric keypad and output is displayed on 16×2 character lcd. Diy calculator can perform four operations addition, subtraction, negation & division.…
Driving DC-motor in both directions forward and reverse using 8051(89c51) microcontroller and with l293d H-bridge motor driver
I this tutorial i am going to control the direction of dc motor using 89c51 microcontroller and l293d motor driver. Running a DC(direct current) motor in both clock and anti clock wise direction using a microcontroller is very easy. The only hurdle is that the dc motor requires more than +5 volt and nearly +100 mill Amperes…
Interfacing Tower Pro SG90 9G servo motor with 8051(89c51, 89c52) microcontroller.
In this post i am going to teach you how to use and interface servo motors with 8051 microcontroller. 8051 series microcontroller which i am going to use for this project is ATMEL 89c52 microcontroller. Servo motors are different from ordinary motors. They can rotate from 0-degree to 180-degree depending on the motor specification. Servo…
Elevator(Lift) Controlled using 89c51 Microcontroller
This is a simple project on how to Control Elevator Lift using 89c51 Microcontroller? Tutorial is simple no interrupts of microcontroller are utilized for emergency situations or changing the floor during elevator movement. Once the floor is selected you can not change or deselect it. 8051 microcontroller general purpose input output pins are used to select the…
Serial communication data transmission to pc using USART of 8051(89c51,89c52) Microcontroller
This is a simple project on how to transfer serial data to PC(personal computer) using 8051(89c51) microcontroller usart(universal synchronous asynchronous receiver transmitter). Learning about 8051 microcontroller serial communication is the main task of the tutorial. Serial data can be transferred to PC(personal computer) using serial port of the computer. Serial port of computers are used to connect…
Digital clock with 8051(89c51,89c52) microcontroller 16×2 lcd and 4×4 numeric keypad
Here is a simple project on how to make a digital clock with 8051(89c51,89c52) microcontroller. The clock is efficient and their is no difference in time even in milli seconds. You can verify it with the digital clock you have. In the project i utilized the 8051 microcontroller internal clock source to produce a delay exactly equal to…
Push Button and Led interfaced with 8051 Microcontroller: Keil uvision
Here is a simple tutorial on how to interface a push button with 8051 microcontroller. In this tutorial i will teach you how to switch led on/off with push button press using 89c51 microcontroller. Push button with led is a beginners tutorial, who are getting started with 8051(89c51,89c52) microcontroller and keil uvision ide. Keil uvision…
Generating one second delay using internal timers of 8051(89c51,89c52) Microcontroller
In this tutorial i am going to teach you about how to generate one second delay using internal timer registers of 8051(89c51,89c52) series microcontrollers. Normally we use for-loops to generate delay. The delay generated by running loops is arbitrary. No fixed time delay is generated by loops. Loops are only suitable if you want an arbitrary…
Counting on Led’s- Binary counter with 8051(89c51) Microcontroller
This is a simple and basic tutorial for newbies on how to display a counting pattern on led’s. Its going to be a simple binary counting on led’s. Recall binary numbers(00=0, 01=1, 10=2, 11=3 and goes on). Led’s will lit up in binary order. Led’s blinking pattern will be in binary form. Led’s will be…
Interfacing 4×3 keypad and 16×2 lcd with 8051(89c51,89c52) microcontroller
In this tutorial i am going to explain how to interface 4×3, 4×4 numeric keypad and 16×2 lcd and 8051(89c51,89c52) microcontroller? Project function is simple when any one presses the button on keypad the particular character associated with that button will be displayed on the screen of 16×2 lcd. Project code is open source you…
Dc Motor Speed Control with 8051(89c51,89c52) Microcontroller using PWM Technique and l293d motor driver
This is a simple project/tutorial on how to control Dc motor speed using 8051(89c51,89c52) microcontroller? Dc motor or fan speed is controlled using Pwm(Pulse width Modulation) technique. Their are two ways to generate pulse width modulation signal using 8051(89c51,89c52) microcontrollers. You can generate it by using timers of 8051(89c51,89c52) microcontroller OR you can switch a particular pin…
Seven segment display interfacing with 8051(89c51,89c52) Microcontroller
This is a simple tutorial on how to interface seven segment display with 8051(89c51,89c52) microcontroller. The post/tutorial explains the connections and interfacing of 7 segment display with 89c51 microcontroller. 7 segment display is interfacedwith Port-1 of 89c51 microcontroller. Numeric characters from 1 to 9 and alphabets from A to F will be displayed on single…
Measuring room temperature with 8051(89c51,89c52) microcontroller using lm35 temperature sensor
In this tutorial i am going to measure room temperature using LM35 temperature sensor with 8051 (89c51 , 89c52) microcontroller. Lm35 outputs an analog signal which is proportional to the temperature in Celsius. 89c51 microcontroller did not have analog to digital converter built in it unlike their relatives arduino, pic, nxp and stm32 micrococntrollers. So…
Blinking leds with 8255 and 8051(89c51,89c52) microcontroller
Here is a simple project on how to interface 8255 with 8051(89c51) microcontroller. The project demonstrates a simple blinking leds program. Leds are connected to 8255 port A. When the lower four bits of 8255 port A is high the upper four bits are low. Leds connected to upper nibble will remain off and those…
Interfacing ADC0808 with Serial port (RS232) using interrupt clock from 8051 microcontroller (AT89C51)- (Part 27/45)
In many applications data collected from multiple sensors is transmitted to PC for display or further analysis. The conversion of data from analog to digital form is done using an ADC. The digital data from the ADC is transferred to the computer using serial port. This circuit demonstrates the principle and operation of interfacing an ADC0808 with serial port of PC using the microcontroller AT89C51. The circuit is divided into three parts: ADC, controller and serial port. This circuit can be used as an intermediate circuit in many applications.ADC0808 which is an 8-bit resolution ADC has eight input channels i.e., it can take a maximum of eight analog inputs. The circuit uses the first analog input pin to take the analog input signals from the preset. To provide clock input to the ADC, Timer0 is used in interrupt enabled mode to generate a clock of frequency 500 KHz. To enable the Timer0 in interrupt enable mode, the register IE is loaded with the value 0x82. Every time the timer completes the counting, pin P1.2 toggles its state.
How to interface Serial ADC0831 with 8051 Microcontroller (AT89C51)- (Part 30/45)
ADC is an electronic device which converts analog signals into its corresponding digital signal. This article demonstrates the principle, operation and interfacing of 8-bit serial ADC0831 with 8051 microcontroller.ADC0831 is an 8 pin IC with 8-bit serial data output (for more detail about ADC0831 refer to Interfacing ADC0831 with ATmega16). To receive the output from ADC high to low pulse is given at CS (chip select) pin of ADC form controller. ADC requires delay of two clock pulses before starting data conversion. At the second clock cycle, ADC sends a ‘0’ bit to the controller which indicates that the upcoming bits are the data bits.ADC needs eight clock pulses to send 8-bit digital output. This digital data is received bit by bit and stored in a variable. The data is converted to its corresponding ASCII value and sent to LCD for display. The connections of LCD with microcontroller are shown in circuit diagram. The analog signals are generated by at a variable resistance (preset) which is connected to input pin of ADC0831.
How to create custom characters on 16×2 LCD using 8051 microcontroller (AT89C51)- (Part 10/45)
The commonly used 16×2 LCD can also display custom made characters besides numbers, alphabets & special characters. Any character can be made to appear on a 5×8 pixel matrix element without knowledge of its ASCII value. The idea explained here demonstrates the principle and operation of a simple LCD custom character display using 8051 microcontroller (AT89C51). When the ASCII code for any character, say ‘A’, is sent to be displayed on LCD module, the module’s controller looks up the appropriate 5×8-pixel pattern in ROM (read-only memory) and displays that pattern on the LCD. There are 8 symbol locations where a custom character can be stored as shown in the following right table. These locations will have a particular bitmap layout corresponding to the custom character. To display an arrow sign, the bitmap values are mapped to a base address location, say 64 (ASCII code 0).
How to control Stepper Motor using ULN2003 and 8051 Microcontroller (AT89C51)- (Part 17/45)
Stepper motor is a variable reluctance DC motor. When correct input sequence of signal is given to the motor, it starts rotation in steps. (For more detail refer Unipolar Stepper motor interfacing with microcontroller AT89C51). ULN2003 is high voltage, high current Darlington arrays each containing seven open collector Darlington pairs with common emitters. Here it…