Flow chart programming
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Flow chart programming

on

  • 1,477 views

 

Statistics

Views

Total Views
1,477
Views on SlideShare
1,477
Embed Views
0

Actions

Likes
0
Downloads
32
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Flow chart programming Presentation Transcript

  • 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
  • 3. MICROCONTROLLERS
  • 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
  • 5. EMBEDDED SYSTEMS
  • 6. EMBEDDED SYSTEMS
  • 7. COMMON MICROCONTROLLERS
  • 8. MICROCONTROLLER ARCHITECTURE
  • 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
  • 12. AVR INTERNAL ARCHITECTURE PROGRAM ROM PortsOSC CPU Timers Other Peripherals Program Bus Bus RAM I/O PINS EEPROM Interrupt Unit
  • 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.
  • 58. DESIGN PROCESS DESIGN SIMULATE DOWNLOAD
  • 59. DESIGN
  • 60. SIMULATE
  • 61. DOWNLOAD
  • 62. DESIGN PROCESS DESIGN SIMULATE DOWNLOAD