ME 4447/6405 Microprocessor Control of Manufacturing Systems and

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Microprocessors.
9/20/6Lecture 3 - Instruction Set - Al Instruction Set.
Interrupts Chapter 8 – pp Chapter 10 – pp Appendix A – pp 537 &
I/O Unit.
Processor System Architecture
68HC11 Polling and Interrupts
ECE 372 – Microcontroller Design Parallel IO Ports - Interrupts
EET 2261 Unit 2 HCS12 Architecture
Rabel Talpur:12BME#025.  40-pin chip  Developed by Motorola in 1975  16 address lines and 8 data lines  Used only +5V.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
created by :Gaurav Shrivastava
MICROPROCESSOR INPUT/OUTPUT
Stack Stack Pointer A stack is a means of storing data that works on a ‘Last in first out’ (LIFO) basis. It reverses the order that data arrives and is.
ECE 265 – LECTURE 8 The M68HC11 Basic Instruction Set The remaining instructions 10/20/ ECE265.
Interrupts and reset operations. Overview  Introduction to interrupts – What are they – How are they used  68HC11 interrupt mechanisms – Types of interrupts.
Microprocessor. Interrupts The processor has 5 interrupts. CALL instruction (3 byte instruction). The processor calls the subroutine, address of which.
ME4447/6405 The George W. Woodruff School of Mechanical Engineering ME4447/6405 Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics.
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
Z80 Overview internal architecture and major elements of the Z80 CPU.
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
Addressing Modes MTT CPU08 Core Motorola CPU08 ADDRESSING MODES.
1 Introduction to Microcontroller Microcontroller Fundamentals & Programming.
Execution Architecture MTT CPU08 Core M CPU08 INTRODUCTION.
MICRO-CONTROLLER MOTOROLA HCS12 Interrupts Mechatronics Department Faculty of Engineering Ain Shams University.
Resets & Interrupts MTT CPU08 Core Motorola CPU08 RESETS & INTERRUPTS.
ECE 447: Lecture 11 Introduction to Programming in Assembly Language.
MICROPROCESSOR DETAILS 1 Updated April 2011 ©Paul R. Godin prgodin gmail.com.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
The 8051 Microcontroller Chapter 6 INTERRUPTS. 2/29 Interrupt is the occurrence of a condition an event that causes a temporary suspension of a program.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
George W. Woodruff School of Mechanical Engineering, Georgia Tech ME4447/6405 ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction.
Block diagram of a computer system Basic components of a computer system using block diagrams: Cpu Memory Input and output unit Evolution of microprocessor.
ELE22MIC Lecture 6 Continuation of Lecture 5 Instruction Set Overview, Part 4 –HC-COM - Lab notes –Stack Pointer, Push, Pull Call/return Data –Conditional.
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
EET 2261 Unit 6 The Stack; Subroutines
Unit Microprocessor.
COURSE OUTCOMES OF Microprocessor and programming
ECE 3430 – Intro to Microcomputer Systems
8085 Interrupts LAKSHMI.B.E..
68HC11 Interrupts & Resets.
Microprocessor Systems Design I
Mon. Oct 2 Announcements Quiz Postponed to Wednesday – still only on 2.a + 2.b Video lecture for 2.a posted Lab 6 experiment extension You must come to.
Introduction to microprocessor (Continued) Unit 1 Lecture 2
ECE 3430 – Intro to Microcomputer Systems
Interrupts In 8085 and 8086.
Introduction of microprocessor
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Processor Organization and Architecture
Chapter 10 The Stack.
Introduction of microprpcessor
ME4447/6405 Microprocessor Control of Manufacturing Systems and
Interrupts Interrupt is a process where an external device can get the attention of the microprocessor. The process starts from the I/O device The process.
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
Interrupts.
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Interrupts 1/18/2019.
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
8051 ASSEMBLY LANGUAGE PROGRAMMING
EET 2261 Unit 6 The Stack; Subroutines
CPU Structure and Function
Introduction of microprpcessor
Register sets The register section/array consists completely of circuitry used to temporarily store data or program codes until they are sent to the.
Computer Operation 6/22/2019.
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
Presentation transcript:

ME 4447/6405 Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics Instructor: Professor Charles Ume LECTURE 6

CPU Registers

MC9S12C Microcontroller Covered in Lecture 5: Quick Introduction to Microcontroller Subsystems Microcontroller Registers Microcontroller Modes (Single chip, Extended, etc..) EVBU Memory Maps Covered in this section: HCS12 CPU (Note: the Central Processing Unit (CPU) is the “core” of the microcontroller where instructions are executed)

Circuits to process instructions CPU Registers The HCS12 CPU contains: Circuits to process instructions CPU Registers (Note: HCS12 CPU registers are an integral part of the CPU and are not addressed as if they were memory locations)

Accumulators A, B, and D A & B are: 8-bit registers Can be used for 8-bit math operations ( Note: This is why A & B are called “Accumulators”) Can also be used for 8-bit binary logic, comparisons, memory transfers, etc… Can be used for accumulator offsets in indexed addressing D is: 16-bit register Cannot be used when A or B is in use Can be used for 16-bit math in conjunction with Index X & Y Can be used for 16-bit memory transfers, comparisons, etc.. Index Registers X & Y Can be used for 16-bit math with Accumulator D Mainly used for addressing memory in Indexed mode (Note: Indexed addressing mode will be covered in a later section) Program Counter (PC) Contains the address of the next instruction to be executed Can be used as index register in indexed addressing Stack Pointer (SP) Contains the address of the last stack location used (1 greater than the currently available location)

HCS12 CPU STACK AND STACK POINTER The Stack is a region of RAM which may be used for temporary data storage. Upon reset, the stack pointer must be initialized. MON12 loads the stack pointer with $0E5F and has reserved memory locations $0E5E-$0E00 for the stack, creating 95 bytes of storage. When MON12 is not in use, the user must load the stack pointer with the appropriate address using the LDS instruction: LDS $0E5F Note: The user must determine stack location and ensure that it does not conflict with other resources.

HCS12 CPU STACK POINTER An interrupt can be recognized at any time after it is enabled by its local mask, if any, and by the global mask bit in the CCR. Once an interrupt source is recognized, the CPU responds at the completion of the instruction being executed. Interrupt latency varies according to the number of cycles required to complete the current instruction. When the CPU begins to service an interrupt, the contents of the CPU registers are pushed onto the stack in the order shown above (see also p. 2 of the CPU12 reference guide). After the CCR value is stacked, the I bit and the X bit, if XIRQ is pending, are set to inhibit further interrupts. The interrupt vector for the highest priority pending source is fetched and execution continues at the address specified by the vector. At the end of the interrupt service routine, the return-from-interrupt instruction is executed and the saved registers are pulled from the stack in reverse order so that normal program execution can resume.

At the end of an interrupt service routine, the user writes a Return from Interrupt (RTI) instruction. This causes the CPU registers and the return address to be pulled from the stack, permitting main program execution to continue where it left off with the same values in the CPU registers as before the interrupt occured. RTI: LEGEND: RTN = ADDRESS OF NEXT INSTRUCTION IN MAIN ROGRAM TO BE EXECUTED UPON RETURN FROM SUBROUTINE RTNHI = MOST SIGNIFICANT BYTE OF RETURN ADDRESS RTNLO = LEAST SIGNIFICANT BYTE OF RETURN ADDRESS X,YHI = MOST SIGNIFICANT BYTE OF X OR Y INDEX REGISTER X,YLO = LEAST SIGNIFICANT BYTE OF X OR Y INDEX REGISTER

Execution of Jump To Subroutine (JSR) and Branch To Subroutine (BSR) instructions causes the contents of the program counter to be pushed onto the stack. At the end of the subroutine, the user writes a Return from Subroutine (RTS) instruction. This causes the return address to be pulled from the stack, permitting execution to continue after the JSR or BSR instruction JSR or BSR: RTS: LEGEND: RTN = ADDRESS OF NEXT INSTRUCTION IN MAIN ROGRAM TO BE EXECUTED UPON RETURN FROM SUBROUTINE RTNHI = MOST SIGNIFICANT BYTE OF RETURN ADDRESS RTNLO = LEAST SIGNIFICANT BYTE OF RETURN ADDRESS

S X H I N Z V C MC9S12C CONDITION CODE REGISTER MASKING BITS S – Disables STOP instruction when set. X – Masks XIRQ Request when set. set by hardware reset, cleared by software set by unmasked XIRQ See page 116 of Technical Data I – Masks interrupt request from all IRQ level sources (both external and internal) when set. set by unmasked I level request or unmasked XIRQ ARITHMETIC BITS Reflect results of instruction execution C – Carry/Borrow from MSB unsigned arithmetic V – 2’s complement overflow indication signed arithmetic Z – Zero result N – Negative (follows MSBit of result) H – Half Carry from bit 3 to bit 4 ADD operations only 7 0 01001111 +00001000 01010111 H will be set to 1

Example 3 from Lecture 4: - 8510 - 9010=-17510 8510 = 5516 = 0101 01012 1010 1010 = 1’s comp. of 5516 1010 1011 = 2’s comp. of 5516 9010 = 5A16 = 0101 10102 1010 0101 = 1’s comp. of 5A16 1010 0110 = 2’s comp. of 5A16 1010 1011 = (2’s comp. of 5516) 1010 0110 = (2’s comp. of 5A16) ------------- 1 0101 0001 = +5116 = +8110 V bit will be set. C bit will be set.

QUESTIONS???