Human-Robot Interaction Class Koosy Human-Robot Interaction Class

Size: px
Start display at page:

Download "Human-Robot Interaction Class Koosy Human-Robot Interaction Class"

Transcription

1 ATmega128 (8bit AVR Microprocessor) Human-Robot Interaction Class Koosy 1

2 Contents Micro Controller Unit Overview ATmega128 Features Necessary Tools General I/O External Interrupt 8bit/16bit Timer/Counter Timer Interrupt PWM Generation Analog to Digital Converter USART 2

3 Micro Controller Unit Controller : Controls the flow of information Arithmetic Logic Unit : +, -, *, /, Shift, Rotate, AND, OR Memory : RAM(SRAM/DRAM ), ROM(Flash, EEPROM ) I/O : 2007 TCL Summer AVR Application Study 3

4 ATmega128 Features AVR 8-bit Microcontroller ATmega128L : 2.7~5.5V, 0~8MHz ATmega128 : 4.5~5.5V, 0~16MHz 128K Bytes of in-system reprogrammable flash 4K Bytes EEPROM 4K Bytes Internal SRAM Up to 64K Bytes optional external memory space 53 programmable I/O lines 8 Channels external interrupt Two 8-bit Timer/Counter Two 16-bit Timer/Counter 6 PWM channels with programmable resolution (2~16 bit) Output compare modulator 8-channels, 10-bit ADC Dual programmable Serial USART s Master/Slave SPI Serial interface On-chip Analog Comparator 4

5 Necessary Tools For Programming AVRStudio WinAVR Codevision For download and debug ISP : downlode JTAG : downlode + debug 5

6 General I/O 53 Read/Write convertible pin DDRn : Data Direction Register 0 : input / 1 : output Input DDRn : 0 PORTn : 1 using pull-up resistor 0 no using pull-up resistor PINn : Data resister Output DDRn : 1 PORTn : initial value 6

7 General I/O How to use? Output PIN Initial i Value Input PIN Pul-up up Resister 2007 TCL Summer AVR Application Study 7

8 External Interrupt 8 channels : INT0~7 Execute some function from external digital input Mode : low level / falling edge / rising edge 8

9 External Interrupt. How to use? Enable Ext IRQ Mode Select Falling Edge Rising Edge 9

10 External Interrupt. How to use? // External Interrupt 0 service routine interrupt [EXT_INT0] void ext_int0_isr(void){ // Place your code here } // External Interrupt 1 service routine interrupt [EXT_INT1] void ext_int1_isr(void){ i id){ // Place your code here } Function definition // External Interrupt(s) initializationi i i // INT0: On // INT0 Mode: Falling Edge // INT1: On // INT1 Mode: Rising i Edge // INT2: Off // INT3: Off // INT4: Off // INT5: Off // INT6: Off // INT7: Off EICRA=0x0E; EICRB=0x00; 00 EIMSK=0x03; EIFR=0x03; Resister setting 10

11 8bit/16bit Timer/Counter 8bit Timer Timer0, Timer2 8-bit Clear Timer on Compare Match(Auto Reload) Phase Correct PWM 10-bit Clock Prescaler Overflow and Compare Match Interrupt Source 16bit Timer Timer1, Timer3 16-bit Three independent Output Compare Unit Double Buffered Output Compare Registers One Input Capture Unit Clear Timer on Compare Match (Auto Reload) Phase Correct PWM Variable PWM Period 1 Overflow, 3 Output Compare, 1 Input Capture Interrupt Sources 11

12 8-bit Timer (Timer0, Timer2) Overflow Interrupt Timer Speed Output Compare Interrupt 8-bit register PWM Output Pin 12

13 Modes of Operation 1 Normal Mode Increase TCNT from Bottom(0x00) to Max(0xff) Overflow Interrupt at Max TCNT Restart from the Bottom when TCNT reaches to the Max Clear Timer of Compare Match (CTC)Mode 13

14 Modes of Operation 2 Fast PWM Mode 14

15 Modes of Operation 3 Phase Correct PWM Mode 15

16 16-bit Timer (Timer1, Timer3) Overflow Interrupt Timer Speed Output t Compare Interrupt t 16-bit register PWM Out Pin 16

17 Modes of Operation 1 Normal Mode Increase TCNT from Bottom(0x00) to Max(0xff) Overflow Interrupt at Max TCNT Restart from the Bottom when TCNT reaches to the Max Clear Timer of Compare Match (CTC)Mode 17

18 Modes of Operation 2 Fast PWM Mode 18

19 Modes of Operation 3 Phase Correct PWM Mode 19

20 Modes of Operation 4 Phase & Frequency Correct PWM Mode 20

21 Code Vision Setting Timer Speed Mode Selection Output pin Interrupt TCNT Output Compare Value 21

22 Example 1 1ms Timer interrupt Timer : 250kHz Mode : CTC OCR0 : 250 (0xfa) PWM generation Period : 1ms, Duty : 10%, Fast PWM 0.1ms 1ms Timer : 250kHz Mode : Fast PWM top=icr1 ICR1 = 0x00fa OCR1 = 0x

