AVR Assembler. Microcontroller VL Thomas Nowak TU Wien

Size: px
Start display at page:

Download "AVR Assembler. Microcontroller VL Thomas Nowak TU Wien"

Transcription

1 AVR Assembler Microcontroller VL Thomas Nowak TU Wien 1

2 Overview ATmega16 Architecture Instructions Simple Example Program ATmega16 Control Registers Example: Digital I/O Example: Timer 2

3 ATmega16 Architecture 16 MHz RISC processor registers are 8 bit wide 32 general purpose registers (GPRs) 32 I/O registers status register (SR) contains status of last instruction (for conditional jumps) program counter (PC) 3

4 ATmega16 Architecture stack pointer (SP) used to store return address (RA) during subroutine calls and interrupts stack accessible by commands push and pop stack grows towards lower memory regions (i.e. SP is decreased after a push instruction) Harvard architecture separate memory areas for code (.text, 16K flash memory) and data (.eeprom, 512B EEPROM for constants, and.data, 1K SRAM) 4

5 Instructions Meta instructions 1/3.equ defines an alias often used to alias registers.equ temp_reg,0x02 aliases register 2 awareness of the context in which the alias is used is necessary andi r1,temp_reg means r1 := r1 AND 0x02 and r1,temp_reg means r1 := r1 AND r2.section specifies in which memory the following should be placed.section.text 5

6 Instructions Meta instructions 2/3.byte and.word write given byte/word (16bit) to current memory address.org specifies a memory address.org 0x0004 sets the current memory address to 0x0004 implicit increment of current memory address on subsequent instructions.org 0x0004.byte 0x01.byte 0x03 puts value 0x01 to address 0x0004 and 0x03 to 0x0005 6

7 Instructions Meta instructions 3/3.NOLIST.INCLUDE def.s.list includes file def.s without adding the contents to the list file (useful for definition files) label: defines a label at current memory location.global exports a label for use in other files comment lines start with ; 7

8 Instructions Arithmetic/logical instructions 1/2 have the form and r1, r2 i.e. r1 := r1 AND r2 often have a immediate variant for use with constants andi r1, 0xF0 masks the 4 upper bits of r1 do not work on all registers they do not work on I/O registers see AVR Instruction Set for details (Operands) 8

9 Instructions Arithmetic/logical instructions 2/2 adc (add with carry) uses the carry bit in the status word that is updated on every add instruction some instruction are also available for processing of words (2 bytes) adiw r4:r3,5 adds 5 to the word that has r4 as its high and r3 as its low byte 9

10 Instructions Jump instructions 1/2 rjmp label jumps to label (unconditionally) for really long jump distances, jmp would have to be used (rjmp can address the nearest 4096 words relative to the rjmp instruction) rcall perform calls subroutine perform, i.e. pushes the current PC value on the stack (RA) and jumps to label perform use call for long jump distances ret returns from subroutine, i.e. pops the RA from the stack into PC 10

11 Instructions Jump instructions 2/2 reti returns from an interrupt service routine (ISR). Same as ret, additionally the global interrupt enable flag (IE) is set (it is cleared by default on entry to an ISR) breq, brne,... jump iff certain bits in the SR are set/cleared breq label (branch if equal) jumps to label if the zero flag in the SR is set use cp r1,r2 (compare) to update the status word without changing any other registers jump distance is at most 64 words in each direction 11

12 Instructions Data transfer instructions 1/2 mov r1, r2 r1 := r2 in r3, PINA copies contents of I/O register PINA to GPR r3 this is often necessary because most operations only work on GPRs out PORTA, r6 copies contents of GPR r6 to I/O register PORTA push, pop 12

13 Instructions Data transfer instructions 2/2 st X,r4 stores content of register r4 to memory location contained in word X (XH:XL) X, Y and Z are words consisting of two GPRs each X is r27:r26, Y is r29:r28, Z is r31:r30 postincrement and predecrement are available ld r5,x loads contents of memory location contained in word X into register r5 postincrement and predecrement are available direct memory addressing through the commands lds and sts 13

14 Instructions Bit instructions 1/2 lsl, lsr, asr, rol, ror shift/roll sec, clc, sen, cln, sei,... set/clear individual bits in the SR (e.g. clc clears the carry bit) sbi, cbi set/clear bit in I/O register sbi PORTA,4 sets bit 4 in PORTA sbr, cbr set/clear bits in GPR second operand is a bit mask sbr r3, 0xF0 sets bits 7..4 in r3 14

15 Instructions Bit instructions 2/2 bst r1,3 stores bit 3 of r1 to the T-Flag (SR) bld r4,5 loads T-Flag into bit 5 of r4 Misc instructions nop no operation sleep change to sleep mode as specified in the MCUCR register 15

16 Simple Example Program program simply turns on all LEDs 16

17 Simple Example Program ; simple example program.nolist.include Includes/m16def.inc.LIST ; alias registers.equ temp, 0x10.section.text.org 0x0000 ; set port C to output (LEDs) ldi temp, 0xFF out DDRC, temp ; activate all LEDs on port C ldi temp, 0xFF out PORTC, temp infinite_loop: rjmp infinite_loop 17

18 ATmega16 Control Registers Many features of the microcontroller are configured through special control registers e.g. to set the timer mode (normal, PWM,...) of Timer1, you have to set the right bits (WGM13:0) in TCCR1A and TCCR1B these are I/O registers some share a common I/O location (e.g. UBRRH/UCSRC) Check the manual for details 18

19 Example: Digital I/O program turns on all LEDs if SW1 is on and turns them off otherwise 19

20 Example: Digital I/O ; digital i/o example program.nolist.include Includes/m16def.inc.LIST ; alias registers.equ temp, 0x10.equ leds, 0x11.section.text.org 0x0000 ; set port C to output and initialize with 0 (LEDs) ldi temp, 0xFF out DDRC, temp ldi leds, 0x00 out PORTC, leds 20

21 Example: Digital I/O ; set port A bit 4 to input and activate pull-up (SW1) cbi DDRA, 4 sbi PORTA, 4 ; main loop. poll PINA bit 4 and activate or deactivate ; the leds accordingly loop_start: in temp, PINA bst temp, 4 brtc switch_on switch_off: ldi leds, 0x00 rjmp loop_end switch_on: ldi leds, 0xFF loop_end: out PORTC, leds rjmp loop_start 21

22 Example: Timer program switches state of LEDs on overflow of Timer1 22

23 Example: Timer ; timer example program.nolist.include Includes/m16def.inc.LIST ; alias registers.equ temp, 0x10.equ leds, 0x11.section.text.org 0x0000 rjmp main ; install timer ISR.org OVF1addr *2 rjmp overflow main: ; set port C to output and initialize with 0 (LEDs) ldi temp, 0xFF out DDRC, temp 23

24 Example: Timer ldi leds, 0x00 out PORTC, leds ; set global interrupt flag sei ; initialize timer ldi temp, 0x00 out TCCR1A, temp ldi temp, 1<<CS12 out TCCR1B, temp in temp, TIMSK sbr temp, 1<<TOIE1 out TIMSK, temp infinite_loop: rjmp infinite_loop 24

25 Example: Timer ; interrupt service routine overflow: cpi leds, 0x00 breq was_zero was_ff: ldi leds, 0x00 rjmp ovf_end was_zero: ldi leds, 0xFF ovf_end: out PORTC, leds reti 25

Building A RISC Microcontroller in an FPGA

Building A RISC Microcontroller in an FPGA Building A RISC Microcontroller in an FPGA Name : Yap Zi He Course : 4 SEL Supervisor : PM Muhammad Mun im Ahmad Zabidi Introduction Reduce Instruction Set Computer (RISC) is a new trend on computer design.

More information

Programming of Microcontrollers in Assembly Language

Programming of Microcontrollers in Assembly Language Brno University of Technology Programming of Microcontrollers in Assembly Language Microprocessor Techniques and Embedded Systems Lecture 2 Dr. Tomas Fryza Contents Basic Architectures in Microprocessor

More information

Instruction Set. Instruction Set Nomenclature. Status Register (SREG) Registers and Operands

Instruction Set. Instruction Set Nomenclature. Status Register (SREG) Registers and Operands Instruction Set Nomenclature Status Register (SREG) SREG: Status register C: Carry flag Z: Zero flag N: Negative flag V: Two s complement overflow indicator S: N V, For signed tests H: Half Carry flag

More information

The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway

The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway Abstract High Level Languages (HLLs) are rapidly becoming the standard

More information

Instruction Set. Instruction Set Nomenclature: Status Register (SREG) Registers and Operands

Instruction Set. Instruction Set Nomenclature: Status Register (SREG) Registers and Operands Nomenclature: Status Register (SREG) SREG: Status register C: Carry flag in status register Z: Zero flag in status register N: Negative flag in status register V: Two s complement overflow indicator S:

More information

Instruction Set. Instruction Set Nomenclature. Status Register (SREG) Registers and Operands

