Generating PWM on LPCXpresso - LPC1769

Size: px
Start display at page:

Download "Generating PWM on LPCXpresso - LPC1769"

Transcription

1 2012 Generating PWM on LPCXpresso - LPC1769 Author: Manoj

2 PWM Pulse Width Modulation, or PWM, is a well known technique used in power controlling delivering the preferred amount of power to the load. It outputs the analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This onoff pattern can simulate voltages in between full on (3.3 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. The longer the ON period compared to the OFF period, the higher the power supplied to the load is. To get varying analog values, you change, or modulate, that pulse width. If you repeat this onoff pattern fast enough with an LED for example, the result is as if the signal is a steady voltage between 0 and 3.3v controlling the brightness of the LED. RGB LED RGB led is nothing but three primary color LEDs namely Red, Green, Blue are cascaded in a single package. This LED's are widely used to obtain the desired colors by the additive mixing of these colors. Figure: RGB LED Figure: RGB LED pin out The RGB LEDs are available either in common anode or common cathode mode If these three LEDs share the same positive (anode) terminal, which means that this RGB LED has a "common anode" connection. To control each color, simply connect its cathode pin to ground (through a resistor as a current limiter), and it will light up. 1

3 Demo: Controlling the Brightness of the RGB LED with PWM outputs from the controller For this demo, we are connecting a tri-color RGB LED to the microcontroller with PWM ("virtual analog") outputs to control the brightness of each color, the PWM values are continuously varied using simple looping statements within the coding hence you can see the different colors at the output. Figure: Schematic Code: /* ============================================================================ Name : main.c Author : Vinayak R Version : 1.0 Copyright : Copyright (C) Description : main definition ============================================================================ */ #ifdef USE_CMSIS #include "LPC17xx.h" #endif #include <cr_section_macros.h> #include <NXP/crp.h> // Variable to store CRP value in. Will be placed automatically // by the linker when "Enable Code Read Protect" selected. // See crp.h header for more information CRP const unsigned int CRP_WORD = CRP_NO_CRP ; // TODO: insert other include files here // TODO: insert other definitions and declarations here // Control whether debug printf are displayed via semihosting to the // debugger console window #define SEMIHOSTING_CONSOLE TRUE 2

4 #ifdef SEMIHOSTING_CONSOLE #include <stdio.h> #define DBG printf #else #define DBG(x...) #endif #define PCPWM1 (1 << 6) #define PCLK_PWM1_BY8 ((1 << 13) (1 << 12)) #define PCLK_PWM1_BY4 ~(PCLK_PWM1_BY8) #define PCLK_PWM1 ((0 << 13) (1 << 12)) #define PCLK_PWM1_BY2 ((1 << 13) (0 << 12)) #define LER0_EN 1 << 0 #define LER1_EN 1 << 1 #define LER2_EN 1 << 2 #define LER3_EN 1 << 3 #define LER4_EN 1 << 4 #define LER5_EN 1 << 5 #define LER6_EN 1 << 6 #define PWMENA1 1 << 9 #define PWMENA2 1 << 10 #define PWMENA3 1 << 11 #define PWMENA4 1 << 12 #define PWMENA5 1 << 13 #define PWMENA6 1 << 14 #define TCR_CNT_EN 0x #define TCR_RESET 0x #define TCR_PWM_EN 0x #define INITPWMVAL 0 #define ENDPWMVAL #define STEP 400 // Function Declaration void InitPWM(); void SetPWM(int,char); void delay(int); int main(void) int i, j, k; int iter = 0; // TODO: insert code here InitPWM(); for(i = INITPWMVAL;i <= ENDPWMVAL; i += STEP) for(j = INITPWMVAL;j <= ENDPWMVAL; j += STEP) for(k = INITPWMVAL;k <= ENDPWMVAL; k += STEP) SetPWM(i,'R'); SetPWM(j,'G'); SetPWM(k,'B'); delay(5); DBG("PWM value i = %d, j = %d, k = %d\n", i, j, k); for(k = ENDPWMVAL ;k >= INITPWMVAL ; k -= STEP) SetPWM(i,'R'); 3

5 return 0 ; SetPWM(j,'G'); SetPWM(k,'B'); delay(5); DBG("PWM value i = %d, j = %d, k = %d\n", i, j, k); void InitPWM() //enable PWM1 Power LPC_SC ->PCON = PCPWM1; //PWM peripheral clk = PCLK LPC_SC ->PCLKSEL0 &= (PCLK_PWM1_BY4); //Put P0.26 in Hi-Z so it can be shorted to PWM1.2 (P2.2) // LPC_PINCON->PINMODE1 &= ~(0x3<<20); // LPC_PINCON->PINMODE1 = 0x2<<20; // LPC_GPIO0->FIODIR &= ~(1<<26); //Pin select LPC_PINCON->PINSEL4 = (0x1<<0) (0x1<<2) (0x1<<4); // count frequency:fpclk LPC_PWM1->PR = 0x00; //reset on MR0 LPC_PWM1->MCR = 1 << 1; // set PWM cycle LPC_PWM1->MR0 = ENDPWMVAL; //LEDs default to OFF LPC_PWM1->MR1 = 0; LPC_PWM1->MR2 = 0; LPC_PWM1->MR3 = 0; //Load Shadow register content LPC_PWM1->LER = LER0_EN LER1_EN LER2_EN LER3_EN; //Enable PWM outputs LPC_PWM1->PCR = PWMENA1 PWMENA2 PWMENA3 PWMENA4; //Enable PWM Timer LPC_PWM1->TCR = TCR_CNT_EN TCR_PWM_EN; void SetPWM(int PWMval, char rgb) if(rgb == 'R') LPC_PWM1->MR1 = PWMval; else if(rgb == 'G') LPC_PWM1->MR2 = PWMval; else if(rgb == 'B') LPC_PWM1->MR3 = PWMval; 4

6 LPC_PWM1->LER = LER0_EN LER1_EN LER2_EN LER3_EN; void delay(int val) int j,i; for(j = 0; j < val; j++) for(i = 0 ; i < 10000; i++); Demo Application: RGB LED is connected to the LPCXpresso LPC1769 board The RGB LED is put into the casing ball for the clear visibility in the color variations. 5

7 The color variations; the color is continuously changing 6

8 7

9 8

analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin.

analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin. analogwrite(); The analogwrite function writes an analog value (PWM wave) to a PWM-enabled pin. Syntax analogwrite(pin, value); For example: analogwrite(2, 255); or analogwrite(13, 0); Note: Capitalization

More information

International Journal of Advance Research in Engineering, Science & Technology

International Journal of Advance Research in Engineering, Science & Technology Impact Factor (SJIF): 5.301 International Journal of Advance Research in Engineering, Science & Technology e-issn: 2393-9877, p-issn: 2394-2444 Volume 5, Issue 9, September-2018 Development of RGB LED

More information

FUNCTIONS For controlling the Arduino board and performing computations.

FUNCTIONS For controlling the Arduino board and performing computations. d i g i t a l R e a d ( ) [Digital I/O] Reads the value from a specified digital pin, either HIGH or LOW. digitalread(pin) pin: the number of the digital pin you want to read HIGH or LOW Sets pin 13 to

More information

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process Lab 01 Arduino 程式設計實驗 Essential Arduino Programming and Digital Signal Process Arduino Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's

More information

Taking the LPC800 into the delta quadrant :)

Taking the LPC800 into the delta quadrant :) Taking the LPC800 into the delta quadrant :) Background One of our boys received a Revell model of the starship Voyager (from Star Trek) as a gift. It sat on his shelf for a least a year crying out for

More information

Introduction to uvision and ARM Cortex M3

Introduction to uvision and ARM Cortex M3 Introduction to uvision and ARM Cortex M3 COE718: Embedded System Design Lab 1 1. Objectives The purpose of this lab is to introduce students to the Keil uvision IDE, the ARM Cortex M3 architecture, and

More information

ARM HOW-TO GUIDE Interfacing Switch with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing Switch with LPC2148 ARM ARM HOW-TO GUIDE Interfacing Switch with LPC48 ARM Contents at a Glance ARM7 LPC48 Primer Board... 3 Switch... 3 Interfacing Switch... 4 Interfacing Switch with LPC48... 5 Pin Assignment with LPC48...

More information

Experiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat

Experiment 3. Interrupts. Hazem Selmi, Ahmad Khayyat Experiment 3 Interrupts Hazem Selmi, Ahmad Khayyat Version 162, 24 February 2017 Table of Contents 1. Objectives........................................................................................

More information

C:\Users\jacob\Documents\MtSAC\ELEC74 Mt SAC - chipkit\homework Sheets.docx

C:\Users\jacob\Documents\MtSAC\ELEC74 Mt SAC - chipkit\homework Sheets.docx ELEC 74 Worksheet 1 Logic Gate Review 1. Draw the truth table and schematic symbol for: a. An AND gate b. An OR gate c. An XOR gate d. A NOT gate ELEC74 Worksheet 2 (Number Systems) 1. Convert the following

More information

BASIC ARDUINO WORKSHOP. Mr. Aldwin and Mr. Bernardo

BASIC ARDUINO WORKSHOP. Mr. Aldwin and Mr. Bernardo BASIC ARDUINO WORKSHOP Mr. Aldwin and Mr. Bernardo 1 BASIC ARDUINO WORKSHOP Course Goals Introduce Arduino Hardware and Understand Input Software and Output Create simple project 2 Arduino Open-source

More information

Experiment 1. Development Platform. Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh

Experiment 1. Development Platform. Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh Experiment 1 Development Platform Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh Version 162, 13 February 2017 Table of Contents 1. Objectives........................................................................................

More information

More Fun with Timer Interrupts

More Fun with Timer Interrupts More Fun with Timer Interrupts Chords Objective: Play a musical chord each time you press a button: Button RC0 RC1 RC2 Timer Timer0 Timer1 Timer3 RB0 A3 C4 E4 RB1 B3 D4 F4 RB2 C4 E4 G4 Calculations: Assume

More information

F²MC-8FX FAMILY MB95200H/210H SERIES HOW TO USE DBG PIN 8-BIT MICROCONTROLLER APPLICATION NOTE

F²MC-8FX FAMILY MB95200H/210H SERIES HOW TO USE DBG PIN 8-BIT MICROCONTROLLER APPLICATION NOTE Fujitsu Microelectronics (Shanghai) Co., Ltd. Application Note MCU-AN-500009-E-10 F²MC-8FX FAMILY 8-BIT MICROCONTROLLER MB95200H/210H SERIES HOW TO USE DBG PIN APPLICATION NOTE Revision History Revision

More information

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO AGENDA ARDUINO HARDWARE THE IDE & SETUP BASIC PROGRAMMING CONCEPTS DEBUGGING & HELLO WORLD INPUTS AND OUTPUTS DEMOS ARDUINO HISTORY IN 2003 HERNANDO

More information

6 GPIO 84. Date: 29/09/2016 Name: ID: This laboratory session discusses about writing program to interact with GPIO of Reapberry Pi.

6 GPIO 84. Date: 29/09/2016 Name: ID: This laboratory session discusses about writing program to interact with GPIO of Reapberry Pi. 6 GPIO 84 Date: 29/09/2016 Name: ID: Name: ID: 6 GPIO This laboratory session discusses about writing program to interact with GPIO of Reapberry Pi. GPIO programming with Assembly Code:block installation

More information

Grove - Buzzer. Introduction. Features

Grove - Buzzer. Introduction. Features Grove - Buzzer Introduction The Grove - Buzzer module has a piezo buzzer as the main component. The piezo can be connected to digital outputs, and will emit a tone when the output is HIGH. Alternatively,

More information

Lecture 2: C Programming Basic

Lecture 2: C Programming Basic ECE342 Introduction to Embedded Systems Lecture 2: C Programming Basic Ying Tang Electrical and Computer Engineering Rowan University 1 Facts about C C was developed in 1972 in order to write the UNIX

More information

Systems Programming. Lecture 4 Z16 Architecture and Programming

Systems Programming.   Lecture 4 Z16 Architecture and Programming Systems Programming www.atomicrhubarb.com/systems Lecture 4 Z16 Architecture and Programming Section Topic Where in the books Zilog Zilog Zilog Zilog UM197 (ZNEO Z16F Series Flash Microcontroller Contest

More information

EECS 373 Midterm 2 Fall 2018

EECS 373 Midterm 2 Fall 2018 EECS 373 Midterm 2 Fall 2018 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Nor did I discuss this exam with anyone after

More information

COEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University

COEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University COEN-4720 Embedded Systems Design Lecture 4 Interrupts (Part 1) Cristinel Ababei Dept. of Electrical and Computer Engineering Marquette University Outline Introduction NVIC and Interrupt Control Interrupt

More information

Procedure: Determine the polarity of the LED. Use the following image to help:

Procedure: Determine the polarity of the LED. Use the following image to help: Section 2: Lab Activity Section 2.1 Getting started: LED Blink Purpose: To understand how to upload a program to the Arduino and to understand the function of each line of code in a simple program. This

More information

MCU: Interrupts and Timers. Ganesh Pitchiah

MCU: Interrupts and Timers. Ganesh Pitchiah MCU: Interrupts and Timers Ganesh Pitchiah What s an MCU? Frequency = 8 MHz Time Period = 1/f = 0.125 us Code for Switching LED int a; voltage while(1) { a = PINA.0; input) If (a==1) PORTA.1=1; else PORTA.1=0;

More information

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Physics 364 Arduino Lab 1 Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas Vithayathil/Kroll Introduction Last revised: 2014-11-12 This lab introduces you to an electronic development

More information

The Three Attributes of an Identifier

The Three Attributes of an Identifier The Three Attributes of an Identifier Identifiers have three essential attributes: storage duration scope linkage Identifier Attributes 1 Storage Duration storage duration Identifier Attributes 2 determines

More information

F²MC-8FX FAMILY MB95200H/210H SERIES HOW TO USE DBG PIN 8-BIT MICROCONTROLLER APPLICATION NOTE

F²MC-8FX FAMILY MB95200H/210H SERIES HOW TO USE DBG PIN 8-BIT MICROCONTROLLER APPLICATION NOTE Fujitsu Microelectronics (Shanghai) Co., Ltd Application Note MCU-AN-500009-E-10 F²MC-8FX FAMILY 8-BIT MICROCONTROLLER MB95200H/210H SERIES HOW TO USE DBG PIN APPLICATION NOTE Revision History Revision

More information

Decision Making and Loops

Decision Making and Loops Decision Making and Loops Goals of this section Continue looking at decision structures - switch control structures -if-else-if control structures Introduce looping -while loop -do-while loop -simple for

More information

Microcontroller Introduction

Microcontroller Introduction Microcontroller Introduction Embedded Systems 2-1 Data Formats for the Renesas Microcontroller Byte Word 8 bits signed & unsigned unsigned range 0 to 255 unsigned char a; 16 bits signed & unsigned unsigned

More information

// file2.c. // file1.c #include <stdio.h> int A1 = 42; // 1.1 static int B1; // 1.2. int A2 = 12; // 2.1 int B2; // 2.2. extern int A2; // 1.

// file2.c. // file1.c #include <stdio.h> int A1 = 42; // 1.1 static int B1; // 1.2. int A2 = 12; // 2.1 int B2; // 2.2. extern int A2; // 1. Instructions: This homework assignment focuses primarily on issues arising when compiling and linking C programs that consist of multiple source files. The answers to the following questions can be determined

More information

SX1509 I/O Expander Breakout Hookup Guide

SX1509 I/O Expander Breakout Hookup Guide Page 1 of 16 SX1509 I/O Expander Breakout Hookup Guide Introduction Is your Arduino running low on GPIO? Looking to control the brightness of 16 LEDs individually? Maybe blink or breathe a few autonomously?

More information

DEV-1 HamStack Development Board

DEV-1 HamStack Development Board Sierra Radio Systems DEV-1 HamStack Development Board Reference Manual Version 1.0 Contents Introduction Hardware Compiler overview Program structure Code examples Sample projects For more information,

More information

I Introduction to Real-time Applications By Prawat Nagvajara

I Introduction to Real-time Applications By Prawat Nagvajara Electrical and Computer Engineering I Introduction to Real-time Applications By Prawat Nagvajara Synopsis This note is an introduction to a series of nine design exercises on design, implementation and

More information

CS240: Programming in C

CS240: Programming in C CS240: Programming in C Lecture 5: Functions. Scope of variables. Program structure. Cristina Nita-Rotaru Lecture 5/ Fall 2013 1 Functions: Explicit declaration Declaration, definition, use, order matters.

More information

Introduction To Arduino

Introduction To Arduino Introduction To Arduino What is Arduino? Hardware Boards / microcontrollers Shields Software Arduino IDE Simplified C Community Tutorials Forums Sample projects Arduino Uno Power: 5v (7-12v input) Digital

More information

ARM HOW-TO GUIDE Interfacing I2C-7SEG with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing I2C-7SEG with LPC2148 ARM ARM HOW-TO GUIDE Interfacing I2C-7SEG with LPC2148 ARM Contents at a Glance ARM7 LPC2148 Primer Board... 3 I2C (Inter Integrated Circuit)... 3 Seven Segment Display... 4 Interfacing I2C - Seven Segment

More information

MICROPROCESSORS A (17.383) Fall Lecture Outline

MICROPROCESSORS A (17.383) Fall Lecture Outline MICROPROCESSORS A (17.383) Fall 2010 Lecture Outline Class # 04 September 28, 2010 Dohn Bowden 1 Today s Lecture Syllabus review Microcontroller Hardware and/or Interface Programming/Software Lab Homework

More information

Photoresistor, Transistor, and LED s

Photoresistor, Transistor, and LED s PH-1 Photoresistor, Transistor, and LD s Purpose: To introduce photoresistors, LD s, FT s, and transistors used as power switching devices To become familiar with the capability of the Atmega 128 to measure

More information

ARM HOW-TO GUIDE Interfacing Stepper Motor with LPC2148

ARM HOW-TO GUIDE Interfacing Stepper Motor with LPC2148 ARM HOW-TO GUIDE Interfacing Stepper Motor with LPC2148 Contents at a Glance ARM7 LPC2148 Slicker Board... 3 Stepper Motor... 3 Interfacing Stepper Motor... 4 Interfacing Stepper Motor with LPC2148...

More information

AMCAT Automata Coding Sample Questions And Answers

AMCAT Automata Coding Sample Questions And Answers 1) Find the syntax error in the below code without modifying the logic. #include int main() float x = 1.1; switch (x) case 1: printf( Choice is 1 ); default: printf( Invalid choice ); return

More information

WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements

WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements Item 1: The Clock is Ticking Monday, 15 October 2018 12:19 PM EXPLORE WALT: definition and decomposition of complex problems in terms of functional and non-functional requirements - Defined how each component

More information

Keyboards. The PS/2 Protocol

Keyboards. The PS/2 Protocol Keyboards The PS/2 Protocol Debugging Always start from a known working state; stop in a working state. If it breaks, what changed? Take a simple small step, check it carefully, then take another small

More information

Compiler Theory. (GCC the GNU Compiler Collection) Sandro Spina 2009

Compiler Theory. (GCC the GNU Compiler Collection) Sandro Spina 2009 Compiler Theory (GCC the GNU Compiler Collection) Sandro Spina 2009 GCC Probably the most used compiler. Not only a native compiler but it can also cross-compile any program, producing executables for

More information

ARM HOW-TO GUIDE Interfacing Buzzer with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing Buzzer with LPC2148 ARM ARM HOW-TO GUIDE Interfacing Buzzer with LPC2148 ARM Contents at a Glance ARM7 LPC2148 Primer Board... 3 Buzzer... 3 Interfacing Buzzer... 4 Interfacing Buzzer with LPC2148... 5 Pin Assignment with LPC2148...

More information

ISL RGB Sensor Tutorial By: Sabrina Jones

ISL RGB Sensor Tutorial By: Sabrina Jones ISL 25129 RGB Sensor Tutorial By: Sabrina Jones Overview The ISL29125 RGB sensor is a breakout board made to record the light intensity of the general red, green, and blue spectrums of visible light, that

More information

More Arduino Programming

More Arduino Programming Introductory Medical Device Prototyping Arduino Part 2, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota More Arduino Programming Digital I/O (Read/Write) Analog

More information

Arduino Part 2. Introductory Medical Device Prototyping

Arduino Part 2. Introductory Medical Device Prototyping Introductory Medical Device Prototyping Arduino Part 2, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota More Arduino Programming Digital I/O (Read/Write) Analog

More information

#include <stdio.h> int main() { char s[] = Hsjodi, *p; for (p = s + 5; p >= s; p--) --*p; puts(s); return 0;

#include <stdio.h> int main() { char s[] = Hsjodi, *p; for (p = s + 5; p >= s; p--) --*p; puts(s); return 0; 1. Short answer questions: (a) Compare the typical contents of a module s header file to the contents of a module s implementation file. Which of these files defines the interface between a module and

More information

MICROPROCESSORS A (17.383) Fall Lecture Outline

MICROPROCESSORS A (17.383) Fall Lecture Outline MICROPROCESSORS A (17.383) Fall 2010 Lecture Outline Class # 03 September 21, 2010 Dohn Bowden 1 Today s Lecture Syllabus review Microcontroller Hardware and/or Interface Programming/Software Lab Homework

More information

C:\Users\Jacob Christ\Documents\MtSAC\ELEC74 Mt SAC - chipkit\homework Sheets.docx

C:\Users\Jacob Christ\Documents\MtSAC\ELEC74 Mt SAC - chipkit\homework Sheets.docx ELEC 74 Worksheet 1 Logic Gate Review 1. Draw the truth table and schematic symbol for: a. An AND gate b. An OR gate c. An XOR gate d. A NOT gate ELEC74 Worksheet 2 (Number Systems) 1. Convert the following

More information

Arduino Uno Microcontroller Overview

Arduino Uno Microcontroller Overview Innovation Fellows Program Arduino Uno Microcontroller Overview, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Arduino Uno Power & Interface Reset Button USB

More information

Note. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.

Note. The above image and many others are courtesy of   - this is a wonderful resource for designing circuits. Robotics and Electronics Unit 2. Arduino Objectives. Students will understand the basic characteristics of an Arduino Uno microcontroller. understand the basic structure of an Arduino program. know how

More information

ARM HOW-TO GUIDE Interfacing 7SEG with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing 7SEG with LPC2148 ARM ARM HOW-TO GUIDE Interfacing 7SEG with LPC2148 ARM Contents at a Glance ARM7 LPC2148 Slicker Board... 3 Seven Segment Display... 3 Interfacing Seven Segment Display... 4 Interfacing Seven Segment with

More information

Arduino Prof. Dr. Magdy M. Abdelhameed

Arduino Prof. Dr. Magdy M. Abdelhameed Course Code: MDP 454, Course Name:, Second Semester 2014 Arduino What is Arduino? Microcontroller Platform Okay but what s a Microcontroller? Tiny, self-contained computers in an IC Often contain peripherals

More information

Modifiers. int foo(int x) { static int y=0; /* value of y is saved */ y = x + y + 7; /* across invocations of foo */ return y; }

Modifiers. int foo(int x) { static int y=0; /* value of y is saved */ y = x + y + 7; /* across invocations of foo */ return y; } Modifiers unsigned. For example unsigned int would have a range of [0..2 32 1] on a 32-bit int machine. const Constant or read-only. Same as final in Java. static Similar to static in Java but not the

More information

LPC4088 Timer Interrupts CM0506 Small Embedded Systems

LPC4088 Timer Interrupts CM0506 Small Embedded Systems LPC4088 Timer Interrupts CM0506 Small Embedded Systems Dr Alun Moon Seminar 5 Here the module begins to separate from EN0572. The programming structure will make extensive use of interrupts to handle events,

More information

Introduction. How to obtain the Board. About the Board. Contact Preet

Introduction. How to obtain the Board. About the Board. Contact Preet SJOne Board Introduction Getting Started Basic IO Serial Communication Libraries Internal Component Libraries External Components Debugging a crash FreeRTOS Services Command Line Interface Adding Additional

More information

COMsW Introduction to Computer Programming in C

COMsW Introduction to Computer Programming in C OMsW 1003-1 Introduction to omputer Programming in Lecture 9 Spring 2011 Instructor: Michele Merler http://www1.cs.columbia.edu/~mmerler/comsw1003-1.html 1 Are omputers Smarter than Humans? Link http://latimesblogs.latimes.com/technology/2011/02/ibms-watson-on-jeopardy-computer-takes-big-leadover-humans-in-round-2.html

More information

AN-8205 AMC Library Hall Interface Summary AMC Introduction

AN-8205 AMC Library Hall Interface Summary AMC Introduction www.fairchildsemi.com AMC Library Hall Interface Summary The FCM8531 is an application-specific parallel-core processor for motor control that consists of an Advanced Motor Controller (AMC) processor and

More information

Robotics/Electronics Review for the Final Exam

Robotics/Electronics Review for the Final Exam Robotics/Electronics Review for the Final Exam Unit 1 Review. 1. The battery is 12V, R1 is 400 ohms, and the current through R1 is 20 ma. How many ohms is R2? ohms What is the voltage drop across R1? V

More information

A Fast Review of C Essentials Part I

A Fast Review of C Essentials Part I A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types

More information

Introduction to Microcontrollers Using Arduino. PhilRobotics

Introduction to Microcontrollers Using Arduino. PhilRobotics Introduction to Microcontrollers Using Arduino PhilRobotics Objectives Know what is a microcontroller Learn the capabilities of a microcontroller Understand how microcontroller execute instructions Objectives

More information

Scope. Scope. Region of a program in which a defined object is visible. Defined Objects. Two types of regions. Variables Functions

Scope. Scope. Region of a program in which a defined object is visible. Defined Objects. Two types of regions. Variables Functions Scope & Repetition Scope Scope Region of a program in which a defined object is visible Defined Objects Variables Functions Two types of regions Blocks Not in a block 2 tj Scope Program Prototype Blocks

More information

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018 StenBOT Robot Kit 1 Stensat Group LLC, Copyright 2018 Legal Stuff Stensat Group LLC assumes no responsibility and/or liability for the use of the kit and documentation. There is a 90 day warranty for the

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 04 Timer Interrupts Goals: Learn about Timer Interrupts. Learn how to

More information

The Arduino Briefing. The Arduino Briefing

The Arduino Briefing. The Arduino Briefing Mr. Yee Choon Seng Email : csyee@simtech.a-star.edu.sg Design Project resources http://guppy.mpe.nus.edu.sg/me3design.html One-Stop robotics shop A-Main Objectives Pte Ltd, Block 1 Rochor Road, #02-608,

More information

Goal: We want to build an autonomous vehicle (robot)

Goal: We want to build an autonomous vehicle (robot) Goal: We want to build an autonomous vehicle (robot) This means it will have to think for itself, its going to need a brain Our robot s brain will be a tiny computer called a microcontroller Specifically

More information

DT-ROBOT Line Follower

DT-ROBOT Line Follower DT-ROBOT Line Follower Trademarks & Copyright AT, IBM, and PC are trademarks of International Business Machines Corp. Pentium is a registered trademark of Intel Corporation. Windows is a registered trademark

More information

Functions. Cedric Saule

Functions. Cedric Saule Cedric Saule cedric.saule@uni-bielefeld.de or procedures? In algorithmic (and some programming languages), we use two kinds of unconditional branchings : Procedures : execute computations and do not return

More information

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems

Programs. Function main. C Refresher. CSCI 4061 Introduction to Operating Systems Programs CSCI 4061 Introduction to Operating Systems C Program Structure Libraries and header files Compiling and building programs Executing and debugging Instructor: Abhishek Chandra Assume familiarity

More information

Digital Pins and Constants

Digital Pins and Constants Lesson Lesson : Digital Pins and Constants Digital Pins and Constants The Big Idea: This lesson is the first step toward learning to connect the Arduino to its surrounding world. You will connect lights

More information

Digital Design through. Arduino

Digital Design through. Arduino Digital Design through 1 Arduino G V V Sharma Contents 1 Display Control through Hardware 2 1.1 Powering the Display.................................. 2 1.2 Controlling the Display.................................

More information

BLM2031 Structured Programming. Zeyneb KURT

BLM2031 Structured Programming. Zeyneb KURT BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help

More information

Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island

Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Data Types Basic Types Enumerated types The type void Derived types

More information

C Programming Language

C Programming Language C Programming Language Arrays & Pointers I Dr. Manar Mohaisen Office: F208 Email: manar.subhi@kut.ac.kr Department of EECE Review of Precedent Class Explain How to Create Simple Functions Department of

More information

SILICA TUSA Silica Tusa Board

SILICA TUSA Silica Tusa Board Silica Tusa Board Quick Start Guide 1 Contents 1 General Description... 3 2 Development Environments... 4 2.1 LPCXpresso... 4 2.1.1 Requirements... 4 2.1.2 Software Installation... 4 2.1.3 Hardware Installation...

More information

Microcontrollers and Interfacing week 8 exercises

Microcontrollers and Interfacing week 8 exercises 2 HARDWARE DEBOUNCING Microcontrollers and Interfacing week 8 exercises 1 More digital input When using a switch for digital input we always need a pull-up resistor. For convenience, the microcontroller

More information

ARM HOW-TO GUIDE Interfacing GPS with LPC2148 ARM

ARM HOW-TO GUIDE Interfacing GPS with LPC2148 ARM ARM HOW-TO GUIDE Interfacing GPS with LPC2148 ARM Contents at a Glance ARM7 LPC2148 Primer Board... 3 GPS (Global Positioning Systems)... 3 Interfacing GPS... 4 Interfacing GPS with LPC2148... 5 Pin Assignment

More information

K191 3 Channel RGB LED Controller

K191 3 Channel RGB LED Controller K191 3 Channel RGB LED Controller 1 Introduction. This kit has been designed to function as a versatile LED control module. The LED controller provides 3 high current channels to create light effects for

More information

EC 413 Computer Organization

EC 413 Computer Organization EC 413 Computer Organization C/C++ Language Review Prof. Michel A. Kinsy Programming Languages There are many programming languages available: Pascal, C, C++, Java, Ada, Perl and Python All of these languages

More information

Exception Namespaces C Interoperability Templates. More C++ David Chisnall. March 17, 2011

Exception Namespaces C Interoperability Templates. More C++ David Chisnall. March 17, 2011 More C++ David Chisnall March 17, 2011 Exceptions A more fashionable goto Provides a second way of sending an error condition up the stack until it can be handled Lets intervening stack frames ignore errors

More information

Arduino and Matlab for prototyping and manufacturing

Arduino and Matlab for prototyping and manufacturing Arduino and Matlab for prototyping and manufacturing Enrique Chacón Tanarro 11th - 15th December 2017 UBORA First Design School - Nairobi Enrique Chacón Tanarro e.chacon@upm.es Index 1. Arduino 2. Arduino

More information

(Embedded) Systems Programming Overview

(Embedded) Systems Programming Overview System Programming Issues EE 357 Unit 10a (Embedded) Systems Programming Overview Embedded systems programming g have different design requirements than general purpose computers like PC s I/O Electro-mechanical

More information

Part 1: Introduction to the C Language

Part 1: Introduction to the C Language Part 1: Introduction to the C Language 1 Dennis Ritchie originally developed C at Bell Labs to write the UNIX operating system, 1974. C was designed to provide low level access to the hardware, which an

More information

Introduction To Embedded Systems Development

Introduction To Embedded Systems Development Introduction To Embedded Systems Development Rohit Ramesh Contents 1 Introduction 3 1.1 Resources............................................... 3 2 GPIO 4 2.1 Prequisites..............................................

More information

Symbols, Compilation Units, and Pre-Processing

Symbols, Compilation Units, and Pre-Processing Symbols, Compilation Units, and Pre-Processing Antonio Carzaniga Faculty of Informatics University of Lugano December 21, 2006 Outline Compilation process Symbols: compilation units and linking The C pre-processor

More information

PACKAGE CONTENTES...1 SYSTEM REQUIREMENT...1 DEVELOPMENT BOARD DETAILS...1. MCU Interface Sockets...2. LCD interface header...6

