AVR -prellmentesites (szoftware problema)
Pal Lukacs
ekegep at yahoo.com
Thu May 10 12:52:46 CEST 2007
Sziassztok!
Egy pici segitseget szeretnek kerni Toletek.
Epitettem egy nixie orat.
ATmega8 PORTD: 0-4 bitjet hasznalom bemenetnek,ezeken van 5 nyomogomb,amelybol ketto az INT0 -es INT1 -en van.Ezek a +- nyomogombok.Mindegyik gomb belso felhuzoellelallassal van es 10uF prellmentesitessel.
A PORTD 5,6,7 biteket MUX vezerlo biteknek hasznalom.
A kondenzatoros prellmentesites ellenere oriasi a prell.(az orat keptelenseg beallitani)
Probalkoztam 47uF kondival is.Mivel gombnyomaskor (L szint) van az INTerrupt,mikor a nyomogombot elengedem,akkor egy kis ideig nincs prell aztan kezdenek szaladni a kijelzon a szamok.
Ekkor jottem ra hogy a gond szoftverhiba.A MUX vezerlo kodreszlet valt ki INTerruptokat mivel ugyanazon porton vannak a nyomogombok es a MUX,igy valami osszeakad.
Probalkoztam mar biteltolasos,es -vagy mindefele modszerekkel,eredmeny ua.
Jelenlegi MUX vezerlo kodreszletet beszurom:
main()
{
...
for (;;)
{
if (cnt1 == THRESHOLD) //4ms
{
cnt1 = 0;
//wdt reset
__asm__ __volatile__ ("wdr"); //reset WDR
if (nixie > 3)
{
nixie = 0;
}
//mux
//csovek jobbrol-balra 0-3ig.
switch (nixie)
{
case 0:
PORT_DATA_OUT = perc % 10; //0. csonek adat
PORT_MUX_AND_BUTTONS = 0x1F; //elozo MUX vezerlo biteket toroljuk; -->
// 0. cso anod kapcsolva.
break;
//1. cso
case 1:
PORT_MUX_AND_BUTTONS = 0xFF; // mindegyik cso kikapcs
PORT_DATA_OUT = perc / 10; //1. csonek adat -> katod testre
PORT_MUX_AND_BUTTONS &= 0x3F; //port:5-7.bit: 5.bit H; 1 cso anod bekapcs
break;
//2.cso
case 2:
PORT_MUX_AND_BUTTONS = 0xFF;
PORT_DATA_OUT = ora % 10; //2. csonek adat
PORT_MUX_AND_BUTTONS &=0x5F; //port:5-7.bit : 6. bit H; 2. cso anod bekapcs
break;
//3.cso
case 3:
PORT_MUX_AND_BUTTONS = 0xFF;
PORT_DATA_OUT = ora / 10; //3. csonek adat
PORT_MUX_AND_BUTTONS &=0x7F; //port:5-7.bit : 5.-6. bit H; 3. cso anod bekapcs
break;
}
nixie++; //kovetkezo cso.
}
}
}
Segitsegeteket elore is koszonom!
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.
More information about the Elektro
mailing list