Witam!
Potrzebuje zrobić programik, który działa nastepujaco: majac klawiature numeryczną i 8 diod , po nacisnięciu np. klawisza z numerem 5 ma się zapalić 5 pierwszych diod od D1 do D5 i analogicznie z innymi klawiszami, przy czym po nacisnieciu klawisza z cyfrą 0 zapalonne diody maja gasnąć lub ma ssie nic nie dziać jesli symulacja jest co dopiero odpalona. Teraz powstaje pytanie jak to zrobić?
Zadeklarowanie diod i klawiszy z rezystorami na odpowiednich nóżkach:
i program, który według mnie powinien robić to co jest w zamysle:
Programuje w środowisku VMLAB 3.12
Bazrdo prosze o pomoc! Problem jaki mam z tym programem napewno jest błachy aczkolwiek nie siedze w tym na codzień i nie mam wiekszego doświadczenia.
Potrzebuje zrobić programik, który działa nastepujaco: majac klawiature numeryczną i 8 diod , po nacisnięciu np. klawisza z numerem 5 ma się zapalić 5 pierwszych diod od D1 do D5 i analogicznie z innymi klawiszami, przy czym po nacisnieciu klawisza z cyfrą 0 zapalonne diody maja gasnąć lub ma ssie nic nie dziać jesli symulacja jest co dopiero odpalona. Teraz powstaje pytanie jak to zrobić?
Zadeklarowanie diod i klawiszy z rezystorami na odpowiednich nóżkach:
D1 VDD PB0 ; x: Panel LEDs 1 - 8
D2 VDD PB1
D3 VDD PB2
D4 VDD PB3
D5 VDD PB4
D6 VDD PB5
D7 VDD PB6
D8 VDD PB7
K0 VDD PD0 LATCHED
R00 VSS PD0 1k
K1 VDD PD1 LATCHED
R01 VSS PD1 1k
K2 VDD PD2 LATCHED
R02 VSS PD2 1k
K3 VDD PD3 LATCHED
R03 VSS PD3 1k
K4 VDD PD4 LATCHED
R04 VSS PD4 1k
K5 VDD PD5 LATCHED
R05 VSS PD5 1k
K6 VDD PD6 LATCHED
R06 VSS PD6 1k
K7 VDD PD7 LATCHED
R07 VSS PD7 1k
K8 VDD PD8 LATCHED
R08 VSS PD8 1ki program, który według mnie powinien robić to co jest w zamysle:
volatile char i;
volatile unsigned char stanKlawiszy;
ISR(TIMER0_OVF0_vect){
i++;
stanKlawiszy = PINB &9;
switch(stanKlawiszy){
case 0:
{
DDRB = 0;
break;
}
case 1:
{
DDRB = 2-1;
break;
}
case 2:
{
DDRB = 4-1;
break;
}
case 3:
{
DDRB = 8-1;
break;
}
case 4:
{
DDRB = 16-1;
break;
}
case 5:
{
DDRB = 32-1;
break;
}
case 6:
{
DDRB = 64-1;
break;
}
case 7:
{
DDRB = 128-1;
break;
}
case 8:
{
DDRB = 256-1;
break;
}
}
}
int main(void) {
DDRD = 4;
TCNT0 = 100;
TCCR0 = 3;
TIMSK = 2;
sei();
while(1){
}
}Programuje w środowisku VMLAB 3.12
Bazrdo prosze o pomoc! Problem jaki mam z tym programem napewno jest błachy aczkolwiek nie siedze w tym na codzień i nie mam wiekszego doświadczenia.