Professional Documents
Culture Documents
Technical and Vocational Training Institute: Information Technology Department Mgroup Assignment
Technical and Vocational Training Institute: Information Technology Department Mgroup Assignment
training institute
Information technology department
mGroup assignment
Group members
Name Id
1, Mahlet Anteneh ETUBR/2037/13
2, Tsion Yenewondem ETUBR/1929/13
3, Meklit Amsalu ETUBR/2038/13
4, Sara Tariku ETUBR/2202/13
Memory: The AT89C52 has 8KB of Flash program memory and 256 bytes of RAM. The 16F877A
has 14KB of Flash program memory and 368 bytes of RAM. Additionally, the 16F877A has a
larger EEPROM memory for data storage, which is not available in the AT89C52.
Peripherals: Both microcontrollers have a range of peripherals such as timers, interrupt
controllers, and serial communication interfaces. However, the specific features and capabilities
of these peripherals vary between the two families.
Pin Configuration: The AT89C52 has a total of 40 pins, including 32 I/O pins. The pin
configuration is as follows:
Port 0: 8 pins, can be used as input/output or as an address/data bus.
Port 1: 8 pins, can be used as input/output or as an address/data bus.
Port 2: 8 pins, can be used as input/output or as an address/data bus.
Port 3: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and serial communication.
The 16F877A has a total of 40 pins, including 33 I/O pins. The pin configuration is as follows:
Port A: 6 pins, can be used as input/output or as an analog input.
Port B: 8 pins, can be used as input/output or as an analog input.
Port C: 8 pins, can be used as input/output or as a special function input/output.
Port D: 8 pins, can be used as input/output or as a special function input/output.
Port E: 3 pins, can be used as input/output or as a special function input/output.
Development Tools: Both microcontroller families have a range of development tools and
software available, such as compilers, assemblers, and debuggers. However, the specific tools
and support available for each family may vary.
Comparison:
In terms of architecture, the 8051-family microcontroller has a CISC architecture, while the PIC
family microcontroller has a RISC architecture. This means that the 8051 has a more complex
instruction set, while the PIC has a simpler instruction set. However, the 8051 has a larger
address bus, which allows it to address more memory than the PIC.
In terms of pin configuration, both the 8051 and PIC families have 40 pins and multiple I/O
ports. However, the 8051 has four 8-bit ports, while the PIC has five 8-bit ports. This means that
the PIC can support more I/O devices than the 8051.
In summary, the 8051 family and PIC family are both popular microcontroller families with their
own strengths and weaknesses. The AT89C52 and 16F877A are examples of microcontrollers
from these families, with differences in architecture, processing power, memory, peripherals,
pin configuration, and development tools. When selecting a microcontroller for a specific
application, it is important to consider these factors and choose the one that best meets the
requirements of the project.
8051 micro-controller has bus width 8 bit for PIC micro-controller has bus width is
01.
standard core. 8-bit/16-bit/32-bit.
8051 micro-controller is slower than PIC PIC micro-controller is faster than 8051
02.
micro-controller. micro-controller.
8051 is very basic and commonly used PIC is used to interface more advanced
04. micro-controller and used for simple peripherals like microSD card, RFID
applications. scanner etc.
05. It uses ROM, SRAM, FLASH memory. It uses SRAM, FLASH memory.
In general if we will see it has more In general if we will see it has less
06.
community support than PIC. community support than 8051.
3. Show the comparison between the following 8051 family (AT89C51 & AT89S51) based on
pin configuration
The AT89C51 and AT89S51 are two popular microcontrollers from the 8051 family. While they
share some similarities in terms of architecture and programming, they also have some
important differences, particularly in their pin configurations.
Architecture: Both the AT89C51 and AT89S51 are based on an 8-bit Harvard architecture,
where the program and data memories are physically separate. However, the AT89S51 has a
more advanced architecture with additional features such as a Watchdog Timer, Brown-out
Detection, and a Power-off Flag.
Memory: Both microcontrollers have 4KB of Flash program memory and 128 bytes of RAM.
However, the AT89S51 has a larger EEPROM memory for data storage, which is not available in
the AT89C51.
Peripherals: Both microcontrollers have a range of peripherals such as timers, interrupt
controllers, and serial communication interfaces. However, the specific features and capabilities
of these peripherals vary between the two microcontrollers.
Pin Configuration: The AT89C51 has a total of 40 pins, including 32 I/O pins. The pin
configuration is as follows:
Port 0: 8 pins, can be used as input/output or as an address/data bus.
Port 1: 8 pins, can be used as input/output or as an address/data bus.
Port 2: 8 pins, can be used as input/output or as an address/data bus.
Port 3: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and serial communication.
The AT89S51 also has a total of 40 pins, including 32 I/O pins. The pin configuration is as
follows:
Port 0: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and serial communication.
Port 1: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and timer inputs.
Port 2: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and the Watchdog Timer.
Port 3: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and serial communication.
Development Tools: Both microcontrollers have a range of development tools and software
available, such as compilers, assemblers, and debuggers. However, the specific tools and
support available for each microcontroller may vary.
In summary, the AT89C51 and AT89S51 are two popular microcontrollers from the 8051 family
with similarities in architecture, memory, peripherals, and development tools. However, they
have differences in their pin configurations, with the AT89S51 having additional dedicated pins
for features such as external interrupts, timers, and the Watchdog Timer. When selecting a
microcontroller for a specific application, it is important to consider these differences and
choose the one that best meets the requirements of the project.
4. Show the comparison between the following 8051 family (AT89C52 & AT89S52) based on
pin configuration
The AT89C52 and AT89S52 are two members of the popular 8051 microcontroller family. While
they share some similarities, they also have some differences, particularly in their pin
configurations.
Architecture: Both microcontrollers are based on the 8051 Harvard architecture with a separate
program and data memory. However, the AT89S52 has additional features such as a Watchdog
Timer, Brown-out Detector, and a Power-off Reset circuit.
Memory: Both microcontrollers have 8KB of Flash program memory and 256 bytes of RAM.
However, the AT89S52 has a larger EEPROM memory for data storage, which is not available in
the AT89C52.
Peripherals: Both microcontrollers have a range of peripherals such as timers, interrupt
controllers, and serial communication interfaces. However, the specific features and capabilities
of these peripherals vary between the two microcontrollers.
Pin Configuration: The AT89C52 has a total of 40 pins, including 32 I/O pins. The pin
configuration is as follows:
Port 0: 8 pins, can be used as input/output or as an address/data bus.
Port 1: 8 pins, can be used as input/output or as an address/data bus.
Port 2: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and serial communication.
Port 3: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and timers.
The AT89S52 also has a total of 40 pins, including 32 I/O pins. The pin configuration is as
follows:
Port 0: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and serial communication.
Port 1: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and timer inputs.
Port 2: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts, the Watchdog Timer, and serial communication.
Port 3: 8 pins, can be used as input/output or as an address/data bus. It also includes dedicated
pins for external interrupts and timers.
Development Tools: Both microcontrollers have a range of development tools and software
available, such as compilers, assemblers, and debuggers. However, the specific tools and
support available for each microcontroller may vary.
The main difference between the two microcontrollers is in their memory organization. The
AT89C52 has 8 KB of on-chip flash memory, while the AT89S52 has 32 KB of on-chip flash
memory. In addition, the AT89S52 has a built-in bootloader, which allows for easier
programming and updating of the firmware.
In summary, the AT89C52 and AT89S52 are two popular microcontrollers from the 8051 family
with similarities in architecture, memory, peripherals, and development tools. However, they
have differences in their pin configurations, with the AT89S52 having additional dedicated pins
for features such as external interrupts, timers, and the Watchdog Timer. When selecting a
microcontroller for a specific application, it is important to consider these differences and
choose the one that best meets the requirements of the project.
5. What is the difference between Program Memory (ROM) and Data Memory (RAM)?
Identify the difference between EPROM, EEPROM and Flash memory types.
Program Memory (ROM) and Data Memory (RAM) are two fundamental types of memory
found in microcontrollers.
Program Memory (ROM) is a non-volatile memory type that is used to store the
microcontroller's program code permanently. It retains the stored program code even when
the power is turned off. The program code is usually preloaded into the ROM during the
manufacturing process, and it cannot be modified or erased by the user during runtime.
On the other hand, Data Memory (RAM) is a volatile memory type used to temporarily store
data that is required for the program to execute. It can be both read and written by the user
during runtime, but it loses its contents when the power is turned off.
EPROM (Erasable Programmable Read-Only Memory) is a type of non-volatile memory that can
be programmed and erased multiple times by exposing it to ultraviolet light. This makes it
possible for the user to modify the program code stored in the memory. However, it requires
specialized equipment to program and erase the memory, and it is not very practical for use in
microcontrollers.
EEPROM (Electrically Erasable Programmable Read-Only Memory) is another type of non-
volatile memory that can be programmed and erased electrically. This makes it easier and more
practical to use in microcontrollers compared to EPROM. It allows the user to modify the
program code during runtime, but it has limited write/erase cycles compared to other memory
types.
Flash Memory is a type of non-volatile memory that can be programmed and erased
electrically, just like EEPROM. It is a newer and more advanced type of memory that is
commonly used in modern microcontrollers. It offers faster read/write speeds and has a higher
endurance compared to EEPROM, making it ideal for use in applications that require frequent
program updates.
In summary, Program Memory (ROM) is used to store the microcontroller's program code
permanently, while Data Memory (RAM) is used to temporarily store data during runtime.
EPROM, EEPROM, and Flash memory are different types of non-volatile memory, with varying
degrees of program code modification flexibility and write/erase cycles.
Program Memory (ROM) vs. Data Memory (RAM):
ROM is non-volatile, while RAM is volatile.
ROM is used to store the program code permanently, while RAM is used to store data
temporarily.
The program code stored in ROM cannot be modified or erased by the user during runtime,
while data stored in RAM can be both read and written by the user during runtime.
ROM typically has a larger storage capacity compared to RAM in microcontrollers.
Accessing ROM is usually slower than accessing RAM in microcontrollers.
EPROM vs. EEPROM vs. Flash Memory:
EPROM can be programmed and erased multiple times by exposing it to ultraviolet light, while
EEPROM and Flash Memory can be programmed and erased electrically.
EPROM requires specialized equipment to program and erase the memory, while EEPROM and
Flash Memory can be programmed and erased using the microcontroller's built-in hardware.
EPROM has a slower write/erase speed compared to EEPROM and Flash Memory, which can be
programmed and erased much faster.
EPROM has a higher endurance compared to EEPROM and Flash Memory, which have limited
write/erase cycles. This means that EPROM can withstand more program code modifications
before it becomes unusable.
EEPROM and Flash Memory have higher densities compared to EPROM, which means they can
store more program code in the same amount of physical space.
Flash Memory is the most popular type of non-volatile memory used in modern
microcontrollers, due to its faster read/write speeds, higher endurance, and ease of use.
6. List main feature of 8051 microcontroller. Give difference between 8051 and 8052
microcontroller.
The 8051 microcontroller is a popular 8-bit microcontroller family that was introduced by Intel
in 1980s. Here are some of the main features of the 8051 microcontroller:
8-bit architecture: The 8051 is an 8-bit microcontroller, meaning it has an 8-bit data bus and
can process 8 bits of data at a time.
Harvard architecture: The 8051 uses a Harvard architecture, which means that it has separate
memory spaces for program code and data. This allows for faster access to both program code
and data.
On-chip memory: The 8051 has on-chip program memory (ROM) and data memory (RAM). The
amount of memory can vary depending on the specific model of the microcontroller.
Serial communication: The 8051 has built-in serial communication ports, which allow it to
communicate with other devices using serial protocols such as UART, SPI, and I2C.
Timers and counters: The 8051 has multiple timers and counters, which can be used for a
variety of functions such as generating interrupts, measuring time, and counting external
events.
Interrupts: The 8051 has multiple interrupt sources, which can be used to trigger the
microcontroller to perform specific functions or to respond to external events.
GPIO pins: The 8051 has a number of general-purpose input/output (GPIO) pins, which can be
used to interface with external devices such as sensors, displays, and other microcontrollers.
the differences between the 8051 and the 8052 microcontrollers:
Clock speed: The 8052 has a higher clock speed compared to the 8051. The 8052 can operate at
up to 33 MHz, while the 8051 typically operates at a maximum of 12 MHz.
Memory: The 8052 has more on-chip memory compared to the 8051. The 8052 has 8 KB of on-
chip RAM, compared to the 8051's maximum of 256 bytes.
Interrupts: The 8052 has a more advanced interrupt system compared to the 8051. The 8052
has five interrupt sources, while the 8051 has only two.
I/O pins: The 8052 has more I/O pins compared to the 8051. The 8052 has 32 I/O pins, while the
8051 typically has a maximum of 32.
Programming: The programming process for the 8052 is slightly different compared to the
8051. The 8052 requires a specific programming algorithm, while the 8051 can be programmed
using a variety of programming methods.
Overall, the 8052 is a more powerful microcontroller compared to the 8051, with higher clock
speed, more on-chip memory, and a more advanced interrupt system. However, the 8051 is still
widely used due to its simplicity and low cost, making it a popular choice for many embedded
systems applications.
Some additional differences between the 8051 and 8052 microcontrollers include:
Memory: The 8052 has a larger internal ROM and RAM memory compared to the 8051. The
8052 has 8 KB of on-chip program memory (ROM) and 256 bytes of on-chip data memory
(RAM), while the 8051 has 4 KB of program memory and 128 bytes of data memory.
Interrupts: The 8052 has an additional interrupt, the External Interrupt 2 (INT2), which can be
triggered by an external signal on a dedicated pin. The 8051 only has one external interrupt, the
External Interrupt 0 (INT0).
Timers/Counters: The 8052 has an additional 16-bit timer/counter, Timer 2, which can be used
as a baud rate generator for serial communication. The 8051 only has two 16-bit
timer/counters, Timer 0 and Timer 1.
Oscillator options: The 8052 can use an external clock or crystal oscillator with a frequency
range of 0-24 MHz, while the 8051 is typically limited to a maximum frequency of 12 MHz for
external clock or crystal oscillator.
I/O ports: The 8052 has four 8-bit I/O ports (P0, P1, P2, and P3) with higher current
sourcing/sinking capabilities compared to the 8051. The 8051 only has two 8-bit I/O ports (P0
and P1) and two 4-bit I/O ports (P2 and P3).
Power control: The 8052 has a power control mode where it can reduce power consumption by
switching off unused peripherals, such as the serial port and timer/counter, while the 8051
does not have this feature.
Pricing: The 8052 is generally more expensive than the 8051 due to its additional features and
larger memory capacity.
7.What is the function of EA, ALE, and PSEN signals? Write more than you can clearly and
efficiently
The EA, ALE, and PSEN signals are important control signals used in microcontrollers, especially
in the 8051 microcontroller architecture.
EA - External Access Enable: The EA signal is an input signal that is used to determine the source
of the program counter during the boot-up process. If EA is high, the microcontroller will fetch
the program code from an external memory device, such as an EPROM or Flash memory,
instead of the internal ROM memory. This feature allows for greater flexibility in the type and
size of program code that can be used in the microcontroller. If EA is low, the microcontroller
will fetch the program code from the internal ROM memory. In most applications, EA is
permanently tied to Vcc to use the internal ROM memory.
ALE - Address Latch Enable: The ALE signal is an output signal that is used to latch the address
information from the microcontroller to the external memory or I/O devices. ALE is active high
and is used to synchronize the external devices with the microcontroller. During a write
operation, the address is latched onto the external device's address pins when ALE transitions
from low to high. During a read operation, the external device's data is latched onto the
microcontroller's data bus when ALE transitions from high to low.
PSEN - Program Store Enable: The PSEN signal is an output signal that is used to select the
program memory device during a program fetch operation. When PSEN is high, the
microcontroller fetches the program code from the external memory device specified by the EA
pin. PSEN is activated during the fetch cycle of the microcontroller's instruction cycle, and it
remains high until the instruction is fetched completely.
In summary, the EA, ALE, and PSEN signals are important control signals used in microcontroller
systems to provide flexibility, synchronization, and program memory selection. These signals
play a crucial role in ensuring the correct operation of the microcontroller system and its
external devices. Understanding the function and timing of these signals is important for
designing and debugging microcontroller systems.
8.Explain the difference between NMOS technology and CMOS technology. MCU can be
manufactured using NMOS or CMOS technology
NMOS (n-type metal-oxide-semiconductor) and CMOS (complementary metal-oxide-
semiconductor) are two different technologies used in the manufacturing of microcontrollers
and other integrated circuits. Both technologies have their own advantages and disadvantages,
and the choice between them depends on the specific application requirements.
NMOS technology uses n-type MOSFETs (metal-oxide-semiconductor field-effect transistors) as
the primary building blocks. These transistors are constructed using a single type of material,
such as silicon. NMOS technology is relatively simple and easy to implement, which makes it a
cost-effective option for certain applications. However, NMOS technology has several
drawbacks, including higher power consumption, slower switching speeds, and lower noise
immunity.
In contrast, CMOS technology uses both n-type and p-type MOSFETs to construct circuits. The
combination of these two types of transistors creates a complementary circuit structure that
can switch faster, consume less power, and provide better noise immunity than NMOS
technology. The p-type MOSFETs in a CMOS circuit operate in a complementary fashion to the
n-type MOSFETs, creating a "complementary" circuit structure. CMOS technology also offers
the advantage of being able to implement a wider range of logic functions than NMOS
technology.
. The main differences between NMOS and CMOS technology are:
1. Power Consumption: NMOS technology uses more power than CMOS technology because it
requires a continuous flow of current through the transistors to keep them in an "on" state. In
contrast, CMOS technology uses very little power because the transistors only draw power
when they are switching states.
2. Speed: NMOS technology is faster than CMOS technology because the transistors can switch
on and off more quickly. However, this speed advantage comes at the cost of higher power
consumption. CMOS technology is slower than NMOS technology, but it consumes less power.
3. Noise Immunity: CMOS technology has better noise immunity than NMOS technology
because it uses complementary transistors, which cancel out noise signals. NMOS technology
does not have this noise immunity feature.
4. Circuit Density: CMOS technology can achieve a higher circuit density than NMOS technology
because the transistors are smaller and require less space.
Basis of
CMOS Technology NMOS Technology
Difference
Full form CMOS stands for Complementary NMOS stands for N-channel Metal
Metal Oxide Semiconductor. Oxide Semiconductor.
Operation The CMOS performs its operation The NMOS performs its operation by
by employing symmetrical as well making an inversion layer within a
as complementary pairs of P-type Ptype substrate.
and N-type MOSFETs.
Logic level The logic level of CMOS is 0 V / 5 The logic level of NMOS depends on
V. the β ratio as well as noise margins.
Layout CMOS has more regular layout. NMOS has irregular layout.
Power supply For CMOS, the power supply may For NMOS, the power supply is
vary from 1.5 V to 15 V. fixed depending on VDD.
Packing density CMOS has less packing density. The packing density of NMOS is
Where, it requires 2N devices for N high. It requires (N+1) devices for N
inputs. inputs.
Load to drive CMOS has load / drive ratio 1:1 or NMOS has load / drive ratio 4:1.
ratio 2:1.
Static power CMOS consumes low static power. NMOS consumes relatively more
consumption static power.
Noise immunity CMOS has high noise immunity. NMOS has comparatively low noise
immunity.
Applications The CMOS is used to design various NMOS is used to design several
types of digital logic circuits, types of digital logic circuits such as
microprocessors, microcontrollers, microprocessors, memory chips, and
memories, etc. many other MOS devices.
In summary, NMOS and CMOS are two different technologies used in the manufacturing of
microcontrollers and other integrated circuits. While NMOS technology is simpler and cost-
effective, CMOS technology offers lower power consumption, faster switching speeds, and
better noise immunity. The choice between the two depends on the specific application
requirements and performance goals.
The choice of technology depends on various factors such as power consumption, speed, noise
immunity, and cost.
NMOS technology is an older technology that is less commonly used today due to its higher
power consumption and lower noise immunity. In NMOS technology, the transistors are always
on, and the logic gate output is determined by the voltage level on the input. This results in a
faster response time, but also higher power consumption and lower noise immunity.
On the other hand, CMOS technology is a more modern technology that is widely used in
microcontroller manufacturing due to its lower power consumption and higher noise immunity.
In CMOS technology, the transistors are only on when needed, and the logic gate output is
determined by the voltage difference between the input signals. This results in a slower
response time, but also lower power consumption and higher noise immunity.
Overall, the choice of technology depends on the specific requirements of the microcontroller
application, and both NMOS and CMOS technologies have their advantages and disadvantages.