23 Codevision Program for Quiz1-11 // Timer 0 output compare interrupt service routine interrupt [TIM0_COMP] void timer0_comp_isr(void) { // Place your code here } // Port B initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x30; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: khz // Mode: Normal top=ffh // OC0 output: Disconnected ASSR=0x00; TCCR0=0x04; TCNT0=0x00; OCR0=0xFA; 23

24 Codevision Program for Quiz1-2 // Port B initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T PORTB=0x00; DDRB=0x30; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: khz // Mode: Fast PWM top=icr1 // OC1A output: Non-Inv. // OC1B output: Discon. // OC1C output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge TCCR1A=0x82; TCCR1B=0x1B; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0xFA; OCR1AH=0x00; OCR1AL=0x19; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL

25 Example 2 Set 16bit Timer for driving IC-servo motor IC-servo motor spec Pulse duration : 0.9ms~2.1ms. Pulse refreshes over 50Hz(20ms) Answer Clock : 2000kHz Duty : 65535/2000k = 32ms 0.9ms : 1800tic 2.1ms : 4200tic Resolution : =

26 Codevision Program for Quiz2 // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: khz // Mode: Fast PWM top=icr1 // OC1A output: Non-Inv. TCCR1A=0x82; TCCR1B=0x1A; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0xFF; ICR1L=0xFF; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; OCR1CH=0x00; OCR1CL=0x00; void main(void) { while(1){ // 0.9ms : 1800 ~ 2.1ms : 4200 // center 1.5ms : 3000 } OCR1AH = (3000 >> 8) & 0x00ff; OCR1AL = 3000 & 0x00ff; 26

27 Analog to Digital Converter 8 channels 10-bit / 8-bit resolution 0 ~ 5v Input Voltage Range Interrupt on ADC Conversion Complete 27

28 Code Vision Setting 28

29 Codevision Program #define ADC_VREF_TYPE 0x00 // Read the AD conversion result unsigned int read_adc(unsigned char adc_input) { ADMUX=adc_input ADC_VREF_TYPE; // Start the AD conversion ADCSRA =0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA =0x10; return ADCW; } // ADC initialization // ADC Clock frequency: khz // ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE; ADCSRA=0x87; while (1) { }; unsigned int a; a= read_adc(1); } 29

30 USART 2 channels Full duplex operation Asynchronous & Synchronous operation 5,6,7,8 or 9 data bits and 1 or 2 stop bits Odd or Even parity bit 2400~ Baud rate 30

31 USART Codevision Setting 31

