I. 8051 Microcontroller: Features
I. 8051 Microcontroller: Features
I. 8051 Microcontroller: Features
i.
8051 Microcontroller
The 8051 microcontroller was invented in 1981 by Intel. Listed below are some of its features and applications. Features: It is an 8-bit, 40 pin microcontroller. It has a 4kb ROM and 128 bytes RAM space available. An additional 64kB external memory can be interfaced with it. It includes timer/counter, I/O pins, interrupts, UARTs. The microcontroller comprises of 6 external interrupts namely Reset, Timer 0, and Timer 1, Serial interrupt, External interrupt 0 and External interrupt 1. It has 32 I/O ports Energy management Touchscreens Medical devices Automobiles
Applications:
ii.
PIC Microcontroller
The Peripheral Interface Controller (PIC) are produced by Microchip Technology. Eg: PIC 12F675, an 8 bit microcontroller.
Features: Flash memory- Re-programmable program storage RAM memory storage for variables EEPROM - Long term stable memory: Electrically Erasable Programmable Read Only Memory. I/O ports -High current Input/Output ports (with pin direction change). Timers/counters- typically 3 USART Comparator an analog comparator and internal voltage reference An analog to digital converter (ADC) Sensing systems Ethernet applications
Applications
iii.
AVR Microcontroller
Advanced Virtual RISC (AVR) microcontroller is a customized Harvard architecture 8 bit RISC solitary chip micro-controller. It was invented in the year 1966 by Atmel. Eg: ATmega32 Features: It has single cycle instruction execution It has built in flash, EEPROM and SRAM integrated into a single chip I/O ports with built in pull-up resistors On-chip debugging (OCD) support through JTAG or debug WIRE on most devices Analog comparator 10 or 12-bit A/D converters, with multiplex of up to 16 channels 12-bit D/A converters Watchdog timer (WDT) Multiple power-saving sleep modes Ethernet controller support LCD controller support security safety powertrain has been employed to develop the Arduino Mega platform entertainment systems
Applications:
iv.
ARM-processor Microcontroller
ARM is a 32 bit genuine RISC architecture. It was initially developed in the year 1980 by Acorn Computers Ltd. It stands for Advanced RISC Machine.
Features: Maximum single cycle functioning Constant 1632 bit register file. Load or store architecture. Preset instruction width of 32 bits so as to simplify pipelining and decoding, at minimized code density. 32-bit ARM instruction set and 16-bit Thumb compressed instruction set.
v.
TI MSP430
The MSP430 is a mixed-signal microcontroller family from Texas Instruments. Built around a 16-bit CPU, the MSP430 is designed for low cost and, specifically, low power consumption embedded applications.
Features: Low Supply-Voltage Range: 1.8 V to 3.6 V 16-Bit RISC Architecture, 62.5-ns Instruction Cycle Time 32 kHz crystal 16-Bit Timer with Two Capture/Compare Registers Brownout Detector 10/12/16-bit Analogue-to-Digital Converter (ADC) 12-bit dual Digital-to-Analogue Converter (DAC) Comparator-gated timers Operational Amplifiers (OP Amps) Supply Voltage Supervisor (SVS) Energy harvesting consumer and portable electronics security and safety smart grid applications
Applications:
2. An automobile cruise control system is to be designed in a project. What skills will be needed in the team of hardware and software engineers? The team members must have a full understanding of microcontrollers or similar processors with a basic knowledge of the following: computer architecture logic design data communication motors and actuators sensors an measurements analog electronic design IC design and manufacture
The team must require specific skills such as knowledge of automobile and its working, components and parts involved. Certain programming skills are also required. 3. Explain the need of watch dog timer and reset after the watch dog timer. Describe an application using the watch dog timer. A watchdog timer is a piece of hardware that can be used to automatically detect software anomalies and reset the processor if any occur. It can be made to run a particular service routine after a specified amount of time. One or more such processes can be made to run simultaneously.
It is based on a counter that counts down from some initial value to zero. The embedded software selects the counter's initial value and periodically restarts it. If the counter ever reaches zero before the software restarts it, the software is presumed to be malfunctioning and the processor's reset signal is asserted. The processor (and the embedded software it's running) will be restarted as if a human operator had cycled the power. It is useful in applications such as space which is not accessible to human operators if a reset is necessary. It also applies to the case where a human operator might reset the system would be too slow to meet the uptime requirements of the product. It can be used as an external chip or internally within a microcontroller. A software task can also act as a watchdog timer. The output of the timer is given to the reset pin.
APPLICATION:
It finds application in mobile phone where the display goes off if there is no GUI interaction within a specified amount of time. This saves power. 4. What do we mean by the following: physical device, virtual device, plug and play device, bus-self powered device, device management and device specific processor.
PHYSICAL DEVICE
A physical device or peripheral is a device that is connected to a host system, but not part of it. It expands the host's capabilities but does not form part of the core architecture. It is often, but not always, partially or completely dependent on the host. It can be input, output or storage devices. Eg: keyboard, LCD display, memory
VIRTUAL DEVICE
Alternatively referred to as a virtual peripheral, a virtual device mimics a physical hardware device, essentially tricking the processor into believing that a device exists when it really doesn't. Eg: file, pipe, RAM disk
DEVICE MANAGEMENT
The set of tasks carried out by the device manager is called device management. The device manager software provides codes for detecting the presence of devices, for initializing these and testing the devices that are present. The manager includes software for allocating and registering port addresses for the various devices at distinctly different addresses, including codes for detecting collision between these. It ensures that any device accesses to one task only at a given instant. It takes into account that virtual devise may also have addresses that are allocated by the manager.
System on Chip (SoC) is a system on a VLSI chip that has all the necessary analog as well as digital circuits, processors and software. An SoC may be embedded with the following components: Embedded processor GPP or ASIP core. Single purpose processing cores or multiple processors. A network bus protocol core. An encryption function unit. memories Programmable logic device and FPGA cores. Other logic and analog units.
Thus, embedded systems being designed on a single chip are called System on Chip (SoC). In a broader sense, a system that has embedded software and computer hardware all on a single chip, which makes it dedicated for an application or a part of it, is called an embedded system. 6. Name the advantages of the following a) stop instruction, b) Wit instruction, c) Processor idle mode operation, d) Cache use disable instruction and e) Cache with multiways and blocks in an embedded system.
STOP INSTRUCTION
The stop instruction, upon execution enters the CPU into stop mode where CPU and most of the peripheral devices are shut down to minimize power consumption.
WAIT INSTRUCTION
When the wait instruction is executed, the CPU enters the wait mode wherein the CPU ceases instruction sequencing and is not clocked, lowering power
consumption. The peripherals operate normally and any interrupt request wakes up the CPU.
MICROPROCESSOR
Arithmetic Logic Unit Memory Management Unit Bus Management Unit Control Unit Decode Unit Prefetch Unit
EMBEDDED PROCESSOR
Power source Clock Oscillator Circuit System timers and Real Time Clock Reset Circuit Memory Input/Output Ports Interrupt Handler
MICROCONTROLLER
CPU Memory Unit Input/Output Unit
Serial Communication Timer Unit Clock Oscillator A/D and D/A convertors Watchdog timer
DSP
Program memory unit Data memory unit Arithmetic units consisting of ALU (Arithmetic Logic Unit) , MAC (Multiplier and Accumulator) and shifter Serial ports Timer Internal DMA port I/O ports Flags
8. Design a project system using 8051 Project description: Design a vehicle which should follow a light beam from another vehicle. You should submit the following for this project a) Design idea b) Block diagram c) Major and minor components used. d) Program algorithm e) Program in C or ALP a) The basic idea behind the design of this project is to use an LDR (Light Dependent Resistor) or photoresistor. It is a device whose resistance varies with the amount of light falling on it. Normally, its resistance is very high. When light falls on it, its resistance reduces, allowing current to flow through it. 3 such LDRs will be placed on a movable robot; one in the front and 2 on the sides. Depending on the intensity of light, the car moves in the direction of the light. b)
SENSOR R
MICROCONTROLLER
MOTOR
SENSOR L
c) Components used are given below: i. Microcontroller 8051 ii. Motors (left and right) iii. Light Dependent Resistors (LDR) iv. PCB v. Power Supplies (for the microcontroller and the motors) vi. resistor vii. capacitor viii. crystal oscillator (11.0592Mhz) ix. chassis x. wheels
d) Algorithm: Check sensors R and L continuously. When current flows through R, switch on right motor and switch off left motor When current flows through L, switch on left motor and switch off right motor When current flows through both the sensors, switch on both motors
e) C program: #include<reg51.h> sbit sensR P3^0; sbit sensL P3^1; sbit motorR=P3^3; sbit motorL=P3^4; void main () while(1) { if(sensR==0 && sensL==1) { motorR=0; motorL=1; } else if (sensR==1 && sensL==0)
{ motorR=1; motorL=0; } else if (sensR==1 && sensL==1) { motorR=1; motorL=1; } else { motorR=0; motorL=0; }