ACALL unconditionally calls a subroutine at the indicated
code address. ACALL pushes the address of the instruction that follows ACALL
onto the stack, least-significant-byte first, most-significant-byte second.
The Program Counter is then updated so that program execution continues at
the indicated address.
Introduction to microcontrollers
A micro-controller can be compared
to a small stand alone computer, it is a very powerful device,
which is capable of executing a series of pre-programmed tasks
and interacting with other hardware devices. Being packed in a
tiny integrated circuit (IC) whose size and weight is usually
negligible, it is becoming the perfect controller for robots or
any machines requiring some kind of intelligent automation. A
single microcontroller can be sufficient to control a small mobile
robot, an automatic washer machine or a security system. Any microcontroller contains a memory to store the program to be executed,
and a number of input/output lines that can be used to interact
with other devices, like reading the state of a sensor or controlling
Architecture Pin Diagram
The Intel 8085A is a new generation, complete 8 bit parallel central processing unit
(CPU). The 8085A uses a multiplexed data bus. The address is split between the 8bit
address bus and the 8bit data bus.
we provide information on the design, development and debugging of Embedded Systems under this section. This information could be useful to the beginners as well as to the advanced Embedded System Developers. These tutorials are under continuous update. So, if you have any suggestions, which might help me to improve the usefulnees of these tutorials, please feel free to provide me your feedback.
Introduction to Microcontrollers
Circumstances that we find ourselves in today in the field of microcontrollers had their beginnings in the development of technology of integrated circuits. This development has made it possible to store hundreds of thousands of transistors into one chip. That was a prerequisite for production of microprocessors , and the first computers were made by adding external peripherals such as memory, input-output lines, timers and other. Further increasing of the volume of the package resulted in creation of integrated circuits. These integrated circuits contained both processor and peripherals. That is how the first chip containing a microcomputer , or what would later be known as a microcontroller came about.
ADD and ADDC both add the value operand to
the value of the Accumulator, leaving the resulting value in the Accumulator.
The value operand is not affected. ADD and ADDC function identically except
that ADDC adds the value of operand as well as the value of the Carry flag
whereas ADD does not add the Carry flag to the result.
8051-8052 Instruction Set
In previous section we discussed about the parallelism which can exists in an appllication. Modern processors employ intelligent processor architectures to exploit the parallelism of the computer programs. In this section we will discuss about different processor architectures.
PIC16F84 belongs to a class of 8-bit microcontrollers of RISC architecture. Its general structure is shown on the following map representing basic blocks.
Program memory (FLASH)- for storing a written program.
Since memory made in FLASH technology can be programmed and cleared more than once, it makes this microcontroller suitable for device development.
EEPROM - data memory that needs to be saved when there is no supply.
It is usually used for storing important data that must not be lost if
power supply suddenly stops. For instance, one such data is an assigned temperature in temperature regulators. If during a loss of
power supply this data was lost, we would have to make the adjustment once again upon return of supply. Thus our device looses on self-reliance.
RAM - data memory used by a program during its execution.
In RAM are stored all inter-results or temporary data during run-time.
AJMP unconditionally jumps to the indicated code address. The
new value for the Program Counter is calculated by replacing the
least-significant-byte of the Program Counter with the second byte of the
AJMP instruction, and replacing bits 0-2 of the most-significant-byte of the
Program Counter with 3 bits that indicate the page of the byte following the AJMP instruction.
Bits 3-7 of the most-significant-byte of the Program Counter remain unchaged.
Instruction Set and Timing
In order to understand--and better make use of--the 8051, it is necessary to understand
some underlying information concerning timing.
Instruction Naming Conventions:
An instruction is a binary pattern designed inside a microprocessor to perform a
specific function. The entire group of instructions, called the instruction set,
determines what functions the microprocessor can perform. These instructions can be
classified into the following five functional categories: data transfer (copy)
operations, arithmetic operations, logical operations, branching operations, and
Peripherals (of a processor) are its means of communicating with the external world.
Oscillator circuit is used for providing a microcontroller with a clock. Clock is needed so that microcontroller could execute a program or program instructions.
ANL does a bitwise "AND" operation between operand1 and operand2,
leaving the resulting value in operand1. The value of operand2 is not affected. A logical
"AND" compares the bits of each operand and sets the corresponding bit in the resulting byte only
if the bit was set in both of the original operands, otherwise the resulting bit is cleared.