Lecture 2. Introduction to Microcontrollers

Size: px
Start display at page:

Download "Lecture 2. Introduction to Microcontrollers"

Transcription

1 Lecture 2 Introduction to Microcontrollers 1

2 Microcontrollers Microcontroller CPU Microprocessor CPU (on single chip) 2

3 What is a Microcontroller Integrated chip that typically contains integrated CPU, memory (RAM ROM), I/O ports on a single Chip. System on a single Chip/ small computer on a single chip. Designed to execute a specific task to control a single system. Differs from Microprocessor general-purpose chip Used to design multi purpose computers or devices Require Multiple chips to handle various tasks Typically Microcontroller embedded inside some device. Microcontrollers are important part of Embedded systems. Abbreviated µc, uc or MCU. 3

4 Microcontroller Families 68H12: Motorola 68H11, 68HC12, 8051: Intel 8051, 8052, 80251, PIC: Microchip PIC16F628, 18F452, 16F877, AVR: Atmel ATmega128, ATtiny28L, AT90S8515, We are going to look at AVR 4

5 AVR Microcontroller AVR architecture was conceived by two students(alf Egil Bogen & Vegard Wollan RISC ) at Norwegian Institute of Technology (NTH) and further refined and developed at Atmel Norway (Atmel AVR). Atmel says that the name AVR is not an acronym and does not stand for anything in particular. The creators of the AVR give no definitive answer as to what the term "AVR" stands for. However, it is commonly accepted that AVR stands for Alf (Egil Bogen) and Vegard (Wollan)'s Risc processor" 5

6 AVR Microcontroller AVR Microcontrollers is Family of RISC Microcontrollers from Atmel. There are multiple architectures RISC (Reduced Instruction Set Computer) CISC (Complex Instruction Set Computer) 6

7 RISC versus CISC CISC Emphasis on hardware Include multi-clock complex instructions Memory-to-memory: Load and Store incorporated in instructions Small code sizes, high cycles per second Transistors used for storing complex instructions RISC Emphasis on software Include single-clock reduce instruction only Register-to-register: Load and Store are independent instructions Low cycles per second, large code sizes Spends more transistors on memory registers Most PC's use CPU based on CISC architecture. For instance Intel and AMD CPU's are based on CISC architectures. Apple is based on RISC architecture. 7

8 The AVR is a Harvard architecture CPU. Harvard Architecture AVR Microcontroller Computer architectures that used physically separate storage and signal pathways for their instructions and data. CPU can read both an instruction and data from at the same time that makes it faster. memory von Neumann architecture CPU can Read an instruction or data from/to the memory. Read, Write can`t occur at the same time due to same memory and signal pathway for data and instructions. 8

9 AVR Microcontroller Harvard Architecture Harvard Architecture diagram 9

10 AVR Microcontroller AVR is a family of 8-bit microntrollers with a large range of variants differing in: - Size of program-memory [ Flash] - Size of EEPROM memory [store long-term information.] - Size of SRAM [variables] - Number of I/O pins - Number of on-chip features such as UART and ADC Smallest microcontroller is the ATTiny11 Large such as the ATMEGA328 10

11 AVR Basic Families AVRs are generally classified into six broad groups: tinyavr : megaavr XMEGA the ATtiny series (ATtinyXX) kb program memory 6 32-pin package Limited peripheral set the ATmega series (ATmegaXXX) pin package, 16kB kb program memory Extended instruction set (Multiply instructions and instructions for handling larger program memories) Extensive peripheral set the ATxmega series kb program memory pin package Extended performance features, such as DMA. Extensive peripheral set with DACs

12 AVR Basic Families Application-specific AVR megaavrs with special features not found on the other members of the AVR family, such as LCD controller, USB controller, advanced PWM, CAN (controller area network) AVR with FPGA FPGA 5K to 40K gates SRAM for the AVR program code, unlike all other AVRs AVR core can run at up to 50 MHz 32-bit AVRs Main article: AVR32 In 2006 Atmel released microcontrollers based on the new, 32- bit, AVR32 architecture. They include SIMD (Single instruction, multiple data, is a class of parallel computers) and DSP instructions, along with other audio and video processing features. This 32-bit family of devices is intended to compete with the ARM based processors. The instruction set is similar to other RISC cores, but is not compatible with the original AVR or any of the various ARM cores.

13 AVR Part Numbers ATmega168: 8-bit AVR Microcontroller, 16KB Flash, 28/32-pin ATmega328: 8-bit AVR Microcontroller, 32KB Flash, 28/32-pin ATmega2560: 8-bit AVR Microcontroller, 256KB Flash, 100-pin ATmega168 Atmel group Flash =16KB 13

14 ATmega328 Internal Architecture Internal memories 32KB Flash 1KB EEPROM 2KB SRAM Timer/Counter 8-bit CPU Universal Synchronous and Asynchronous serial Receiver and Transmitter (Serial) Serial Peripheral Interface GPIO 2-wire Serial Interface 14

15 AVR Architecture 15

16 1.Registers AVR Architecture Two types of registers General purpose & Special purpose registers General purpose registers 32 general purpose registers Having storage capacity of 8-Bits Named as R0 to R31. Can store both Data & Addresses. Special purpose I/O registers : Three Program counter (PC) Stack Pointer (SP) Status Register (SREG) *Other I/O registers called SFRs 16

17 ATmegaxx8 Core Architecture 17

18 General Purpose Registers AVR Register File There are 32 8-bit GPR R0-R31 Used as accumulators for most math and logic X, Y, Z are 16-bit registers that overlap R26-R31 Used as address pointers Or to contain larger values (>255) 18

19 Status Register (SREG) Contains information about the result of the most recently executed arithmetic instruction. Information can be used for altering program flow in order to perform conditional operations. Updated after any of ALU operations by hardware. 19

20 (SREG) Bit 7 I: Global Interrupt Enable Used to enable and disable interrupts, 1: enabled. 0: disabled. The I-bit is cleared by hardware after an interrupt has occurred, and is set by the RETI instruction to enable subsequent interrupts. Bit 6 T: Bit Copy Storage The Bit Copy instructions; BLD (Bit LoaD) and BST (Bit STore) use the T-bit as source or destination for the operated bit. A bit from a register in the Register File (GPR) can be copied into T by the BST instruction, and a bit in T can be copied into a bit in a register in the Register File by the BLD instruction. Bit 5 H: Half Carry Flag The Half Carry Flag H indicates a Half Carry (carry from bit 4) in some arithmetic operations. Half Carry is useful in BCD arithmetic. Bit 4 S: Sign Bit Exclusive OR between the Negative Flag N and the Two s Complement Overflow Flag V ( S = N V). 20

21 (SREG) Bit 3 V: Two s Complement Overflow Flag The Two s Complement Overflow Flag V supports two s complement arithmetic. Bit 2 N: Negative Flag N is the most significant bit of the result. Bit 1 Z: Zero Flag Z indicates a zero result in an arithmetic or logic operation. 1: zero. 0: Non-zero. Bit 0 C: Carry Flag Set if there was carry from the MSB of the result; cleared otherwise. 21

22 Program Counter Register(PC) Holds address of next program instruction to be executed. Automatically incremented when the ALU executes an instruction. The size (width) of the program counter of a microcontroller is measured in bits and is directly related to the size of the microcontroller's program memory(16-bits). 22

23 Stack Pointer (SP) In AVR, a stack is implemented as a block of consecutive bytes in the SRAM memory. The Stack is mainly used for storing temporary data, for storing local variables and for storing return addresses after interrupts and subroutine calls. The Stack Pointer Register (16-bits) stores a pointer to a group of data known at the stack and always points to the top of the Stack. 23

24 Special Function Registers The I/O memory is dedicated to specific functions such as timers, serial communication, I/O ports, ADC and etc. Function of each I/O memory location is fixed by the CPU designer at the time of design. (because it is used for control of the microcontroller and peripherals) AVR I/O memory is made of 8 bit registers. All of the AVRs have at least 64 bytes of I/O memory location. (This 64 bytes section is called standard I/O memory) In other microcontrollers, the I/O registers are called SFRs (Special Function Registers) 24

25 Special Function Registers Address Name I/O Mem. $00 $20 TWBR $01 $21 TWSR $02 $22 TWAR $03 $23 TWDR $04 $24 ADCL $05 $25 ADCH $06 $26 ADCSRA $07 $27 ADMUX $08 $28 ACSR $09 $29 UBRRL $0A $2A UCSRB $0B $2B UCSRA $0C $2C UDR $0D $2D SPCR $0E $2E SPSR $0F $2F SPDR $10 $30 PIND $11 $31 DDRD $12 $32 PORTD $13 $33 PINC $14 $34 DDRC $15 $35 PORTC Address Name Address I/O Mem. I/O Mem. Name $16 $36 PINB $2B $4B OCR1AH $17 $37 DDRB $2C $4C TCNT1L $18 $38 PORTB $2D $4D TCNT1H $19 $39 PINA $2E $4E TCCR1B $1A $3A DDRA $2F $4F TCCR1A $1B $3B PORTA $30 $50 SFIOR $1C $3C EECR OCDR $1D $3D EEDR $31 $51 OSCCAL $1E $3E EEARL $32 $52 TCNT0 $1F $3F EEARH $33 $53 TCCR0 $20 $40 UBRRC $34 $54 MCUCSR UBRRH $35 $55 MCUCR $21 $41 WDTCR $36 $56 TWCR $22 $42 ASSR $37 $57 SPMCR $23 $43 OCR2 $38 $58 TIFR $24 $44 TCNT2 $39 $59 TIMSK $25 $45 TCCR2 $3A $5A GIFR $26 $46 ICR1L $3B $5B GICR $27 $47 ICR1H $3C $5C OCR0 $28 $48 OCR1BL $3D $5D SPL $29 $49 OCR1BH $3E $5E SPH $2A $4A OCR1AL $3E $5E SREG 25

26 I/O Memory Registers SREG: Status Register SP: Stack Pointer Register GIMSK: General Interrupt Mask Register GIFR: General Interrupt Flag Register MCUCR: MCU General Control Register MCUSR: MCU Status Register TCNTO: Timer/Counter 0 Register TCCR0A: Timer/Counter 0 Control Register A TCCR0B: Timer/Counter 0 Control Register B OCR0A: Timer/Counter 0 Output Compare Register A OCR0B: Timer/Counter 0 Output Compare Register B TIMSK0: Timer/Counter 0 Interrupt Mask Register TIFR0: Timer/Counter 0 Interrupt Flag Register EEAR: EEPROM Address Register EEDR: EEPROM Data Register EECR: EEPROM Control Register PORTB: PortB Data Register DDRB: PortB Data Direction Register PINB: Input Pins on PortB PORTD: PortD Data Register DDRD: PortD Data Direction Register PIND: Input Pins on PortD SPI I/O Data Register SPI Status Register SPI Control Register UART I/O Data Register UART Status Register UART Control Register UART Baud Rate Register ACSR: Analog Comparator Control and Status Register

27 2. AVR Memory Three parts, each has its own address space: Data memory Storing data to be processed. Program memory (flash) Storing program and sometimes constants. EEPROM memory Large permanent data storage.

28 Data Memory Space 28

29 Data Memory (RAM) In many AVR microcontrollers RAM is split into 4 subsections: General purpose registers. I/O registers (SFRs). Internal data SRAM. External data SRAM 29

30 Internal SRAM Internal data SRAM is widely used for storing data and parameters temporary by AVR programmers and C compilers. Each location of the SRAM can be accessed directly by its address. Each location is 8 bit wide and can be used to store any data we want. Size of SRAM is vary from chip to chip, even among members of the same family, ATmega328 has 2KB SRAM.. Memory is lost when power is shut off (volatile). Fast read and write. 30

31 Data Memory (EEPROM) 8-bit EEPROM memory. ATmega328 contains 1024 bytes. Different chip have different size of EEPROM. Typically reserved for variables that must retain their value in the event of a shutdown (non-volatile) (e.g., system calibration data unique to each board). Fast read; slow write. Can write individual bytes. Can be accessed using load and store instructions with special control bit settings 31

32 Program Memory (flash) Used to store program code. Memory contents retained when power is off (nonvolatile). Size dependent on AVR microcontroller Read-only memory (writing is external to code). Can only write entire blocks of memory at a time. Fast to read; slow to write. ATmegaxx8, there are 32KB of program memory (Flash memory) Organized as 16K 2-byte words Because program instructions are either 2 (common) or 4 (less common) bytes long Each word (not byte) in Flash memory has a unique address Beginning address $0000 Ending address $3FFF Some Flash memory is reserved or protected. First 42 words (reserved) bootloader sizes differs from 0.5 to 8 KB for different boards. 16 bit Flash Memory Reset and interrupt vector section 42 words (84 bytes) Your programs go here! $3C00 32 $002A

33 EEPROM and Flash The main difference between EEPROM and Flash is the type of logic gates that they use. While EEPROM uses the faster NOR, Flash uses the slower NAND type. The NOR type is a lot faster than the NAND type but there is the matter of affordability as the former is significantly more expensive than the NAND type. Summary: 1.Flash is just one type of EEPROM 2.Flash uses NAND type memory while EEPROM uses NOR type 3.Flash is block-wise erasable while EEPROM is byte-wise erasable 4.Flash is constantly rewritten while other EEPROMs are seldom rewritten 5.Flash is when large amounts are needed while EEPROM is used when only small amounts are needed. 33

34 Programming AVR Write your program (AVR Studio) Debug in Simulator mode Create.hex code Transfer code to Chip Connect USB Programmer (AVRISP MKII) to computer and breadboard Use AVR Studio to download program AVR Studio: Integrated Development Environment (IDE) for writing and debugging AVR applications for windows environments. Place chip in final position and run

35 What is a Development Board A printed circuit board designed to facilitate work with a particular microcontroller. Typical components included in development board: power circuit programming interface basic input; usually buttons and LEDs I/O pins 35

36 The Arduino Development Board Arduino (The name is an Italian, meaning strong friend ) is an opensource platform used for building electronics projects. Arduino consists of both a physical programmable circuit board (often referred to as a microcontroller) and a piece of software, or IDE (Integrated Development Environment) that runs on your computer, used to write and upload computer code to the physical board. 36

37 Arduino Microcontroller Boards Microcontroller ATmega328 Operating Voltage 5 V Input Voltage (recommended) 7-12 V Input Voltage (limits) 6-20 V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 ma DC Current for 3.3V Pin 50 ma Flash Memory 32 KB (ATmega328) of which 2 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz 37

38 ATmega328 Internal Architecture 38

39 ATmega328 Microcontroller Pin name Pin number Special function 39

40 Pins and Ports Overview GND: Ground (0V) VCC: Digital Supply Voltage (2,7 5,5V) AVCC: In Arduino Uno and ArduinoMega2560, this pin was simply connected to VCC. According to the atmel datasheet, this pin should be connected to a Low-Pass filter when the ADC converted is used. AREF: Analog Reference Voltage, usually VCC. /Reset: Low level on this pin will generate a reset Port B, Port C, Port D: The communication channels through which information flows into or out of the microcontroller. General Purpose 8 Bit bidirectional I/O Ports, optional internal pullupresistors when configured as input, output source capability 20mA. Special Functions of the Ports available as configured using the SFRs: Port D: UART, External Interrupts, Analog Comparator. [8 bits] Port B: External Oscillator/Crystal, SPI. [8 bits] Port C: A/D converters, TWI. [7 bits]

41 Pins and Ports Overview All the work of MCU happens through registers (special memory locations). Each port controlled by 3 8-bit registers. Each bit controls one I/O pin. DDRx: Direction register, defines whether a pin is an input (0) or and output (1), x denotes the port. DDRB = 0x02; /* sets the second lowest of port B to output. PINx: Pin input value, reading this register returns value of pin. unsigned int x= PINB; /* Places the status of port B into variable x */. PORTx: Pin output value, writing this register sets value of pin. PORTB = 0x02; /* sets the second bit of port B and clears the others */ 41

42 Port Registers PORTB: PortB Data Register Bit DDRB: PortB Data Direction Register Bit PINB: Input Pins on PortB Bit Similar for Ports C and D.

43 Arduino Pin Mapping 43

44 ATmega168/328-Arduino Pin Mapping 44

45 Arduino Digital and Analog I/O Pins Digital pins: Pins 0 7: PORT D [0:7] Pins 8 13: PORT B [0:5], 6&7 XTAL Digital pins 0 and 1 are RX and TX for serial communication. Digital pin 13 connected to the base board LED. Analog pins: Arduino analog pins (0 5) : PORT C [0:5], 6 reset 45

46 Arduino Digital Pin I/O Functions pinmode(pin, mode); Sets pin to INPUT or OUTPUT mode. Writes 1 bit in the DDRx register. digitalwrite(pin, value); Sets pin value to LOW or HIGH (0 or 1). Writes 1 bit in the PORTx register. int value = digitalread(pin); Reads back pin value (0 or 1). Read 1 bit in the PINx register. 46

47 Arduino Analog Pin I/O Functions Analog input pins: 0 5. Analog output pins: 3, 5, 6, 9, 10, 11 (digital pins). Analog input function: int val = analogread(pin), converts (0-5) voltage to a 10-bit number (0 1023), don t use pinmode, Pin=A0, or Ax. Analog output function: analogwrite(pin, value), value is (0-255), Generates a PWM output on digital pin (3, 5, 6, 9, 10, frequency, use pinmode(pin, OUTPUT); 47

48 Example/ Drive LED Arduino approach Alternate approach int mypin = 5; // Arduino digital pin 5 void setup() { pinmode(mypin,output); } void loop() { digitalwrite(mypin,high); delay(1000); //ms digitalwrite(mypin,low); delay(1000 ); //ms } void setup() { DDRD = DDRD B ; // D5 } void loop() { PORTD = PORTD B ; delay(1000); PORTD = PORTD & B ; delay(1000); } 48

49 Problem with SRAM size For example: string char message[] = "I support the Cape Wind project."; Which equals to 33 bytes into SRAM (each character takes a byte, plus the '\0' terminator). If you run out of SRAM, your program may fail in unexpected ways. 49

50 To solve this problem If your sketch talks to a program running on a (desktop/laptop) computer, you can try shifting data or calculations to the computer, reducing the load on the Arduino. If you have lookup tables or other large arrays, use the smallest data type necessary to store the values you need; for example, an int takes up two bytes, while a byte uses only one (but can store a smaller range of values). If you don't need to modify the strings or data while your sketch is running, you can store them in flash (program) memory instead of SRAM 50

Module 2: Introduction to AVR ATmega 32 Architecture

Module 2: Introduction to AVR ATmega 32 Architecture Module 2: Introduction to AVR ATmega 32 Architecture Definition of computer architecture processor operation CISC vs RISC von Neumann vs Harvard architecture AVR introduction AVR architecture Architecture

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems UsingANSICand the Arduino Development Environment David J. Russell University of NebraskaLincoln SYNTHESIS LECTURES ONDIGITAL CIRCUITSAND SYSTEMS #30 xi Preface Introduction

More information

AVR Microcontrollers Architecture

AVR Microcontrollers Architecture ก ก There are two fundamental architectures to access memory 1. Von Neumann Architecture 2. Harvard Architecture 2 1 Harvard Architecture The term originated from the Harvard Mark 1 relay-based computer,

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 4K/8K bytes In-System Programmable Flash AT90S4414 AT90S8515. Features. Pin Configurations

8-bit Microcontroller with 4K/8K bytes In-System Programmable Flash AT90S4414 AT90S8515. Features. Pin Configurations 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

More information

ATmega128. Introduction

ATmega128. Introduction ATmega128 Introduction AVR Microcontroller 8-bit microcontroller released in 1997 by Atmel which was founded in 1984. The AVR architecture was conceived by two students (Alf-Egil Bogen, Vergard-Wollen)

More information

8-bit Microcontroller with 4K Bytes of In-System Programmable Flash AT90S4433 AT90LS4433. Features. Not Recommend for New Designs. Use ATmega8.

8-bit Microcontroller with 4K Bytes of In-System Programmable Flash AT90S4433 AT90LS4433. Features. Not Recommend for New Designs. Use ATmega8. Features High-performance and Low-power AVR 8-bit RISC Architecture 118 Powerful Instructions Most Single Cycle Execution 32 x 8 General Purpose Working Registers Up to 8 MIPS Throughput at 8 MHz Data

More information

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Ali Karimpour Associate Professor Ferdowsi University of Mashhad AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar

More information

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2313

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2313 Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 118 Powerful Instructions Most Single Clock Cycle Execution 32x8GeneralPurposeWorkingRegisters Up to 10

More information

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega163 ATmega163L

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega163 ATmega163L Features High-performance, Low-power AVR 8-bit Microcontroller 3 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation Up to 8 MIPS Throughput

More information

8-bit Microcontroller with 8K Bytes Programmable Flash AT90C8534. Preliminary

8-bit Microcontroller with 8K Bytes Programmable Flash AT90C8534. Preliminary 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 16K Bytes In-System Programmable Flash. ATmega163 ATmega163L. Advance Information

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega163 ATmega163L. Advance Information Features High-performance, Low-power AVR 8-bit Microcontroller 3 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static Operation Up to 8 MIPS Throughput

More information

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Ali Karimpour Associate Professor Ferdowsi University of Mashhad AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar

More information

AVR MICROCONTROLLER ARCHITECTURTE

AVR MICROCONTROLLER ARCHITECTURTE AVR MICROCONTROLLER ARCHITECTURTE AVR MICROCONTROLLER AVR- Advanced Virtual RISC. The founders are Alf Egil Bogen Vegard Wollan RISC AVR architecture was conceived by two students at Norwegian Institute

More information

8-bit Microcontroller with 64K/128K Bytes In-System Programmable Flash. ATmega603 ATmega603L ATmega103 ATmega103L. Preliminary.

8-bit Microcontroller with 64K/128K Bytes In-System Programmable Flash. ATmega603 ATmega603L ATmega103 ATmega103L. Preliminary. Features Utilizes the AVR RISC Architecture AVR - High-performance and Low-power RISC Architecture 120/121 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers

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

Review on Lecture-1. ICT 6641: Advanced Embedded System. Lecture 2 Branch, Call and Delay Loops, AVR I/O port programming

Review on Lecture-1. ICT 6641: Advanced Embedded System. Lecture 2 Branch, Call and Delay Loops, AVR I/O port programming ICT 6641: Advanced Embedded System Lecture 2 Branch, Call and Delay Loops, AVR I/O port programming Prof. S. M. Lutful Kabir Session: April, 2011 Review on Lecture-1 Three parts of a computer : CPU, Memory

More information

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Lecture 14. Ali Karimpour Associate Professor Ferdowsi University of Mashhad Lecture 14 AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Lecture 4 The AVR Microcontroller Introduction to AVR CISC (Complex Instruction Set Computer) Put as

More information

MICROPROCESSOR BASED SYSTEM DESIGN

MICROPROCESSOR BASED SYSTEM DESIGN MICROPROCESSOR BASED SYSTEM DESIGN Lecture 5 Xmega 128 B1: Architecture MUHAMMAD AMIR YOUSAF VON NEUMAN ARCHITECTURE CPU Memory Execution unit ALU Registers Both data and instructions at the same system

More information

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) (Revision-10) FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100) PART-A (Maximum marks : 10) I. Answer all

More information

CPU. Objectives. Introduction to Assembly Chapter 2. Topics. AVR s CPU 12/09/2017

CPU. Objectives. Introduction to Assembly Chapter 2. Topics. AVR s CPU 12/09/2017 Students should be able to: Objectives ntroduction to Assembly Chapter 2 he AVR microcontroller and embedded systems using assembly and c List the registers of the AVR microcontroller Draw and label a

More information

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab AVR Training Board-I V., Konkuk Univ. Yong Beom Cho ybcho@konkuk.ac.kr What is microcontroller A microcontroller is a small, low-cost computeron-a-chip which usually includes: An 8 or 16 bit microprocessor

More information

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash. ATtiny22 ATtiny22L. Preliminary. Features. Description

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash. ATtiny22 ATtiny22L. Preliminary. Features. Description 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

More information

Diploma in Embedded Systems

Diploma in Embedded Systems Diploma in Embedded Systems Duration: 5 Months[5 days a week,3 hours a day, Total 300 hours] Module 1: 8051 Microcontroller in Assemble Language Characteristics of Embedded System Overview of 8051 Family

More information

Introduction to Arduino. Wilson Wingston Sharon

Introduction to Arduino. Wilson Wingston Sharon Introduction to Arduino Wilson Wingston Sharon cto@workshopindia.com Physical computing Developing solutions that implement a software to interact with elements in the physical universe. 1. Sensors convert

More information

8-bit Microcontroller with 1K Byte Flash. ATtiny15L

8-bit Microcontroller with 1K Byte Flash. ATtiny15L Features High-performance, Low-power AVR 8-bit Microcontroller Advanced RISC Architecture 90 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

AVR094: Replacing ATmega8 by ATmega88. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR094: Replacing ATmega8 by ATmega88. 8-bit Microcontrollers. Application Note. Features. Introduction AVR094: Replacing by 8 Features Interrupt Vectors Bit and Register s and locations Oscillators and Start up Delay Brown Out Detection USART Control Register access Internal Voltage Reference Programming

More information

8-bit Microcontroller with 1K Byte of In-System Programmable Flash AT90S1200

8-bit Microcontroller with 1K Byte of In-System Programmable Flash AT90S1200 Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 89 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General-purpose Working Registers Up to

More information

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

8-bit Microcontroller with 2K Bytes Flash. ATtiny26 ATtiny26L. Preliminary. Features 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

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2323 AT90LS2323 AT90S2343 AT90S/LS2323. Features.

8-bit Microcontroller with 2K Bytes of In-System Programmable Flash AT90S2323 AT90LS2323 AT90S2343 AT90S/LS2323. Features. 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

More information

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab

AVR Training Board-I. VLSI Design Lab., Konkuk Univ. LSI Design Lab AVR Training Board-I V., Konkuk Univ. Tae Pyeong Kim What is microcontroller A microcontroller is a small, low-cost computeron-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small

More information

Embedded programming, AVR intro

Embedded programming, AVR intro Applied mechatronics, Lab project Embedded programming, AVR intro Sven Gestegård Robertz Department of Computer Science, Lund University 2017 Outline 1 Low-level programming Bitwise operators Masking and

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

Microcontrollers. Microcontroller

Microcontrollers. Microcontroller Microcontrollers Microcontroller A microprocessor on a single integrated circuit intended to operate as an embedded system. As well as a CPU, a microcontroller typically includes small amounts of RAM and

More information

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs. acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.) Module 0 Introduction Introduction to Embedded Systems, Real Time

More information

The Atmel ATmega328P Microcontroller

The Atmel ATmega328P Microcontroller Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory 1 Introduction The Atmel ATmega328P Microcontroller by Allan G. Weber This document is a short introduction

More information

8-bit Microcontroller with 1K Byte Flash. ATtiny11. ATtiny12

8-bit Microcontroller with 1K Byte Flash. ATtiny11. ATtiny12 Features Utilizes the AVR RISC Architecture High-performance and Low-power 8-bit RISC Architecture 90 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Up

More information

8-bit Microcontroller with 1K Bytes Flash. ATtiny10 ATtiny11 ATtiny12. Preliminary. Features. Pin Configuration

8-bit Microcontroller with 1K Bytes Flash. ATtiny10 ATtiny11 ATtiny12. Preliminary. Features. Pin Configuration Features Utilizes the AVR RISC Architecture High-performance and Low-power 8-bit RISC Architecture 90 Powerful Instructions - Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers

More information

8-bit Microcontroller with 128K Bytes In-System Programmable Flash. ATmega103 ATmega103L

8-bit Microcontroller with 128K Bytes In-System Programmable Flash. ATmega103 ATmega103L Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 121 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers + Peripheral

More information

The Atmel ATmega168A Microcontroller

The Atmel ATmega168A Microcontroller Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory The Atmel ATmega168A Microcontroller by Allan G. Weber 1 Introduction The Atmel ATmega168A is one member of

More information

Programming Microcontroller Assembly and C

Programming Microcontroller Assembly and C Programming Microcontroller Assembly and C Course Number CLO : 2 Week : 5-7 : TTH2D3 CLO#2 Student have the knowledge to create basic programming for microcontroller [C3] Understand how to program in Assembly

More information

Robosoft Systems in association with JNCE presents. Swarm Robotics

Robosoft Systems in association with JNCE presents. Swarm Robotics Robosoft Systems in association with JNCE presents Swarm Robotics What is a Robot Wall-E Asimo ABB Superior Moti ABB FlexPicker What is Swarm Robotics RoboCup ~ 07 Lets Prepare for the Robotics Age The

More information

AT90S Bit Microcontroller with 8K bytes Downloadable Flash. AT90S8515 Preliminary. Features. Description. Pin Configurations

AT90S Bit Microcontroller with 8K bytes Downloadable Flash. AT90S8515 Preliminary. Features. Description. Pin Configurations Features Utilizes the AVR Enhanced RISC Architecture 120 Powerful Instructions - Most Single Clock Cycle Execution 8K bytes of In-System Reprogrammable Downloadable Flash - SPI Serial Interface for Program

More information

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA) COMP2121: Microprocessors and Interfacing Instruction Set Architecture (ISA) http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 Contents Memory models Registers Data types Instructions

More information

Distributed Real- Time Control Systems

Distributed Real- Time Control Systems Distributed Real- Time Control Systems Lecture 2 Embedded Systems Basics A. Bernardino, C. Silvestre, IST- ACSDC 1 What are embedded systems? Small computers to efficiently address specific purposes, e.g.

More information

AT90S Bit Microcontroller with 1K bytes Downloadable Flash AT90S1200. Features. Description. Pin Configuration

AT90S Bit Microcontroller with 1K bytes Downloadable Flash AT90S1200. Features. Description. Pin Configuration Features Utilizes the AVR Enhanced RISC Architecture 89 Powerful Instructions - Most Single Clock Cycle Execution 1K bytes of In-System Reprogrammable Downloadable Flash - SPI Serial Interface for Program

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers AVR Architecture Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA January 23, 2018 Aly El-Osery (NMT) EE 308:

More information

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers

Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers Lecture (4) Computer Hardware Requirements for ERTSs: Microprocessors & Microcontrollers Prof. Kasim M. Al-Aubidy Philadelphia University-Jordan DERTS-MSc, 2015 Prof. Kasim Al-Aubidy 1 Lecture Outline:

More information

Distributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems

Distributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems Distributed Real-Time Control Systems Module 3 Hardware for Real Time Distributed Control Systems 1 General Topology of Real-Time Distributed Control Systems System Management Data Backup Intranet User

More information

Microcontroller basics

Microcontroller basics FYS3240 PC-based instrumentation and microcontrollers Microcontroller basics Spring 2012 Lecture #4 Bekkeng, 5.2.2012 Lab: AVR Studio Microcontrollers can be programmed using Assembly or C language AVR

More information

Embedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester

Embedded Systems. PIC16F84A Internal Architecture. Eng. Anis Nazer First Semester Embedded Systems PIC16F84A Internal Architecture Eng. Anis Nazer First Semester 2017-2018 Review Computer system basic components? CPU? Memory? I/O? buses? Instruction? Program? Instruction set? CISC,

More information

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director AVR XMEGA TM A New Reference for 8/16-bit Microcontrollers Ingar Fredriksen AVR Product Marketing Director Kristian Saether AVR Product Marketing Manager Atmel AVR Success Through Innovation First Flash

More information

INTERRUPTS in microprocessor systems

INTERRUPTS in microprocessor systems INTERRUPTS in microprocessor systems Microcontroller Power Supply clock fx (Central Proccesor Unit) CPU Reset Hardware Interrupts system IRQ Internal address bus Internal data bus Internal control bus

More information

8051 Microcontroller

8051 Microcontroller 8051 Microcontroller The 8051, Motorola and PIC families are the 3 leading sellers in the microcontroller market. The 8051 microcontroller was originally developed by Intel in the late 1970 s. Today many

More information

8-bit Microcontroller with 2K Bytes of Flash. ATtiny28L ATtiny28V

8-bit Microcontroller with 2K Bytes of Flash. ATtiny28L ATtiny28V Features Utilizes the AVR RISC Architecture AVR High-performance and Low-power RISC Architecture 90 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General-purpose Working Registers Up to

More information

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor 1 2 A microprocessor is a single, very-large-scale-integration (VLSI) chip that contains many digital circuits that perform arithmetic, logic, communication, and control functions. When a microprocessor

More information

Basic Components of Digital Computer

Basic Components of Digital Computer Digital Integrated Circuits & Microcontrollers Sl. Mihnea UDREA, mihnea@comm.pub.ro Conf. Mihai i STANCIU, ms@elcom.pub.ro 1 Basic Components of Digital Computer CPU (Central Processing Unit) Control and

More information

INTERFACING HARDWARE WITH MICROCONTROLLER

INTERFACING HARDWARE WITH MICROCONTROLLER INTERFACING HARDWARE WITH MICROCONTROLLER P.Raghavendra Prasad Final Yr EEE What is a Microcontroller? A microcontroller (or MCU) is acomputer-on-a-chip. It is a type of microprocessor emphasizing self-

More information

Lecture 1. Course Overview and The 8051 Architecture

Lecture 1. Course Overview and The 8051 Architecture Lecture 1 Course Overview and The 8051 Architecture MCUniversity Program Lectures 8051 architecture t System overview of C8051F020 8051 instruction set System clock, crossbar and GPIO Assembler directives

More information

DatasheetDirect.com. Visit to get your free datasheets. This datasheet has been downloaded by

DatasheetDirect.com. Visit  to get your free datasheets. This datasheet has been downloaded by DatasheetDirect.com Your dedicated source for free downloadable datasheets. Over one million datasheets Optimized search function Rapid quote option Free unlimited downloads Visit www.datasheetdirect.com

More information

Features Utilizes the AVR Enhanced RISC Architecture AVR - High Performance and Low Power RISC Architecture 118 Powerful Instructions - Most Single Cl

Features Utilizes the AVR Enhanced RISC Architecture AVR - High Performance and Low Power RISC Architecture 118 Powerful Instructions - Most Single Cl Features Utilizes the AVR Enhanced RISC Architecture AVR - High Performance and Low Power RISC Architecture 118 Powerful Instructions - Most Single Clock Cycle Execution 8K bytes of In-System Programmable

More information

Clock and Fuses. Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar

Clock and Fuses. Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar Clock and Fuses Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar Reference WHY YOU NEED A CLOCK SOURCE - COLIN O FLYNN avrfreaks.net http://en.wikibooks.org/wiki/atmel_avr

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Stefan Kowalewski, 4. November 25 Introduction to Embedded Systems Part 2: Microcontrollers. Basics 2. Structure/elements 3. Digital I/O 4. Interrupts 5. Timers/Counters Introduction to Embedded Systems

More information

Microcomputer Architecture and Programming

Microcomputer Architecture and Programming IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller

More information

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

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega8515 ATmega8515L. Features 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

2011 Pearson Higher Education, Mazidi, Naimi, and Naimi Pearson Higher Education, 2011 Pearson Higher Education,

2011 Pearson Higher Education, Mazidi, Naimi, and Naimi Pearson Higher Education, 2011 Pearson Higher Education, Objectives Students should be able to: The AVR microcontroller and embedded systems using assembly and c Introduction to AVR Chapter 1 Compare and contrast microprocessors and microcontrollers Describe

More information

VCC PB2 (SCK/ADC1/T0/PCINT2) PB1 (MISO/AIN1/OC0B/INT0/PCINT1) PB0 (MOSI/AIN0/OC0A/PCINT0)

VCC PB2 (SCK/ADC1/T0/PCINT2) PB1 (MISO/AIN1/OC0B/INT0/PCINT1) PB0 (MOSI/AIN0/OC0A/PCINT0) 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 XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.

AVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction. AVR XMEGA TM Product Introduction 32-bit AVR UC3 AVR Flash Microcontrollers The highest performance AVR in the world 8/16-bit AVR XMEGA Peripheral Performance 8-bit megaavr The world s most successful

More information

Introduction. Unit 4. Numbers in Other Bases in C/C++ BIT FIDDLING. Microcontrollers (Arduino) Overview Digital I/O

Introduction. Unit 4. Numbers in Other Bases in C/C++ BIT FIDDLING. Microcontrollers (Arduino) Overview Digital I/O 4.1 4.2 Introduction Unit 4 Microcontrollers () Overview Digital I/O The primary way that software controls hardware is by manipulating individual bits We need to learn how to: Set a bit to a 1 Clear a

More information

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation 2 Atmel AVR 8-bit RISC architecture

More information

Topic 11: Interrupts ISMAIL ARIFFIN FKE UTM SKUDAI JOHOR

Topic 11: Interrupts ISMAIL ARIFFIN FKE UTM SKUDAI JOHOR Topic 11: Interrupts ISMAIL ARIFFIN FKE UTM SKUDAI JOHOR Objectives To become familiar with interrupts on the AVR Maskable and non-maskable Initialization Triggers To develop interrupt service routines

More information

Microcontroller basics

Microcontroller basics FYS3240 PC-based instrumentation and microcontrollers Microcontroller basics Spring 2017 Lecture #4 Bekkeng, 30.01.2017 Lab: AVR Studio Microcontrollers can be programmed using Assembly or C language In

More information

Microprocessors/Microcontrollers

Microprocessors/Microcontrollers Microprocessors/Microcontrollers A central processing unit (CPU) fabricated on one or more chips, containing the basic arithmetic, logic, and control elements of a computer that are required for processing

More information

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo

AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation 2 Atmel AVR 8-bit RISC architecture

More information

8-Bit Microcontroller with 1K bytes In-System Programmable Flash AT90S1200. Features. Description. Pin Configuration

8-Bit Microcontroller with 1K bytes In-System Programmable Flash AT90S1200. Features. Description. Pin Configuration Features AVR - High Performance and Low Power RISC Architecture 89 Powerful Instructions - Most Single Clock Cycle Execution 1K bytes of In-System Reprogrammable Flash SPI Serial Interface for Program

More information

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

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

More information

8-Bit Microcontroller with 2K bytes Downloadable Flash. AT90S2313 Preliminary. Features. Description. Pin Configuration

8-Bit Microcontroller with 2K bytes Downloadable Flash. AT90S2313 Preliminary. Features. Description. Pin Configuration Features Utilizes the AVR Enhanced RISC Architecture AVR - High Performance and Low Power RISC Architecture 120 Powerful Instructions - Most Single Clock Cycle Execution 2K bytes of In-System Reprogrammable

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Review Part I Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA February 15, 2018 Aly El-Osery (NMT) EE 308:

More information

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega169V ATmega169. Features. Notice: Not recommended in new designs.

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega169V ATmega169. Features. Notice: Not recommended in new designs. Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 130 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Working Registers Fully Static

More information

ECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015

ECE 353 Lab 4. General MIDI Explorer. Professor Daniel Holcomb Fall 2015 ECE 353 Lab 4 General MIDI Explorer Professor Daniel Holcomb Fall 2015 Where are we in Course Lab 0 Cache Simulator in C C programming, data structures Cache architecture and analysis Lab 1 Heat Flow Modeling

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Introduction Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA January 6, 2018 Aly El-Osery (NMT) EE 308: Microcontrollers

More information

Arduino Uno R3 INTRODUCTION

Arduino Uno R3 INTRODUCTION Arduino Uno R3 INTRODUCTION Arduino is used for building different types of electronic circuits easily using of both a physical programmable circuit board usually microcontroller and piece of code running

More information

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

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text In this lecture the detailed architecture of 8051 controller, register bank,

More information

ARDUINO MEGA INTRODUCTION

ARDUINO MEGA INTRODUCTION ARDUINO MEGA INTRODUCTION The Arduino MEGA 2560 is designed for projects that require more I/O llines, more sketch memory and more RAM. With 54 digital I/O pins, 16 analog inputs so it is suitable for

More information

AVR ISA & AVR Programming (I)

AVR ISA & AVR Programming (I) AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo Week 1 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation Week 1 2 1 Atmel AVR 8-bit

More information

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

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny261/V ATtiny461/V ATtiny861/V. Preliminary 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

Mechatronics and Microcomputers. Stipendium Hungaricum 2018/2019 Autumn Semester Szilárd Aradi, PhD

Mechatronics and Microcomputers. Stipendium Hungaricum 2018/2019 Autumn Semester Szilárd Aradi, PhD Mechatronics and Microcomputers Stipendium Hungaricum 2018/2019 Autumn Semester Szilárd Aradi, PhD ATmega128 CPU Single-level pipelining Egyciklusú ALU működés Reg. reg., reg. konst. közötti műveletek

More information

COMP2121: Microprocessors and Interfacing

COMP2121: Microprocessors and Interfacing Lecture 19: Interrupts II http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 1, 2006 Overview AVR Interrupts Interrupt Vector Table System Reset Watchdog Timer Timer/Counter0 Interrupt Service

More information

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core TKT-3500 Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core Erno Salminen Copyright notice Some figures by Robert Reese, from supplementary CD of the course book from PIC18F8722 Family

More information

Workshop on Microcontroller Based Project Development

Workshop on Microcontroller Based Project Development Organized by: EEE Club Workshop on Microcontroller Based Project Development Presented By Mohammed Abdul Kader Assistant Professor, Dept. of EEE, IIUC Email:kader05cuet@gmail.com Website: kader05cuet.wordpress.com

More information

Microcontroller: CPU and Memory

Microcontroller: CPU and Memory Microcontroller: CPU and Memory Amarjeet Singh January 15, 2013 Partly adopted from EE202A, UCLA Slides by Mani Srivastava Logistics Programming EVK1100 Guidelines for programming using AVR32 Studio on

More information

Unit 14 Timers and Counters 14.1

Unit 14 Timers and Counters 14.1 Unit 14 Timers and Counters 14.1 14.2 Counter/Timers Overview ATmega328P has two and one counters. Can configure to count at some frequency up to some value (a.k.a. ), generate an and counkng again, if

More information

19.1. Unit 19. Serial Communications

19.1. Unit 19. Serial Communications 9. Unit 9 Serial Communications 9.2 Serial Interfaces Embedded systems often use a serial interface to communicate with other devices. Serial implies that it sends or receives one bit at a time. µc Device

More information

Microprocessors And Microcontroller

Microprocessors And Microcontroller Microprocessors And Microcontroller Semester : 4 th, 5 th (TL, ES) Course Code : ES256, ES313 By: Dr. Attiya Baqai Assistant Professor, Department of Electronics, MUET. Internal block diagram of CPU Internal

More information

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

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny261 ATtiny461 ATtiny861. Automotive 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

8-bit XMEGA D Microcontroller XMEGA D MANUAL. Preliminary

8-bit XMEGA D Microcontroller XMEGA D MANUAL. Preliminary This document contains complete and detailed description of all modules included in the AVR XMEGA TM D Microcontroller family. The XMEGA D is a family of low power, high performance and peripheral rich

More information

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad Objectives To be familiar with microcontrollers, PIC18F4550 microcontroller. Tools PIC18F4550 Microcontroller, MPLAB software,

More information

Microprocessors And Microcontrollers (Practical)

Microprocessors And Microcontrollers (Practical) Microprocessors And Microcontrollers (Practical) Semester : 4 th, 5 th (TL, ES) Course Code : ES256, ES313 By: Dr. Attiya Baqai Assistant Professor, Department of Electronics, MUET. 3 Introduction to Programming

More information

Memory Architectures. Hongwei Zhang. Chapter 9

Memory Architectures. Hongwei Zhang.   Chapter 9 Chapter 9 Memory Architectures Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, and Seshia. Role of Memory in Embedded

More information

ARDUINO YÚN MINI Code: A000108

ARDUINO YÚN MINI Code: A000108 ARDUINO YÚN MINI Code: A000108 The Arduino Yún Mini is a compact version of the Arduino YUN OVERVIEW: Arduino Yún Mini is a breadboard PCB developed with ATmega 32u4 MCU and QCA MIPS 24K SoC CPU operating

More information