Difference between revisions of "0.Introduction to 8051"
Line 1: | Line 1: | ||
− | =Introduction to 8051= | + | ==Introduction to 8051== |
− | As writing a | + | {{Box|type=l_red_light|text= |
− | interesting things out of them.< | + | As writing a C program starts with displaying a string hello world, |
− | We would be doing all the hardware sessions on ULTRA_X51, although the examples presented should work for any of the microcontroller platform or development boards. | + | most of the times learning about microcontrollers/embedded systems starts with 8051. It was introduced long time back but it in terms of understanding basics of embedded systems it still stands to the test. We will keep these tutorials less of theory and more of interfacing. And this one thing we have been glued to embedded systems so long, it is exciting when you make these small chips run and make interesting things out of them.<br /> |
+ | We would be doing all the hardware sessions on ULTRA_X51, although the examples presented should work for any of the microcontroller platform or development boards.<br /> | ||
+ | }} | ||
+ | == What makes them Powerful? == | ||
+ | {{Box|type=l_red_light|text= | ||
+ | Looking at the microcontroller features, | ||
+ | one might be question; as to what makes these controllers so powerful, that | ||
+ | these are part of such a wide ranging device. Right from smart phones to dumb | ||
+ | phones from robots to rovers, here’s what makes these devices click. | ||
+ | }} | ||
+ | ===Programmable!=== | ||
+ | {{Box|type=l_red_light|text= | ||
+ | Making Integrated | ||
+ | Circuits which could be programmed depending on the application was | ||
+ | breakthrough. The array of varied applications that these microcontrollers are | ||
+ | used, only justifies the purpose. Making custom Integrated circuits with | ||
+ | specific to a particular application is time consuming! Microcontrollers | ||
+ | inspired a new generation of designs which were highly scalable yet generic, | ||
+ | simply have an idea, put on the chip and run it | ||
+ | }} | ||
+ | === Speed:=== | ||
+ | {{Box|type=l_red_light|text= | ||
+ | Today, we have controllers from the ARM family that run at a few Giga Hertz! The basic operations that most of the controllers perform are arithmetic (binary addition, subtraction etc) and logical (simple | ||
+ | NAND, NOR applications). Well, what makes these simple instructions powerful is the speed at which these can be executed. | ||
+ | }} | ||
+ | ==What do you need to know to get started? Perquisites!== | ||
+ | {{Box|type=l_red_light|text= | ||
+ | * Basic C programming. | ||
+ | *Basic understanding of electronics, we would try and clarify the basic concepts, as and when required during the tutorial. | ||
+ | * Justdo it! The most important thing is do the practical stuff as go through the tutorials. This will give you the much needed fuel and excitement when things really work. If they don’t you’ll learn more than what these tutorials teach and more the fun! | ||
+ | |||
+ | }} | ||
+ | ==Features of 8051== | ||
+ | 8 bit controller: It basically means | ||
+ | the microcontroller handles data in sizes of 8 bits or simply a byte. In other | ||
+ | words, the architecture of 8051 is 8-bit, meaning to say ALU, Input output | ||
+ | Ports, most of the registers, internal bus is 8 bit, we will see more of this | ||
+ | while discussing the architecture of the controller. 4KB of internal ROM and 128 bytes of RAM memory. | ||
+ | The programs that | ||
+ | are written in C or assembly get converted to hex code when compiled. This file is flashed/written to the controller | ||
+ | and resides in the ROM. Hence 4KB of ROM determines the size of hex file or | ||
+ | eventually the code that the controller is able to store, fetch and execute. | ||
+ | Well it may seem very little, indeed it is. But this would more than enough for | ||
+ | simple interfaces and even some of the commercial applications. | ||
+ | The RAM is the | ||
+ | faster accessible volatile storage memory that gets erased when you turn off | ||
+ | the controller. This is needed to store real time data, the data from | ||
+ | peripherals or calculations that you do while the program is executing. | ||
+ | Well 128 Bytes! Yes | ||
+ | that’all we have! | ||
+ | Four 8bit I/O ports | ||
+ | (P0,P1,P2,P3). Two 16 timers/counters. One serial port (UART).8bit data bus and 16bit address bus hence can access 64k | ||
+ | of external memory. 6 Interrupts |
Revision as of 16:46, 1 December 2013
Contents
Introduction to 8051
We would be doing all the hardware sessions on ULTRA_X51, although the examples presented should work for any of the microcontroller platform or development boards.
What makes them Powerful?
Programmable!
Speed:
What do you need to know to get started? Perquisites!
- Basic understanding of electronics, we would try and clarify the basic concepts, as and when required during the tutorial.
- Justdo it! The most important thing is do the practical stuff as go through the tutorials. This will give you the much needed fuel and excitement when things really work. If they don’t you’ll learn more than what these tutorials teach and more the fun!
Features of 8051
8 bit controller: It basically means the microcontroller handles data in sizes of 8 bits or simply a byte. In other words, the architecture of 8051 is 8-bit, meaning to say ALU, Input output Ports, most of the registers, internal bus is 8 bit, we will see more of this while discussing the architecture of the controller. 4KB of internal ROM and 128 bytes of RAM memory. The programs that are written in C or assembly get converted to hex code when compiled. This file is flashed/written to the controller and resides in the ROM. Hence 4KB of ROM determines the size of hex file or eventually the code that the controller is able to store, fetch and execute. Well it may seem very little, indeed it is. But this would more than enough for simple interfaces and even some of the commercial applications. The RAM is the faster accessible volatile storage memory that gets erased when you turn off the controller. This is needed to store real time data, the data from peripherals or calculations that you do while the program is executing. Well 128 Bytes! Yes that’all we have!
Four 8bit I/O ports (P0,P1,P2,P3). Two 16 timers/counters. One serial port (UART).8bit data bus and 16bit address bus hence can access 64k of external memory. 6 Interrupts