Académique Documents
Professionnel Documents
Culture Documents
increment count
No
Count = 10? Turn LEDs On
Yes
Delay 250 mSec
???
ECET 209 Purdue University 4
Delays
increment count
}
No
Count = 10? Turn LEDs On PORTC = 0x00;
{
Yes
Delay 250 mSec delay_ms(250);
Is a No
pushbutton
pressed?
while
Logic
No
High on
PORTA?
Yes
Logic {
No
High on
PORTA?
Yes
while (PINA == 0)
{
};
while (PINA == 0)
{
}
ECET 209 Purdue University 16
The Code
while (PINA == 0);
while (PINA == 0)
{
};
while (PINA == 0)
{
}
ECET 209 Purdue University 17
While Loops
Clear Counter
Delay
Increment Counter
Wait
for button to be
released
Display the
Results
Yes
delay 1mSec
button No
released?
Yes
ECET 209 Purdue University 21
while( PINA == 0)
{
} No
button
pressed?
Yes
do
delay 1mSec
button No
while( PINA != 0) released?
Yes
ECET 209 Purdue University 22
while( PINA == 0)
{
} No
button
pressed?
Yes
counter = 0;
set count to zero
do
button No
released?
while ( PINA != 0 );
Yes
ECET 209 Purdue University 23
while( PINA == 0)
{
} No
button
pressed?
Yes
counter = 0;
set count to zero
do
{
delay_ms( 1 ); delay 1mSec
}
button No
released?
while ( PINA != 0 );
Yes
ECET 209 Purdue University 24
Got Everything??
while( PINA == 0)
{
} No
button
pressed?
Yes
counter = 0;
set count to zero
do
{
delay_ms( 1 ); delay 1mSec
}
button No
released?
while ( PINA != 0 );
Yes
ECET 209 Purdue University 25
Got Everything??
while( PINA == 0)
{
} button No
pressed?
Yes
counter = 0;
set count to zero
do
{
delay 1mSec
delay_ms( 1 );
}
button No
released?
while ( PINA != 0 );
Yes
ECET 209 Purdue University 26
while( 1 )
while( PINA == 0) {
{
} No
button
pressed?
Yes
counter = 0;
set count to zero
do
{
delay_ms( 1 ); delay 1mSec
}
button No
released?
while ( PINA != 0 );
Yes
ECET 209 Purdue University 27
}
#include <delay.h>
while(1)
{
while ( PINA == 0) // wait for a PB
{
}
counter = 0; // clear the counter
do
{
delay_ms (1); // delay
counter++;
}
while ( PINA != 0 ); // wait for release
PORTC = ~counter; // display the results
}
ECET 209 Purdue University 28