Week 9 : Embedded Programming
Microcontroller
A microcontroller is a small computer on a single metal-oxide-semiconductor (MOS) integrated circuit chip. In modern terminology, it is similar to, but less sophisticated than, a system on a chip (SoC); a SoC may include a microcontroller as one of its components. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals. Program memory in the form of ferroelectric RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications.
Microcontrollers are "special purpose computers." that are capable of only doing one thing well. Microcontrollers are "embedded" inside some other device (often a consumer product) so that they can control the features or actions of the product. Microcontrollers are dedicated to one task and run one specific program, The program is stored in ROM (read-only memory) and generally does not change. Microcontrollers are often low-power devices. [Wiki]
Microcontroller family
1) 8051 Mictrocontroller
The 8051 Microcontroller is one of the most popular and most commonly used microcontrollers in various fields like embedded systems, consumer electronics, automobiles, etc. Technically called as Intel MCS-51 Architecture, the 8051 microcontroller series was developed by Intel in the year 1980 and were very popular in the 80’s
Features:
8 – Bit ALU: ALU or Arithmetic Logic Unit is the heart of a microcontroller. It performs arithmetic and bitwise operation on binary numbers. The ALU in 8051 is an 8 – Bit ALU i.e. it can perform operations on 8 – bit data.
8 – Bit Accumulator: The Accumulator is an important register associated with the ALU. The accumulator in 8051 is an 8 – bit register.
RAM: 8051 Microcontroller has 128 Bytes of RAM which includes SFRs and Input / Output Port Registers.
ROM: 8051 has 4 KB of on-chip ROM (Program Memory).
I/O Ports: 8051 has four 8 – bit Input / Output Ports which are bit addressable and bidirectional.
Timers / Counters: 8051 has two 16 – bit Timers / Counters.
Serial Port: 8051 supports full duplex UART Communication.
External Memory: 8051 Microcontroller can access two 16 – bit address line at once: one each for RAM and ROM. The total external memory that an 8051 Microcontroller can access for RAM and ROM is 64KB.
Additional Features: Interrupts, on-chip oscillator, Boolean Processor, Power Down Mode, etc.
[electronicshub]
2) AVR Microcontroller
AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage. Flash, EEPROM, and SRAM are all integrated onto a single chip, removing the need for external memory in most applications. Some devices have a parallel external bus option to allow adding additional data memory or memory-mapped devices. Almost all devices (except the smallest TinyAVR chips) have serial interfaces, which can be used to connect larger serial EEPROMs or flash chips. [Wiki]
3) PIC Microcontroller
PIC is a family of microcontrollers made by Microchip Technology. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. Early models of PIC had read-only memory (ROM) or field-programmable EPROM for program storage, some with provision for erasing memory. All current models use flash memory for program storage, and newer models allow the PIC to reprogram itself. Program memory and data memory are separated. Data memory is 8-bit, 16-bit, and, in latest models, 32-bit wide. Program instructions vary in bit-count by family of PIC, and may be 12, 14, 16, or 24 bits long. The instruction set also varies by model, with more powerful chips adding instructions for digital signal processing functions. The hardware capabilities of PIC devices range from 6-pin SMD, 8-pin DIP chips up to 144-pin SMD chips, with discrete I/O pins, ADC and DAC modules, and communications ports such as UART, I2C, CAN, and even USB. Low-power and high-speed variations exist for many types. [Wiki]