Description of Code
Instruction MOVC A,@A+PC is the guideline that delivers the required digit drive design for the show. Execution of this direction will include the incentive in the aggregator A with the substance of the program counter(address of the following guideline) and will move the information introduce in the resultant deliver to A. After this the program resumes from the line after MOVC A,@A+PC (Admin, 2017, Litronix, 2011).
In the program, beginning an incentive in An is 00001001B. Execution of MOVC A,@A+PC will add oooo1001B to the substance in PC ( address of next guideline). The outcome will be the address of name DB 3FH (line15) and the information introduce in this address, i.e., 3FH (digit drive design for 0) gets moved into the gatherer. Moving this example in the collector to Port 1 will show 0 which is the first tally (Admin, 2017, Litronix, 2011).
At the next include, value A will progress to 00001010, and after the execution of MOVC A,@+PC, the incentive in A will be 06H which is the digit drive design for 1, and this will show 1 which is the following number, and this cycle gets rehashed for resulting checks (Admin, 2017, Litronix, 2011).
The motivation behind why aggregator is stacked with 00001001B (9 in decimal) at first is that the guidelines from line 9 to line 15 extends 9 bytes altogether.
The lines 15 to 24 in the program which begins with Mark DB can be run as a Look Table (LUT). Mark DB is known as Define Byte which characterizes a byte. This table describes the digit drive designs for 7 fragments shown as bytes (in hex configuration) (Admin, 2017, Litronix, 2011). MOVC administrator gets the byte from this chart in light of the consequence of including PC and substance in the collector.
Register B is utilized as a brief stockpiling of the underlying estimation of the gatherer and the resulting augmentations made to the collector to get every digit drive design one by one from the look of table (LUT) (Admin, 2017, Litronix, 2011).
Note: - In line 6, Accumulator is increased by 1 each time (each circle cycle) to choose the following digit drive design. Since MOVC administrator utilizes the incentive in A to get the digit drive design from LUT, value in ACC must be augmented/controlled likewise. The digit drive examples are masterminded successively in LUT (Admin, 2017, Litronix, 2011).
Register R0 is utilized as a counter which checks from 10 down to 0. This guarantees numbers from o to 9 are consistently shown in the 7 portion LED. You may note lines 4, 11, 12, and 13 in the above program. Line 4 introduces R0 to 10 (OAh). At the point when the program counter achieves line 11 surprisingly, 7 portion LED has as of now showed 0. So we can lessen one check, and that is the reason we have composed DEC Ro. We have to ceaselessly check if R0 has achieved full tally (that is 0). Keeping in mind the end goal to do that lines 12 and 13 are utilized (Admin, 2017, Litronix, 2011). We move R0 to gatherer and after that utilization the Jump if Zero (JZ) direction to check if aggregator has achieved zero. On the off chance that Acc=0, then we make the program to bounce to START (beginning state), and subsequently we restart the 7 section LED to show from 0 to 9 once more. If Acc not equivalent to zero, we proceed with the program to show the next digit.
Figure: Seven Segment Display.
1.2.3 Background
7 segment LED show is extremely well known, and it can show digits from 0 to 9 and many characters like A, b, C, ., H, E, e, F, n, o,t,u,y, and so on. Learning about how to interface a seven segment show to a smaller scale controller is exceptionally necessary for planning inserted frameworks. A seven segment show comprises of seven LEDs organized as a squarish "8" somewhat slanted to one side, and a solitary LED as the spot character (Admin, 2017, Litronix, 2011). Diverse characters can be shown by correctly sparkling the required LED segments. Seven segment presentations are of two sorts, common cathode, and common anode. In common cathode sort, the cathode of all LEDs are entwined to a single terminal which is marked as "com, " and the anode of all LEDs are allowed to sit unbothered as individual pins named as a, b, c, d, e, f, g and h (or spot). In common anode sort, the anode of all LEDs is entwined as a single terminal and cathodes are allowed to sit unbothered as individual pins (Admin, 2017, Litronix, 2011).
Digit drive example of a seven-segment LED show is essentially the distinctive rationale blends of its terminals "a" to "h" so as to show diverse digits and characters.
Core Circuit
Figure: Basic Circuit Used for the 7 Segment Display (Admin, 2017).
1.2.5 The Circuit Description
Digit drive example of a seven segment LED show is the distinctive rationale blends of its terminals "a" to "h" keeping in mind the end goal to show different digits and characters. The circuit outline appeared above is an AT89S51 microcontroller based 0 to 9 counter which has a 7 section LED display interfaced to it so as to show the tally. This basic circuit represents two things. Step by step instructions to setup first 0 to 9 up counter utilizing 8051 and all the more imperatively how to interface a seven-fragment LED show to 8051 with a specific end goal to show a particular outcome (Admin, 2017, Litronix, 2011). The common cathode seven section show D1 is associated with the Port 1 of the microcontroller (AT89S51) as appeared in the circuit outline. R3 to R10 are present restricting resistors. S3 is the reset switch and R2, C3 shapes a debouncing hardware. C1, C2, and X1 are identified with the clock circuit. The product part of the venture needs to do the accompanying undertakings.
Shape a 0 to 9 counter with a foreordained deferral (around 1/2 second here). Change over the present number into digit drive design. Put the contemporary digit drive design into a port for displaying (Admin, 2017, Litronix, 2011).
2.1 Multiplexing Seven Segment Display
Figure: Multiplexing Seven-Segment Display (Admin, 2017).
If you require a three digit display associated with the 8051. Every 7 fragment shown have 8 sticks thus an aggregate sum of 24 pins are to the associated with the microcontroller, and there will be just 8 sticks left with the microcontroller for other information yield applications. Likewise, a last number of presentations that can be associated with the 8051 is constrained to 4 because 8051 has just 4 ports (Admin, 2017, Litronix, 2011). More than three 3 presentations will be ON dependable, and this expends a lot of energy. Multiplexing can settle every one of these issues related to the straight forward strategy (Admin, 2017, Litronix, 2011).
In multiplexing, all showcases are associated in parallel with one port, and just a single show is permitted to turn ON at once, for a brief period. This cycle is rehashed for at a quick rate, and because of the timelessness of vision of the human eye, all digits appears to gleam. The principal focal points of this technique are
Less number of port pins are required.
Devours less power.
Some show units can be interfaced (most extreme 24).
Whenever gathered and fueled on, the circuit will indicate the number "16" and let us perceive how it is finished. At first, the main display is actuated by making P3.0 high and after that digit drive design for "1" is stacked to the Port 1 (Admin, 2017, Litronix, 2011). This will make the first show to show "1". Meanwhile, P3.1 will be small thus do the second show will be OFF. This condition is kept up for around 1ms and after that P3.0 is made low. Presently both showcases will be OFF. At that point, the second show is initiated by making P3.1 high and afterward the digit drive design for "6" is stacked to the port 1. This will make the second show to show "6". Meanwhile, P3.0 will be low thus the second show will be OFF. This condition is kept up for another 1ms and after that port 3.1 is made low (Admin, 2017, Litronix, 2011). This cycle is rehashed, and because of the industriousness of vision you will feel it as "16".
Transistor Q1 drives the main show (D1), and transistor Q2 drives the second show (D2). R11 and R12 are the low current restricting resistors of Q1 and Q2. The reason for different parts is clarified in the primary circuit (Admin, 2017, Litronix, 2011).
2.2 Code of Multiplexing 7-Segment Display
References
Admin, (2017). Interfacing Seven (7) Segment Display (LED) to 8051 Micro Controller. [online] Electronic Circuits and Diagram-Electronics Projects and Design. Available at: http://www.circuitstoday.com/interfacing-seven-segment-display-to-8051 [Accessed 5 Apr. 2017].
LITRONIX, (2011). Two seven segment displays. Displays, 1(4), pp.181-182.
Stojcev, M. (1998). Design with PIC microcontrollers. Microelectronics Journal, 29(12), pp.1040-1041.
If you are the original author of this essay and no longer wish to have it published on the SuperbGrade website, please click below to request its removal: