Module 2.F. Buffered, Interrupt-Driven Printer Design Example. Tim Rogers 2017
|
|
- Tyrone Pope
- 6 years ago
- Views:
Transcription
1 Module 2.F Buffered, Interrupt-Driven Printer Design Example Tim Rogers 2017
2 Learning Outcome #2 An ability to interface a microcontroller to various devices How? A. Bus Timing Analysis B. 9S12C Multiplexed Bus Expansion C. General-Purpose I/O Ports D. Interrupt Handling E. Buffered I/O F. Buffered, Interrupt-Driven Printer Design Example [2.F]-2
3 Objective Buffered, Interrupt-Driven Printer Design Example IN OUT Interrupts the CPU to consume characters when its ready Produces Characters [2.F]-3
4 What will happen when the interrupt occurs? (A) CPU copies a new character to the buffer (B) CPU copies next value from buffer to data busp (C) Printer copies data off the data bus (D) Printer puts a new value on the buffer (E) Nothing Review: Printer Handshaking STROBE 3 4 When should the interrupt occur? (A) Strobe to low (B) Strobe to high (C) Busy to low P (D) Busy to high (E) When next char does goes on bus BUSY DATA Previous Character Next Character Interrupt here [2.F]-4
5 What does it mean for the interrupt to be masked? Printer Interrupt Enable (PIE) Bit (from CPU) PIE has to be 1 for the interrupt to be asserted Flag Clear (From CPU) 1 CLR D Q Q IRQ (to CPU) Interrupt Request (From Device) [2.F]-5
6 Example Circuit Port X.7. PIE Port Y.2 IRQ Printer STROBE BUSY.. Port Y.3 Port X.0 Port Y.1 1 CLR D Q Q where Port X and Port Y are any available port pins [2.F]-6
7 How to use PIE When buffer is empty: CPU has nothing to send PIE=0 When buffer has content: CPU has stuff waiting to send PIE=1 [2.F]-7
8 IN OUT Life without PIE Printer will continuously trigger interrupt while busy is 0 If buffer is empty printer never becomes busy STROBE BUSY DATA Previous Character Last Character in Buffer [2.F]-8
9 IN OUT Life with PIE When buffer empties: Set PIE= STROBE BUSY PIE Prof. Meyer calls this a Digital Binky DATA Previous Character Last Character in Buffer [2.F]-9
10 [2.F]-10
11 How to use PIE When buffer is empty: CPU has nothing to send PIE=0 When buffer has content: CPU has stuff waiting to send PIE=1 [2.F]-11
12 Driver Declarations smask equ $02 ; STROBE mask imask equ $04 ; PIE enable mask cmask equ $08 ; flag clear mask psize equ 100 ; buffer size pbuf rmb psize; printer buffer pin fcb 0 ; printer IN ptr pout fcb 0 ; printer OUT ptr [2.F]-12
13 Driver Initialization Routine smask equ $02 ; printer STROBE mask imask equ $04 ; printer intr en mask cmask equ $08 ; dev flag clear mask pinit movb #$FF,ddrx movb #$0E,ddry bset porty,cmask bclr porty,cmask ;assert FLG_CLR bset porty,cmask ;to initialize bclr porty,imask ;clear PIE bit clr portx ;ASCII null bset porty,smask bclr porty,smask ;assert STROBE bset porty,smask ;to initialize cli rts ;enable IRQ [2.F]-13
14 Useful Macro Macro for incrementing B register mod BUFSIZE Example: incbmod 20 ; increments B modulo 20 incbmod MACRO incb cmpb #\1 bne $+3 clrb ENDM [2.F]-14
15 Device Driver API Application program interface that places characters in the printer buffer (the producer ) 1. Check status of printer buffer 2. If FULL, wait for space 3. Else, put character in buffer at IN 4. Increment IN modulo BUFSIZE 5. Enable ( unmask ) printer interrupts 6. Exit [2.F]-15
16 Device Driver API ; Buffered printer spooler routine ; Character passed in A register placed in PBUF ; ; STEP (1) Check PBUF status bps ldab pin incbmod psize ;(B)=(PIN+1)mod PSIZE pshb ;save on stack ; STEP (2) If FULL, wait for space pwait cmpb beq pout ;perform FULL check pwait ;wait if PBUF full [2.F]-16
17 Device Driver API ; STEP (3) Put character in PBUF at IN ldx #pbuf ldab pin staa b,x ;PBUF[PIN] = (A) ; STEP (4) Increment IN modulo PSIZE pulb ;retrieve from stack stab pin ;PIN=PIN+1 mod PSIZE ; STEP (5) Enable printer interrupts bset porty,imask ; STEP (6) Exit rts [2.F]-17
18 Device Driver ISR Interrupt service routine that outputs next character in buffer to the printer (the consumer ) 1. Check status of printer buffer 2. If EMPTY, disable ( mask ) printer interrupts and exit 3. Else, clear printer device flag 4. Output character pointed to by OUT 5. Assert printer s STROBE signal 6. Increment OUT modulo BUFSIZE 7. Exit [2.F]-18
19 Device Driver ISR ; Printer interrupt service routine ; ; STEP (1) Check PBUF status prisr ldab pout cmpb pin bne pok ;if not empty, print ; STEP (2) If buffer is empty, disable printer ; interrupts and exit bclr porty,imask rti [2.F]-19
20 Device Driver ISR ; Printer interrupt service routine ; ; STEP (3) Clear printer device flag pok bclr porty,cmask bset porty,cmask ; STEP (4) Output character pointed to by OUT ldx #pbuf ldaa b,x ;(A)=PBUF[POUT] staa portx [2.F]-20
21 Device Driver ISR ; Printer interrupt service routine ; ; STEP (5) Strobe printer bclr porty,smask bset porty,smask ; STEP (6) Increment OUT mod PSIZE incbmod psize stab ; STEP (7) Exit rti pout ;POUT=(POUT+1) mod PSIZE [2.F]-21
22 1. Will Coach need a Digital Binky to make it through this B-ball season? A. yes B. no [2.F]-22
Module 3.F. Serial Communications Interface (SCI) Tim Rogers 2017
Module 3.F Serial Communications Interface (SCI) Tim Rogers 2017 Learning Outcome #3 An ability to effectively utilize the wide variety of peripherals integrated into a contemporary microcontroller How?
More informationProgramming the Motorola MC68HC11 Microcontroller
Programming the Motorola MC68HC11 Microcontroller COMMON PROGRAM INSTRUCTIONS WITH EXAMPLES aba Add register B to register A Similar commands are abx aby aba add the value in register B to the value in
More informationExam 2 E2-1 Fall Name: Exam 2
Exam 2 E2-1 Fall 2004 1. Short Answer [20 pts] Exam 2 a. [4 points] Show the contents of registers A, B, SP, and X after the following code executes: lds #$a00 ldab #$23 A = ldaa #$87 ldx #$2543 B = pshd
More informationLecture 20: Interrupt Devices
Lecture 20: Interrupt Devices Today s Goals Use an edged-triggered interrupt capable device to cause interrupts. Use a time-based interrupt capable device to cause periodic interrupts. Edge-triggered Device
More informationRyerson University Department of Electrical and Computer Engineering ELE 538 Microprocessor Systems Final Examination December 8, 2003
Ryerson University Department of Electrical and Computer Engineering ELE 538 Microprocessor Systems Final Examination December 8, 23 Name: Student Number: Time limit: 3 hours Section: Examiners: K Clowes,
More informationC SC 230 Computer Architecture and Assembly Language April 2000 Exam Sample Solutions
C SC 230 Computer Architecture and Assembly Language April 2000 Exam Sample Solutions 1. (12 marks) Circle the correct answer for each of the following: The 8-bit two's complement representation of -15
More informationEE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1. Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University
EE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1 Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University What is Assembly Language? Assembly language is a programming language
More informationModule 1-G. Marcos and Structured Programming
Module 1-G Marcos and Structured Programming 1 Learning Outcome #1 An ability to program a microcontroller to perform various tasks How? A. Architecture and Programming Model B. Instruction Set Overview
More informationECE/CE 3720: Embedded System Design
Produce-Consumer Examples Slide 1 ECE/CE 3720: Embedded System Design Chris J. Myers Slide 3 Source/producer Keyboard input Program with data Sink/consumer Program that interprets Printer output Lecture
More informationCoe538 Final Study Guide 2016 (Questions & Answers)
Coe538 Study Guide 1 of 8 Coe538 Final Study Guide 2016 (Questions & Answers) This version contains questions AND answers. This study guide is meant to help you review coe538 and prepare for the final.
More informationInterrupt-Driven Input/Output
Interrupt-Driven Input/Output Textbook: Chapter 11 (Interrupts) ARM Cortex-M4 User Guide (Interrupts, exceptions, NVIC) Sections 2.1.4, 2.3 Exceptions and interrupts Section 4.2 Nested Vectored Interrupt
More informationECE/CE 3720: Embedded System Design
Basic Components of Input Capture Slide 1 ECE/CE 3720: Embedded System Design Chris J. Myers Lecture 12: Input Capture Slide 3 Basic Principles of Input Capture Basic Principles of Input Capture (cont)
More informationTable 1: Mnemonics Operations Dictionary. Add Accumulators Add B to Y. Add with carry to B. Add Memory to B. Add 16-bit to D And B with Memory
Table 1: Mnemonics s Dictionary ABA ABX ABY ADCA ADCB ADDA ADDB ADDD ANDA ANDB ASL ASLA ASLB ASLD ASR ASRA ASRB BCC BCLR BCS BEQ BGE BGT BHI BHS BITA BITB BLE BLO BLS BLT Add Accumulators Add B to X Add
More informationGo Gators! Relax! May the Schwartz be with you!
Page 1/12 Exam 1 Instructions: Turn off cell phones beepers and other noise making devices. Show all work on the front of the test papers. If you need more room make a clearly indicated note on the front
More informationLab 7: Asynchronous Serial I/O
CpE 390 Microprocessor Systems Lab 7: Asynchronous Serial I/O 1. Introduction Serial communications is the transfer of data, one bit at a time, over a communications channel. Serial communications can
More informationEEL 4744C: Microprocessor Applications. Lecture 7. Part 2. M68HC12 Interrupt. Dr. Tao Li 1
EEL 4744C: Microprocessor Applications Lecture 7 Part 2 M68HC12 Interrupt Dr. Tao Li 1 Reading Assignment Software and Hardware Engineering (New version): Chapter 12 or SHE (old version) Chapter 8 And
More informationME4447/6405. Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics. Instructor: Professor Charles Ume LECTURE 7
ME4447/6405 Microprocessor Control of Manufacturing Systems and Introduction to Mechatronics Instructor: Professor Charles Ume LECTURE 7 Reading Assignments Reading assignments for this week and next
More informationModule 3.C. Serial Peripheral Interface (SPI) Tim Rogers 2017
Module 3.C Serial Peripheral Interface (SPI) Tim Rogers 2017 Learning Outcome #3 An ability to effectively utilize the wide variety of peripherals integrated into a contemporary microcontroller How? A:
More informationAn ability to program a microcontroller to perform various tasks
Learning Outcome #1 An ability to program a microcontroller to perform various tasks How? A. Architecture and Programming Model B. Instruction Set Overview C. Assembly Control Structures D. Control Structure
More informationModule 1-D. Control Structure Applications. Tim Rogers 2017 [1.D]-1
Module 1-D Control Structure Applications Tim Rogers 2017 [1.D]-1 Learning Outcome #1 An ability to program a microcontroller to perform various tasks How? A. Architecture and Programming Model B. Instruction
More informationECE331 Handout 3- ASM Instructions, Address Modes and Directives
ECE331 Handout 3- ASM Instructions, Address Modes and Directives ASM Instructions Functional Instruction Groups Data Transfer/Manipulation Arithmetic Logic & Bit Operations Data Test Branch Function Call
More information538 Lecture Notes Week 3
538 Lecture Notes Week 3 (Sept. 16, 2013) 1/18 538 Lecture Notes Week 3 Answers to last week's questions 1 Write code so that the least significant bit of Accumulator A is cleared, the most significant
More informationWed. Sept 6 Announcements
Wed. Sept 6 Announcements HW 3 / Lab 3 posted [1.C]-1 Endianness Problem: Memory is byte addressed. Sometimes you want to access multi-byte values (16-bit, 32-bits etc.) X is 2-bytes Addr Memory Value
More informationChapter 4: Advanced Assembly Programming. EE383: Introduction to Embedded Systems University of Kentucky. Samir Rawashdeh
Chapter 4: Advanced Assembly Programming EE383: Introduction to Embedded Systems University of Kentucky Samir Rawashdeh With slides based on material by H Huang Delmar Cengage Learning Chapter Summery
More informationIntroduction to Mechatronics. Fall Instructor: Professor Charles Ume. Interrupts and Resets
ME645 Introduction to Mechatronics Fall 24 Instructor: Professor Charles Ume Interrupts and Resets Reason for Interrupts You might want instructions executed immediately after internal request and/or request
More informationChapter 2: HCS12 Assembly Programming. EE383: Introduction to Embedded Systems University of Kentucky. Samir Rawashdeh
Chapter 2: HCS12 Assembly Programming EE383: Introduction to Embedded Systems University of Kentucky Samir Rawashdeh With slides based on material by H. Huang Delmar Cengage Learning 1 Three Sections of
More informationExam 2 E2-1 Fall Name: Exam 2
Exam 2 E2-1 Fall 2002 1. Short Answer [10 pts] Exam 2 a.[2 pts] Briefly describe what each of the following instructions do so that it is clear what the differences between them are: STAA -2,X STAA 2,-X
More information538 Lecture Notes Week 5
538 Lecture Notes Week 5 (Sept. 30, 2013) 1/15 538 Lecture Notes Week 5 Answers to last week's questions 1. With the diagram shown for a port (single bit), what happens if the Direction Register is read?
More informationIntroduction to the MC9S12 Hardware Subsystems
Setting and clearing bits in C Using pointers in C o Program to count the number of negative numbers in an area of memory Introduction to the MC9S12 Hardware Subsystems o The MC9S12 timer subsystem Operators
More information538 Lecture Notes Week 5
538 Lecture Notes Week 5 (October 4, 2017) 1/18 538 Lecture Notes Week 5 Announements Midterm: Tuesday, October 25 Answers to last week's questions 1. With the diagram shown for a port (single bit), what
More informationEE319K Final Fall 2005 Solution C. (3) Question 1. (3) Question 2. short function(const short in){ return in+5; } const
EE319K Final Fall 2005 Solution C. Jonathan Valvano (3) Question 1. Consider a matrix with 4 rows and 6 columns, stored in column-major zero-index format. Each element is 16 bits. Which equation correctly
More informationMC68HC12 Parallel I/O
EEL 4744C: Microprocessor Applications Lecture 6 Part 2 MC68HC12 Parallel I/O Dr. Tao Li 1 Software and Hardware Engineering (new version): Chapter 11 Or SHE (old version): Chapter 7 And Reading Assignment
More informationEE319 K Lecture 3. Introduction to the 9S12 Lab 1 Discussion Using the TExaS simulator. University of Texas ECE
EE319 K Lecture 3 Introduction to the 9S12 Lab 1 Discussion Using the TExaS simulator University of Texas ECE Introduction (von Neumann architecture) processor Bus Memory Mapped I/O System Input Devices
More informationExam 1 Feb. 23, 25, 27?
Exam 1 Feb. 23, 25, 27? You will be able to use all of the Motorola data manuals on the exam. No calculators will be allowed for the exam. Numbers Decimal to Hex (signed and unsigned) Hex to Decimal (signed
More informationAN Kbyte Addressing with the M68HC11. Overview
Order this document by /D 128-Kbyte Addressing with the M68HC11 By Ross Mitchell MCU Applications Engineering Freescale Ltd. East Kilbride, Scotland Overview The maximum direct addressing capability of
More informationLecture-51 INTEL 8259A Programmable Interrupt Controller
Lecture-51 INTEL 8259A Programmable Interrupt Controller The 8259A is a programmable interrupt controller designed to work with Intel microprocessor 8080 A, 8085, 8086, 8088. The 8259 A interrupt controller
More informationPrototype Control Board for an Automated Bar (Robotic Bar Monkey)
Prototype Control Board for an Automated Bar (Robotic Bar Monkey) Final Project Report December 9, 1999 E157 Andrew Cosand and Glenn Gebhart Abstract: We are interested in creating an automated beverage
More informationCOE538 Lecture Notes Week 3 (Week of Sept 17, 2012)
COE538 Lecture Notes: Week 3 1 of 11 COE538 Lecture Notes Week 3 (Week of Sept 17, 2012) Announcements My lecture sections should now be on Blackboard. I've also created a discussion forum (and anonymous
More informationME 6405 Introduction to Mechatronics
ME 6405 Introduction to Mechatronics Fall 2005 Instructor: Professor Charles Ume LECTURE 9 Homework 1 Solution 1. Write an assembly language program to clear the usable internal RAM in the M68HC11E9. Solution:
More informationProgramming Book for 6809 Microprocessor Kit
Programming Book for 6809 Microprocessor Kit Wichit Sirichote, wichit.sirichote@gmail.com Image By Konstantin Lanzet - CPU collection Konstantin Lanzet, CC BY-SA 3.0, Rev1.2 March 2018 1 Contents Lab 1
More informationECE 3610 MICROPROCESSING SYSTEMS AN ENCRYPTED ASCII CODE DECODER
ECE 3610 MICROPROCESSIG SYSTEMS A ECRYPTED ASCII CODE DECODER 1 PROBLEM SPECIFICATIO Design a microprocessing system to decode messages which are encrypted. Each byte of the message is an encrypted ASCII
More information2) [ 2 marks] Both of the following statements cause the value $0300 to be stored in location $1000, but at different times. Explain the difference.
1) [ 9 marks] Write a sequence of directives for an HCS12 assembly language program that performs all of these tasks, in this order: a) Define an array called Measurements starting from memory location
More informationTiming Generation and Measurements
Timing Generation and Measurements Lab #7 Robert McManus & Junsang Cho April 2, 2004 Timing Generation and Measurements 1. Objective To gain experience using input capture to measure pulse width. To gain
More informationLecture 10 I/O and Interrupts
CPE 390: Microprocessor Systems Spring 2018 Lecture 10 I/O and Interrupts Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 Adapted from
More informationLecture 9 Subroutines
CPE 390: Microprocessor Systems Spring 2018 Lecture 9 Subroutines Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 Adapted from HCS12/9S12
More informationEEL 4744C: Microprocessor Applications. Lecture 7. Part 1. Interrupt. Dr. Tao Li 1
EEL 4744C: Microprocessor Applications Lecture 7 Part 1 Interrupt Dr. Tao Li 1 M&M: Chapter 8 Or Reading Assignment Software and Hardware Engineering (new version): Chapter 12 Dr. Tao Li 2 Interrupt An
More informationReading Assignment. Interrupt. Interrupt. Interrupt. EEL 4744C: Microprocessor Applications. Lecture 7. Part 1
Reading Assignment EEL 4744C: Microprocessor Applications Lecture 7 M&M: Chapter 8 Or Software and Hardware Engineering (new version): Chapter 12 Part 1 Interrupt Dr. Tao Li 1 Dr. Tao Li 2 Interrupt An
More informationWeek 11 Programmable Interrupt Controller
Week 11 Programmable Interrupt Controller 8259 Programmable Interrupt Controller The 8259 programmable interrupt controller (PIC) adds eight vectored priority encoded interrupts to the microprocessor.
More informationEE 308 Spring A software delay. To enter a software delay, put in a nested loop, just like in assembly.
More on Programming the 9S12 in C Huang Sections 5.2 through 5.4 Introduction to the MC9S12 Hardware Subsystems Huang Sections 8.2-8.6 ECT_16B8C Block User Guide A summary of MC9S12 hardware subsystems
More informationCMPEN 472 Sample EXAM II
CMPEN 472 Sample EXAM II Name: Student ID number (last 4 digit): Please write your name on every page. Write your solutions clearly. You may use backside of each page for scratch but the solutions must
More informationSample Problem Set #1
Sample Problem Set #1 Notes: These problems are typical exam problems; most are drawn from previous homeworks and exams. This exam is open book, open notes. It may help to have a calculator. For partial
More information538 Lecture Notes Week 3
538 Lecture Notes Week 3 (Sept. 20, 2017) 1/24 538 Lecture Notes Week 3 Answers to last week's questions 1 Write code so that the least significant bit of Accumulator A is cleared, the most significant
More informationControlling the QED Digital-to-Analog Converter from within an Interrupt Service Routine
Mosaic Industries Controlling the QED Digital-to-Analog Converter from within an Interrupt Service Routine APPLICATION NOTE MI-AN-059 Summary There are times you may want to control the QED Board s digital-to-analog
More informationCET335 Microprocessor Interfacing Lab 5: LCD Interface (Bus Attached Peripheral)
CET335 Microprocessor Interfacing Lab 5: LCD Interface (Bus Attached Peripheral) Introduction: In this lab, you will learn the interface and operation of a bus-attached peripheral; in other words, a controller
More informationThe Motorola 68HC11 Instruc5on Set
The Motorola 68HC11 Instruc5on Set Some Defini5ons A, B * accumulators A and B D * double accumulator (A + B) IX, IY * index registers X and Y SP * stack pointer M * some memory loca5on opr * an operand
More informationIntroduction to Microcontrollers
Motorola M68HC11 Specs Assembly Programming Language BUFFALO Topics of Discussion Microcontrollers M68HC11 Package & Pinouts Accumulators Index Registers Special Registers Memory Map I/O Registers Instruction
More informationHomework 12 Solutions
Page 1/6 1. Here is a short program that shows all addressing modes: We are given a table of student's test scores where there are three scores in a semester per student. Unfortunately, the person who
More informationTest ROM V2 for MPU boards System 3, 4, 6, 7 and corresponding driver boards. Author: André Boot corrections in this document by coinop
Test ROM V2 for MPU boards System 3, 4, 6, 7 and corresponding driver boards Author: André Boot corrections in this document by coinop 1. INTRODUCTION... 2 2. INSTALLATION OF THE BOOT TEST ROM... 3 3.
More informationMicrocontrollers. 2IN60: Real-time Architectures (for automotive systems) Mike Holenderski,
Microcontrollers 2IN60: Real-time Architectures (for automotive systems) Goals for this slide set Describe the architecture of a microcontroller Explain the purpose of an Instruction Set Architecture and
More informationLecture 6 Assembly Programming: Branch & Iteration
CPE 390: Microprocessor Systems Spring 2018 Lecture 6 Assembly Programming: Branch & Iteration Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ
More informationDigital Input and Output
Digital Input and Output Topics: Parallel Digital I/O Simple Input (example) Parallel I/O I/O Scheduling Techniques Programmed Interrupt Driven Direct Memory Access Serial I/O Asynchronous Synchronous
More informationInterfacing the HI7190 to a Microcontroller
Interfacing the to a Microcontroller Application Note September 1995 AN9527 Authors: Stephen LaJeunesse and John Kornblum Introduction The Intersil is a 24-bit monolithic instrumentation sigma delta A/D
More information8086 Interrupts and Interrupt Responses:
UNIT-III PART -A INTERRUPTS AND PROGRAMMABLE INTERRUPT CONTROLLERS Contents at a glance: 8086 Interrupts and Interrupt Responses Introduction to DOS and BIOS interrupts 8259A Priority Interrupt Controller
More informationWed. Aug 23 Announcements
Wed. Aug 23 Announcements Professor Office Hours 1:30 to 2:30 Wed/Fri EE 326A You should all be signed up for piazza Most labs done individually (if not called out in the doc) Make sure to register your
More informationSerial Communication Through an Asynchronous FIFO Buffer
Serial Communication Through an Asynchronous FIFO Buffer Final Project Report December 9, 2000 E155 Nick Bodnaruk and Andrew Ingram Abstract: For our clinic, we need to be able to use serial communication
More informationCHAPTER 11 INTERRUPTS PROGRAMMING
CHAPTER 11 INTERRUPTS PROGRAMMING Interrupts vs. Polling An interrupt is an external or internal event that interrupts the microcontroller To inform it that a device needs its service A single microcontroller
More informationEngineer To Engineer Note
Engineer To Engineer Note EE-134 Phone: (800) ANALOG-D, FAX: (781) 461-3010, EMAIL: dsp.support@analog.com, FTP: ftp.analog.com, WEB: www.analog.com/dsp Copyright 2001, Analog Devices, Inc. All rights
More informationCross Assembly and Program Development
Cross Assembly and ENGG4640/3640; Fall 2004; Prepared by Radu Muresan 1 Introduction Text Editor Program Ex. DOS, Notepad, Word saved as ASCII Source Code Assembler or Cross-Assembler Object Code Machine
More informationLECTURE #21: G-CPU & Assembly Code EEL 3701: Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz
LECTURE #21: G-CPU & Assembly Code EEL 3701: Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz G-CPU Important Notes (see Schwartz s lecture for a general overview) - The
More informationME 4447 / ME 6405: Introduction to Mechatronics
ME 4447 / ME 6405: Introduction to Mechatronics Interrupts and Resets Rohan Bansal Edward Chyau Anirudh Rudraraju Interrupts and Resets 1 Telephone Analogy How do we know if someone is calling? Use polling
More information4) In response to the the 8259A sets the highest priority ISR, bit and reset the corresponding IRR bit. The 8259A also places
Lecture-52 Interrupt sequence: The powerful features of the 8259A in a system are its programmability and the interrupt routine address capability. It allows direct or indirect jumping to the specific
More informationEE475 Lab #3 Fall Memory Placement and Interrupts
EE475 Lab #3 Fall 2005 Memory Placement and Interrupts In this lab you will investigate the way in which the CodeWarrior compiler and linker interact to place your compiled code and data in the memory
More informationECE 3120: Computer Systems Chapter 8: ECE-3120-A Musical
ECE 3120: Computer Systems Chapter 8: ECE-3120-A Musical Manjeera Jeedigunta http://blogs.cae.tntech.edu/msjeedigun21 Email: msjeedigun21@tntech.edu Tel: 931-372-6181, Prescott Hall 120 Output Compare
More informationCHAPTER 8. Solutions for Exercises
CHAPTER 8 Solutions for Exercises E8.1 The number of bits in the memory addresses is the same as the address bus width, which is 20. Thus the number of unique addresses is 2 20 = 1,048,576 = 1024 1024
More information68HC11 Opera,ng Modes
68HC11 Opera,ng Modes Modes Single- Chip Expanded Mul,plexed Special Bootstrap Special Test Minimal Circuit Layout: Single Chip Timing Diagrams Timing Laboratory 2 Debrief Exercise 1: Serial TX Generally
More information4. (a) With a neat sketch explain 8237 DMA controller and its operation? (b) With the help of basic cell explain SRAM and DRAM?
Code No: R05220504 Set No. 1 II B.Tech II Semester Regular Examinations, Apr/May 2008 MICROPROCESSORS AND INTERFACING ( Common to Computer Science & Engineering, Information Technology and Computer Science
More informationIntroduction to Programming the 9S12 in C Huang Sections 5.2 and 5.3
Introduction to Programming the 9S12 in C Huang Sections 5.2 and 5.3 o Comparison of C and Assembly programs for the HC12 o How to compile a C program using the GNU-C compiler o Using pointers to access
More informationEE 3170 Microcontroller Applications
Block Diagram of 68HC11A8 EE 3170 Microcontroller Applications Lecture 14: Advanced 68HC11 Hardware- Part II: Serial Communications Interfacing - Miller 7.10 Interrupt control Clock Mode control A/D ref.
More informationProgramming the 8259 PIC: A Tech-Tip Example and Boilerplate
Programming the 8259 PIC: A Tech-Tip Example and Boilerplate Thomas W. Associate Professor, New Mexico State University, Department of Engineering Technology PO Box 3001, MSC 3566, Las Cruces, NM 88003-8001,
More informationINTEGRATED CIRCUITS. AN408 80C451 operation of port 6
INTEGRATED CIRCUITS March 1988 INTRODUCTION The features of the are shared with the 80C51 or are conventional except for the operation of port 6. The flexibility of this port facilitates high-speed parallel
More informationECE/CE 3720: Embedded System Design
Sequence of Events During Interrupt 1. Hardwere needs service (busy-to-done) transition. 2. Flag is set in one of the I/O status registers. (a) Interrupting event sets the flag (ex., STAF=1). Slide 1 ECE/CE
More information80C451 operation of port 6
INTRODUCTION The features of the are shared with the 80C5 or are conventional except for the operation of port 6. The flexibility of this port facilitates high-speed parallel data communications. This
More informationECE/CS 3720: Embedded System Design (ECE 6960/2 and CS 6968)
Sequence of Events During Interrupt 1. Hardwere needs service (busy-to-done) transition. 2. Flag is set in one of the I/O status registers. (a) Interrupting event sets the flag (ex., STAF=1). Slide 1 ECE/CS
More informationTypes of Interrupts:
Interrupt structure Introduction Interrupt is signals send by an external device to the processor, to request the processor to perform a particular task or work. Mainly in the microprocessor based system
More informationMACO Multiple Agent Climbing Organism
MACO Multiple Agent Climbing Organism Final Report Ted Belser University of Florida, Department of Computer Engineering EEL 5666, Machine Intelligence Design Laboratory Table of Contents MACO... 1 Multiple
More informationASSIGNMENT 4: INTRODUCTION TO THE 68HC11. Out: Monday, Sep 29, 2003 Due Monday, Oct 6, 2003
ASSIGNMENT 4: INTRODUCTION TO THE 68HC11 Out: Monday, Sep 29, 2003 Due Monday, Oct 6, 2003 Introduction In this assignment, you will (1) construct a minimal 68HC11 system on your breadboard, and (2) use
More informationFreescale Semiconductor, I
nc. Engineering Bulletin Rev. 1, 3/2002 TOF Considerations when Measuring a Long Input Capture Event By Donnie Garcia and Gianni Filippi Microcontroller Applications Engineering Austin, Texas Introduction
More informationTEMPERATURE SENSOR. Revision Class. Instructor / Professor LICENSE
CME-11E9 EVBU LAB EXPERIMENT TEMPERATURE SENSOR Revision 04.02.11 Class Instructor / Professor LICENSE You may use, copy, modify and distribute this document freely as long as you include this license
More informationIntroduction to Programming the 9S12 in C Huang Sections 5.2 and 5.3. You will be able to use all of the Motorola data manuals on the exam.
Introduction to Programming the 9S12 in C Huang Sections 5.2 and 5.3 o Comparison of C and Assembly programs for the HC12 o How to compile a C program using the GNU-C compiler o Using pointers to access
More informationECE 367 -Experiment #1 Fall 2012
Due at the beginning of lab during week 3 (9/1/2012) Introduction ECE 367 -Experiment #1 Fall 2012 The goal of this experiment is the acquaint you with the Technological Arts nanocore12 microcontroller
More informationAN1064. Motorola Semiconductor Application Note. Use of Stack Simplifies M68HC11 Programming By Gordon Doughman. Introduction
Order this document by /D Motorola Semiconductor Application Note Use of Stack Simplifies M68HC11 Programming By Gordon Doughman Introduction The architectural extensions of the M6800 incorporated into
More informationUsing the stack and the stack pointer
Using the stack and the stack pointer o The Stack and Stack Pointer o The stack is a memory area for temporary storage o The stack pointer points to the last byte in the stack o Some instructions which
More informationUNIT - II PERIPHERAL INTERFACING WITH 8085
UNIT - II PERIPHERAL INTERFACING WITH 8085 Peripheral Interfacing is considered to be a main part of Microprocessor, as it is the only way to interact with the external world. The interfacing happens with
More information2. Arithmetic Instructions addition, subtraction, multiplication, divison (HCS12 Core Users Guide, Sections 4.3.4, and ).
AS12 Assembler Directives A Summary of 9S12 instructions Disassembly of 9S12 op codes Huang Section 1.8, Chapter 2 MC9S12 V1.5 Core User Guide Version 1.2, Section 12 o A labels is a name assigned the
More informationAN1239. HC05 MCU Keypad Decoding Techniques Using the MC68HC705J1A. Introduction
Order this document by /D Rev. 1.0 HC05 MCU Keypad Decoding Techniques Using the MC68HC705J1A By David Yoder CSIC Applications Introduction This application note demonstrates the use of a matrix keypad
More informationASSIGNMENT 3: PLAYING WITH THE 68HC11. Due Wednesday, Oct 9, 2002
ASSIGNMENT 3: PLAYING WITH THE 68HC11 Due Wednesday, Oct 9, 2002 Introduction In this assignment, you will (1) construct a minimal 68HC11 system on your breadboard, and (2) use the serial port of a computer
More informationEE345L Spring 2006 May 10, 2006, 2-5pm Page 1 of 8
EE345L Spring 2006 May 10, 2006, 2-5pm Page 1 of 8 Jonathan W. Valvano You can use the textbook, but no other materials. You must put your answers in the boxes on the answer pages. You have 3 hours, so
More informationOutline. 2.8 Stack. 2.9 Subroutines
Outline 21 Assembly language program structure 22 Data transfer instructions 23 Arithmetic instructions 24 Branch and loop instructions 25 Shift and rotate instructions 26 Boolean logic instructions 27
More informationMC9S12 Assembler Directives A Summary of MC9S12 Instructions Disassembly of MC9S12 op codes. Summary of HCS12 addressing modes ADDRESSING MODES
MC9S12 Assembler Directives A Summary of MC9S12 Instructions Disassembly of MC9S12 op codes o Review of Addressing Modes o Which branch instruction to use (signed vs unsigned) o Using X and Y registers
More informationLecture 7 Assembly Programming: Shift & Logical
CPE 390: Microprocessor Systems Fall 2017 Lecture 7 Assembly Programming: Shift & Logical Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030
More information