The Microcontroller. Lecture Set 3. Major Microcontroller Families. Example Microcontroller Families Cont. Example Microcontroller Families

Similar documents
8051 Microcontrollers


8051 Microcontroller

8051 microcontrollers

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 4 The 8051 Architecture

8051 Microcontroller

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text

ENE 334 Microprocessors

8051 Microcontroller

8051 Overview and Instruction Set

Memory organization Programming model - Program status word - register banks - Addressing modes - instruction set Programming examples.

Microcontrollers can be considered as self-contained systems with a processor, memory and I/O ports.

PGT302 Embedded Software Technology. PGT302 Embedded Software Technology

ENE 334 Microprocessors

Module I. Microcontroller can be classified on the basis of their bits processed like 8bit MC, 16bit MC.

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING

CPEG300 Embedded System Design. Lecture 3 Memory

Lecture 1. Course Overview and The 8051 Architecture

8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52

CS 320. Computer Architecture Core Architecture

UNIT IV MICROCONTROLLER

Chapter 09. Programming in Assembly

MODULE-1. Short Answer Questions

MICROPROCESSORS AND MICROCONTROLLERS MATERIAL. Features of 8051:

Question Bank Microprocessor and Microcontroller

Introduction To MCS-51

Microcomputer Architecture and Programming

ELEG3924 Microprocessor

8051 Instruction Set

ELEG3923 Microprocessor Ch.2 Assembly Language Programming

Three criteria in Choosing a Microcontroller

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

Module Contents of the Module Hours COs

Moodle WILLINGDON COLLEGE SANGLI (B. SC.-II) Digital Electronics

UNIT MICROCONTROLLER AND ITS PROGRAMMING

Chapter 9. Programming Framework

8051 MICROCONTROLLER

8051 MICROCONTROLLER


8/26/2010. Introduction to 8085 BLOCK DIAGRAM OF INTEL Introduction to Introduction to Three Units of 8085

Figure Programming model

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller

12-Dec-11. Gursharan Singh Maninder Kaur. Introduction to 8085 BLOCK DIAGRAM OF INTEL Introduction to Introduction to 8085

MICROCONTROLLER UNIT 1

8051 Microcontroller memory Organization and its Applications

Microcontroller Intel [Instruction Set]

Rev. No. History Issue Date Remark

Byte order, special function registers

MSM80C154S MSM83C154S MSM85C154HVS USER'S MANUAL

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER

DQ8051. Revolutionary Quad-Pipelined Ultra High performance 8051 Microcontroller Core

Engr. A. N. Aniedu Electronic and Computer Engineering Nnamdi Azikiwe University, Awka

ET2640 Microprocessors

EE6502- MICROPROCESSOR AND MICROCONTROLLER

8XC51RA RB RC Hardware Description

8051 Core Specification

Vidyalankar T.E. Sem. V [EXTC] Microprocessors and Microcontrollers I Prelim Question Paper Solution V SS (GND)

TUTORIAL. Donal Heffernan University of Limerick May Tutorial D.Heffernan 2000,

MICROCONTROLLER AND PLC LAB-436 SEMESTER-5

8XC151SA and 8XC151SB Hardware Description

Contents. Join the Technical Community Today!

C51 Family. Architectural Overview of the C51 Family. Summary

Chapter C2051 Architecture and Serial Communication Link

ISSI. IS89C51 CMOS SINGLE CHIP 8-BIT MICROCONTROLLER with 4-Kbytes of FLASH ISSI IS89C51 NOVEMBER 1998 FEATURES GENERAL DESCRIPTION

The Timers/Counters The Serial Interface The Interrupt System Reset P0.0-P0.7 P2.0-P2.7. Port 2 Drivers. Port 2 Latch

Microprocessors 1. The 8051 Instruction Set. Microprocessors 1 1. Msc. Ivan A. Escobar Broitman

SYLLABUS UNIT - I 8086/8088 ARCHITECTURE AND INSTRUCTION SET

Microcontrollers. Fig. 1 gives a comparison of a microprocessor system and a microcontroller system.

EXPERIMENT NO.1. A Microcontroller is a complete computer system built on a single chip.

C51 Family. C51 Family Programmer s Guide and Instruction Set. Summary

Handshake Solutions. HT80C51 User Manual

Fig 1. Block diagram of a microcomputer

The Final Word on 8051 Microcontroller

SN8F5000 Family Instruction Set

Chapter Introduction Chapter 1. a) Address translation b) Protection c) Program relocation. type's "««"** ***** ** various

Y51 Microcontroller. Technical Manual

DS89C420 Ultra High-Speed Microcontroller User s Guide

MICROPROCESSOR & MICROCONTROLLER

ULTRA-HIGH-SPEED FLASH MICROCONTROLLER USER S GUIDE

UNIT MICROCONTROLLER

94 CPU (CM8051) Incompatible Instruction ERRATA AND DATASHEET CLARIFICATION V1.0. Leader of Microcontroller Technology A Fabless Semiconductor Company

SECTION 1: INTRODUCTION 5 SECTION 2: ORDERING INFORMATION 5 SECTION 3: ARCHITECTURE 5

SH57K12. High Performance 8031 Microcontroller. Preliminary. Features. General Description

MCS -51 Programmer s Guide and Instruction Set

SOLUTION MANUAL FOR THE 8051 MICROCONTROLLER 4TH EDITION BY MACKENZIE AND PHAN

20uA at VDD=5.5V 5uA at VDD=3.6V. 1T up to 20 (1T~8T can change on fly) RC ( 24MHz) Program Flash ( byte) 4K 4K RAM( byte)

High-Speed Microcontroller User s Guide

Vidyalankar T.E. Sem. V [ETRX] Microprocessors and Microcontrollers I Prelim Question Paper Solution

Sencer Yeralan and Helen Emery Gainesville, Florida January 2000

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI UNIT- IV

SECURE MICROCONTROLLER USER S GUIDE... 1

ENE 334 Microprocessors


EC Microprocessor and Microcontroller

Microcontrollers. Microcontroller

E3940 Microprocessor Systems Laboratory. Introduction to the Z80

Introducing The MCS 251 Microcontroller -- 8XC251SB

Maxim > Design Support > Technical Documents > Application Notes > Microcontrollers > APP 4199

ET355 Microprocessors Friday 6:00 pm 10:20 pm

80C51 family programmer s guide and instruction set. 80C51 Family. PROGRAMMER S GUIDE AND INSTRUCTION SET Memory Organization. Philips Semiconductors

Transcription:

The Microcontroller Lecture Set 3 Architecture of the 8051 Microcontroller Microcontrollers can be considered as self-contained systems with a processor, memory and I/O ports. In most cases, all that is missing is the software to define the operation of the embedded system. Usually available in several forms: Devices for prototyping Built-in or piggy-back EPROM for storing the software. One Time Programmable (OTP) devices. No window on the package. Therefore, the internal EPROM cannot be erased after being programmed. High Volume Production devices. Use ROM internally to hold the software. Cheaper in large volume. 1 2 The Architectural Needs of a Microcontroller Lets consider what architectural features would be needed in a microcontroller. What are the expected applications? Sensing the environment. Input. Producing a response. Output. The response may be delayed. Timer/Counter. Prioritized response. Interrupts. Software to control the process. Non-volatile Memory. Temporary data. RAM. Major Microcontroller Families There are several major families of microcontrollers available from different manufacturers. A family is defined as a group of products that share the same basic internal architectures and who are code-compatible. Manufacturers usually define an architecture and then make variants of that design producing a family of products. Code written for a member of the family should be compatible with all other members of the same family. 3 4 Example Microcontroller Families Z80 from Zilog 8-bit microprocessor based on the 8080 architecture. Capable of 1 MIP at 4 MHz. Accumulator, 6 8-bit registers, 2 index registers. Uses external RAM for temporary data. Built-in refresh circuitry for the external RAM. Only port-based I/O. Slowly disappearing. Example Microcontroller Families Cont. MC6811 from Motorola 8-bit stack-based architecture. 2 accumulators and 2 index registers. Built in EEPROM and RAM. Digital I/O. Timers. ADC. RS2 communication. Was the most powerful and flexible controller available at introduction. Around 1970. Still very popular. 5 6

The MCS-51 Family of Microcontrollers Originally introduced by Intel in 1981. Currently, the most widely used microcontroller. 8-bit processor. 2 distinct separately addressable memory areas. Maximum of 64K on-chip ROM. Usually 0 to 4K. Maximum of 64K external data memory. Maximum of 64K external code memory. Basic version (8051) contains: 4K Bytes of on-chip ROM instruction memory. 1 Bytes of on-chip RAM for temporary data storage and the stack. 2 timers, one serial port, and four 8-bit parallel I/O ports. Speeds starting from12 MHz. Features of the 8051 Microcontroller Feature ROM RAM Timer I/O Ports Serial Port Interrupt Sources Quantity 4K Bytes 1 Bytes 2 4 1 6 The 8051 is the original member of the Intel MCS-51 family of Microcontrollers. There are several varieties that differ slightly in the available features. 7 8 Feature On-Chip ROM RAM (Bytes) Timers I/O Ports Serial Port Interrupt Sources MCS-51 Variants 8051 4K 1 2 4 1 6 8052 8751 8752 8031 8032 EPROM 8K 4k 8k 0K 0K 6 1 6 1 6 3 2 3 2 3 4 4 4 2 2 1 1 1 1 1 8 6 8 6 8 The 8031 requires external instruction memory. It can be as large as 64K Bytes. You lose 2 ports for interfacing to the external memory. You can replace these by interfacing the chip to an I/O port controller like the 85. Manufacturers of MCS-51 Clones There is a large number of companies that manufacture microcontrollers in the 8051 family. Atmel Corporation. Flash instead of EPROM. Low Voltage. Minimal version with less memory and fewer I/O ports in a smaller package. CMOS implementation. Speeds that range from 12 to MHz. 9 10 Manufacturers of MCS-51 Clones The 8051 Microcontroller Internals Dallas Semiconductor Uses NV-RAM. Programmable in-system. As large as 32K of instruction memory. Some versions have an on-chip real-time clock. Philips Corporation. Large selection of 8051 based microcontrollers. Include features like A/D and D/A on chip. Xilinx and Altera 8051 FPGA cores. 11 12

Programmer s View Memory Organization Register Set Instruction Set 8051 Architecture Hardware Designer s View Pin-out Timing characteristics Current / Voltage requirements Memory Organization The 8051 has separate address spaces for program storage and data storage. Depending on the type of instruction, the same address can refer to two logically and physically different memory locations. FFFF 1000 0FFF 0000 External Internal Program Memory 7F 00 Special FF Function Registers 80 Internal Data Memory FFFF 0000 External Data Memory 13 14 Program Storage After reset, the MCS-51 starts fetching instructions from 0000H. This can be either on-chip or external depending on the value of the EA input pin. If EA is low, then the program memory is external. If EA is high, then addresses from 0000 to 0FFF will refer to on-chip memory and addresses 1000 upto FFFF refer to external memory. Note that the 8031 must have its EA connected low as all of its memory is external. Access to External Memory Port 0 acts as a multiplexed address/data bus. Sending the low byte of the program counter (PCL) as an address. Port 2 sends the program counter high byte (PCH) directly to the external memory. The signal ALE operates as in the 8085 to allow an external latch to store the PCL byte while the multiplexed bus is made ready to receive the code byte from the external memory. Port 0 then switches function and becomes the data bus receiving the byte from memory. 15 16 Data Storage The 8051 has 6 bytes of RAM on-chip. The lower 1 bytes are intended for internal data storage. The upper 1 bytes are the Special Function Registers (SFR). The lower 1 bytes are not to be used as standard RAM. They house the 8051 s registers, its default stack area, and other features. Special Function Registers Internal Data Storage FFH 80H 7FH 00H 17 Data Storage Contd. The lowest 32 bytes of the on-chip RAM form 4 banks of 8 registers each. Only one of these banks can be active at any time. Bank is chosen by setting 2 bits in PSW Default bank (at power up) is bank 0 (locations 00 07). The 8 registers in any active bank are referred to as R0 through R7 Bank 03 Bank 02 Bank 01 09 H R1 Given that each register has a specific 08 H R0 07 H R7 address, it can be accessed directly using that address even if its bank is not the active one. 05 06 H H R6 04 H R4 Bank 00 1F H 1E H 1D H 1C H 1B H 1A H 19 H 18 H 17 H 16 H 15 H 14 H 13 H 12 H 11 H 10 H 0F H 0E H 0D H 0C H 0B H 0A H 03 H 02 H 01 H 00 H R7 R6 R4 R1 R0 R7 R6 R4 R1 R0 R7 R6 R4 R1 R0 18

