Microcontrollers Microcomputers and Microprocessors Digital Electronics 2014 Project
- Slides: 22
Microcontrollers, Microcomputers, and Microprocessors Digital Electronics © 2014 Project Lead The Way, Inc.
Microcontroller, Microcomputer, or Microprocessor? What is the difference? A microcontroller is a small, low cost computer on a single integrated circuit. ATmega 328 Microcontroller • Processor • Memory • Programmable Input/Output(I/O) Arduino Uno Microcontroller Board Spark. Fun Electronics, . Arduino Uno - R 3. 2013. Photograph. Wikipedia Commons Web. 7 Jan 2014. Microcontrollers are used to perform one dedicated task. One specific program. They are usually embedded in products. 2
Microcontroller, Microcomputer, or Microprocessor? What is the difference? A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit. It includes: • a microprocessor • memory • input/output (I/O) facilities Commodore 64 Microcomputer Evan-Amos, . Commodore-64 -Computer. 2011. Photograph. Wikipedia Commons Web. 7 Jan 2014. <http: //en. wikipedia. org/wiki/File: Commodore-64 -Computer. jpg>. . 3
Microcontroller, Microcomputer, or Microprocessor? What is the difference? Why is it called a “micro” computer? Early computers such as ENIAC filled entire rooms. A “micro”computer by comparison with a keyboard, monitor, and mouse are commonly referred to as a personal computer today. The prefix “micro” is not commonly used in describing computers anymore. U. S. Army Photo, . ENIAC. 197. Photograph. Wikipedia Commons Web. 7 Jan 2014. 4
Microcontroller, Computer, or Processor? What is the difference? Application Processors As the use of smart phones and mobile devices has expanded, a new type of processor has been defined. Intel® Quark So. C X 1000 Application Processor Today, microprocessors in computers are often just referred to as processors. All computers today have a processor as the CPU. Microprocessors designed for use in mobile applications are called application processors. 5
Microcontroller, Microcomputer, or Microprocessor? What is the difference? A microprocessor is an IC which has only the Central Processing Unit inside them. They only have processing powers. Microprocessors don’t have RAM, ROM, and other peripheral on the chip. A system designer has to add them externally to make them functional. Once again, the prefix “micro” is increasingly left today in favor of just processor. 6
What is a Microcontroller? Microcontrollers are used to control many everyday products like garage door openers, traffic lights, home thermostats, and robots. Embedded controllers are everywhere. 7
What are the Parts of a Microcontroller? Microcontrollers contain: • A Central Processing Unit • Some form of memory • Programmable Input / Output ATmega 328 Microcontroller (CPU) (MEMORY) (I/O) 8
What are the Parts of the Arduino Microcontroller Board? The Arduino Microcontroller Board Specifications: • (14) Digital I/O Pins: (6) are PWM Specific Digital / PWM • (6) Analog I/O Pins • Power: USB or external. If using power supply with 2. 1 mm center-positive plug, recommend range 7 V-12 V. • USB Connection: Type B • 5 V or 3. 3 V option Analog USB Power Vext 9
Programming a Microcontroller Programming languages have their own grammar called syntax. Programs written with the Ardiuno software called Sketches. A Sketch (program written with Arduino) will contain: • Variables • Functions • Setup() • Loop() • Structures • Comments 10
Programming a Microcontroller • The Arduino software consists of an Integrated development environment (IDE) and the core libraries. • The core libraries are written in C and C++ and compiled using avr-gcc and AVR Libc. • The Arduino software language you program in is very similar to C++ because it is derived from C/C++. 11
Example: Blink This sketch (program) will continue to turn on LED on for 1 second and off for 1 second. The sketch (program) includes : setup() function - Initializes variables, pin modes, start using libraries, etc. loop() function - loops code consecutively. // Comments - Detailed descriptions not executed. 12
Example: Blink void - The void keyword is used only in function declarations. It indicates that the function is expected to return no information to the function from which it was called. 13
Example: Blink Syntax: { } Curly Braces (also referred to as just "braces" or as "curly brackets") Curly Braces are a major part of the C programming language. Balanced Braces - An opening curly brace "{" must always be followed by a closing curly brace "}". 14
Example: Blink Curly Braces – Beginning programmers, and programmers coming to C from the BASIC language often find using braces confusing or daunting. The same curly braces in C replace: the RETURN statement in a subroutine (function), the ENDIF statement in a conditional and the NEXT statement in a FOR loop in the BASIC language. 15
Example: Blink Syntax: The main uses of { } Curly Braces Functions void myfunction(datatype argument){ statements(s) } Loops while (boolean expression) { statement(s) } do { statement(s) } while (boolean expression); for (initialisation; termination condition; incrementing expr) { statement(s) } Conditional statements if (boolean expression) { statement(s) } else { statement(s) } 16
Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give the variable “integer” the name “led”: int led = 13; // the setup routine runs once to declare function when you press reset: void setup() { // initialize the digital pin “pin. Mode” you defined as “led” as an output. pin. Mode(led, OUTPUT); } // the void loop routine runs over and over again forever: void loop() { digital. Write(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digital. Write(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 17
Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give the variable “integer” the name “led”: int led = 13; A variable is a place for storing a piece of data. It has a type, a name, and a value. For example, the Blink sketch declares a variable with: the type “integer” int, name led, and an initial value = 13; 18
Example: Blink Variable Data Types Include: void boolean char unsigned char byte int unsigned int word unsigned long short float double string - char array String - object Array long 19
Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give the variable “integer” the name “led”: int led = 13; // the setup routine runs once to declare function when you press reset: void setup() { // initialize the digital pin “pin. Mode” you defined as “led” as an output. pin. Mode(led, OUTPUT); } A function (also known as a sub-routine) is a named piece of code that can be used from elsewhere in the code. The setup() function in this example sets the variable led as an OUTPUT. 20
Example: Blink /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. The loop() function loops consecutively, allowing your program to change and respond. Use it to actively control the Arduino board. // the void loop routine runs over and over again forever: void loop() { digital. Write(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digital. Write(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } 21
Your Turn Open Source Community Arduino Software is free. You can install it at home if you would like to continue work on your DE projects and/or create new projects of your own. For the newest version of Aurdino IDE visit their website. In the next activities, you will program a microcontroller to integrate new types of sensors and input devices. Memsic 2125 Dual-axis Accelerometer PIR Sensor (Passive Infra-Red) 2 -Axis Joystick 22
- Introduction to microprocessors
- Microcomputers
- Microcomputers
- Microcomputers
- Arm microprocessors
- Pmos microprocessor
- Difference between i c $ microprocessors
- Microcontrollers and embedded processors
- Setup time and hold time in digital electronics
- Multiplexer and demultiplexer in digital electronics
- Weighted and non weighted codes in digital electronics
- Analogue and digital electronics
- Vhmax
- Semiconductor ram memories
- Yundong zhang
- Arm based microcontrollers
- Whats a microcontroller
- Designing embedded systems with pic microcontrollers
- Single-board microcontrollers
- Sbuf in 8051
- Introduction to microcontrollers
- Designing embedded systems with pic microcontrollers
- History of microcontrollers