Budu hodný - narychlo sem napíšu pseudokód v C (není to nejelegantnější možnost, ale je na ní možné snadno vidět jednotlivé části algoritmu), přepsat to do assembleru už musíš zvládnout sám, jinak je další debata bezpředmětná. S PICama jsem dělal naposledy před 2 roky, názvy registrů si pamatuju matně, můžou tam být chyby. Ale tím lépe pro tebe, alespoň si budeš muset o problematice něco nastudovat a opravíš si to. Jenom mám pocit, že to není pracovní úkol, ale domácí úkol do školy...
sbit BUTTON at RA0_bit;
sbit BUTTON_TRIS at TRISA0_bit;
sbit LED at RA1_bit;
sbit LED_TRIS at TRISA1_bit
uint8_t i;
void main()
{
ADCON1 = 7;
CMCON = 7; //tohle by melo vypnout ADC a komparatory, nevim jestli je 16F84 ma, dohledej si v datasheetu
BUTTON_TRIS = 1;
LED_TRIS = 0;
while(1)
{
if(BUTTON)
{
i=5;
while(i>0)
{
LED=1;
DelayMs(200);
LED=0;
DelayMs(200);
i--;
}
}
}
}
Víš, ono se tohle nedá dělat tak, že dostaneš něco, o čem nevíš ni, pět hodin na to budeš koukat a čekat na zázrak. Seznámit se se základy trvá minimálně půl roku, spíše celý rok.