Instruction Set. Instruction Set Nomenclature. Status Register (SREG) Registers and Operands Instruction Set Nomenclature Status Register (SREG) SREG: Status register C: Carry flag Z: Zero flag N: Negative flag V: Two s complement overflow indicator S: N V, For signed tests H: Half Carry flag

More information

How to use AVR Studio for Assembler Programming

How to use AVR Studio for Assembler Programming How to use AVR Studio for Assembler Programming Creating your first assembler AVR project Run the AVRStudio program by selecting Start\Programs\Atmel AVR Tools\AVR Studio. You should see a screen like

More information

Atmel AVR 8-bit Instruction Set

Atmel AVR 8-bit Instruction Set Atmel AVR 8-bit Instruction Set Instruction Set Nomenclature Status Register (SREG) SREG: Status Register C: Carry Flag Z: Zero Flag N: Negative Flag V: Two s complement overflow indicator S: N V, For

More information

Atmel AVR 8-bit Instruction Set

Atmel AVR 8-bit Instruction Set Atmel AVR 8-bit Instruction Set Instruction Set Nomenclature Status Register (SREG) SREG: Status Register C: Carry Flag Z: Zero Flag N: Negative Flag V: Two s complement overflow indicator S: N V, For

More information

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

8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT90S8515 Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 118 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General-purpose Working Registers Up

More information

8-bit Microcontroller with 1K Bytes In-System Programmable Flash. ATtiny13V ATtiny13

8-bit Microcontroller with 1K Bytes In-System Programmable Flash. ATtiny13V ATtiny13 Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver

8-bit Microcontroller. Application Note. AVR410: RC5 IR Remote Control Receiver AVR410: RC5 IR Remote Control Receiver Features Low-cost Compact Design, Only One External Component Requires Only One Controller Pin, Any AVR Device Can be Used Size-efficient Code Introduction Most audio

More information

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega162 ATmega162V. Features

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega162 ATmega162V. Features 查 询 ATMEGA162 供 应 商 Features High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single-clock Cycle Execution 32 x 8 General Purpose Working

More information

Interrupts and the Timer Overflow Interrupts Huang Sections 6.1-6.4. What Happens When You Reset the HCS12?

Interrupts and the Timer Overflow Interrupts Huang Sections 6.1-6.4. What Happens When You Reset the HCS12? Interrupts and the Timer Overflow Interrupts Huang Sections 6.1-6.4 o Using the Timer Overflow Flag to interrupt a delay o Introduction to Interrupts o How to generate an interrupt when the timer overflows

More information

Step Motor Controller. Application Note. AVR360: Step Motor Controller. Theory of Operation. Features. Introduction

Step Motor Controller. Application Note. AVR360: Step Motor Controller. Theory of Operation. Features. Introduction AVR360: Step Motor Controller Features High-Speed Step Motor Controller Interrupt Driven Compact Code (Only 10 Bytes Interrupt Routine) Very High Speed Low Computing Requirement Supports all AVR Devices

More information

AVR Timer/Counter. Prof Prabhat Ranjan DA-IICT, Gandhinagar

AVR Timer/Counter. Prof Prabhat Ranjan DA-IICT, Gandhinagar AVR Timer/Counter Prof Prabhat Ranjan DA-IICT, Gandhinagar 8-bit Timer/Counter0 with PWM Single Compare Unit Counter Clear Timer on Compare Match (Auto Reload) Glitch-free, Phase Correct Pulse Width Modulator

More information

ATtiny4 / ATtiny5 / ATtiny9 / ATtiny10. Introduction. Feature. Atmel 8-bit AVR Microcontroller with 512/1024 Bytes In-System Programmable Flash

ATtiny4 / ATtiny5 / ATtiny9 / ATtiny10. Introduction. Feature. Atmel 8-bit AVR Microcontroller with 512/1024 Bytes In-System Programmable Flash Atmel 8-bit AVR Microcontroller with 512/1024 Bytes In-System Programmable Flash ATtiny4 / ATtiny5 / ATtiny9 / ATtiny10 DATASHEET COMPLETE Introduction The Atmel ATtiny4/5/9/10 is a low-power CMOS 8-bit

More information

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features.

AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR. 8-bit Microcontroller. Application Note. Features. AVR034: Mixing C and Assembly Code with IAR Embedded Workbench for AVR Features Passing Variables Between C and Assembly Code Functions Calling Assembly Code Functions from C Calling C Functions from Assembly

More information

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny24 ATtiny44 ATtiny84

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny24 ATtiny44 ATtiny84 Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

AVR Butterfly Training. Atmel Norway, AVR Applications Group

AVR Butterfly Training. Atmel Norway, AVR Applications Group AVR Butterfly Training Atmel Norway, AVR Applications Group 1 Table of Contents INTRODUCTION...3 GETTING STARTED...4 REQUIRED SOFTWARE AND HARDWARE...4 SETTING UP THE HARDWARE...4 SETTING UP THE SOFTWARE...5

More information

8-bit Microcontroller with 2K Bytes Flash. ATtiny26 ATtiny26L

8-bit Microcontroller with 2K Bytes Flash. ATtiny26 ATtiny26L Features High-performance, Low-power AVR 8-bit Microcontroller RISC Architecture 118 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation

More information

Mixing C and assembly language programs Copyright 2007 William Barnekow <barnekow@msoe.edu> All Rights Reserved

Mixing C and assembly language programs Copyright 2007 William Barnekow <barnekow@msoe.edu> All Rights Reserved Mixing C and assembly language programs Copyright 2007 William Barnekow All Rights Reserved It is sometimes advantageous to call subroutines written in assembly language from programs

More information

8-bit Microcontroller with 1K Bytes In-System Programmable Flash. ATtiny13A

8-bit Microcontroller with 1K Bytes In-System Programmable Flash. ATtiny13A Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes:

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small amount of RAM. Programmable ROM and/or flash memory.

More information

Atmel 8-bit AVR Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny25/V / ATtiny45/V / ATtiny85/V. Features

Atmel 8-bit AVR Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny25/V / ATtiny45/V / ATtiny85/V. Features Atmel 8-bit AVR Microcontroller with 2/4/8K Bytes In-System Programmable Flash Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 120 Powerful Instructions Most Single

More information

Voltage boost and buck circuits using Atmel AVR Tiny13V for driving a white LED.

Voltage boost and buck circuits using Atmel AVR Tiny13V for driving a white LED. Voltage boost and buck circuits using Atmel AVR Tiny13V for driving a white LED. By Steven Weber, KD1JV 1/26/09 The PWM feature of the Tiny13 processor can be used to make a simple voltage boost or buck

More information

Microcontroller Systems. ELET 3232 Topic 8: Slot Machine Example

Microcontroller Systems. ELET 3232 Topic 8: Slot Machine Example Microcontroller Systems ELET 3232 Topic 8: Slot Machine Example 1 Agenda We will work through a complete example Use CodeVision and AVR Studio Discuss a few creative instructions Discuss #define and #include

More information

AVR130: Setup and Use of AVR Timers. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

AVR130: Setup and Use of AVR Timers. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE AVR 8-bit Microcontrollers AVR130: Setup and Use of AVR Timers APPLICATION NOTE Introduction This application note describes how to use the different timers of the Atmel AVR. The intention of this document

More information

Instruction Set Architecture

Instruction Set Architecture Instruction Set Architecture Consider x := y+z. (x, y, z are memory variables) 1-address instructions 2-address instructions LOAD y (r :=y) ADD y,z (y := y+z) ADD z (r:=r+z) MOVE x,y (x := y) STORE x (x:=r)

More information

MACHINE ARCHITECTURE & LANGUAGE

MACHINE ARCHITECTURE & LANGUAGE in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based

