SlideShare une entreprise Scribd logo
1  sur  63
FLOW CHART PROGRAMMING
FOR AVR MICROCONTROLLERS
USING FLOWCODE
PREPARED BY: TIRSO LLANTADA, ECE
TOPIC TO BE DISCUSSED
• MICROCONTROLLERS
• AVR MICROCONTROLLERS
• FLOW CHART
• FLOWCODE
MICROCONTROLLERS
General
Purpose
Micro
processor
RAM ROM Timer
Serial
COM
Port
IO
Port
Data BUS
Address BUS
Control BUS
CPU RAM ROM
I/OTimer
Serial
Port
• General Purpose Microprocessors
• Microcontrollers
EMBEDDED SYSTEMS
EMBEDDED SYSTEMS
COMMON MICROCONTROLLERS
MICROCONTROLLER ARCHITECTURE
TOPIC TO BE DISCUSSED
• MICROCONTROLLERS
• AVR MICROCONTROLLERS
• FLOW CHART
• FLOWCODE
AVR MICROCONTROLLERS
• The acronym AVR has been reported to stand for: Advanced Virtual
RISC and also for the chip's designers: Alf-Egil Bogen and Vegard Wollan
who designed the basic architecture at the Norwegian Institute of
Technology.
• RISC stands for reduced instruction set computer.
CPU design with a reduced instruction set as well as a simpler
set of instructions (like for example PIC and AVR)
A LITTLE HISTORY
• The PIC (Programmable Interrupt Controller) appeared around 1980.
→ 8 bit bus
→ executes 1 instruction in 4 clk cycles
→ Harvard architecture
• AVR (1994)
→ 8 bit bus
→ one instruction per cycle
→ Harvard architecture
AVR INTERNAL ARCHITECTURE
PROGRAM
ROM
PortsOSC
CPU
Timers
Other
Peripherals
Program
Bus Bus
RAM
I/O
PINS
EEPROM
Interrupt
Unit
AVR DIFFERENT GROUPS
• Classic AVR
• e.g. AT90S2313, AT90S4433
• Mega
• e.g. ATmega8, ATmega32, ATmega128
• Tiny
• e.g. ATtiny13, ATtiny25
• Special Purpose AVR
• e.g. AT90PWM216,AT90USB1287
LET’S GET FAMILIAR WITH THE AVR PART
NUMBERS
ATmega128
ATtiny44
Atmel group
Flash =128K
Atmel
Flash =4K
AT90S4433
Atmel Classic
group
Flash =4KTiny
group
AVR’S CPU
• AVR’s CPU
• ALU
• 32 General Purpose registers (R0
to R31)
• PC register
• Instruction decoder CPU
PC
ALU
registers
R1
R0
R15
R2
…
R16
R17
…
R30
R31
Instruction Register
Instruction decoder
SREG: I T H S V N CZ
TOPIC TO BE DISCUSSED
• MICROCONTROLLERS
• AVR MICROCONTROLLERS
• FLOW CHART
• FLOWCODE
FLOWCHART
• A flowchart is a diagram that depicts
the “flow” of a program.
START
Display message “How many hours did
you work?”
Read Hours
Display message “How much do you get
paid per hour?”
Read Pay Rate
Multiply Hours by Pay Rate. Store
result in Gross Pay.
Display Gross Pay
END
ALGORITHMS AND FLOWCHARTS
• A typical programming task can be divided into two
phases:
• Problem solving phase
• produce an ordered sequence of steps that describe
solution of problem
• this sequence of steps is called an ALGORITHM
• Implementation phase
• implement the program in some programming language
Rounded
Rectangle
Parallelogram
Rectangle
Rounded
Rectangle
START
Display message “How many hours did you
work?”
Read Hours
Display message “How much do you get
paid per hour?”
Read Pay Rate
Multiply Hours by Pay Rate. Store result
in Gross Pay.
Display Gross Pay
END
BASIC FLOWCHART SYMBOLS
BASIC FLOWCHART SYMBOLS
• Terminals
• represented by rounded
rectangles
• indicate a starting or ending
point
Terminal
START
END
Terminal
START
Display message “How many
hours did you work?”
Read Hours
Display message “How much do
you get paid per hour?”
Read Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
BASIC FLOWCHART SYMBOLS
• Input/Output Operations
• represented by parallelograms
• indicate an input or output
operation
Display message
“How many hours
did you work?”
Read Hours
Input/Output
Operation
START
Display message “How many
hours did you work?”
Read Hours
Display message “How much do
you get paid per hour?”
Read Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
BASIC FLOWCHART SYMBOLS
• Processes
• represented by rectangles
• indicates a process such as a
mathematical computation or
variable assignment
Multiply Hours
by Pay Rate.
Store result in
Gross Pay.
Process
START
Display message “How many
hours did you work?”
Read Hours
Display message “How much do
you get paid per hour?”
Read Pay Rate
Multiply Hours by Pay Rate.
Store result in Gross Pay.
Display Gross Pay
END
FOUR FLOWCHART STRUCTURES
• Sequence
• Decision
• Repetition
• Case
SEQUENCE STRUCTURE
• a series of actions are performed in sequence
• The pay-calculating example was a sequence flowchart.
DECISION STRUCTURE
• One of two possible actions is taken, depending on a
condition.
DECISION STRUCTURE
• A new symbol, the diamond, indicates a yes/no question. If the answer
to the question is yes, the flow follows one path. If the answer is
no, the flow follows another path
YESNO
DECISION STRUCTURE
• In the flowchart segment below, the question “is x < y?” is asked. If the
answer is no, then process A is performed. If the answer is yes, then
process B is performed.
YESNO
x < y?
Process BProcess A
DECISION STRUCTURE
• The flowchart segment below shows how a decision structure is
expressed in C++ as an if/else statement.
YESNO
x < y?
Calculate a as x
times 2.
Calculate a as x
plus y.
if (x < y)
a = x * 2;
else
a = x + y;
Flowchart C++ Code
DECISION STRUCTURE
• The flowchart segment below shows a decision structure with only
one action to perform. It is expressed as an if statement in C++ code.
if (x < y)
a = x * 2;
Flowchart C++ Code
YESNO
x < y?
Calculate a as x
times 2.
REPETITION STRUCTURE
• A repetition structure represents part of the program that repeats. This
type of structure is commonly known as a loop.
REPETITION STRUCTURE
• Notice the use of the diamond symbol. A loop tests a condition, and if
the condition exists, it performs an action. Then it tests the condition
again. If the condition still exists, the action is repeated. This
continues until the condition no longer exists.
REPETITION STRUCTURE
• In the flowchart segment, the question “is x < y?” is asked. If the
answer is yes, then Process A is performed. The question “is x < y?” is
asked again. Process A is repeated as long as x is less than y. When
x is no longer less than y, the repetition stops and the structure is
exited.
x < y? Process
A
YES
REPETITION STRUCTURE
• The flowchart segment below shows a repetition structure expressed
in C++ as a while loop.
while (x < y)
x++;
Flowchart
C++ Code
x < y? Add 1 to
x
YES
CONTROLLING A REPETITION STRUCTURE
• The action performed by a repetition structure must eventually cause the
loop to terminate. Otherwise, an infinite loop is created.
• In this flowchart segment, x is never changed. Once the loop starts, it will
never end.
• QUESTION: How can this
flowchart be modified so
it is no longer an infinite
loop?
x < y? Display x
YES
CONTROLLING A REPETITION STRUCTURE
• ANSWER: By adding an action within the repetition that changes the
value of x.
x < y? Display x Add 1 to x
YES
A PRE-TEST REPETITION STRUCTURE
• This type of structure is known as a pre-test repetition structure. The
condition is tested BEFORE any actions are performed.
x < y? Display x Add 1 to x
YES
A PRE-TEST REPETITION STRUCTURE
• In a pre-test repetition structure, if the condition does not exist, the
loop will never begin.
x < y? Display x Add 1 to x
YES
A POST-TEST REPETITION STRUCTURE
• This flowchart segment shows a post-test
repetition structure.
• The condition is tested AFTER the actions
are performed.
• A post-test repetition structure always
performs its actions at least once.
Display x
Add 1 to x
YES
x < y?
A POST-TEST REPETITION STRUCTURE
• The flowchart segment below shows a post-test repetition structure
expressed in C++ as a do-while loop.
do
{
cout << x << endl;
x++;
} while (x < y);
Flowchart
C++ Code
Display x
Add 1 to x
YES
x < y?
CASE STRUCTURE
• One of several possible actions is taken, depending on the
contents of a variable.
CASE STRUCTURE
• The structure below indicates actions to perform depending
on the value in years_employed.
CASE
years_employed
1 2 3 Other
bonus = 100 bonus = 200 bonus = 400 bonus = 800
CASE
years_employed
1 2 3 Other
bonus = 100 bonus = 200 bonus = 400 bonus = 800
If years_employed =
1, bonus is set to 100
If years_employed =
2, bonus is set to 200
If years_employed =
3, bonus is set to 400
If years_employed is
any other value, bonus
is set to 800
CASE STRUCTURE
CONNECTORS
• Sometimes a flowchart will not fit on one page.
• A connector (represented by a small circle) allows you to connect two
flowchart segments.
A
A
ASTART
END
•The “A” connector indicates
that the second flowchart
segment begins where the first
segment ends.
CONNECTORS
MODULES
• A program module (such as a function in C++) is represented by a
special symbol.
•The position of the module symbol
indicates the point the module is
executed.
•A separate flowchart can be
constructed for the module.
START
END
Read Input.
Call calc_pay function.
Display results.
MODULES
COMBINING STRUCTURES
• Structures are commonly combined to create more complex
algorithms.
• The flowchart segment below combines a decision structure with a
sequence structure.
x < y? Display x Add 1 to x
YES
COMBINING STRUCTURES
• This flowchart segment
shows two decision
structures combined.
Display “x is
within limits.”
Display “x is outside
the limits.”
YESNO
x > min?
x < max?
YESNO
Display “x is outside
the limits.”
EXAMPLE 1
• Draw flowchart to creates a table
for the two-variable equation X =3Y
by calculating and printing the
value of X for each positive-integer
value of Y.
EXAMPLE 2
A program is required to read three
numbers, add them together and
print their total.
Input Processing Output
Number1
Number2
Number3
Read three numbers
Add number together
Print total number
total
Add numbers to total
Read
Number1
Number2
number3
Print total
Start
Stop
EXAMPLE 3
• A program is required to prompt the
terminal operator for the maximum
and minimum temperature readings
on a particular day, accept those
readings as integers, and calculate
and display to the screen the
average temperature, calculated by
(maximum temperature + minimum
temperature)/2.
Input Processing Output
Max_temp
Min_temp
Prompt for temperatures
Get temperatures
Calculate average temperature
Display average temperature
Avg_temp
EXAMPLE 4
• Design an algorithm that will
prompt a terminal operator for
three characters, accept those
characters as input, sort them
into ascending sequence and
output them to the screen.
Input Processing Output
Char_1
Char_2
Char_3
Prompt for characters
Accept three characters
Sort three characters
Output three characters
Char_1
Char_2
Char_3
EXAMPLE 5
• Design a program that will
prompt for and receive 18
examination scores from a
mathematics test, compute
the class average, and
display all the scores and the
class average to the screen.
Input Processing Output
18 exam scores Prompt the scores
Get scores
Compute class average
Display scores
Display class average
18 exam scores
Class_average
Start
Total_score =
zero
I = 1
Add scores(I)
to
Total score
I = I + 1
Calculate
average
I = I + 1
Prompt and
get
Scores (I)
I = 1
I <= 18 ?
Display
Scores (I)
I <= 18 ?
Display
average
Stop
T
F
T
F
FLOWCODE
• Flowcode is one of the World’s most advanced graphical programming
languages for microcontrollers. The great advantage of Flowcode is that it
allows those with little experience to create complex electronic systems.
Flowcode is available in twenty languages and supports a wide range of
devices. Separate versions are available for the PICmicro (8-bit),
AVR/Arduino, dsPIC/PIC24 and ARM series of microcontrollers. Flowcode
can be used with many microcontroller development hardware solutions
including those from Matrix such as Formula Flowcode, E-blocks, MIAC and
ECIO.
ADVANTAGES
• Save time and money Flowcode facilitates the rapid design of electronic systems based of microcontrollers.
• Easy to use interface Simply drag and drop icons on-screen to create an electronic system without writing traditional code line
by line.
• Fast and flexible Flowcode has a host of high level component subroutines which means rapid system development. The
flowchart programming method allows to develop microcontroller programs.
• Error free results Flowcode works. What you design and simulate on-screen is the result you get when you download to your
microcontroller.
• Open architecture Flowcode allows you to view C and ASM code for all programs created and customise them. Access circuit
diagram equivalents to the system you design through our data sheets and support material.
• Fully supported Flowcode is supported by a wide range of materials and books for learning about, and developing, electronic
systems.
• Core-independent Flowcode programs developed for one microcontrollers easily transfer to another microcontroller.
FEATURES
• Supported microcontrollers Microchip PIC 10, 12, 16, 18, dsPIC, PIC24, Atmel AVR/Arduino, Atmel ARM.
• Supported communication systems Bluetooth, CAN, FAT, GPS, GSM, I2C, IrDA, LIN, MIDI, One wire, RC5, RF, RFID, RS232,
RS485, SPI, TCP/IP, USB, Wireless LAN, ZigBee
• Supported components ADC, LEDs, switches, keypads, LCDs, Graphical colour LCD, Graphical mono LCDs, Sensors, 7-
segment displays, Internal EEPROM, comms systems, Touchscreen LCD, Webserver.
• Supported mechatronics Accelerometer, PWM, Servo, Stepper, Speech.
• Supported subsystems MIAC, MIAC expansion modules, Formula Flowcode.
• Panel designer Design a panel of your choice on-screen and simulate it.
• In-Circuit Debug (ICD) When used with EB006 PIC Multiprogrammer, EB064 dsPIC/PIC24 Multiprogrammer or FlowKit.
• Tight integration with E-blocks Each comms system is supported by E-blocks hardware.
• Virtual networks Co-simulation of many instances of Flowcode for multi-chip systems. Co-simulation of MIAC based systems with
MIAC expansion modules.
DESIGN PROCESS
DESIGN SIMULATE DOWNLOAD
DESIGN
SIMULATE
DOWNLOAD
DESIGN PROCESS
DESIGN SIMULATE DOWNLOAD
Flow chart programming

Contenu connexe

Tendances (20)

USES OF THE COMPUTER NETWORK
USES OF THE COMPUTER NETWORKUSES OF THE COMPUTER NETWORK
USES OF THE COMPUTER NETWORK
 
Pseudocode & flowchart examples
Pseudocode & flowchart examplesPseudocode & flowchart examples
Pseudocode & flowchart examples
 
Intranet and extranet
Intranet and extranetIntranet and extranet
Intranet and extranet
 
Internet service provider
Internet service providerInternet service provider
Internet service provider
 
Internet and intranet
Internet and  intranetInternet and  intranet
Internet and intranet
 
Wireless Applications
Wireless ApplicationsWireless Applications
Wireless Applications
 
Registers
RegistersRegisters
Registers
 
Computer Networks Module I
Computer Networks Module IComputer Networks Module I
Computer Networks Module I
 
Control unit
Control unitControl unit
Control unit
 
Counters
CountersCounters
Counters
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Chapter04 -- network protocols
Chapter04  -- network protocolsChapter04  -- network protocols
Chapter04 -- network protocols
 
Internet architecture
Internet architectureInternet architecture
Internet architecture
 
Arduino Interfacing with different sensors and motor
Arduino Interfacing with different sensors and motorArduino Interfacing with different sensors and motor
Arduino Interfacing with different sensors and motor
 
pipelining
pipeliningpipelining
pipelining
 
Von neumann Architecture | Computer Science
Von neumann Architecture | Computer ScienceVon neumann Architecture | Computer Science
Von neumann Architecture | Computer Science
 
Instruction pipeline: Computer Architecture
Instruction pipeline: Computer ArchitectureInstruction pipeline: Computer Architecture
Instruction pipeline: Computer Architecture
 
Introduction of digital system
Introduction of digital systemIntroduction of digital system
Introduction of digital system
 
TCP/IP Network ppt
TCP/IP Network pptTCP/IP Network ppt
TCP/IP Network ppt
 
Networking Models
Networking ModelsNetworking Models
Networking Models
 

En vedette

Algorithms and Flowcharts
Algorithms and FlowchartsAlgorithms and Flowcharts
Algorithms and FlowchartsDeva Singh
 
Flowchart pseudocode-examples
Flowchart pseudocode-examplesFlowchart pseudocode-examples
Flowchart pseudocode-examplesGautam Roy
 
Flow chart powerpoint presentation slides ppt templates
Flow chart powerpoint presentation slides ppt templatesFlow chart powerpoint presentation slides ppt templates
Flow chart powerpoint presentation slides ppt templatesSlideTeam.net
 
Computer programming:Know How to Flowchart
Computer  programming:Know How to FlowchartComputer  programming:Know How to Flowchart
Computer programming:Know How to FlowchartAngelo Tomboc
 
Smart home project technical paper
Smart home project technical paperSmart home project technical paper
Smart home project technical paperAnwar Al Ahdab
 
Import export procedure flowchart
Import export procedure flowchartImport export procedure flowchart
Import export procedure flowchartTushar G
 
Introduction to Flowcharts, Micro and macro flowchart
Introduction to Flowcharts, Micro and macro flowchartIntroduction to Flowcharts, Micro and macro flowchart
Introduction to Flowcharts, Micro and macro flowchartSugandha Kapoor
 
C++ 11 range-based for loop
C++ 11   range-based for loopC++ 11   range-based for loop
C++ 11 range-based for loopmohamed sikander
 
Introduction to basic programming
Introduction to basic programmingIntroduction to basic programming
Introduction to basic programmingJordan Delacruz
 
While loop
While loopWhile loop
While loopFeras_83
 
Introduction to basic programming repetition
Introduction to basic programming repetitionIntroduction to basic programming repetition
Introduction to basic programming repetitionJordan Delacruz
 
[C++]3 loop statement
[C++]3 loop statement[C++]3 loop statement
[C++]3 loop statementJunyoung Jung
 

En vedette (20)

Flowchart
FlowchartFlowchart
Flowchart
 
Algorithms and Flowcharts
Algorithms and FlowchartsAlgorithms and Flowcharts
Algorithms and Flowcharts
 
Flowchart
FlowchartFlowchart
Flowchart
 
Flowchart pseudocode-examples
Flowchart pseudocode-examplesFlowchart pseudocode-examples
Flowchart pseudocode-examples
 
Flow chart powerpoint presentation slides ppt templates
Flow chart powerpoint presentation slides ppt templatesFlow chart powerpoint presentation slides ppt templates
Flow chart powerpoint presentation slides ppt templates
 
Pseudocode By ZAK
Pseudocode By ZAKPseudocode By ZAK
Pseudocode By ZAK
 
Computer programming:Know How to Flowchart
Computer  programming:Know How to FlowchartComputer  programming:Know How to Flowchart
Computer programming:Know How to Flowchart
 
Smart home project technical paper
Smart home project technical paperSmart home project technical paper
Smart home project technical paper
 
Loop control in c++
Loop control in c++Loop control in c++
Loop control in c++
 
Dev C++ Code Basic Loop
Dev C++ Code Basic LoopDev C++ Code Basic Loop
Dev C++ Code Basic Loop
 
Import export procedure flowchart
Import export procedure flowchartImport export procedure flowchart
Import export procedure flowchart
 
Introduction to Flowcharts, Micro and macro flowchart
Introduction to Flowcharts, Micro and macro flowchartIntroduction to Flowcharts, Micro and macro flowchart
Introduction to Flowcharts, Micro and macro flowchart
 
C++ 11 range-based for loop
C++ 11   range-based for loopC++ 11   range-based for loop
C++ 11 range-based for loop
 
C++loop statements
C++loop statementsC++loop statements
C++loop statements
 
Introduction to basic programming
Introduction to basic programmingIntroduction to basic programming
Introduction to basic programming
 
While loop
While loopWhile loop
While loop
 
Introduction to basic programming repetition
Introduction to basic programming repetitionIntroduction to basic programming repetition
Introduction to basic programming repetition
 
[C++]3 loop statement
[C++]3 loop statement[C++]3 loop statement
[C++]3 loop statement
 
Flow control in c++
Flow control in c++Flow control in c++
Flow control in c++
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 

Similaire à Flow chart programming

introduction to flowcharting complete.ppt
introduction to flowcharting complete.pptintroduction to flowcharting complete.ppt
introduction to flowcharting complete.pptcherevelasquez1
 
lab-8 (1).pptx
lab-8 (1).pptxlab-8 (1).pptx
lab-8 (1).pptxShimoFcis
 
Flowchart - Introduction and Designing Tools
Flowchart - Introduction and Designing ToolsFlowchart - Introduction and Designing Tools
Flowchart - Introduction and Designing ToolsJawad Khan
 
Flowcharting 09-25-19
Flowcharting 09-25-19Flowcharting 09-25-19
Flowcharting 09-25-19MISSIASABTAL1
 
final Unit 1-1.pdf
final Unit 1-1.pdffinal Unit 1-1.pdf
final Unit 1-1.pdfprakashvs7
 
Mat lab workshop
Mat lab workshopMat lab workshop
Mat lab workshopVinay Kumar
 
Problem-solving and design 1.pptx
Problem-solving and design 1.pptxProblem-solving and design 1.pptx
Problem-solving and design 1.pptxTadiwaMawere
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization TechniquesJoud Khattab
 
Algorithm Design and Problem Solving [Autosaved].pptx
Algorithm Design and Problem Solving [Autosaved].pptxAlgorithm Design and Problem Solving [Autosaved].pptx
Algorithm Design and Problem Solving [Autosaved].pptxKaavyaGaur1
 
Astu DSA week 1-2.pdf
Astu DSA week 1-2.pdfAstu DSA week 1-2.pdf
Astu DSA week 1-2.pdfHailuSeyoum1
 
Calculator_workshop-2024_version accept the
Calculator_workshop-2024_version accept theCalculator_workshop-2024_version accept the
Calculator_workshop-2024_version accept theRitchiWit
 
Pseudo code.pptx
Pseudo code.pptxPseudo code.pptx
Pseudo code.pptxChaya64047
 
SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2alhadi81
 
Algorithm and C code related to data structure
Algorithm and C code related to data structureAlgorithm and C code related to data structure
Algorithm and C code related to data structureSelf-Employed
 
Chap6 procedures &amp; macros
Chap6 procedures &amp; macrosChap6 procedures &amp; macros
Chap6 procedures &amp; macrosHarshitParkar6677
 
Intro to LV in 3 Hours for Control and Sim 8_5.pptx
Intro to LV in 3 Hours for Control and Sim 8_5.pptxIntro to LV in 3 Hours for Control and Sim 8_5.pptx
Intro to LV in 3 Hours for Control and Sim 8_5.pptxDeepakJangid87
 

Similaire à Flow chart programming (20)

Flowcharting week 5 2019 2020
Flowcharting week 5  2019  2020Flowcharting week 5  2019  2020
Flowcharting week 5 2019 2020
 
Flow charts week 5 2020 2021
Flow charts week 5 2020  2021Flow charts week 5 2020  2021
Flow charts week 5 2020 2021
 
Flowcharting
FlowchartingFlowcharting
Flowcharting
 
introduction to flowcharting complete.ppt
introduction to flowcharting complete.pptintroduction to flowcharting complete.ppt
introduction to flowcharting complete.ppt
 
lab-8 (1).pptx
lab-8 (1).pptxlab-8 (1).pptx
lab-8 (1).pptx
 
Flowchart - Introduction and Designing Tools
Flowchart - Introduction and Designing ToolsFlowchart - Introduction and Designing Tools
Flowchart - Introduction and Designing Tools
 
Flowcharting 09-25-19
Flowcharting 09-25-19Flowcharting 09-25-19
Flowcharting 09-25-19
 
final Unit 1-1.pdf
final Unit 1-1.pdffinal Unit 1-1.pdf
final Unit 1-1.pdf
 
Mat lab workshop
Mat lab workshopMat lab workshop
Mat lab workshop
 
Problem-solving and design 1.pptx
Problem-solving and design 1.pptxProblem-solving and design 1.pptx
Problem-solving and design 1.pptx
 
Optimization Techniques
Optimization TechniquesOptimization Techniques
Optimization Techniques
 
Algorithm Design and Problem Solving [Autosaved].pptx
Algorithm Design and Problem Solving [Autosaved].pptxAlgorithm Design and Problem Solving [Autosaved].pptx
Algorithm Design and Problem Solving [Autosaved].pptx
 
Astu DSA week 1-2.pdf
Astu DSA week 1-2.pdfAstu DSA week 1-2.pdf
Astu DSA week 1-2.pdf
 
Calculator_workshop-2024_version accept the
Calculator_workshop-2024_version accept theCalculator_workshop-2024_version accept the
Calculator_workshop-2024_version accept the
 
Pseudo code.pptx
Pseudo code.pptxPseudo code.pptx
Pseudo code.pptx
 
SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2SKEL 4273 CAD with HDL Topic 2
SKEL 4273 CAD with HDL Topic 2
 
Algorithm and C code related to data structure
Algorithm and C code related to data structureAlgorithm and C code related to data structure
Algorithm and C code related to data structure
 
Chap6 procedures &amp; macros
Chap6 procedures &amp; macrosChap6 procedures &amp; macros
Chap6 procedures &amp; macros
 
Simulation lab
Simulation labSimulation lab
Simulation lab
 
Intro to LV in 3 Hours for Control and Sim 8_5.pptx
Intro to LV in 3 Hours for Control and Sim 8_5.pptxIntro to LV in 3 Hours for Control and Sim 8_5.pptx
Intro to LV in 3 Hours for Control and Sim 8_5.pptx
 

Dernier

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 

Dernier (20)

Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 

Flow chart programming

  • 1. FLOW CHART PROGRAMMING FOR AVR MICROCONTROLLERS USING FLOWCODE PREPARED BY: TIRSO LLANTADA, ECE
  • 2. TOPIC TO BE DISCUSSED • MICROCONTROLLERS • AVR MICROCONTROLLERS • FLOW CHART • FLOWCODE
  • 4. General Purpose Micro processor RAM ROM Timer Serial COM Port IO Port Data BUS Address BUS Control BUS CPU RAM ROM I/OTimer Serial Port • General Purpose Microprocessors • Microcontrollers
  • 9. TOPIC TO BE DISCUSSED • MICROCONTROLLERS • AVR MICROCONTROLLERS • FLOW CHART • FLOWCODE
  • 10. AVR MICROCONTROLLERS • The acronym AVR has been reported to stand for: Advanced Virtual RISC and also for the chip's designers: Alf-Egil Bogen and Vegard Wollan who designed the basic architecture at the Norwegian Institute of Technology. • RISC stands for reduced instruction set computer. CPU design with a reduced instruction set as well as a simpler set of instructions (like for example PIC and AVR)
  • 11. A LITTLE HISTORY • The PIC (Programmable Interrupt Controller) appeared around 1980. → 8 bit bus → executes 1 instruction in 4 clk cycles → Harvard architecture • AVR (1994) → 8 bit bus → one instruction per cycle → Harvard architecture
  • 13. AVR DIFFERENT GROUPS • Classic AVR • e.g. AT90S2313, AT90S4433 • Mega • e.g. ATmega8, ATmega32, ATmega128 • Tiny • e.g. ATtiny13, ATtiny25 • Special Purpose AVR • e.g. AT90PWM216,AT90USB1287
  • 14. LET’S GET FAMILIAR WITH THE AVR PART NUMBERS ATmega128 ATtiny44 Atmel group Flash =128K Atmel Flash =4K AT90S4433 Atmel Classic group Flash =4KTiny group
  • 15. AVR’S CPU • AVR’s CPU • ALU • 32 General Purpose registers (R0 to R31) • PC register • Instruction decoder CPU PC ALU registers R1 R0 R15 R2 … R16 R17 … R30 R31 Instruction Register Instruction decoder SREG: I T H S V N CZ
  • 16. TOPIC TO BE DISCUSSED • MICROCONTROLLERS • AVR MICROCONTROLLERS • FLOW CHART • FLOWCODE
  • 17. FLOWCHART • A flowchart is a diagram that depicts the “flow” of a program. START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END
  • 18. ALGORITHMS AND FLOWCHARTS • A typical programming task can be divided into two phases: • Problem solving phase • produce an ordered sequence of steps that describe solution of problem • this sequence of steps is called an ALGORITHM • Implementation phase • implement the program in some programming language
  • 19. Rounded Rectangle Parallelogram Rectangle Rounded Rectangle START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END BASIC FLOWCHART SYMBOLS
  • 20. BASIC FLOWCHART SYMBOLS • Terminals • represented by rounded rectangles • indicate a starting or ending point Terminal START END Terminal START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END
  • 21. BASIC FLOWCHART SYMBOLS • Input/Output Operations • represented by parallelograms • indicate an input or output operation Display message “How many hours did you work?” Read Hours Input/Output Operation START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END
  • 22. BASIC FLOWCHART SYMBOLS • Processes • represented by rectangles • indicates a process such as a mathematical computation or variable assignment Multiply Hours by Pay Rate. Store result in Gross Pay. Process START Display message “How many hours did you work?” Read Hours Display message “How much do you get paid per hour?” Read Pay Rate Multiply Hours by Pay Rate. Store result in Gross Pay. Display Gross Pay END
  • 23. FOUR FLOWCHART STRUCTURES • Sequence • Decision • Repetition • Case
  • 24. SEQUENCE STRUCTURE • a series of actions are performed in sequence • The pay-calculating example was a sequence flowchart.
  • 25. DECISION STRUCTURE • One of two possible actions is taken, depending on a condition.
  • 26. DECISION STRUCTURE • A new symbol, the diamond, indicates a yes/no question. If the answer to the question is yes, the flow follows one path. If the answer is no, the flow follows another path YESNO
  • 27. DECISION STRUCTURE • In the flowchart segment below, the question “is x < y?” is asked. If the answer is no, then process A is performed. If the answer is yes, then process B is performed. YESNO x < y? Process BProcess A
  • 28. DECISION STRUCTURE • The flowchart segment below shows how a decision structure is expressed in C++ as an if/else statement. YESNO x < y? Calculate a as x times 2. Calculate a as x plus y. if (x < y) a = x * 2; else a = x + y; Flowchart C++ Code
  • 29. DECISION STRUCTURE • The flowchart segment below shows a decision structure with only one action to perform. It is expressed as an if statement in C++ code. if (x < y) a = x * 2; Flowchart C++ Code YESNO x < y? Calculate a as x times 2.
  • 30. REPETITION STRUCTURE • A repetition structure represents part of the program that repeats. This type of structure is commonly known as a loop.
  • 31. REPETITION STRUCTURE • Notice the use of the diamond symbol. A loop tests a condition, and if the condition exists, it performs an action. Then it tests the condition again. If the condition still exists, the action is repeated. This continues until the condition no longer exists.
  • 32. REPETITION STRUCTURE • In the flowchart segment, the question “is x < y?” is asked. If the answer is yes, then Process A is performed. The question “is x < y?” is asked again. Process A is repeated as long as x is less than y. When x is no longer less than y, the repetition stops and the structure is exited. x < y? Process A YES
  • 33. REPETITION STRUCTURE • The flowchart segment below shows a repetition structure expressed in C++ as a while loop. while (x < y) x++; Flowchart C++ Code x < y? Add 1 to x YES
  • 34. CONTROLLING A REPETITION STRUCTURE • The action performed by a repetition structure must eventually cause the loop to terminate. Otherwise, an infinite loop is created. • In this flowchart segment, x is never changed. Once the loop starts, it will never end. • QUESTION: How can this flowchart be modified so it is no longer an infinite loop? x < y? Display x YES
  • 35. CONTROLLING A REPETITION STRUCTURE • ANSWER: By adding an action within the repetition that changes the value of x. x < y? Display x Add 1 to x YES
  • 36. A PRE-TEST REPETITION STRUCTURE • This type of structure is known as a pre-test repetition structure. The condition is tested BEFORE any actions are performed. x < y? Display x Add 1 to x YES
  • 37. A PRE-TEST REPETITION STRUCTURE • In a pre-test repetition structure, if the condition does not exist, the loop will never begin. x < y? Display x Add 1 to x YES
  • 38. A POST-TEST REPETITION STRUCTURE • This flowchart segment shows a post-test repetition structure. • The condition is tested AFTER the actions are performed. • A post-test repetition structure always performs its actions at least once. Display x Add 1 to x YES x < y?
  • 39. A POST-TEST REPETITION STRUCTURE • The flowchart segment below shows a post-test repetition structure expressed in C++ as a do-while loop. do { cout << x << endl; x++; } while (x < y); Flowchart C++ Code Display x Add 1 to x YES x < y?
  • 40. CASE STRUCTURE • One of several possible actions is taken, depending on the contents of a variable.
  • 41. CASE STRUCTURE • The structure below indicates actions to perform depending on the value in years_employed. CASE years_employed 1 2 3 Other bonus = 100 bonus = 200 bonus = 400 bonus = 800
  • 42. CASE years_employed 1 2 3 Other bonus = 100 bonus = 200 bonus = 400 bonus = 800 If years_employed = 1, bonus is set to 100 If years_employed = 2, bonus is set to 200 If years_employed = 3, bonus is set to 400 If years_employed is any other value, bonus is set to 800 CASE STRUCTURE
  • 43. CONNECTORS • Sometimes a flowchart will not fit on one page. • A connector (represented by a small circle) allows you to connect two flowchart segments. A
  • 44. A ASTART END •The “A” connector indicates that the second flowchart segment begins where the first segment ends. CONNECTORS
  • 45. MODULES • A program module (such as a function in C++) is represented by a special symbol.
  • 46. •The position of the module symbol indicates the point the module is executed. •A separate flowchart can be constructed for the module. START END Read Input. Call calc_pay function. Display results. MODULES
  • 47. COMBINING STRUCTURES • Structures are commonly combined to create more complex algorithms. • The flowchart segment below combines a decision structure with a sequence structure. x < y? Display x Add 1 to x YES
  • 48. COMBINING STRUCTURES • This flowchart segment shows two decision structures combined. Display “x is within limits.” Display “x is outside the limits.” YESNO x > min? x < max? YESNO Display “x is outside the limits.”
  • 49. EXAMPLE 1 • Draw flowchart to creates a table for the two-variable equation X =3Y by calculating and printing the value of X for each positive-integer value of Y.
  • 50. EXAMPLE 2 A program is required to read three numbers, add them together and print their total. Input Processing Output Number1 Number2 Number3 Read three numbers Add number together Print total number total Add numbers to total Read Number1 Number2 number3 Print total Start Stop
  • 51. EXAMPLE 3 • A program is required to prompt the terminal operator for the maximum and minimum temperature readings on a particular day, accept those readings as integers, and calculate and display to the screen the average temperature, calculated by (maximum temperature + minimum temperature)/2. Input Processing Output Max_temp Min_temp Prompt for temperatures Get temperatures Calculate average temperature Display average temperature Avg_temp
  • 52. EXAMPLE 4 • Design an algorithm that will prompt a terminal operator for three characters, accept those characters as input, sort them into ascending sequence and output them to the screen. Input Processing Output Char_1 Char_2 Char_3 Prompt for characters Accept three characters Sort three characters Output three characters Char_1 Char_2 Char_3
  • 53. EXAMPLE 5 • Design a program that will prompt for and receive 18 examination scores from a mathematics test, compute the class average, and display all the scores and the class average to the screen. Input Processing Output 18 exam scores Prompt the scores Get scores Compute class average Display scores Display class average 18 exam scores Class_average
  • 54. Start Total_score = zero I = 1 Add scores(I) to Total score I = I + 1 Calculate average I = I + 1 Prompt and get Scores (I) I = 1 I <= 18 ? Display Scores (I) I <= 18 ? Display average Stop T F T F
  • 55. FLOWCODE • Flowcode is one of the World’s most advanced graphical programming languages for microcontrollers. The great advantage of Flowcode is that it allows those with little experience to create complex electronic systems. Flowcode is available in twenty languages and supports a wide range of devices. Separate versions are available for the PICmicro (8-bit), AVR/Arduino, dsPIC/PIC24 and ARM series of microcontrollers. Flowcode can be used with many microcontroller development hardware solutions including those from Matrix such as Formula Flowcode, E-blocks, MIAC and ECIO.
  • 56. ADVANTAGES • Save time and money Flowcode facilitates the rapid design of electronic systems based of microcontrollers. • Easy to use interface Simply drag and drop icons on-screen to create an electronic system without writing traditional code line by line. • Fast and flexible Flowcode has a host of high level component subroutines which means rapid system development. The flowchart programming method allows to develop microcontroller programs. • Error free results Flowcode works. What you design and simulate on-screen is the result you get when you download to your microcontroller. • Open architecture Flowcode allows you to view C and ASM code for all programs created and customise them. Access circuit diagram equivalents to the system you design through our data sheets and support material. • Fully supported Flowcode is supported by a wide range of materials and books for learning about, and developing, electronic systems. • Core-independent Flowcode programs developed for one microcontrollers easily transfer to another microcontroller.
  • 57. FEATURES • Supported microcontrollers Microchip PIC 10, 12, 16, 18, dsPIC, PIC24, Atmel AVR/Arduino, Atmel ARM. • Supported communication systems Bluetooth, CAN, FAT, GPS, GSM, I2C, IrDA, LIN, MIDI, One wire, RC5, RF, RFID, RS232, RS485, SPI, TCP/IP, USB, Wireless LAN, ZigBee • Supported components ADC, LEDs, switches, keypads, LCDs, Graphical colour LCD, Graphical mono LCDs, Sensors, 7- segment displays, Internal EEPROM, comms systems, Touchscreen LCD, Webserver. • Supported mechatronics Accelerometer, PWM, Servo, Stepper, Speech. • Supported subsystems MIAC, MIAC expansion modules, Formula Flowcode. • Panel designer Design a panel of your choice on-screen and simulate it. • In-Circuit Debug (ICD) When used with EB006 PIC Multiprogrammer, EB064 dsPIC/PIC24 Multiprogrammer or FlowKit. • Tight integration with E-blocks Each comms system is supported by E-blocks hardware. • Virtual networks Co-simulation of many instances of Flowcode for multi-chip systems. Co-simulation of MIAC based systems with MIAC expansion modules.