Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Using IAR develop a program to display a timer using the 7 segment displays. The

ID: 3801771 • Letter: U

Question

Using IAR develop a program to display a timer using the 7 segment displays. The counter must be able to count up to 59 minutes and 59 seconds and must be displayed in the following format: 59:59 (using the colon). Use software delay loops to approximate one second delays. Use the switches S2 and S3 on the development board for input. S2 must be used to start the timer while S3 must be used stop the timer on the first press and reset the timer back to 00:00 on the second press. Use interrupts for the switches and make sure they are de-bounced.

(In assembly, not C please)

Explanation / Answer

int const a = 10;
int const b = 9;
int const c = 8;
int const d = 7;
int const e = 6;
int const f = 5;
int const g = 4;

int const p = A2;
int const q = A0;
int const r = A1;
int const s = 3;
int const t = 2;
int const u = A3;
int const v = 11;

int i;
int j;

int sir;
int ser;

void setup(){

pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(3, OUTPUT);
pinMode(2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(11, OUTPUT);
}

void loop(){

for (j=0; j<10; j++){
ser = j;

if(ser == 0){
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, LOW);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);

}
else if(ser == 1){
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);

}
else if(ser == 2){
digitalWrite (a, LOW);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);

}
else if(ser == 3){
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);

}
else if(ser == 4){
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, HIGH);

}
else if(ser == 5){
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, LOW);

}
else if(ser == 6){
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, LOW);

}
else if(ser == 7){
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);

}
else if(ser == 8){
digitalWrite (a, HIGH);
digitalWrite (b, HIGH);
digitalWrite (c, HIGH);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);

}
else if(ser == 9){
digitalWrite (a, HIGH);
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, HIGH);
digitalWrite (g, HIGH);

}

for (i=0; i<10; i++){
sir = i;
if(sir == 0){
digitalWrite (p, HIGH);
digitalWrite (q, HIGH);
digitalWrite (r, HIGH);
digitalWrite (s, LOW);
digitalWrite (t, HIGH);
digitalWrite (u, HIGH);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 1){
digitalWrite (p, HIGH);
digitalWrite (q, LOW);
digitalWrite (r, LOW);
digitalWrite (s, LOW);
digitalWrite (t, LOW);
digitalWrite (u, LOW);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 2){
digitalWrite (p, LOW);
digitalWrite (q, HIGH);
digitalWrite (r, HIGH);
digitalWrite (s, HIGH);
digitalWrite (t, LOW);
digitalWrite (u, HIGH);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 3){
digitalWrite (p, HIGH);
digitalWrite (q, LOW);
digitalWrite (r, HIGH);
digitalWrite (s, HIGH);
digitalWrite (t, LOW);
digitalWrite (u, HIGH);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 4){
digitalWrite (p, HIGH);
digitalWrite (q, LOW);
digitalWrite (r, LOW);
digitalWrite (s, HIGH);
digitalWrite (t, HIGH);
digitalWrite (u, LOW);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 5){
digitalWrite (p, HIGH);
digitalWrite (q, LOW);
digitalWrite (r, HIGH);
digitalWrite (s, HIGH);
digitalWrite (t, HIGH);
digitalWrite (u, HIGH);
digitalWrite (v, LOW);
delay (1000);
}
else if(sir == 6){
digitalWrite (p, HIGH);
digitalWrite (q, HIGH);
digitalWrite (r, HIGH);
digitalWrite (s, HIGH);
digitalWrite (t, HIGH);
digitalWrite (u, HIGH);
digitalWrite (v, LOW);
delay (1000);
}
else if(sir == 7){
digitalWrite (p, HIGH);
digitalWrite (q, LOW);
digitalWrite (r, LOW);
digitalWrite (s, LOW);
digitalWrite (t, LOW);
digitalWrite (u, HIGH);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 8){
digitalWrite (p, HIGH);
digitalWrite (q, HIGH);
digitalWrite (r, HIGH);
digitalWrite (s, HIGH);
digitalWrite (t, HIGH);
digitalWrite (u, HIGH);
digitalWrite (v, HIGH);
delay (1000);
}
else if(sir == 9){
digitalWrite (p, HIGH);
digitalWrite (q, LOW);
digitalWrite (r, LOW);
digitalWrite (s, HIGH);
digitalWrite (t, HIGH);
digitalWrite (u, HIGH);
digitalWrite (v, HIGH);
delay (1000);
}
}
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote