8051 Microcontroller Features and its Applications 1 Contents

  • Slides: 42
Download presentation
8051 Microcontroller Features and its Applications 1

8051 Microcontroller Features and its Applications 1

Contents � Microcontrollers � Applications of microcontrollers � Microprocessor vs microcontrollers � History of

Contents � Microcontrollers � Applications of microcontrollers � Microprocessor vs microcontrollers � History of 8051 microcontroller � Features of microcontroller � Block diagram and pin description of 8051 � Registers � Memory mapping in 8051 � Timers and counters � Serial communication � Interrupts � Applications of 8051 microcontroller 2

Microcontrollers � Microcontrollers are small computing systems on a single chip. � A microcontroller

Microcontrollers � Microcontrollers are small computing systems on a single chip. � A microcontroller will also be referred to as an MCU. § Central Processing Unit (CPU) § Program memory § Random Access Memory (RAM) § EEPROM - Electrically Erasable Programmable Read Only Memory § USARTs, Timer/Counters, ADC, DAC, I/O Ports, CANs, SPIs, etc. Examples : Motorola’s 6811, Intel’s 8051, Zilog’s Z 8 and PIC 16 X. CPU I/O Port 3 RAM Timer ROM Serial Port A single chip

Applications of microcontrollers � Cell phone � Pager � Watch � Calculator � video

Applications of microcontrollers � Cell phone � Pager � Watch � Calculator � video games � Alarm clock � Air conditioner � TV remote � Microwave oven � Washing machines � An electronic smart weight display system � Robotic system � An anti-lock braking system monitor 4

5

5

Applications cont’d 6

Applications cont’d 6

Microprocessor vs Microcontroller Microprocessor � CPU is stand-alone, RAM, ROM, I/O, timer are separate

Microprocessor vs Microcontroller 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 7 Microcontroller • CPU, RAM, ROM, I/O and timer are all on a single chip • fix amount of on-chip ROM, RAM, I/O ports • Highly bit addressable • for applications in which cost, power and space are critical • single-purpose

History of 8051 microcontroller � In the year 1980 Intel corporation introduced an 8

History of 8051 microcontroller � In the year 1980 Intel corporation introduced an 8 bit microcontroller called 8051. � It has 4 K bytes of ROM, 128 Bytes of RAM , a serial port, two 16 -bit Timers and 32 I/O pins. � CPU can work with 8 bit of data at a time. � Data larger than 8 bit can be broken into 8 bit pieces to be processed by the CPU 8

Important Features of 8051 � 4 K bytes ROM � 128 bytes RAM �

Important Features of 8051 � 4 K bytes ROM � 128 bytes RAM � Four 8 -bit I/O ports � Two 8/16 bit timers � Serial port � 64 K external code memory space � 64 K data memory space � Multiple internal and external interrupt sources 9

Architecture of 8051 Microcontroller 4096 Bytes Oscillator and timing Program Memory (ROM) 128 Bytes

Architecture of 8051 Microcontroller 4096 Bytes Oscillator and timing Program Memory (ROM) 128 Bytes Data Memory (RAM) Internal data bus 8051 CPU 64 K Byte Bus Expansion Control Programmable I/O subsystem interrupts External interrupts 10 Two 16 Bit Timer/Event Counters Control Parallel ports Address Data Bus I/O pins Programmable Serial Port Full Duplex UART Synchronous Shifter Serial Output Serial Input

Pin Description of 8051 � The 8051 is a 40 pin device, but of

Pin Description of 8051 � The 8051 is a 40 pin device, but of these 40 pins, 32 are used for I/O. � 24 of these are dual 11 purpose, i. e. they can operate as I/O or a control line or as part of address or data bus.

8051 CPU Registers A (8 -bit Accumulator) B (8 -bit register for Mul &Div)

8051 CPU Registers A (8 -bit Accumulator) B (8 -bit register for Mul &Div) PSW (8 -bit Program Status Word) SP (8 -bit Stack Pointer) PC (16 -bit Program Counter) DPTR (16 -bit Data Pointer) 12

List of registers 13

List of registers 13

List of registers contd. . 14

List of registers contd. . 14

Memory mapping in 8051 ROM memory map in 8051 family 4 k 0000 H

Memory mapping in 8051 ROM memory map in 8051 family 4 k 0000 H 8 k 0000 H 32 k 0 FFFH DS 5000 -32 8051 1 FFFH from Atmel Corporation 15 8752 7 FFFH from Dallas Semiconductor

RAM memory space allocation in the 8051 7 FH Scratch pad RAM 30 H

RAM memory space allocation in the 8051 7 FH Scratch pad RAM 30 H 2 FH Bit-Addressable RAM 20 H 1 FH 18 H 17 H 10 H Register Bank 2 0 FH 08 H (Stack) Register Bank 1 07 H Register Bank 0 00 H 16 Register Bank 3

Timers /Counters The 8051 has 2 timers/counters: � Timer/Counter 0 � Timer/Counter 1 Timer

Timers /Counters The 8051 has 2 timers/counters: � Timer/Counter 0 � Timer/Counter 1 Timer : Used as a time delay generator. � Many microcontroller application requires the counting of external events such as frequency, time delay. � 17

Registers Used in Timer/Counter � 8051 has two 16 -bit Timer registers , Timer

Registers Used in Timer/Counter � 8051 has two 16 -bit Timer registers , Timer 0 & Timer 1. � As 8051 has 8 -bit architecture , each Timer register is treated as two 8 -bit registers namely TH 0, TL 0, TH 1, TL 1. � One 8 -bit mode register -TMOD. � One 8 -bit control register-TCON. 18

Timer � Set the initial value of registers � Start the timer and then

Timer � Set the initial value of registers � Start the timer and then the 8051 counts up. � Input from internal system clock (machine cycle) � When the registers equal to 0 and the 8051 sets a bit to denote time out 8051 Set Timer 0 P 2 P 1 TH 0 TL 0 19 to LCD

Counter � Count the number of events • Show the number of events on

Counter � Count the number of events • Show the number of events on registers • External input from T 0 input pin (P 3. 4) for Counter 0 • External input from T 1 input pin (P 3. 5) for Counter 1 • External input from Tx input pin. • We use Tx to denote T 0 or T 1. 8051 TH 0 TL 0 a switch 20 T 0 P 3. 4 P 1 to LCD

TMOD Register (MSB) GATE C/T M 1 Timer 1 M 0 GATE C/T M

TMOD Register (MSB) GATE C/T M 1 Timer 1 M 0 GATE C/T M 1 Timer 0 (LSB) M 0 � Both Timer 0 &Timer 1 use the same Mode register TMOD. � It is an-8 -bit register. � The lower 4 -bits are meant for Timer 0 &the upper 4 bits are meant for Timer 1 � It is used similar to any other register of 8051. 21

TMod contd…. C/T : Timer or counter selected cleared for timer operation (input from

TMod contd…. C/T : Timer or counter selected cleared for timer operation (input from internal system clock). Set for counter operation (input from Tx input pin). M 1, M 0 : Used for mode selection. Because the Timers of 8051 can be set in 4 -different modes. M 1 0 0 1 22 1 M 0 Mode Operation 0 13 -bit timer mode 0 TLx 1 1 0 is to be 2 16 -bit timer mode 8 -bit auto reload into TLx each time it overflows. 1 Split timer mode 3 8 -bit THx + 5 -bit 8 -bit THx + 8 -bit TLx THx holds a value which reloaded

Gate � Every timer has a mean of starting and stopping. GATE=0 �Internal control

Gate � Every timer has a mean of starting and stopping. GATE=0 �Internal control �The start and stop of the timer are controlled by way of software. GATE=1 �External control �The hardware way of starting and stopping the timer by software and an external source. �Timer/counter is enabled only while the INT pin is high and the TR control pin is set (TR). 23

TCON Register Timer control register TMOD is a 8 -bit register which is bit

TCON Register Timer control register TMOD is a 8 -bit register which is bit addressable and in which Upper nibble is for timer/counter, lower nibble is for interrupts 24

Tcon contd… � TR (Timer run control bit) • TR 0 for Timer/counter 0;

Tcon contd… � TR (Timer run control bit) • TR 0 for Timer/counter 0; TR 1 for Timer/counter 1. • TR is set by programmer to turn timer/counter on/off. Ø TR=0 : off (stop) Ø TR=1 : on (start) � TF (timer flag, control flag) • TF 0 for timer/counter 0; TF 1 for timer/counter 1. • TF is like a carry. Originally, TF=0. When TH-TL roll over to 0000 from FFFFH, the TF is set to 1. Ø TF=0 : not reach Ø TF=1: reach Ø If we enable interrupt, TF=1 will trigger ISR. 25

8051 - SERIAL COMMUNICATION 26

8051 - SERIAL COMMUNICATION 26

Rx. D and Tx. D pins in the 8051 � The 8051 has two

Rx. D and Tx. D pins in the 8051 � The 8051 has two pins for transferring and receiving data by serial communication. These two pins are part of the Port 3(P 3. 0 &P 3. 1) � These pins are TTL compatible and hence they require a line driver to make them RS 232 compatible � Max 232 chip is one such line driver in use. � Serial communication is controlled by an 8 -bit register called SCON register, it is a bit addressable register. 27

SCON (Serial control) register 28

SCON (Serial control) register 28

SM 0 , SM 1 These two bits of SCON register determine the framing

SM 0 , SM 1 These two bits of SCON register determine the framing of data by specifying the number of bits per character and start bit and stop bits. There are 4 serial modes. 29 SM 0 0 0 SM 1 0 1 1 1 0 1 Serial Mode 0 Serial Mode 1, 8 bit data, 1 stop bit, 1 start bit Serial Mode 2 Serial Mode 3

REN, TI, RI � REN (Receive Enable) also referred as SCON. 4. � When

REN, TI, RI � REN (Receive Enable) also referred as SCON. 4. � When it is high, it allows the 8051 to receive data on the Rx. D pin. So to receive and transfer data REN must be set to 1. � When REN=0, the receiver is disabled. 30

TI, RI Contd… TI (Transmit interrupt) � It is the D 1 bit of

TI, RI Contd… TI (Transmit interrupt) � It is the D 1 bit of SCON register. � When 8051 finishes the transfer of 8 -bit character, it raises the TI flag to indicate that it is ready to transfer another byte. � The TI bit is raised at the beginning of the stop bit. RI (Receive interrupt) � It is the D 0 bit of the SCON register. � When the 8051 receives data serially , via Rx. D, it gets rid of the start and stop bits and places the byte in the SBUF register. � Then it raises the RI flag bit to indicate that a byte has been received and should be picked up before it is lost. � RI is raised halfway through the stop bit. 31

Interrupt Sources 8051 has 6 sources of interrupts • • • 32 Reset Timer

Interrupt Sources 8051 has 6 sources of interrupts • • • 32 Reset Timer 0 overflow Timer 1 overflow External Interrupt 0 External Interrupt 1 Serial Port events (buffer full, buffer empty, etc)

Interrupt Enable Register • • • 33 Upon reset all Interrupts are disabled and

Interrupt Enable Register • • • 33 Upon reset all Interrupts are disabled and do not respond to the Microcontroller These interrupts must be enabled by software in order for the Microcontroller to respond to them. This is done by an 8 -bit register called Interrupt Enable Register (IE).

� EA � --� ET 2 � ES � ET 1 � EX 1

� EA � --� ET 2 � ES � ET 1 � EX 1 � ET 0 � EX 0 34 : : : : Global enable/disable. Undefined. Enable Timer 2 interrupt. Enable Serial port interrupt. Enable Timer 1 interrupt. Enable External 1 interrupt. Enable Timer 0 interrupt. Enable External 0 interrupt.

Interrupt Priorities � If two interrupt sources interrupt at the same time , the

Interrupt Priorities � If two interrupt sources interrupt at the same time , the interrupt with the highest PRIORITY gets serviced first. � All interrupts have a power on default priority order. 1. External interrupt 0 (INT 0) 2. Timer interrupt 0 (TF 0) 3. External interrupt 1 (INT 1) 4. Timer interrupt 1 (TF 1) 5. Serial communication (RI+TI) � 35 Priority can also be set to “high” or “low” by IP reg.

Interrupt Priorities (IP) Register --- PT 2 PS PT 1 PX 1 IP. 7:

Interrupt Priorities (IP) Register --- PT 2 PS PT 1 PX 1 IP. 7: reserved IP. 6: reserved IP. 5: Timer 2 interrupt priority bit (8052 only) IP. 4: Serial port interrupt priority bit IP. 3: Timer 1 interrupt priority bit IP. 2: External interrupt 1 priority bit IP. 1: Timer 0 interrupt priority bit IP. 0: External interrupt 0 priority bit 36 PT 0 PX 0

Interrupt inside an interrupt --- PT 2 PS PX 1 PT 0 PX 0

Interrupt inside an interrupt --- PT 2 PS PX 1 PT 0 PX 0 • A high-priority interrupt can interrupt a low-priority interrupt • All interrupt are latched internally • Low-priority interrupt wait until 8051 has finished servicing the high-priority interrupt 37 PT 1

Applications of 8051 microcontroller Embedded system Industrial Computer networking Power input to the 8051

Applications of 8051 microcontroller Embedded system Industrial Computer networking Power input to the 8051 is very simple and straight forward. • 8051 could be used in low-power applications. • • 38

Applications cont’d • The 8051 has been in use in a wide number of

Applications cont’d • The 8051 has been in use in a wide number of devices, mainly because it is easy to integrate into a project or build a device around. • Energy Management: § Efficient metering systems help in controlling energy usage in homes and industrial applications. § These metering systems are made capable by incorporating microcontrollers. 39

Applications cont’d Touch screens: § A high number of microcontroller providers incorporate touch-sensing capabilities

Applications cont’d Touch screens: § A high 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: § The 8051 finds wide acceptance in providing 40 automobile solutions. § They are widely used in hybrid vehicles to manage engine variants. § Functions such as cruise control and anti-brake system have been made more efficient with the use of

Applications cont’d Medical Devices: § Portable medical devices such as blood pressure and glucose

Applications cont’d 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. 41

Thank you 42

Thank you 42