Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan1 The 8051 Family Microcontroller Chin-Shiuh Shieh Department of Electronic Engineering.

Slides:



Advertisements
Similar presentations
MICROPROCESSORS AND MICROCONTROLLERS
Advertisements

The 8051 MicroController In this module, we will be discussing the MCS-51 family of microcontroller, in particular the 8051, which is the generic IC representative.
4/10/2007ESD,USIT,GGSIPU1 I/O Port Programming Port 1 pins 1-8 Port 1 is denoted by P1. –P1.0 ~ P1.7 We use P1 as examples to show the operations on ports.
Chapter 18 The 8051 Microcontroller
8051 Assembly Language ECE 611 Microprocessor Systems
Chapter 3 INSTRUCTION SET SUMMARY
Class Addressing modes
3rd Module Microcontroller.
Autumn 2012C.-S. Shieh, EC, KUAS, Taiwan1 The 8051 Family Microcontroller Chin-Shiuh Shieh Department of Electronic Engineering.
Chapter 2 HARDWARE SUMMARY
8051 Core Specification.
Microcontroller 8051.
Embedded Systems UNIT 3. Pin Details of 8051 Pins 1-8: Port 1 Each of these pins can be configured as an input or an output. Pin 9: The positive voltage.
The 8051 Microcontroller Architecture, Programming and Applications
The 8051 Microcontroller architecture
Microcontroller 8051.
Hardware Summary ECE473/573 Microprocessor System Design, Dr. Shiue.
ECE/CS-352: Embedded Microcontroller Systems Embedded Microcontroller Systems.
Microcontroller Intel 8051 [Architecture]. The Microcontroller Microcontrollers can be considered as self-contained systems with a processor, memory and.
Embedded Systems Design 1 Lecture Set 6 I/O Ports.
A Simple Tour of the MSP430. Light LEDs in C LEDs can be connected in two standard ways. Active high circuit, the LED illuminates if the pin is driven.
CIT 673 Created by Suriyong1 MCS51 ASSEMBLY Language Resources
MOBILE OPERATING ROBOT ON EMBEDDED SYSTEM
CoE3DJ4 Digital Systems Design Hardware summary. Microprocessors vs. Microcontrollers Microprocessors are single-chip CPU used in microcomputers Microcontrollers.
An Introduction to Microcontroller (Hardware Specification) Lec note 4
8051 Micro controller. Architecture of 8051 Features of 8051.
MCS51 - part 2. Lecture 2 2/17 MCS51 functioning Clock generator Machine & instruction cycles Paralell ports Reset.
Microcontrollers Class : 4th Semister E&C and EEE Subject Code: 06ES42
Microcontrollers. An embedded microcontroller is a chip which a computer processor with all it’s support functions (clocking and reset), memory, and i/O.
Intel 8051 Another family of microcontroller is the Intel 8051 family. The basic 8051 microcontroller has four parallel input/output ports, port 0, 1,
Microcontroller Intel 8051 [I/O Ports]. Pin out of the 8051 –40 pin package –32 pins are used for the 4 ports. –V CC / V SS –ALE Address Latch Enable.
The 8051 Microcontroller Prepared By, R-THANDAIAH PRABU M.E.,
CIT 673 Created by Suriyong1 Micro controller hardware architechture.
Presented by Sadhish Prabhu
EE/CS-352: Embedded Microcontroller Systems Part V The 8051 Assembly Language Interrupts.
Architecture of the 8051 Microcontroller
kashanu.ac.ir Microprocessors Interrupts Lec note 8.
Chapter Microcontroller
8051 Micro Controller. Microcontroller versus general-purpose microprocessor.
HJD Institute of Technical Education & Research- Kera(Kutch) The 8051 Microcontroller architecture PREPARED BY: RAYMA SOHIL( )
80C51 Block Diagram 1. 80C51 Memory Memory The data width is 8 bits Registers are 8 bits Addresses are 8 bits – i.e. addresses for only 256.
DEPARTMENT OF ELECTRONICS ENGINEERING V-SEMESTER MICROPROCESSOR & MICROCONTROLLER 1 CHAPTER NO microcontroller & programming.
Embedded Microcontroller Systems
The 8051 Microcontroller architecture
8051 Microcontroller Thanks to Prof. P.Suresh, RCET.
CHAPTER ADDRESSING MODES.
Source: Serial Port Source:
Introduction to Micro Controllers & Embedded System Design Microprocessor/Microcontroller Department of Electrical & Computer Engineering Missouri University.
Hardware Source: ttp:// under
The 8051 Family Microcontroller
Introduction to Micro Controllers & Embedded System Design Interrupt
Introduction to Micro Controllers & Embedded System Design I/O Processing and Serial Port Operation Department of Electrical & Computer Engineering Missouri.
Data bus CPU General Purpose microprocessor RAM ROM I/O Port Timer
Microcontroller Intel 8051
8051 MICROCONTROLLER MODULE IV
Introduction to Micro Controllers & Embedded System Design Microprocessor/Microcontroller Department of Electrical & Computer Engineering Missouri University.
(Electrical Engg 6th Semester)
Memory organization On- chip memory Off-chip memory
Introduction to Micro Controllers & Embedded System Design Addressing Mode Department of Electrical & Computer Engineering Missouri University of Science.
The 8051 Microcontroller (8 bit )
Microcontroller 8051 Made By: Arun Branch. 4th Sem. I&C Engg.
8051 Microcontroller.
First Design Key board R L S.
Important 8051 Features On chip oscillator 4K bytes ROM 128 bytes RAM
UNIT-VIII 8051 Microcontroller Architecture Register set of 8051
JANAKIRAMAN E G S PILLAY ARTS AND SCIENCE COLLAGE NAGAPATTINAM DEPARTMENT OF PHYSICS.
INTRODUCTION TO 8051, A 8-BIT MICROCONTROLLER
The 8051 Microcontroller (8 bit )
Source: Serial Port Source:
Compiled by Dr. N.Shanmugasundaram, HOD, ECE Dept, SECE.
Presentation transcript:

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan1 The 8051 Family Microcontroller Chin-Shiuh Shieh Department of Electronic Engineering National Kaohsiung University of Applied Sciences, Taiwan

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan2 Microcontrollers Microprocessors, such as 8086 family, have only CCU and ALU in them. External RAM, ROM, and I/O are required. Microcontrollers, such as 8051 family, encompass CCU, ALU, RAM, ROM, and I/O in a single chip, also called single-chip. Microcontrollers have limited computational power, but their low-cost make them prevalent in consumer products and small-scale control systems.

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan3 Microcontrollers (cont) We adopt 8051 family microcontroller in our class for its general structure and manageable system complexity. A large number of manufactures offer different variants of 8051 family microcontroller.

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan4 ATMEL AT89C51 AT89C51 / AT89S51 is a popular member of the 8051 family microcontroller from ATMEL.

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan5 Features 8-bit CPU optimized for control applications 128 bytes of on-chip Data RAM, 4K bytes of on-chip Program Memory (Flash Memory/ROM) 64K Program Memory address space, 64K Data Memory address space

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan6 Features (cont) 32 bidirectional and individually addressable I/O lines Two 16-bit timer/counters Full duplex programmable UART 6-source/5-vector interrupt structure with two priority levels

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan7 Pin Configurations

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan8 Pin Configurations (cont) Vcc, GND: supply voltage (5V), ground XTAL1, XTAL2: crystal connections for system clock RST: reset input EA: External Access, EA=5V to enable internal ROM.

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan9 Pin Configurations (cont) Basic hardware configuration Power-On self reset

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan10 Pin Configurations (cont) P0.0~P0.7: Port 0, bidirectional bit- addressable with open drain P1.0~P1.7: Port 1, bidirectional bit- addressable with internal pull-ups P2.0~P2.7: Port 2, bidirectional bit- addressable with internal pull-ups P3.0~P3.7: Port 3, bidirectional bit- addressable with internal pull-ups

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan11 Pin Configurations (cont)

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan12 Pin Configurations (cont) MOV P2,#0Ah;Copy 0A 16 to P2 MOV P2,#08;Copy 08 to P2 MOV P2,# b;Copy to P2 SETB P2.0;Set P2.0 to “1” CLR P2.1;Clear P2.1 to “0” MOV A,P1;Copy P1 to A JB P3.2,LOOP;Jump to LOOP if P3.1 is “1”

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan13 Pin Configurations (cont) P0 is open-drain –SETBP0.0;P0.0 = high impedance –CLRP0.1;P0.1 = 0V P1, P2, and P3 have internal pull-ups –SETBP1.0;P1.0 = 5V –CLRP1.1;P1.1 = 0V

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan14 "MOV P2,A" will turn on LEDs on P2 whose corresponding bits in A is "0". Notice that I/O port source current is limited. If an I/O port is used for input, it's output latch must set to "1". For example, "MOV P1,#0FFh", then "MOV A,P1" will read P1 status into A. MOV P1,#0FFh MOV A,P1

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan15 P0 is open-drain. Pull-up resistor is required. "SETB P0.0" will turn on the relay and "CLR P0.0" will turn it off. For button applications, de-bounce circuitry and code is required (5RC=10mS~20mS).

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan16 ORG0000h LOOP: SETBP2.0 LCALLDELAY CLRP2.0 LCALLDELAY LJMPLOOP DELAY: MOVR0,#0FFh L1:MOVR1,#0FFh L2:DJNZR1,L2; Decrease and jump if not zero DJNZR0,L1 RET END

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan17 for(R0=255;R0>=0;R0--) for(R1=255;R1>=0;R1--) { }

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan18 For button applications, de-bounce circuitry and code is required (5RC=10mS~20mS).

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan19

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan20 Check Button CHECK_BUTTON: JBP3.2,CBRET ; Task for button pressed WAIT_BUTTON_RELEASE: JNB P3.2,WAIT_BUTTON_RELEASE CBRET:

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan21

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan22 Wait Button WAIT_BUTTON: JB P3.2,WAIT_BUTTON WAIT_RELEASE: JNB P3.2,WAIT_RELEASE RET

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan23 Pin Configurations

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan24 Pin Configurations (cont) Alternative Functions of Port 3

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan25 Polling I/O Interrupt-driven I/O –Interrupt Service Subroutine

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan26 Pin Configurations (cont) PSEN: Program Store Enable, read strobe for external program memory ALE: Address Latch Enable, for multiplexing AD0~AD7 A8~A15(P2.0~P2.7): high-byte address bus for external addressing AD0~AD7(P0.0~P0.7): multiplexed low- byte address bus and data bus for external addressing

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan27 Memory Organization Separation of program addressing space and data addressing space.

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan28 Program Memory

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan29 Data Memory

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan30 Internal Data Memory MOV 12h,#05h MOV A,3Ch MOV 0E0h,3Ch; MOV A,3Ch MOV 90h,#0Fh; MOV P1,#0Fh MOV A,R0 MOV 20h,#05h SETB 03h MOV A,20h; A==0D

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan31 Special Function Register Map

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan32 MOV SBUF,#’H’ ;== MOV SBUF,#48h MOV SBUF,#’e’

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan33 Special Function Register Map (cont)

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan34 Special Function Register Map (cont) MOV P2,#55h == MOV 0A0h,#55h SETB P1.0 CLR P1.0 SETB SBUF.1;Incorrect!

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan35 Special Function Register Map (cont) MOV SBUF,A = MOV 99h,0E0h MOV 99h,A

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan36 Special Function Registers A, (ACC): Accumulator –MOV A,#02h –ADD A,#03h; ADD B,R0 incorrect! –B: B Register –MUL AB MOV A,#03h MOV R0,#02h MUL AB; MUL AR0 Incorrect! –DIV AB SP: Stack Pointer DPTR(DPH,DPL): Data Pointer –MOV DPTR,#4000h –MOVX

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan37 Special Function Registers (cont) P0: Port 0 P1: Port 1 P2: Port 2 P3: Port 3

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan38 Special Function Registers (cont) TH0: Timer/Counter 0 High Byte TL0: Timer/Counter 0 Low Byte TH1: Timer/Counter 1 High Byte TL1: Timer/Counter 1 Low Byte SBUF: Serial Data Buffer –MOV SBUF,A –MOV SBUF,#’H’;

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan39 Special Function Registers (cont) PSW: Program Status Word PCON: Power Control Register IE: Interrupt Enable Register IP: Interrupt Priority Register TCON: Timer/Counter Control Register TMOD: Timer/Counter Mode Control Register SCON: Serial Port Control Register

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan40 PSW: Program Status Word

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan41 PSW: Program Status Word (cont) SETB RS1 CLR RS0 MOV R0,#5Fh

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan42 PCON: Power Control Register

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan43 PCON: Power Control Register (cont) SETB SMOD; Incorrect MOVA,PCON ORLA,# b MOVPCON,A CLR GF0; Incorrect MOV A,PCON ANL A,# b MOV PCON,A

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan44 IE: Interrupt Enable Register ; Enable External Interrupt 0 with high priority SETB EX0 SETB EA SETB PX0

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan45 IP: Interrupt Priority Register

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan46 TCON: Timer/Counter Control Register

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan47 TMOD: Timer/Counter Mode Control Register

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan48 TMOD: Timer/Counter Mode Control Register (cont) TH1TL1 FD FF 8-bit Auto-reload mode MOV SBUF,A MOV SBUF,B

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan49 SCON: Serial Port Control Register

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan50 MOVSBUF,A MOVA,SBUF MOV SBUF,#’H’ MOV SBUF,#’e’ MOV SBUF,#’l’ MOV SBUF,#’o’

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan51 PC: Program Counter –16-bit register –Instruction fetching –Auto increase

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan52 Interrupt Mechanism

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan53 Pin Configurations

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan54

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan55 Pin Configurations

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan56 Interrupt Mechanism (cont)

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan57 Interrupt Mechanism (cont)

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan58 Addressing Mode Immediate: MOV A,#20h Register: MOV A,R0 Direct: MOV A,30h Indirect: MOV External Data Indirect: MOVX Code Indirect: MOVC

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan59 MOV DPTR,#0A05Ch MOVX

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan60 MOV A,#00h ADD A,00h ADD A,01h ADD A,02h … ADD A,09h

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan61 int x[10]; int sum; sum=0; sum=sum+x[0]; sum=sum+x[1]; sum=sum+x[2]; … sum=sum+x[9];

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan62 int x[10]; int sum; for(i=0;i<10;i++) –sum=sum+x[i];

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan63 MOVA,00h MOVR0,#09h LOOP: DJNZR0,LOOP

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan64 int x[10],sum; sum=sum+x[0]; sum=sum+x[1]; sum=sum+x[2]; … sum=sum+x[9];

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan65 int x[10],sum,i; for(i=0i<10;i++) –sum=sum+x[i];

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan66 Instruction Set ASEM51 v1.3 –Assembler Directives ORG EQU Emulator 8051 V1.0 or JSIM-51

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan67 ADD vs. ADDC

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan68 JB bit, rel JNB bit, rel JC rel JNC rel JZ rel ; Jump if A==0 JNZ rel

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan69 ADD B,R0 ANL A,# b MOV A,PCON ANL A,# b MOV PCON,A

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan70 MOV A,00h ADD A,04h MOV 08h,A MOV A,01h ADDC A,05h MOV 09h,A

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan71 MOV R0,#10 LOOP: … DEC R0 CJNE R0,#00, LOOP

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan72 JB bit, rel JNB bit, rel JC rel JNC rel JZ rel JNZ rel JB bit, rel vs. JBC bit, rel

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan73 ? SP DA A POP direct PUSH direct XCHD

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan74 RL A RLC A

Autumn 2013C.-S. Shieh, EC, KUAS, Taiwan75