Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

The code is run using C++ Programming using MPLAB X IDE from microchip Develop Code that will implement this flowchart Start with All the LEDs

The code is run using C++ Programming using MPLAB X IDE from microchip

Develop Code that will implement this flowchart

Start with All the LEDs Turned Off

1.) Press and release the switch SW3 one time ------> LED6 turns ON

2.) Press and release the switch SW3 again ------> LED6 turns OFF

3.) Press and release the switch SW3 again ------> LED5 turns ON

4.) Press and release the switch SW3 again ------> LED5 turns OFF

5.) Press and hold switch SW3 ------> LED4 turns ON

6.) Release switch SW3 ------> LED4 turns OFF and LED3 turns ON

7.) Press and hold switch SW3 ------> LED2 turns ON

8.) Release switch SW3 ------> LED3 turns OFF and LED1 turns ON

9.) Press and hold switch SW3 ------> LED0 turns ON and LED1 turns OFF

10.) Release switch SW3 ------> LED2 turns OFF and LED0 turns OFF

11.) Return to step 1 and repeat

Implement this flowchart using IF, ELSEIF, or ELSE statements

The code would then be loaded into a dspic33 using PICkit3

image text in transcribed

Here is what I have strucutre so far even though it does not run

#include "../Config3310.h"

#include "xc.h"

#include

// Global Variable Declaration

int I, J, K;

void Config_IO(void) { // Config_IO sets up the pins

ANSELA = 0b00000; // TURN ANALOG OFF , could also give ANSELA = 0b and you would have to figure it out

TRISA = 0b10000; // SET TRISA RA4 is input, others output

LATA = 0b00000; // Want to pull all unsued pins to ground inital state of 0

ANSELB = 0x0000; // TURN ANALOG OFF

TRISB = 0x0000; // Turn all others to outputs

LATB = 0x0000; // PULL all others to ground

_CNPUA4 = 1; // Add RA4 Pull up!!

}

void ShortDelay(void) { // calling a function, exucuting a sub rountine from other shortdelay's

for (I = 0; I

for (J = 0; J

} //

}

int main(void) {

// Variable Declarations

int stage = 0;

int step = 1;

// Configuration Calls

Config_IO();

// _RA4 = 0;

while (1) {

// stage = 0;

// step = 1;

If (step == 1) {

while (stage == 0) { //

if (_RA3 == 0) { // if SW3 close (switch 3)) Switch is pressed

_RB9 = 1; // turn RB9 ((LED6)) ON)

stage++; // Go to next stage in project

}

ShortDelay();

// _RA3 = 1;

}

Else if (stage == 1) {

While (stage == 1)

if (_RA3 == 1) { // SW3 open (switch 3 released)

_RB9 = 0; // turn RB9 ((LED6)) OFF)

stage++;

}

ShortDelay();

// _RA3 = 0;

}

Else if (stage == 2) {

While(stage == 2)

if (_RA3 == 0) { // If SW3 is pressed

_RB8 = 1; // Turn LED6 ON

stage++;

}

ShortDelay();

// _RA3 = 1;

}

Else if (stage == 3)

while (stage == 3) {

if (_RA3 == 1) { //Switch is released

_RB8 = 0;

step = 2; //Go to Case 2 next (might have been a line of code missing) that gibbs had)

stage = 0; //Set up start point in Case 2

}

ShortDelay();

}

break;

If step( == 2){

// _RA3 = 0;

while (stage == 0) { //

if (_RA3 == 0) { // if SW3 close (switch 3)) Switch is pressed

_RB7 = 1; // turn RB9 ((LED4)) ON)

ShortDelay(); //This is to be the part where the LED4 remains on while pressed

stage++; // Go to next stage in project

}

ShortDelay();

// _RA3 = 1;

Else if (stage == 1) {

While (stage == 1)

if (_RA3 == 1) { // SW3 open (switch 3 released)

_RB7 = 0; // turn RB7 ((LED4)) OFF)

_RB6 = 1: // turn RB6 ((LED3)) ON

stage++;

}

ShortDelay();

// _RA3 = 0;

Else if (stage == 2) {

While(stage == 2)

if (_RA3 == 0) { // If SW3 is pressed

_RB5 = 1; // Turn LED2 ON

ShortDelay(); //This is to be the part where the LED4 remains on while pressed

stage++;

// _RA4 = 1;

Else if (stage == 3)

while (stage == 3) {

if (_RA3 == 1) { //Switch is released

_RB6 = 0; // LED 3 turns off

_RB4 = 1; // LED 1 turns on

}

ShortDelay();

}

// step = 1;

// stage =0;

break; // Out of case 2

default: // Into default case , go back to beginning

// ShortDelay();

stage = 0;

step = 1;

// _RA4 = 0;

} // end switch (step)

} // end while (1))

} // end main

470 R15 470 LEDO R1 6 LED1 470 R17 J3 470 LED2 R18 470 LED3 R19K*. RB5 RB6 RBT 470 LED4 R R 2 470 LEDS R21 LED6 S3

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Students also viewed these Databases questions