Difference between revisions of "Exercise - Using Macros"

From Flowcode Help
Jump to navigationJump to search
Line 29: Line 29:
 
* Locate the 'LCD' inside the 'Outputs' toolbox in the [[Tools and Views#1) Icons Toolbar|Icons toolbar]].
 
* Locate the 'LCD' inside the 'Outputs' toolbox in the [[Tools and Views#1) Icons Toolbar|Icons toolbar]].
 
:* Hover over the image to the left of the 'LCD' label, and click on the down-arrow that appears.
 
:* Hover over the image to the left of the 'LCD' label, and click on the down-arrow that appears.
 +
 +
 +
 +
 +
===Add the switch===
 +
* Locate the 'Push Round Panel' switch in the 'Inputs' toolbox in the [[Tools and Views#1) Icons Toolbar|Icons toolbar]].
 +
:* Hover over the image to the left of the switch label, and click on the down-arrow that appears.
 +
:* Click on the 'Add to system panel' option to select it.
 +
:* Click on the image of the switch on the System panel to select it and drag it to a suitable position.
 +
:* On the Panel Properties, click on the 'Unconnected' label, next to 'Connection'.
 +
:: A pinout of the microcontroller appears.
 +
:* Click on the rectangle that represents the pin RA1/AN1, to connect the switch to Port A, bit 1 of the microcontroller.
 +
 +
===Add the LED===
 +
* Locate the 'Single LED' in the 'Outputs' toolbox in the [[Tools and Views#1) Icons Toolbar|Icons toolbar]].
 +
:* Hover over the image to the left of the 'Single LED' label, and click on the down-arrow that appears.
 +
:* Click on the 'Add to system panel' option to select it.
 +
:* Select the LED on the System panel and drag it to a suitable position.
 +
:* Look at the Panel Properties, the 'Connection' property shows that, by default, it is connected to Port A, bit 0.
 +
:: Leave it like this.

Revision as of 10:49, 25 June 2013

Macros are sections of code that are repeated a number of times within a program.
It is more efficient to use a macro than to create the code repeatedly every time it is needed.
For more information about macros, see What Is a Macro?.

This exercise shows how to use macros with a menu to create a simple LED flasher. The LED can be made to flash at different frequencies by pressing different switches.


The first section looks at using 'Component Macros' to create the core timing sequence. The second section looks at using it to turn on a lamp for ten seconds once a switch is pressed.


The core timing sequence

At the core of the program is a section that sets up the LCD to display the time.
The flowchart sequence for displaying the elapsed time will be:

  • Initialize the LCD using the 'Start' macro.
  • Set the cursor position in the LCD, using the 'Cursor' macro.



Set up the flowchart


Create the core sequence

Add the LCD

  • Locate the 'LCD' inside the 'Outputs' toolbox in the Icons toolbar.
  • Hover over the image to the left of the 'LCD' label, and click on the down-arrow that appears.



Add the switch

  • Locate the 'Push Round Panel' switch in the 'Inputs' toolbox in the Icons toolbar.
  • Hover over the image to the left of the switch label, and click on the down-arrow that appears.
  • Click on the 'Add to system panel' option to select it.
  • Click on the image of the switch on the System panel to select it and drag it to a suitable position.
  • On the Panel Properties, click on the 'Unconnected' label, next to 'Connection'.
A pinout of the microcontroller appears.
  • Click on the rectangle that represents the pin RA1/AN1, to connect the switch to Port A, bit 1 of the microcontroller.

Add the LED

  • Locate the 'Single LED' in the 'Outputs' toolbox in the Icons toolbar.
  • Hover over the image to the left of the 'Single LED' label, and click on the down-arrow that appears.
  • Click on the 'Add to system panel' option to select it.
  • Select the LED on the System panel and drag it to a suitable position.
  • Look at the Panel Properties, the 'Connection' property shows that, by default, it is connected to Port A, bit 0.
Leave it like this.