PACKAGE CONTENTES...1 SYSTEM REQUIREMENT...1 DEVELOPMENT BOARD DETAILS...1. MCU Interface Sockets...2. LCD interface header...6 TABLE OF CONTENTS PACKAGE CONTENTES...1 SYSTEM REQUIREMENT...1 DEVELOPMENT BOARD DETAILS...1 MCU Interface Sockets...2 LCD interface header...6 Dip switch setting...8 Jumper setting...8 AUXCLK Input...10

More information

C introduction: part 1

C introduction: part 1 What is C? C is a compiled language that gives the programmer maximum control and efficiency 1. 1 https://computer.howstuffworks.com/c1.htm 2 / 26 3 / 26 Outline Basic file structure Main function Compilation

More information

AN2618 Application note

AN2618 Application note Application note etpu host interface Introduction The etpu is the new generation of Time Processing Unit (TPU). Besides the hardware enhancement, significant improvements have been made to the accompanying

More information

COP 3223 Introduction to Programming with C - Study Union - Fall 2017

COP 3223 Introduction to Programming with C - Study Union - Fall 2017 COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................

More information

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming

More information

OPERATIONAL AMPLIFIER

OPERATIONAL AMPLIFIER Fujitsu Semiconductor (Shanghai) Co., Ltd. Application Note MCU-AN-500080-E-10 F²MC-8FX FAMILY 8-BIT MICROCONTROLLER MB95F430 SERIES OPERATIONAL AMPLIFIER APPLICATION NOTE Revision History Revision History

More information

Page 1. Agenda. Programming Languages. C Compilation Process

Page 1. Agenda. Programming Languages. C Compilation Process EE 472 Embedded Systems Dr. Shwetak Patel Assistant Professor Computer Science & Engineering Electrical Engineering Agenda Announcements C programming intro + pointers Shwetak N. Patel - EE 472 2 Programming

More information

Interrupts, timers and counters

Interrupts, timers and counters Interrupts, timers and counters Posted on May 10, 2008, by Ibrahim KAMAL, in Micro-controllers, tagged Most microcontrollers come with a set of ADD-ONs called peripherals, to enhance the functioning of

More information

OPERATIONAL AMPLIFIER

OPERATIONAL AMPLIFIER Fujitsu Semiconductor (Shanghai) Co., Ltd. Application Note MCU-AN-500080-E-10 F²MC-8FX FAMILY 8-BIT MICROCONTROLLER MB95F430 SERIES OPERATIONAL AMPLIFIER APPLICATION NOTE Revision History Revision History

More information

Advanced Debugging I. Equipment Required. Preliminary Discussion. Basic System Bring-up. Hardware Bring-up, Section Plan

Advanced Debugging I. Equipment Required. Preliminary Discussion. Basic System Bring-up. Hardware Bring-up, Section Plan Advanced Debugging I Hardware Bring-up, Section Plan Equipment Required 192 car Logic analyzer with mini probes, cable PC scope with probes, M-F breadboard wire, USB cable Voltmeter Laptop with mouse,

More information

Variation of Pointers

Variation of Pointers Variation of Pointers A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, you must declare a pointer before

More information

AN OVERVIEW OF C, PART 3. CSE 130: Introduction to Programming in C Stony Brook University

AN OVERVIEW OF C, PART 3. CSE 130: Introduction to Programming in C Stony Brook University AN OVERVIEW OF C, PART 3 CSE 130: Introduction to Programming in C Stony Brook University FANCIER OUTPUT FORMATTING Recall that you can insert a text field width value into a printf() format specifier:

More information

Chapter 7 Functions. Now consider a more advanced example:

Chapter 7 Functions. Now consider a more advanced example: Chapter 7 Functions 7.1 Chapter Overview Functions are logical groupings of code, a series of steps, that are given a name. Functions are especially useful when these series of steps will need to be done

More information

8:1 Serial Port Expander

8:1 Serial Port Expander 8:1 Serial Port Expander V 1.3 This is an evolving document check back for updates. Features Expand a single UART (RX / TX) serial port into 8 additional serial ports On-board LEDs indicate which channel

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F931 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

DAVE 3 Hands on / Quick Start Tutorial. Presentation Tutorial Start 1 v1.1: Creating a simple Project using PWM and Count Apps

DAVE 3 Hands on / Quick Start Tutorial. Presentation Tutorial Start 1 v1.1: Creating a simple Project using PWM and Count Apps DAVE Hands on / Quick Start Tutorial Presentation Tutorial Start v.: Creating a simple Project using PWM and Count Apps Project Changing the brightness of an LED with the PWM App PWMSP00 Interrupt on timer

More information