32 USART Codevision Program char getchar(void){ char data; while (rx_counter0==0); data=rx_buffer0[rx_rd_index0]; if (++rx_rd_index0 == RX_BUFFER_SIZE0) rx_rd_index0=0; #asm("cli") --rx_counter0; #asm("sei") return data; } void putchar(char c){ while (tx_counter0 == TX_BUFFER_SIZE0); #asm("cli") if (tx_counter0 ((UCSR0A & DATA_REGISTER_EMPTY)==0)) { tx_buffer0[tx_wr_index0]=c; if (++tx_wr_index0 == TX_BUFFER_SIZE0) tx_wr_index0=0; ++tx_counter0; } else UDR0=c; #asm("sei") } 32

33 USART Codevision Program // USART0 Receiver interrupt service routine interrupt [USART0_RXC] void usart0_rx_isr(void) { char status,data; status=ucsr0a; data=udr0; if ((status & (FRAMING_ERROR PARITY_ERROR DATA_OVERRUN))==0) { rx_buffer0[rx_wr_index0]=data; if (++rx_wr_index0 == RX_BUFFER_SIZE0) rx_wr_index0=0; if (++rx_counter0 == RX_BUFFER_SIZE0) { rx_counter0=0; rx_buffer_overflow0=1; }; }; } void main(void) { char c; While(1){ c=getchar(); } } putchar(c); 33

34 Serial Packet for multi-data Add start and end byte Add check sum byte Example Transmit data1~3 Start byte : s, t End byte : e, d s t data1 data2 data3 data1+data2+data3 e d 34

35 THANK YOU 2007 TCL Summer AVR Application Study 35

University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory. GatorVac Written Report 2

University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory. GatorVac Written Report 2 University of Florida Department of Electrical and Computer Engineering EEL 5666 Intelligent Machines Design Laboratory GatorVac Written Report 2 By M. Gabriel Jiva July 8, 2003 Table of Contents Abstract..03

More information

Lawn Gator Autonomous Lawn Care Robot April 26, 2006 Michael Gregg EEL 5666C Intelligent Machine Design Lab

Lawn Gator Autonomous Lawn Care Robot April 26, 2006 Michael Gregg EEL 5666C Intelligent Machine Design Lab Lawn Gator Autonomous Lawn Care Robot April 26, 2006 Michael Gregg EEL 5666C Intelligent Machine Design Lab Table of Contents 1. Abstract 3 2. Executive Summary 4 3. Introduction 5 4. Integrated System

More information

DEVELOPMENT OF A SELF BALANCING BICYCLE ROBOT

DEVELOPMENT OF A SELF BALANCING BICYCLE ROBOT SUMMER PROJECT May-June, 2011 DEVELOPMENT OF A SELF BALANCING BICYCLE ROBOT BY SUBHOJIT GHOSH AND RAJAT ARORA Y9599 Y9464 Department of Mechanical Engineering Indian Institute of Technology Kanpur UNDER

More information

ATmega16A Microcontroller

ATmega16A Microcontroller ATmega16A Microcontroller Timers 1 Timers Timer 0,1,2 8 bits or 16 bits Clock sources: Internal clock, Internal clock with prescaler, External clock (timer 2), Special input pin 2 Features The choice of

More information

MICROCONTROLLER TUTORIAL II TIMERS

MICROCONTROLLER TUTORIAL II TIMERS MICROCONTROLLER TUTORIAL II TIMERS WHAT IS A TIMER? We use timers every day - the simplest one can be found on your wrist A simple clock will time the seconds, minutes and hours elapsed in a given day

More information

CHAPTER 5 HARDWARE IMPLEMENTATION AND PERFORMANCE ANALYSIS OF CUK CONVERTER-BASED MPPT SYSTEM

CHAPTER 5 HARDWARE IMPLEMENTATION AND PERFORMANCE ANALYSIS OF CUK CONVERTER-BASED MPPT SYSTEM 94 CHAPTER 5 HARDWARE IMPLEMENTATION AND PERFORMANCE ANALYSIS OF CUK CONVERTER-BASED MPPT SYSTEM 5.1 INTRODUCTION In coming up with a direct control adaptive perturb and observer MPPT method with Cuk converter,

More information

LAMPIRAN A DAFTAR FOTO SISTEM

LAMPIRAN A DAFTAR FOTO SISTEM LAMPIRAN A DAFTAR FOTO SISTEM FOTO SISTEM 1. Tampak Keseluruhan ASRS (Automatic Storage and Retrieval System) 2. Tampak Depan ASRS (Automatic Storage and Retrieval System) A-1 3. Tampak Samping Kiri ASRS

More information

uc Crash Course Whats is covered in this lecture Joshua Childs Joshua Hartman A. A. Arroyo 9/7/10

uc Crash Course Whats is covered in this lecture Joshua Childs Joshua Hartman A. A. Arroyo 9/7/10 uc Crash Course Joshua Childs Joshua Hartman A. A. Arroyo Whats is covered in this lecture ESD Choosing A Processor GPIO USARTS o RS232 o SPI Timers o Prescalers o OCR o ICR o PWM ADC Interupts 1 ESD KILLS!

More information

3.3V regulator. JA H-bridge. Doc: page 1 of 7

3.3V regulator. JA H-bridge. Doc: page 1 of 7 Cerebot Reference Manual Revision: February 9, 2009 Note: This document applies to REV B-E of the board. www.digilentinc.com 215 E Main Suite D Pullman, WA 99163 (509) 334 6306 Voice and Fax Overview The

More information

Embedded Systems and Software. Analog to Digital Conversion

Embedded Systems and Software. Analog to Digital Conversion Embedded Systems and Software Analog to Digital Conversion Slide 1 Analog to Digital Conversion Analog or continuous signal Discrete-time or digital signal Other terms ADC, A/D Many different techniques

More information

Lab 5: Control and Feedback. Lab 5: Controls and feedback. Lab 5: Controls and Feedback

Lab 5: Control and Feedback. Lab 5: Controls and feedback. Lab 5: Controls and Feedback Lab : Control and Feedback Lab : Controls and feedback K K You may need a resistor other than exactly K for better sensitivity This embedded system uses the Photo sensor to detect the light intensity of

More information

Carlo Pascoe. University of Florida Department of Electrical Engineering EEL 5666 Intelligent Machines Design Laboratory

Carlo Pascoe. University of Florida Department of Electrical Engineering EEL 5666 Intelligent Machines Design Laboratory Carlo Pascoe University of Florida Department of Electrical Engineering EEL 5666 Intelligent Machines Design Laboratory Final Report: Automated Poker Dealer Table of Contents Title Page. 1 Table of Contents.

More information

Hardware and software resources on the AVR family for the microcontroller project

Hardware and software resources on the AVR family for the microcontroller project Hardware and software resources on the AVR family for the microcontroller project 1 1. Code Vision The C Compiler you use: CodeVisionAVR (CVAVR) Where can you find it? a (limited) version is available

More information

Grundlagen Microcontroller Counter/Timer. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Counter/Timer. Günther Gridling Bettina Weiss Grundlagen Microcontroller Counter/Timer Günther Gridling Bettina Weiss 1 Counter/Timer Lecture Overview Counter Timer Prescaler Input Capture Output Compare PWM 2 important feature of microcontroller

More information

DASL 120 Introduction to Microcontrollers

DASL 120 Introduction to Microcontrollers DASL 120 Introduction to Microcontrollers Lecture 2 Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to 8-bit Microcontrollers Introduction to Atmel Atmega328

More information

Roland Kammerer. 13. October 2010

Roland Kammerer. 13. October 2010 Peripherals Roland Institute of Computer Engineering Vienna University of Technology 13. October 2010 Overview 1. Analog/Digital Converter (ADC) 2. Pulse Width Modulation (PWM) 3. Serial Peripheral Interface

More information

Programming and Interfacing

Programming and Interfacing AtmelAVR Microcontroller Primer: Programming and Interfacing Second Edition f^r**t>*-**n*c contents Preface xv AtmelAVRArchitecture Overview 1 1.1 ATmegal64 Architecture Overview 1 1.1.1 Reduced Instruction

More information

ECED3204: Microprocessor Part IV--Timer Function

ECED3204: Microprocessor Part IV--Timer Function ECED3204: Microprocessor Part IV--Timer Function Jason J. Gu Department of 1 Outline i. Introduction to the Microcontroller Timer System ii. Overview of the Mega AVR Timer System iii. Timer Clock Source

More information

ELCT 912: Advanced Embedded Systems

ELCT 912: Advanced Embedded Systems ELCT 912: Advanced Embedded Systems Lecture 5: PIC Peripherals on Chip Dr. Mohamed Abd El Ghany, Department of Electronics and Electrical Engineering The PIC Family: Peripherals Different PICs have different

More information

L13: (25%), (20%), (5%) ECTE333

L13: (25%), (20%), (5%) ECTE333 ECTE333 s schedule ECTE333 Lecture 1 - Pulse Width Modulator School of Electrical, Computer and Telecommunications Engineering University of Wollongong Australia Week Lecture (2h) Tutorial (1h) Lab (2h)

More information

Chapter 6 PROGRAMMING THE TIMERS

Chapter 6 PROGRAMMING THE TIMERS Chapter 6 PROGRAMMING THE TIMERS Force Outputs on Outcompare Input Captures Programmabl e Prescaling Prescaling Internal clock inputs Timer-counter Device Free Running Outcompares Lesson 2 Free Running

More information

Counter/Timers in the Mega8

Counter/Timers in the Mega8 Counter/Timers in the Mega8 The mega8 incorporates three counter/timer devices. These can: Be used to count the number of events that have occurred (either external or internal) Act as a clock Trigger

More information

Digital Braille Watch

Digital Braille Watch Digital Braille Watch Client: Colton and Holly Albrecht Advisor: Professor Walter Block Team members: Team leader Joel Gaston BSAC Ryan Kimmel BWIG Robert Bjerregaard Communications Allison McArton Date:

More information

The Interface Communicate to DC motor control. Iu Retuerta Cornet

The Interface Communicate to DC motor control. Iu Retuerta Cornet The Interface Communicate to DC motor control Iu Retuerta Cornet Mälardalens University, IDT department Supervisor and examiner : Lars Asplund 26 th May 2010 Abstract Mälardalens University makes internationally

More information

Design and Implementation of AT Mega 328 microcontroller based firing control for a tri-phase thyristor control rectifier

Design and Implementation of AT Mega 328 microcontroller based firing control for a tri-phase thyristor control rectifier Design and Implementation of AT Mega 328 microcontroller based firing control for a tri-phase thyristor control rectifier 1 Mr. Gangul M.R PG Student WIT, Solapur 2 Mr. G.P Jain Assistant Professor WIT,

More information

Department of Mechanical and Aerospace Engineering ME106 Fundamentals of Mechatronics Andrew Nguyen Ryan Nunn-Gage Amir Sepahmansour Maryam Sotoodeh

Department of Mechanical and Aerospace Engineering ME106 Fundamentals of Mechatronics Andrew Nguyen Ryan Nunn-Gage Amir Sepahmansour Maryam Sotoodeh NATCAR Department of Mechanical and Aerospace Engineering ME106 Fundamentals of Mechatronics Andrew Nguyen Ryan Nunn-Gage Amir Sepahmansour Maryam Sotoodeh May 16, 2006 Table of Contents I. Summary..3

More information

Implementation of Multiquadrant D.C. Drive Using Microcontroller

Implementation of Multiquadrant D.C. Drive Using Microcontroller Implementation of Multiquadrant D.C. Drive Using Microcontroller Author Seema Telang M.Tech. (IV Sem.) Department of Electrical Engineering Shri Ramdeobaba College of Engineering and Management Abstract

More information

Timer 0 Modes of Operation. Normal Mode Clear Timer on Compare Match (CTC) Fast PWM Mode Phase Corrected PWM Mode

Timer 0 Modes of Operation. Normal Mode Clear Timer on Compare Match (CTC) Fast PWM Mode Phase Corrected PWM Mode Timer 0 Modes of Operation Normal Mode Clear Timer on Compare Match (CTC) Fast PWM Mode Phase Corrected PWM Mode PWM - Introduction Recall: PWM = Pulse Width Modulation We will mostly use it for controlling

More information

Design with Microprocessors

Design with Microprocessors Design with Microprocessors Year III Computer Science 1-st Semester Lecture 5: AVR timers Timers AVR timers 8 bit timers/counters 16 bit timers/counters Characteristics Input clock prescaler Read / write

More information

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

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega16 ATmega16L. Preliminary 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

8-bit Microcontroller with 32K Bytes In-System Programmable Flash. ATmega32 ATmega32L

8-bit Microcontroller with 32K Bytes In-System Programmable Flash. ATmega32 ATmega32L 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

LAMPIRAN A FOTO WIRELESS SERVICE BELL

LAMPIRAN A FOTO WIRELESS SERVICE BELL LAMPIRAN A FOTO WIRELESS SERVICE BELL LAMPIRAN B SKEMATIK WIRELESS SERVICE BELL -------------------------------------------------------------------------- SKEMATIK TRANSMITTER... B-1 SKEMATIK RECEIVER...

More information

Robotic Development Kit. Powered using ATMEL technology

Robotic Development Kit. Powered using ATMEL technology Robotic Development Kit Powered using ATMEL technology Index 1. System overview 2. Technology overview 3. Individual dev-kit components I. Robot II. Remote III. IR-Pod IV. Base-Station V. RFID 4. Robonii

More information

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega8535 ATmega8535L

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega8535 ATmega8535L 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

The MC9S12 Pulse Width Modulation System. Pulse Width Modulation

The MC9S12 Pulse Width Modulation System. Pulse Width Modulation The MC9S12 Pulse Width Modulation System o Introduction to PWM o Review of the Output Compare Function o Using Output Compare to generate a PWM signal o Registers used to enable the Output Capture Function

More information

AVR 8-Bit Microcontroller

AVR 8-Bit Microcontroller ATmega8A Data Sheet Introduction The ATmega8A is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega8A

More information

Microcontroller: Timers, ADC

Microcontroller: Timers, ADC Microcontroller: Timers, ADC Amarjeet Singh February 1, 2013 Logistics Please share the JTAG and USB cables for your assignment Lecture tomorrow by Nipun 2 Revision from last class When servicing an interrupt,

More information

Two hydrogen atoms meet. One says "I've lost my electron. The other says "Are you sure?" The first replies "Yes, I'm positive."

Two hydrogen atoms meet. One says I've lost my electron. The other says Are you sure? The first replies Yes, I'm positive. Charge Two hydrogen atoms meet. One says "I've lost my electron. The other says "Are you sure?" The first replies "Yes, I'm positive." 1 Basic Concepts of Electricity Voltage Current Resistance 2 1 Electric

More information

with 128K Bytes 4K Bytes Internal SRAM Up to 64K Bytes Optional External Memory Space

with 128K Bytes 4K Bytes Internal SRAM Up to 64K Bytes Optional External Memory Space Features High-performance, Low-power 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

EE 308 Spring 2013 The MC9S12 Pulse Width Modulation System

EE 308 Spring 2013 The MC9S12 Pulse Width Modulation System The MC9S12 Pulse Width Modulation System o Introduction to PWM o Review of the Output Compare Function o Using Output Compare to generate a PWM signal o Registers used to enable the Output Capture Function

More information

Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett

Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Arduino Microcontroller Processing for Everyone!: Third Edition / Steven F. Barrett Anatomy of a Program Programs written for a microcontroller have a fairly repeatable format. Slight variations exist

More information

8-bit Microcontroller with 64K Bytes In-System Programmable Flash. ATmega64 ATmega64L. Preliminary. Features

8-bit Microcontroller with 64K Bytes In-System Programmable Flash. ATmega64 ATmega64L. Preliminary. Features 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 + Peripheral

More information

Embedded Hardware Design Lab4

Embedded Hardware Design Lab4 Embedded Hardware Design Lab4 Objective: Controlling the speed of dc motor using light sensor (LDR). In this lab, we would want to control the speed of a DC motor with the help of light sensor. This would

More information

Timer/Counter with PWM

Timer/Counter with PWM Timer/Counter with PWM The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi ATMEL 8-bit AVR Microcontroller with 4/8/16/32K Bytes In-System

More information

8-bit with 8K Bytes In-System Programmable Flash. ATmega8 ATmega8L. Preliminary

8-bit with 8K Bytes In-System Programmable Flash. ATmega8 ATmega8L. Preliminary 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

Activity 4: Due before the lab during the week of Feb

Activity 4: Due before the lab during the week of Feb Today's Plan Announcements: Lecture Test 2 programming in C Activity 4 Serial interfaces Analog output Driving external loads Motors: dc motors, stepper motors, servos Lecture Test Activity 4: Due before

More information

ATtiny102 / ATtiny104. Introduction. Feature. 8-bit AVR Microcontroller DATASHEET COMPLETE

ATtiny102 / ATtiny104. Introduction. Feature. 8-bit AVR Microcontroller DATASHEET COMPLETE 8-bit AVR Microcontroller ATtiny102 / ATtiny104 DATASHEET COMPLETE Introduction The Atmel ATtiny102/ATtiny104 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing

More information

8-bit Microcontroller with 32K Bytes In-System Programmable Flash. ATmega32A

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

More information

PIC Functionality. General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232

PIC Functionality. General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232 PIC Functionality General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232 General I/O Logic Output light LEDs Trigger solenoids Transfer data Logic Input Monitor

More information

8-bit with 8K Bytes In-System Programmable Flash. ATmega8* ATmega8L*

8-bit with 8K Bytes In-System Programmable Flash. ATmega8* ATmega8L* 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

8-bit Microcontroller with 128K Bytes of ISP Flash and CAN Controller

8-bit Microcontroller with 128K Bytes of ISP Flash and CAN Controller Features High-performance, Low-power 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

8-bit Microcontroller with 128K Bytes In-System Programmable Flash. ATmega128 ATmega128L

8-bit Microcontroller with 128K Bytes In-System Programmable Flash. ATmega128 ATmega128L Features High-performance, Low-power 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

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

8-bit Microcontroller with 32K/64K/128K Bytes of ISP Flash and CAN Controller AT90CAN32 AT90CAN64 AT90CAN128. Automotive 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

Introduction. Theory of Operation

Introduction. Theory of Operation Mohan Rokkam Page 1 12/15/2004 Introduction The goal of our project is to design and build an automated shopping cart that follows a shopper around. Ultrasonic waves are used due to the slower speed of

More information

Unit D. Serial Interfaces. Serial vs. Parallel. Serial Interfaces. Serial Communications

Unit D. Serial Interfaces. Serial vs. Parallel. Serial Interfaces. Serial Communications D.1 Serial Interfaces D.2 Unit D Embedded systems often use a serial interface to communicate with other devices. Serial implies that it sends or receives one bit at a time. Serial Communications Serial

More information

CprE 288 Introduction to Embedded Systems (Output Compare and PWM) Instructors: Dr. Phillip Jones

CprE 288 Introduction to Embedded Systems (Output Compare and PWM) Instructors: Dr. Phillip Jones CprE 288 Introduction to Embedded Systems (Output Compare and PWM) Instructors: Dr. Phillip Jones 1 Announcements HW8: Due Sunday 10/29 (midnight) Exam 2: In class Thursday 11/9 This object detection lab

More information

EIE/ENE 334 Microprocessors

EIE/ENE 334 Microprocessors EIE/ENE 334 Microprocessors Lecture 13: NuMicro NUC140 (cont.) Week #13 : Dejwoot KHAWPARISUTH Adapted from http://webstaff.kmutt.ac.th/~dejwoot.kha/ NuMicro NUC140: Technical Ref. Page 2 Week #13 NuMicro

More information

A Beginners Guide to AVR

A Beginners Guide to AVR See discussions, stats, and author profiles for this publication at: http://www.researchgate.net/publication/263084656 A Beginners Guide to AVR TECHNICAL REPORT JUNE 2014 DOWNLOADS 154 VIEWS 50 1 AUTHOR:

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

Switch/ Jumper Table 1-1: Factory Settings Factory Settings (Jumpers Installed) Function Controlled Activates pull-up/ pull-down resistors on Port 0 digital P7 I/O lines Activates pull-up/ pull-down resistors

More information

8-bit Microcontroller with 2K Bytes In-System Programmable Flash. ATtiny20

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

More information

Review for Final Exam

Review for Final Exam Review for Final Exam Numbers Decimal to Hex (signed and unsigned) Hex to Decimal (signed and unsigned) Binary to Hex Hex to Binary Addition and subtraction of fixed-length hex numbers Overflow, Carry,

More information

Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot Controllers

Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot Controllers Application Note: Using the Motor Driver on the 3pi Robot and Orangutan Robot 1. Introduction..................................................... 2 2. Motor Driver Truth Tables.............................................

More information

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

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

More information

8-bit Microcontroller with 512/1024 Bytes In-System Programmable Flash. ATtiny4/5/9/10

8-bit Microcontroller with 512/1024 Bytes In-System Programmable Flash. ATtiny4/5/9/10 Features High Performance, Low Power AVR 8-Bit Microcontroller Advanced RISC Architecture 54 Powerful Instructions Most Single Clock Cycle Execution 16 x 8 General Purpose Working Registers Fully Static

More information

AVR PWM 11 Aug In the table below you have symbols used in the text. The meaning of symbols is the same in the entire guide.

AVR PWM 11 Aug In the table below you have symbols used in the text. The meaning of symbols is the same in the entire guide. Aquaticus PWM guide AVR PWM 11 Aug 29 Introduction This guide describes principles of PWM for Atmel AVR micro controllers. It is not complete documentation for PWM nor AVR timers but tries to lighten some

More information

8-bit Atmel tinyavr Microcontroller with 16K Bytes In-System Programmable Flash. ATtiny1634

8-bit Atmel tinyavr Microcontroller with 16K Bytes In-System Programmable Flash. ATtiny1634 8-bit Atmel tinyavr Microcontroller with 16K Bytes In-System Programmable Flash Features High Performance, Low Power AVR 8-bit Microcontroller Advanced RISC Architecture 125 Powerful Instructions Most

More information

ATmega 16. Dariusz Chaberski

ATmega 16. Dariusz Chaberski ATmega 16 Dariusz Chaberski Obudowy 2 Schemat blokowy 3 4 5 Pamięć EEPROM The EEPROM Address Register The EEPROM Data Register 6 The EEPROM Control Register EERIE: EEPROM Ready Interrupt Enable EEMWE:

More information

8-bit Microcontroller with 4K Bytes In-System Programmable Flash and Boost Converter. ATtiny43U. Preliminary

8-bit Microcontroller with 4K Bytes In-System Programmable Flash and Boost Converter. ATtiny43U. Preliminary 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

Generating DTMF Tones Using Z8 Encore! MCU

Generating DTMF Tones Using Z8 Encore! MCU Application Note Generating DTMF Tones Using Z8 Encore! MCU AN024802-0608 Abstract This Application Note describes how Zilog s Z8 Encore! MCU is used as a Dual-Tone Multi- (DTMF) signal encoder to generate

More information

Topics Introduction to Microprocessors

Topics Introduction to Microprocessors Topics 2244 Introduction to Microprocessors Chapter 8253 Programmable Interval Timer/Counter Suree Pumrin,, Ph.D. Interfacing with 886/888 Programming Mode 2244 Introduction to Microprocessors 2 8253/54

More information

EE 308 Lab Spring 2009

EE 308 Lab Spring 2009 9S12 Subsystems: Pulse Width Modulation, A/D Converter, and Synchronous Serial Interface In this sequence of three labs you will learn to use three of the MC9S12's hardware subsystems. WEEK 1 Pulse Width

More information

Controlling DC Brush Motor using MD10B or MD30B. Version 1.2. Aug Cytron Technologies Sdn. Bhd.

Controlling DC Brush Motor using MD10B or MD30B. Version 1.2. Aug Cytron Technologies Sdn. Bhd. PR10 Controlling DC Brush Motor using MD10B or MD30B Version 1.2 Aug 2008 Cytron Technologies Sdn. Bhd. Information contained in this publication regarding device applications and the like is intended

More information

International Journal of Advance Engineering and Research Development

International Journal of Advance Engineering and Research Development Scientific Journal of Impact Factor (SJIF): 5.71 e-issn (O): 2348-4470 p-issn (P): 2348-6406 International Journal of Advance Engineering and Research Development A National Conference On Spectrum Of Opportunities

More information

Pololu TReX Jr Firmware Version 1.2: Configuration Parameter Documentation

Pololu TReX Jr Firmware Version 1.2: Configuration Parameter Documentation Pololu TReX Jr Firmware Version 1.2: Configuration Parameter Documentation Quick Parameter List: 0x00: Device Number 0x01: Required Channels 0x02: Ignored Channels 0x03: Reversed Channels 0x04: Parabolic

More information

Using the Z8 Encore! XP Timer

Using the Z8 Encore! XP Timer Application Note Using the Z8 Encore! XP Timer AN013104-1207 Abstract Zilog s Z8 Encore! XP microcontroller consists of four 16-bit reloadable timers that can be used for timing, event counting or for

More information

Project Final Report: Directional Remote Control

Project Final Report: Directional Remote Control Project Final Report: by Luca Zappaterra xxxx@gwu.edu CS 297 Embedded Systems The George Washington University April 25, 2010 Project Abstract In the project, a prototype of TV remote control which reacts

More information

8-bit with 8K Bytes In-System Programmable Flash. ATmega8A

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

More information

Instructor: Dr. Phillip Jones

Instructor: Dr. Phillip Jones CprE 288 Introduction to Embedded Systems Exam 2 Review Instructor: Dr. Phillip Jones http://class.ece.iastate.edu/cpre288 1 Announcements http://class.ece.iastate.edu/cpre288 2 EXAM http://class.ece.iastate.edu/cpre288

More information

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega169V ATmega169. Rev A to E

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATmega169V ATmega169. Rev A to E 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

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

8-bit Microcontroller with 128K Bytes In-System Programmable Flash. ATmega128A 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

EE445L Fall 2012 Final Version B Page 1 of 7

EE445L Fall 2012 Final Version B Page 1 of 7 EE445L Fall 2012 Final Version B Page 1 of 7 Jonathan W. Valvano First: Last: This is the closed book section. You must put your answers in the boxes on this answer page. When you are done, you turn in

More information

EE445L Fall 2011 Quiz 2A Page 1 of 6

EE445L Fall 2011 Quiz 2A Page 1 of 6 EE445L Fall 2011 Quiz 2A Page 1 of 6 Jonathan W. Valvano First: Last: November 18, 2011, 2:00pm-2:50pm. Open book, open notes, calculator (no laptops, phones, devices with screens larger than a TI-89 calculator,

More information

EE445L Fall 2014 Quiz 2A Page 1 of 5

EE445L Fall 2014 Quiz 2A Page 1 of 5 EE445L Fall 2014 Quiz 2A Page 1 of 5 Jonathan W. Valvano First: Last: November 21, 2014, 10:00-10:50am. Open book, open notes, calculator (no laptops, phones, devices with screens larger than a TI-89 calculator,

More information

Design of a Frequency Counter Based on Input Capture Function of a. Single Chip Computer. Wang Yanshuang; Liu Yuelong

Design of a Frequency Counter Based on Input Capture Function of a. Single Chip Computer. Wang Yanshuang; Liu Yuelong 7th International Conference on Advanced Design and Manufacturing Engineering (ICADME 2017) Design of a Frequency Counter Based on Input Capture Function of a Single Chip Computer Wang Yanshuang; Liu Yuelong

More information

High Performance, Low Power Atmel AVR 8-bit Microcontroller Advanced RISC Architecture. Non-volatile Program and Data Memories. Peripheral Features

High Performance, Low Power Atmel AVR 8-bit Microcontroller Advanced RISC Architecture. Non-volatile Program and Data Memories. Peripheral Features ATtiny828 8-bit AVR Microcontroller with 8K Bytes In-System Programmable Flash DATASHEET Features High Performance, Low Power Atmel AVR 8-bit Microcontroller Advanced RISC Architecture 123 Powerful Instructions

More information

EE 308: Microcontrollers

EE 308: Microcontrollers EE 308: Microcontrollers Introduction to Communication USART Aly El-Osery Electrical Engineering Department New Mexico Institute of Mining and Technology Socorro, New Mexico, USA February 27, 2018 Aly

More information

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny24/44/84. Preliminary

8-bit Microcontroller with 2/4/8K Bytes In-System Programmable Flash. ATtiny24/44/84. Preliminary 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

Serial Communication AS5132 Rotary Magnetic Position Sensor

Serial Communication AS5132 Rotary Magnetic Position Sensor Serial Communication AS5132 Rotary Magnetic Position Sensor Stephen Dunn 11/13/2015 The AS5132 is a rotary magnetic position sensor capable of measuring the absolute rotational angle of a magnetic field

More information

8-bit Microcontroller. Application Note. AVR086: Replacing AT90S8535 by ATmega8535

8-bit Microcontroller. Application Note. AVR086: Replacing AT90S8535 by ATmega8535 AVR086: Replacing by ATmega8535 Features Errata Corrected in ATmega8535 Changes to Names Improvements to Timer/Counters and Prescalers Improvements to the ADC Improvements to SPI and UART Changes to EEPROM

More information

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega48 ATmega88 ATmega168. Automotive

8-bit Microcontroller with 8K Bytes In-System Programmable Flash. ATmega48 ATmega88 ATmega168. Automotive 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

EE 308 Spring S12 SUBSYSTEMS: PULSE WIDTH MODULATION, A/D CONVERTER, AND SYNCHRONOUS SERIAN INTERFACE

EE 308 Spring S12 SUBSYSTEMS: PULSE WIDTH MODULATION, A/D CONVERTER, AND SYNCHRONOUS SERIAN INTERFACE 9S12 SUBSYSTEMS: PULSE WIDTH MODULATION, A/D CONVERTER, AND SYNCHRONOUS SERIAN INTERFACE In this sequence of three labs you will learn to use the 9S12 S hardware sybsystem. WEEK 1 PULSE WIDTH MODULATION

More information

EE 109 Midterm Review

EE 109 Midterm Review EE 109 Midterm Review 1 2 Number Systems Computer use base 2 (binary) 0 and 1 Humans use base 10 (decimal) 0 to 9 Humans using computers: Base 16 (hexadecimal) 0 to 15 (0 to 9,A,B,C,D,E,F) Base 8 (octal)

More information

Lecture #4 Outline. Announcements Project Proposal. AVR Processor Resources

Lecture #4 Outline. Announcements Project Proposal. AVR Processor Resources October 11, 2002 Stanford University - EE281 Lecture #4 #1 Announcements Project Proposal Lecture #4 Outline AVR Processor Resources A/D Converter (Analog to Digital) Analog Comparator Real-Time clock

More information

Atmel ATmega328P Timing Subsystems. Reading

Atmel ATmega328P Timing Subsystems. Reading 1 P a g e Atmel ATmega328P Timing Subsystems Reading The AVR Microcontroller and Embedded Systems using Assembly and C) by Muhammad Ali Mazidi, Sarmad Naimi, and Sepehr Naimi Chapter 9: Programming Timers

More information

Microprocessor & Interfacing Lecture Programmable Interval Timer

Microprocessor & Interfacing Lecture Programmable Interval Timer Microprocessor & Interfacing Lecture 30 8254 Programmable Interval Timer P A R U L B A N S A L A S S T P R O F E S S O R E C S D E P A R T M E N T D R O N A C H A R Y A C O L L E G E O F E N G I N E E

More information

Automatic Gas Cooking Control System based on Microcontroller

Automatic Gas Cooking Control System based on Microcontroller Automatic Gas Cooking Control System based on Microcontroller Mohammed Khalafalla Prof. Zhang Jun Department of Electronic Engineering Department of Electronic Engineering Tianjin University of Technology

More information

Motor Control using NXP s LPC2900

Motor Control using NXP s LPC2900 Motor Control using NXP s LPC2900 Agenda LPC2900 Overview and Development tools Control of BLDC Motors using the LPC2900 CPU Load of BLDCM and PMSM Enhancing performance LPC2900 Demo BLDC motor 2 LPC2900

More information

Peripheral Link Driver for ADSP In Embedded Control Application

Peripheral Link Driver for ADSP In Embedded Control Application Peripheral Link Driver for ADSP-21992 In Embedded Control Application Hany Ferdinando Jurusan Teknik Elektro Universitas Kristen Petra Siwalankerto 121-131 Surabaya 60236 Phone: +62 31 8494830, fax: +62

More information

Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller

Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller Rahul Baranwal 1, Omama Aftab 2, Mrs. Deepti Ojha 3 1,2, B.Tech Final Year (Electronics and Communication Engineering),

More information