[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Компильни этот нехитрый примерчик для тогоже PIC16F877.
Прогрузись в MPLAB и наблюдай в соответсвующих регистрах
результат. Ответ-то правильный 1+2+3+4+5+6+7+8+9+10=55 = 37H
В Микрочиповском Datashit'е (сейчас, к сожалению забыл номер An_ .pdf)
имеется описание алгоритма.
------------------------------------------------- void pr1(void); void pr1(void) void pr2(void) void pr3(void) void pr4(void) void pr5(void) void pr6(void) void pr7(void) void pr8(void) void pr9(void) void pr10(void) void rezalt (void)
E-mail:
info@telesys.ru
#include
static char REG1 @ 0x30;
static char REG2 @ 0x31;
static char REG3 @ 0x32;
static char REG4 @ 0x33;
static char REG5 @ 0x34;
static char REG6 @ 0x35;
static char REG7 @ 0x36;
static char REG8 @ 0x37;
static char REG9 @ 0x38;
static char REG10 @ 0x39;
static char REZALT @ 0x3A;
void pr2(void);
void pr3(void);
void pr4(void);
void pr5(void);
void pr6(void);
void pr7(void);
void pr8(void);
void pr9(void);
void pr10(void);
void rezalt(void);
main ()
{ rezalt();
while (1) {;}
}//main
{REG1=1;pr2();}
{REG2=2;pr3();}
{REG3=3;pr4();}
{REG4=4;pr5();}
{REG5=5;pr6();}
{REG6=6;pr7();}
{REG7=7;pr8();}
{REG8=8;pr9();}
{REG9=9;pr10();}
{REG10=10;}
{pr1();
REZALT=REG1+REG2;
}
Ответы