More information

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer Features Real-Time Clock with Very Low Power Consumption (4µA @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts Time,

More information

8051 MICROCONTROLLER COURSE

8051 MICROCONTROLLER COURSE 8051 MICROCONTROLLER COURSE Objective: 1. Familiarization with different types of Microcontroller 2. To know 8051 microcontroller in detail 3. Programming and Interfacing 8051 microcontroller Prerequisites:

More information

Z80 Instruction Set. Z80 Assembly Language

Z80 Instruction Set. Z80 Assembly Language 75 Z80 Assembly Language The assembly language allows the user to write a program without concern for memory addresses or machine instruction formats. It uses symbolic addresses to identify memory locations

More information

8-bit Microcontroller with 2K Bytes In-System Programmable Flash. ATtiny2313/V. Preliminary

8-bit Microcontroller with 2K Bytes In-System Programmable Flash. ATtiny2313/V. Preliminary Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 120 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully

More information

Introduction to Microcontrollers

Introduction to Microcontrollers Introduction to Microcontrollers Motorola M68HC11 Specs Assembly Programming Language BUFFALO Topics of Discussion Microcontrollers M68HC11 Package & Pinouts Accumulators Index Registers Special Registers

More information

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note. AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System Features 32-bit Real Time Counter (RTC) - 32-bit counter - Selectable clock source 1.024kHz 1Hz - Long overflow time

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR AND MICROCOMPUTER BASICS Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit

More information

Introduction to Microcontrollers

Introduction to Microcontrollers Introduction to Microcontrollers Courses 182.064 & 182.074 Vienna University of Technology Institute of Computer Engineering Embedded Computing Systems Group February 26, 2007 Version 1.4 Günther Gridling,

More information

Keil C51 Cross Compiler

Keil C51 Cross Compiler Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation

More information

THUMB Instruction Set

THUMB Instruction Set 5 THUMB Instruction Set This chapter describes the THUMB instruction set. Format Summary 5-2 Opcode Summary 5-3 5. Format : move shifted register 5-5 5.2 Format 2: add/subtract 5-7 5.3 Format 3: move/compare/add/subtract

More information

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2 Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

More information

8085 INSTRUCTION SET

8085 INSTRUCTION SET DATA TRANSFER INSTRUCTIONS Opcode Operand Description 8085 INSTRUCTION SET INSTRUCTION DETAILS Copy from source to destination OV Rd, Rs This instruction copies the contents of the source, Rs register

More information

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega8515 ATmega8515L

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega8515 ATmega8515L Features High-performance, Low-power AVR 8-bit Microcontroller RISC Architecture 130 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation

More information

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV UNIT I THE 8086 MICROPROCESSOR 1. What is the purpose of segment registers

More information

PART B QUESTIONS AND ANSWERS UNIT I

PART B QUESTIONS AND ANSWERS UNIT I PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional

More information

CHAPTER 7: The CPU and Memory

CHAPTER 7: The CPU and Memory CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides

More information

ATmega8A. Introduction. Features. 8-bit AVR Microcontroller DATASHEET COMPLETE

ATmega8A. Introduction. Features. 8-bit AVR Microcontroller DATASHEET COMPLETE 8-bit AVR Microcontroller ATmega8A DATASHEET COMPLETE Introduction The Atmel ATmega8A is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions

More information

The stack and the stack pointer

The stack and the stack pointer The stack and the stack pointer If you google the word stack, one of the definitions you will get is: A reserved area of memory used to keep track of a program's internal operations, including functions,

More information

8-bit Microcontroller with 32K/64K/128K Bytes of ISP Flash and CAN Controller AT90CAN32 AT90CAN64 AT90CAN128

8-bit Microcontroller with 32K/64K/128K Bytes of ISP Flash and CAN Controller AT90CAN32 AT90CAN64 AT90CAN128 Features High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 33 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers + Peripheral

More information

An Introduction to the ARM 7 Architecture

An Introduction to the ARM 7 Architecture An Introduction to the ARM 7 Architecture Trevor Martin CEng, MIEE Technical Director This article gives an overview of the ARM 7 architecture and a description of its major features for a developer new

More information

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

APPLICATION NOTE. Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction. APPLICATION NOTE Atmel AVR134: Real Time Clock (RTC) Using the Asynchronous Timer Introduction Atmel AVR 8-bit Microcontroller This application note describes how to implement a real time counter (RTC)

More information

8-bit Microcontroller with 4/8/16/32K Bytes In-System Programmable Flash. ATmega48PA ATmega88PA ATmega168PA ATmega328P

8-bit Microcontroller with 4/8/16/32K Bytes In-System Programmable Flash. ATmega48PA ATmega88PA ATmega168PA ATmega328P Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

Basic Interrupts and I/O

Basic Interrupts and I/O Basic Interrupts and I/O an introduction to interrupts and I/O with the AVR Eivind, AVRfreaksnet, By Eivind Sivertsen, AVRFreaks Oct2002 This article is a small project for you people who are just getting

More information

ATmega16U4/ATmega32U4

ATmega16U4/ATmega32U4 ATmega6U4/ATmega32U4 8-bit Microcontroller with 6/32 Bytes of ISP Flash and USB Controller DATASHEET Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 35 Powerful

More information

How It All Works. Other M68000 Updates. Basic Control Signals. Basic Control Signals

How It All Works. Other M68000 Updates. Basic Control Signals. Basic Control Signals CPU Architectures Motorola 68000 Several CPU architectures exist currently: Motorola Intel AMD (Advanced Micro Devices) PowerPC Pick one to study; others will be variations on this. Arbitrary pick: Motorola

More information

AN108 IMPLEMENTING A REALTIME CLOCK. Relevant Devices. Introduction. Key Points. Overview

AN108 IMPLEMENTING A REALTIME CLOCK. Relevant Devices. Introduction. Key Points. Overview IMPLEMENTING A REALTIME CLOCK Relevant Devices This application note applies to the following devices: C8051F000, C8051F001, C8051F002, C8051F005, C8051F006, C8051F007, C8051F010, C8051F011, and C8051F012.

More information

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction AVR134: Real Time Clock (RTC) using the Asynchronous Timer Features Real Time Clock with Very Low Power Consumption (4 μa @ 3.3V) Very Low Cost Solution Adjustable Prescaler to Adjust Precision Counts

More information

Instruction Set Design

Instruction Set Design Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,

More information

Chapter 13. PIC Family Microcontroller

Chapter 13. PIC Family Microcontroller Chapter 13 PIC Family Microcontroller Lesson 01 PIC Characteristics and Examples PIC microcontroller characteristics Power-on reset Brown out reset Simplified instruction set High speed execution Up to

More information

8-bit Atmel Microcontroller with 128KBytes In-System Programmable Flash. ATmega128 ATmega128L

8-bit Atmel Microcontroller with 128KBytes In-System Programmable Flash. ATmega128 ATmega128L Features High-performance, Low-power Atmel AVR 8-bit Microcontroller Advanced RISC Architecture 133 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers + Peripheral

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1 MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,

More information

Small Hardware Development and Prototyping Board for the SX28

Small Hardware Development and Prototyping Board for the SX28 Project Report: Small Hardware Development and Prototyping Board for the SX28 Project Number: PR57 1. Project Description 2. Schematic Diagram 3. Physical Diagram 4. Component Layout Diagram 5. Bill of

More information

Debugging of Application Programs on Altera s DE-Series Boards. 1 Introduction

Debugging of Application Programs on Altera s DE-Series Boards. 1 Introduction Debugging of Application Programs on Altera s DE-Series Boards 1 Introduction This tutorial presents some basic concepts that can be helpful in debugging of application programs written in the Nios II

More information

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega16 ATmega16L

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega16 ATmega16L Features High-performance, Low-power Atmel AVR 8-bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions Most Single-clock Cycle Execution 32 x 8 General Purpose Working Registers Fully

More information

Z80 Microprocessors Z80 CPU. User Manual UM008006-0714. Copyright 2014 Zilog, Inc. All rights reserved. www.zilog.com

Z80 Microprocessors Z80 CPU. User Manual UM008006-0714. Copyright 2014 Zilog, Inc. All rights reserved. www.zilog.com Z80 Microprocessors Z80 CPU UM008006-0714 Copyright 2014 Zilog, Inc. All rights reserved. www.zilog.com ii Warning: DO NOT USE THIS PRODUCT IN LIFE SUPPORT SYSTEMS. LIFE SUPPORT POLICY ZILOG S PRODUCTS

More information

PROJECT PRESENTATION ON CELLPHONE OPERATED ROBOTIC ASSISTANT

PROJECT PRESENTATION ON CELLPHONE OPERATED ROBOTIC ASSISTANT PROJECT PRESENTATION ON CELLPHONE OPERATED ROBOTIC ASSISTANT ELECTRONICS ENGINEERING DEPARTMENT SVNIT, SURAT-395007, INDIA Prepared by: Anurag Gupta (U05EC401) Dhrumeel Bakshi (U05EC326) Dileep Dhakal

More information

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture

More information

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny261/V* ATtiny461/V ATtiny861/V. *Mature

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny261/V* ATtiny461/V ATtiny861/V. *Mature Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 123 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

Introduction. What is an Operating System?

Introduction. What is an Operating System? Introduction What is an Operating System? 1 What is an Operating System? 2 Why is an Operating System Needed? 3 How Did They Develop? Historical Approach Affect of Architecture 4 Efficient Utilization

More information

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory AVR236: CRC Check of Program Memory Features CRC Generation and Checking of Program Memory Supports all AVR Controllers with LPM Instruction Compact Code Size, 44 Words (CRC Generation and CRC Checking)

More information

Exception and Interrupt Handling in ARM

Exception and Interrupt Handling in ARM Exception and Interrupt Handling in ARM Architectures and Design Methods for Embedded Systems Summer Semester 2006 Author: Ahmed Fathy Mohammed Abdelrazek Advisor: Dominik Lücke Abstract We discuss exceptions

More information

8-bit Atmel with 8KBytes In- System Programmable Flash. ATmega8 ATmega8L

8-bit Atmel with 8KBytes In- System Programmable Flash. ATmega8 ATmega8L Features High-performance, Low-power Atmel AVR 8-bit Microcontroller Advanced RISC Architecture 130 Powerful Instructions Most Single-clock Cycle Execution 32 8 General Purpose Working Registers Fully

More information

Instruction Set Architecture

Instruction Set Architecture CS:APP Chapter 4 Computer Architecture Instruction Set Architecture Randal E. Bryant adapted by Jason Fritts http://csapp.cs.cmu.edu CS:APP2e Hardware Architecture - using Y86 ISA For learning aspects

More information

LSN 2 Computer Processors

LSN 2 Computer Processors LSN 2 Computer Processors Department of Engineering Technology LSN 2 Computer Processors Microprocessors Design Instruction set Processor organization Processor performance Bandwidth Clock speed LSN 2

More information

Keil Debugger Tutorial

Keil Debugger Tutorial Keil Debugger Tutorial Yifeng Zhu December 17, 2014 Software vs Hardware Debug There are two methods to debug your program: software debug and hardware debug. By using the software debug, you do not have

More information

Application Note 195. ARM11 performance monitor unit. Document number: ARM DAI 195B Issued: 15th February, 2008 Copyright ARM Limited 2007

Application Note 195. ARM11 performance monitor unit. Document number: ARM DAI 195B Issued: 15th February, 2008 Copyright ARM Limited 2007 Application Note 195 ARM11 performance monitor unit Document number: ARM DAI 195B Issued: 15th February, 2008 Copyright ARM Limited 2007 Copyright 2007 ARM Limited. All rights reserved. Application Note

More information

Faculty of Engineering Student Number:

Faculty of Engineering Student Number: Philadelphia University Student Name: Faculty of Engineering Student Number: Dept. of Computer Engineering Final Exam, First Semester: 2012/2013 Course Title: Microprocessors Date: 17/01//2013 Course No:

More information

Central Processing Unit (CPU)

Central Processing Unit (CPU) Central Processing Unit (CPU) CPU is the heart and brain It interprets and executes machine level instructions Controls data transfer from/to Main Memory (MM) and CPU Detects any errors In the following

More information

PIC Programming in Assembly. (http://www.mstracey.btinternet.co.uk/index.htm)

PIC Programming in Assembly. (http://www.mstracey.btinternet.co.uk/index.htm) PIC Programming in Assembly (http://www.mstracey.btinternet.co.uk/index.htm) Tutorial 1 Good Programming Techniques. Before we get to the nitty gritty of programming the PIC, I think now is a good time

More information

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA Features Compatible with MCS-51 products On-chip Flash Program Memory Endurance: 1,000 Write/Erase Cycles On-chip EEPROM Data Memory Endurance: 100,000 Write/Erase Cycles 512 x 8-bit RAM ISO 7816 I/O Port

More information

AVR126: ADC of megaavr in Single Ended Mode. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

AVR126: ADC of megaavr in Single Ended Mode. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE AVR 8-bit Microcontrollers AVR126: ADC of megaavr in Single Ended Mode APPLICATION NOTE Introduction Atmel megaavr devices have a successive approximation Analog-to- Digital Converter (ADC) capable of

More information

Lesson-16: Real time clock DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK

Lesson-16: Real time clock DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK DEVICES AND COMMUNICATION BUSES FOR DEVICES NETWORK Lesson-16: Real time clock 1 Real Time Clock (RTC) A clock, which is based on the interrupts at preset intervals. An interrupt service routine executes

More information

ET-BASE AVR ATmega64/128

ET-BASE AVR ATmega64/128 ET-BASE AVR ATmega64/128 ET-BASE AVR ATmega64/128 which is a Board Microcontroller AVR family from ATMEL uses MCU No.ATmega64 and ATmega128 64PIN. Board ET-BASE AVR ATmega64/128 uses MCU s resources on

More information

8-bit Atmel Microcontroller with 8K/16K Bytes In-System Programmable Flash and LIN Controller. ATtiny87 ATtiny167

8-bit Atmel Microcontroller with 8K/16K Bytes In-System Programmable Flash and LIN Controller. ATtiny87 ATtiny167 Features High Performance, Low Power AVR 8-bit Microcontroller Advanced RISC Architecture 123 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

Section 44. CPU with Extended Data Space (EDS)

Section 44. CPU with Extended Data Space (EDS) Section 44. CPU with Extended Data Space (EDS) HIGHLIGHTS This section of the manual contains the following topics: 44.1 Introduction... 44-2 44.2 Programmer s Model... 44-5 44.3 Software Stack Pointer...

More information

8-bit Microcontroller. Application Note. AVR286: LIN Firmware Base for LIN/UART Controller. LIN Features. 1. Atmel LIN/UART Controller

8-bit Microcontroller. Application Note. AVR286: LIN Firmware Base for LIN/UART Controller. LIN Features. 1. Atmel LIN/UART Controller AVR286: LIN Firmware Base for LIN/UART Controller LIN Features The LIN (Local Interconnect Network) is a serial communications protocol which efficiently supports the control of mechatronics nodes in distributed

More information

150127-Microprocessor & Assembly Language

150127-Microprocessor & Assembly Language Chapter 3 Z80 Microprocessor Architecture The Z 80 is one of the most talented 8 bit microprocessors, and many microprocessor-based systems are designed around the Z80. The Z80 microprocessor needs an

More information

8-bit Microcontroller with 8K/16K Bytes In-System Programmable Flash

8-bit Microcontroller with 8K/16K Bytes In-System Programmable Flash Features High Performance, Low Power AVR 8-bit Microcontroller Advanced RISC Architecture 131 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

Serial Communications

Serial Communications Serial Communications 1 Serial Communication Introduction Serial communication buses Asynchronous and synchronous communication UART block diagram UART clock requirements Programming the UARTs Operation

More information

ARM Thumb Microcontrollers. Application Note. Software ISO 7816 I/O Line Implementation. Features. Introduction

ARM Thumb Microcontrollers. Application Note. Software ISO 7816 I/O Line Implementation. Features. Introduction Software ISO 7816 I/O Line Implementation Features ISO 7816-3 compliant (direct convention) Byte reception and transmission with parity check Retransmission on error detection Automatic reception at the

More information

AVR32. Architecture Document. Feature Summary

AVR32. Architecture Document. Feature Summary Feature Summary 32-bit load/store RISC architecture Up to 15 general-purpose 32-bit registers 32-bit Stack Pointer, Program Counter, and Link Register reside in register file Fully orthogonal instruction

More information

Freescale Semiconductor, I

Freescale Semiconductor, I nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development

More information

Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers. 8-bit Atmel Microcontrollers. Application Note.

Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers. 8-bit Atmel Microcontrollers. Application Note. Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers Features Atmel AVR core and Atmel AVR GCC introduction Tips and tricks to reduce code size Tips and tricks to reduce

More information

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine

Exceptions in MIPS. know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine 7 Objectives After completing this lab you will: know the exception mechanism in MIPS be able to write a simple exception handler for a MIPS machine Introduction Branches and jumps provide ways to change

More information

Why using ATmega16? University of Wollongong Australia. 7.1 Overview of ATmega16. Overview of ATmega16

Why using ATmega16? University of Wollongong Australia. 7.1 Overview of ATmega16. Overview of ATmega16 s schedule Lecture 7 - C Programming for the Atmel AVR School of Electrical, l Computer and Telecommunications i Engineering i University of Wollongong Australia Week Lecture (2h) Tutorial (1h) Lab (2h)

More information

PWM IN AVR. Developed by: Krishna Nand Gupta Prashant Agrawal Mayur Agarwal

PWM IN AVR. Developed by: Krishna Nand Gupta Prashant Agrawal Mayur Agarwal PWM IN AVR Developed by: Krishna Nand Gupta Prashant Agrawal Mayur Agarwal PWM (pulse width Modulation) What is PWM? Frequency = (1/T) Duty Cycle = (Thigh/T) What is need of PWM? I answer this in respect

More information

ATmega32A. Introduction. Features. 8-Bit AVR Microcontroller DATASHEET COMPLETE

ATmega32A. Introduction. Features. 8-Bit AVR Microcontroller DATASHEET COMPLETE 8-Bit AVR Microcontroller ATmega32A DATASHEET COMPLETE Introduction The Atmel ATmega32A is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions

More information

Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Systems I: Computer Organization and Architecture Lecture : Microprogrammed Control Microprogramming The control unit is responsible for initiating the sequence of microoperations that comprise instructions.

More information

Timer A (0 and 1) and PWM EE3376

Timer A (0 and 1) and PWM EE3376 Timer A (0 and 1) and PWM EE3376 General Peripheral Programming Model Each peripheral has a range of addresses in the memory map peripheral has base address (i.e. 0x00A0) each register used in the peripheral

More information