Data Storage Contd. Data Storage the Lower 1 Bytes The next 16 bytes locations H to H form a block that can be addressed as either bytes or individual bits. The bytes have addresses H to H. The bits have addresses 00H to 7FH. Specific instructions are used for accessing the bits. 7F 77 6F 67 5F 57 4F 47 3F 37 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 19 11 09 01 78 70 68 60 58 50 48 40 38 30 18 10 08 00 30 7F 7F 77 6F 67 5F 57 4F 47 3F 37 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 1E 16 0E 06 General Purpose Ram 7D 75 6D 65 5D 55 4D 45 3D 35 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 19 11 09 01 78 70 68 60 58 50 48 40 38 30 18 10 08 00 Bit addressable memory locations Locations 30H to 7FH are general purpose RAM. 18 1F 10 17 08 0F 00 07 Register Bank 3 Register Bank 2 Register Bank 1 Register Bank 0 19 The SFR Special Function Registers The SFR The upper 1 bytes of the on-chip RAM are used to house special function registers. In reality, only about of these bytes are actually used. The others are reserved for future versions of the 8051. F8 F0 E8 E0 D8 B ACC FF F7 EF E7 DF D0 PSW D7 These are registers associated with important functions in the operation of the MCS-51. C8 C0 B8 B0 (TON) IP P3 (RCAP2L) (RCAP2H) (TL2) (TH2) CF C7 BF B7 Some of these registers are bit-addressable as well as byte-addressable. The address of bit 0 of the register will be the same as the address of the register. A8 A0 98 90 88 80 IE P2 SCON P1 TCON P0 SBUF TMOD SP TL0 DPL TL1 DPH TH0 TH1 PCON AF A7 9F 97 8F 87 Bit/Byte addressable registers Byte only addressable registers The Special Function Registers ACC and B registers 8 bit each DPTR : [DPH:DPL] 16 bit combined PC : Program Counter 16 bits Stack pointer SP 8 bit PSW : Program Status Word Port Latches Serial Data Buffer Timer Registers Control Registers The ACC Accumulator Commonly used for move and arithmetic instructions. Can be referred to in several ways: Implicitly in opcodes. Referred to as ACC (or A) for instructions that allow specifying a register. By its SFR address 0E0H. Operates in a similar manner to the 8085 accumulator. Bit addressable. ACC.2 means bit 2 of the ACC register.

The B Register Commonly used as a temporary register, much like a 9 th R register. Used by two opcodes mul AB, div AB B register holds the second operand and will hold part of the result Upper 8 bits of the multiplication result Remainder in case of division. Can also be accessed through its SFR address of 0F0H. Bit addressable. The DPL and DPH Registers 2 8-bit registers that can be combined into a 16-bit DPTR Data Pointer. Used by commands that access external memory Also used for storing 16bit values mov DPTR, #data16 ; setup DPTR with 16bit ext address movx A, @DPTR ; copy mem[dptr] to A Can be accessed as 2 separate 8-bit registers if needed. DPTR is useful for string operations and look up table (LUT) operations. The SP Register SP is the stack pointer. SP points to the last used location of the stack. Push operation will first increment SP and then copy data. Pop operation will first copy data and then decrement SP. In 8051, stack grows upwards (from low memory to high memory) and can be in the internal RAM only. On power-up, SP points to 07H. Register banks 2,3,4 (08H to 1FH) form the default stack area. Stack can be relocated by setting SP to the upper memory area in 30H to 7FH. mov SP, #32H The PSW Register Program Status Word is a bit addressable 8-bit register that has all the flags. (MSB) CY Symbol CY AC F0 RS1 RS2 OV - P AC F0 Position PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 RS1 Carry Flag Not used RS2 Overflow Flag OV Function Flag 0. Available to the user for general purposes. Parity Flag. Even Parity. - (LSB) P Auxiliary Carry Flag. For BCD Operations Register bank select bits. Set by software to determine which register bank is being used. The P0, P1, P2, and P3 Registers Port Latches. Specify the value to be output on the specific output port or the value read from the specific input port. Bit addressable. First bit has the same address as the register. Example: P1 has address 90H in the SFR, so P1.7 or 97H refer to the same bit. The SBUF Register Serial Port Data Buffer. 2 registers at the same location One is read-only used for reading serial input data. Serial Data Receive Buffer. The other is write-only used for storing serial output data. Serial Data Transmit Buffer. 30

Timer Registers TH0 and TL0 The high and low bytes of the 16-bit counting register for timer/counter T0. There is also a TH1 / TL1 pair for the T1 timer. In the 8052, one more pair exists (TH2) / (TL2) for the T2 timer. Control Registers IP Interrupt Priority. IE Interrupt Enable. TMOD Timer Mode. TCON Timer Control. TON Timer 2 Control (8052) SCON Serial Port Control. PCON Power Control (80C51). (RCAP2H) and (RCAP2L) exist only in the 8052 and they are copies of the TH2 and TL2 registers. 31 32