23-04-2011, 11:50 AM
SUBMITTED BY
Trupty Acharya
[attachment=12690]
ABSTRACT
This is the era of revolutions in electronics design and it has been improving by the continuous advancement in the technology and computer science in the last three decades. The electronics industries are growing rapidly due to the development in integrated circuits (ICs). Although the use of high performance computing, telecommunication devices, computers are increasing rapidly, they are not easily portable. This age is for portable gadgets which serve all types of communication and entertainments on demand and information processing facilities. This provides a greater mobility to the users due to less weight. To achieve all those functions on chip, the system should have high processing power, bandwidth and low power consumption features.
Now-a-days, the information services tend to become more personalized, which requires the devices must be more intelligent and portable. This trend towards portable, distributed system architectures is one of main driving force for system integration. As more and more complex functions are required in various data processing and telecommunication devices, the need to integrate them in a small package is increasing. Engineering education is not only inclined towards theoretical conceptions but also towards practical applications. This practical implementation is achieved in a wide range by chip burning which is one of the important aspects of EMBEDED SYSTEM. The different sub branches under this system are: MICROCOTROLLERS, ARM, VxWORKS and EMBEDDED VLSI
1. INTRODUCTION
Embedded systems programming is not like normal PC programming. In many ways, programming for an embedded system is like programming PC 15 years ago. The hardware for the system is usually chosen to make the device as cheap as possible. Spending an extra dollar a unit in order to make things easier to program can cost millions. Hiring a programmer for an extra month is cheap in comparison. This means the programmer must make do with slow processors and low memory, while at the same time battling a need for efficiency not seen in most PC applications. Embedded development makes up a small fraction of total programming. There's also a large number of embedded architectures, unlike the PC world where 1 instruction set rules, and the UNIX world where there's only 3 or 4 major ones. This means that the tools are more expensive. It also means that they're lower featured, and less developed. On a major embedded project, at some point we will almost always find a compiler bug of some sort. Debugging tools are another issue. Since we can't always run general programs on our embedded processor, we can't always run a debugger on it. This makes fixation of our program difficult. Special hardware such as JTAG ports can overcome this issue in part. However, if we stop on a breakpoint when our system is controlling real world hardware (such as a motor), permanent equipment damage can occur. As a result, people doing embedded programming quickly become masters at using serial IO channels and error message style debugging. Embedded systems frequently control hardware, and must be able to respond to them in real time. Failure to do so could cause inaccuracy in measurements, or even damage hardware such as motors. This is made even more difficult by the lack of resources available. Almost all embedded systems need to be able to prioritize some tasks over others, and to be able to put off/skip low priority tasks such as UI in favor of high priority tasks like hardware control. Some embedded microprocessors may have an external unit for performing floating point arithmetic (FPU) most low-end embedded systems have no FPU. Most C compilers will provide software floating point support, but this is significantly slower than hardware FPU. As a result, many embedded projects enforce a no floating point rule on their programmers. This is in strong contrast to PCs, where the FPU has been integrated into all the major microprocessors, and programmers take fast floating point number calculations for granted. Many DSPs also do not have an FPU and require fixed-point arithmetic to obtain acceptable performance.
2. 8051 MICROCONTROLLER
2.1 MICROPROCESSOR VS MICROCONTOLLER
Microprocessor:
CPU is stand-alone, RAM, ROM, I/O, timer are separate
Designer can decide on the amount of ROM, RAM and I/O ports.
expansive
versatility
General-purpose.
Microcontroller:
CPU, RAM, ROM, I/O and timer are all on a single chip
fix amount of on-chip ROM, RAM, I/O ports
for applications in which cost, power and space are critical
single-purpose
2.2 OVERVIEW OF 8051
It provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package.
8-bit data bus - It can access 8 bits of data in one operation (hence it is an 8-bit microcontroller)
16-bit address bus - 64 kB each of RAM and ROM
On-chip RAM - 128 bytes ("DATA Memory")
On-chip ROM - 4 kB ("CODE (program) Memory")
Four 8-bit bi-directional input/output ports
UART (serial port)
Two 16-bit Counter/timers
Two-level interrupt priority
Power saving mode.