Welcome, 555 Timer is a versatile timer IC which can perform different operations and has thousands of applications in industry. Today we are going to learn that how can we use 555 timer as PWM generator. Pulse Width Modulation often refered to as PWM, is as the name suggests, is a type of modulation in which we vary the width of digital signal, be it voltage or current, while frequency of output signal remains constant. When the pulse is varied with the passage of time average output voltage change occurs. You can learn more about PWM in power electronics section where PWM finds numbers of applications.
Here in this circuit 555 timer is configured as Astable multi-vibrator with controlled signal, so when the control signal is changed output pulse is changed with constant frequency.
Required Parts:
555 Timer IC
Resistors 1k x 2
Resistor 10k
Resistor 540 Ohm
LED
Potentiometer 10k
Capacitor 4.7uf
Breadboard
9 Volt Battery
Please Click on images to view Larger. Breadboard Assembly:
Schematic Diagram:
Questions and suggestions are welcomed in comments sections.
This program adds two double digits numbers the easy way. Click to download source code
; CODE BEGINS
TITLE TWO_DIGIT_ADDITION
.MODEL SMALL
.STACK 100H
.DATA
DIGIT1 DB 0AH, 0DH, "ENTER FIRST DIGIT: $"
DIGIT2 DB 0AH, 0DH, "ENTER SECOND DIGIT: $"
RESULT DB 0AH, 0DH, "RESULT IS $"
.CODE
MAIN:
MOVAX, @DATA
MOVDS, AXLEADX, DIGIT1
MOVAH, 09H
INT 21H
MOVAH, 01H
INT 21H
SUBAL, 30H
MOVBH, ALMOVAH, 01H
INT 21H
SUBAL, 30H
MOVBL, AL; BH:BL FIRST NUMBER LEADX, DIGIT2
MOVAH, 09H
INT 21H
MOVAH, 01H
INT 21H
SUBAL, 30H
MOVCH, ALMOVAH, 01H
INT 21H
SUBAL, 30H
MOVCL, AL; CH:CL SECOND NUMBER ADDBL, CLMOVAL, BLMOVAH, 00H
AAAMOVCL, AL; LAST DIGIT OF ANSWER MOVBL, AHADDBL, BHADDBL, CHMOVAL, BLMOVAH, 00H
AAAMOVBX, AX;MOV BH, AH ;MOV BL, AL MOVDX, OFFSET RESULT
MOVAH, 09H
INT 21H
MOVDL, BHADDDL, 30H
MOVAH, 02H
INT 21H
MOVDL, BLADDDL, 30H
MOVAH, 02H
INT 21H
MOVDL, CLADDDL, 30H
MOVAH, 02H
INT 21H
EXIT:
MOVAH, 04CH
INT 21H
END MAIN
Following code prints the table of the number which the user inputs. This program is an updated version of my previous program. In this program, I have adjusted output formatting as well. Feel free to copy the code and use it for your projects and assignments. Furthermore, if you have any queries do let me know in the comments section. Thanks