Embedded System Introduction “An embedded system is some combination of computer hardware and software, with either fixed or programmable capabilities, that is specifically designed for a particular kind of application device” Embedded systems are very specific, and built to handle a particular task. Industrial machines, automobiles, airplanes, trains, medical equipment, video cameras, phones, PDAs, home appliances, vending machines, and toys are among the many possible hosts of an embedded system.
Embedded Systems Are Found in.. Personal information products: Cell Phone, Digital watches, Pocket recorder, Calculator. Computer components: Mouse, Keyboard, Modem, Sound card. Home appliances: Door locks, Alarm clock, Thermostat, Air conditioner, TV remote, VCR, Refrigerator, Exercise equipment, Washer/dryer, Microwave oven. Industrial equipment: Temperature/pressure controllers, Counters, Timers, RPM Controllers. Toys: Video games, Consoles, Remote controlled cars.
Why do we need to learn aboutEmbedded Systems? Embedded Systems has witnessed tremendous growth in the last one decade. Nowadays nearly all the communication, digital entertainment, portable devices, are controlled by them. Conventionally chip manufacturers laid emphasis on developing faster processors to meet the ever increasing performance requirements, but now have started manufacturing compact devices, while efficiently managing power consumption and also improving their performance. Greater value to mobility is one of the prominent reasons for the rise and development of Embedded Technologies.
Microcontrollers Are designed to do some specific task. On-chip memory and ram, rom, I/O ports, timers, and other peripherals. Used in applications where, the space circuit takes, the power it consumes, and the price per unit are much more critical considerations than the computing power. Example ： Intel’s 8051, PIC 16C72, Motorola 68000 CPU RAM ROM A single chip Serial I/O Timer COM Microcontroller Port Port
Microcontroller Architectures Memory 0 Address Bus Program CPU Data Bus + Data Von Neumann 2n Architecture Memory 0 Address Bus Program CPU Fetch Bus Harvard Address Bus 0 Architecture Data Bus Data
Overview of 8051 family8051 is a 8-bit microcontroller, first introduced by Intel corporation in 19818051 is the original member of the 8051 family.Other members of 8051 family8052 and 8031 are the other family members of 8051. The followingtable gives comparison of 8051 family members.Feature 8051 8052 8031ROM(on-chip program space in bytes) 4K 8K 0KRAM(bytes) 128 256 128Timers 2 3 21/O pins 32 32 32Serial Port 1 1 1Interrupt sources 6 8 6
Features of 8051 8-Bit CPU optimized for control applications 128 bytes RAM 4K bytes ROM Four bi-directional I/O ports UART (serial port) Two 16-bit counters/timers 8-bit data bus-It can access 8 bits of data in one operation 16-bit address bus-It can access 216 memory locations of RAM and ROM
I/0 Ports8051 microcontroller has 4 I/O ports P0, P1, P2 and P3 each use 8 pins,making them 8 bit ports. All the ports upon RESET are configured as input,ready to be used as input ports. When first 0 is written to a port, it becomesoutput port. To reconfigure it as input, a 1 must be sent to the port.Port 0: Port 0 occupies a total of 8 pins (pins 32-39).It can be used for inputor output. To use the pins of port 0 as both input and output ports, each pinmust be connected externally to a 10K ohm pull-up resistor.Port 1: Port 1 occupies a total of 8 pins (pins 1- 8). It can be used as input oroutput. This port does not need any pull-up resistors since it already has pull-up resistors internally.Port 2 : Port 2 occupies a total of 8 pins (pins 21- 28). It can be used as inputor output. Just like P1, P2 does not need any pull-up resistors.Port 3 : Port 3 occupies a total of 8 pins (pins 10 -17). It can be used as inputor output. P3 does not need any pull-up resistors. Port 3 has the additionalfunction of providing some extremely important signals such as interrupts,timers, etc.
Port 3 Pins Pin number DescriptionRXD (Pin 10) Used for receiving data seriallyTXD (Pin 11) Used for transmitting data seriallyINT0 (Pin12) External interrupt 0INT1 (Pin13) External interrupt 1T0 (Pin14) and Timer/counter 0T1 (Pin15) Timer/counter 1WR (Pin 16) Write to external memoryRD (Pin 17) Read from external memory
Pin number DescriptionVcc (Pin 40) Provides supply voltage to the chip.GND (Pin 20) It is the Ground.XTAL1 (Pin19) and The 8051 has an on-chip oscillator but requires an external clockXTAL2 (Pin18) to run it. Most often quartz crystal oscillator is connected to inputs XTAL1(Pin 19) and XTAL2(Pin 18).RST (Pin 9) It is the input pin. Upon applying high pulse to this pin the microcontroller will reset and terminate all activities.EA /VPP(Pin 31) Enable Access pin. EA should be connected to Vcc to indicate that the program code is stored in microcontrollers on-chip ROM. To indicate that the program is stored in external ROM this pin is connected to Ground.PSEN (Pin 29) PSEN stands for “Program store enable” This signal is mainly used for fetching instructions from external code memory.ALE/PROG (Pin 30) ALE(address latch enable) is an output pin and is used for both data and address transmission.
Timers/CountersMicrocontroller 8051 has two timers/counters:-Timer T0Timer T1Each are of 16 bits, so can counts 216 = 65536Both these registers can be configured to operate eitheras timers or event counters.Each counter may be programmed to count internal clockpulses acting as a timer and if programmed to countexternal clock pulses then it is called counter.
8051 Interrupts“An interrupt is an external or internal event that disturbsthe microcontroller to inform it that a device needs itsservice”A Microcontroller can serve various devices. There are twoways to do that: Interrupts PollingThe program which is associated with the interrupt is calledthe interrupt service routine (ISR) or interrupt handler.
Interrupt Vs Polling1) Interrupts Whenever any device needs its service, the device notifies the microcontroller by sending it an interrupt signal. Upon receiving an interrupt signal, the microcontroller interrupts whatever it is doing and serves the device. The program which is associated with the interrupt is called the interrupt service routine (ISR) or interrupt handler.1) Polling The microcontroller continuously monitors the status of a given device. When the conditions met, it performs the service. After that, it moves on to monitor the next device until every one is serviced.
RAM Allocation in 8051 Scratch PadThere are 128 bytes of RAM in the 8051assigned addresses from 00 to 7FH Bit-Addressable RAMThe 128 bytes are divided into 3 differentgroups as follows:- A total of 32 bytes from locations 00 to Register Bank 3 1F hex are set aside for 4 register banks. Register Bank 2 A total of 16 bytes from locations 20H to 2FH are set aside for Bit- Register Bank 1 Addressable RAM. A total of 80 bytes from locations 30H Register Bank 0 to 7FH are used for read and write storage, called scratch pad.
8051 Addressing ModesThe CPU can access data in various ways, which arecalled addressing modes.Different addressing modes are: Immediate Addressing Direct Addressing Register Addressing Register Indirect Addressing
Immediate Addressing Used to Load information into a register. Source operand is constant. The immediate data must be preceded by “#”Example MOV A, #10H ; Loads 10H to A MOV R4, #10 ; Loads the decimal value 10 to R4 MOV DPTR, #1000H ; DPTR=1000HDirect Addressing Value to be stored in memory is obtained by directly retrieving it from another memory location. All 128 bytes of RAM can be accessed, but it is mainly used for accessing memory locations 30-7FH.Example MOV A,30H ; Copy data from address 30H into Accumulator.
Register AddressingInvolves the use of registers to hold the data to be manipulated.The source and destination registers must match in size. MOV DPTR, A will give an errorThe movement of data between Rn registers is not allowed. MOV R4, R7 is invalidExample MOV A, R0 ; Copy the contents of R0 into A MOV R4, A ; Copy the contents of A into R4 ADD A, R7 ; Adds contents of R7 to the contents of ARegister Indirect AddressingAn address is considered to be the address of an address, rather than theaddress of a value.Only registers R0 and R1 are used for this purposeExample MOV A, @R1 ; The value inside R1 is considered as an address, which holds the data to be transferred to accumulator.
Applications Of Microcontrollers Energy Management: Efficient metering systems help in controlling energy usage in homes and industrial applications. These metering systems are made capable by incorporating microcontrollers. Touch screens: Large number of microcontroller providers incorporate touch- sensing capabilities in their designs. Portable electronics such as cell phones, media players and gaming devices are examples of microcontroller-based touch screens. Automobiles: 8051 finds wide acceptance in providing automobile solutions. They are widely used in hybrid vehicles to manage engine variants. Additionally, functions such as cruise control, anti-brake system, fuel management, safety system have been made more efficient with the use of microcontrollers. Medical Devices: Portable medical devices such as blood pressure and glucose monitors use microcontrollers will to display data, thus providing higher reliability in providing medical results.
Recent Wonders“Hand Speak” Enhance the abilities of deaf and dumb people. M16/62 converts American Sign Language (ASL) movements into alphanumeric characters that are displayed on lcd. Characters can also be transferred/viewed on PC or hand-held device PDA.
RecentWonders“Weasure” A clever system designed not only to weight, but also to measure packages of shipments. With a touch of a button the weight and dimensions are shown on display and uploaded to PC through serial port.
RecentWonders“Shoes” The microprocessor embedded in this adidas running shoe calculates the pressure between the runners foot and the ground five million times per second and continuously changes the cushioning to match an adjustable comfort level. The computer controls a motor that lengthens and shortens a cable attached to a plastic cushioning element. Adidas Salomon AG