има ли някой който разбира от програмиране на микроконтролери под C. Позлвам hitech C и имам няколко прости въпроса 

Код: Избери всички
#include <htc.h>
#include <pic.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & UNPROTECT & DUNPROTECT & BOREN & IESODIS & FCMDIS & LVPDIS & DEBUGDIS);
__CONFIG(BORV40);
#ifndef _XTAL_FREQ
// Unless already defined assume 4MHz system frequency
// This definition is required to calibrate __delay_us() and __delay_ms()
#define _XTAL_FREQ 4000000
#endif
void main (void)
{
ANSEL = 0x00;
TRISC=0x00;
TRISB=0x00;
TRISA=0x00;
PORTA = 0;
PORTB = 0;
PORTC = 0;
unsigned char button ;
button = 0;
for(;;){
if (RE3 == 0)
button = button+1;
if (button == 0)
{
RB1 = 0;
RC7 = 1;
__delay_ms(25);
RB0 = 0;
RC6 = 1;
__delay_ms(25);
RC7 = 0;
RC5 = 1;
__delay_ms(25);
RC6 = 0;
RC4 = 1;
__delay_ms(25);
RC5 = 0;
RC3 = 1;
__delay_ms(25);
RC4 = 0;
RC2 = 1;
__delay_ms(25);
RC3 = 0;
RC1 = 1;
__delay_ms(25);
RC2 = 0;
RC0 = 1;
__delay_ms(25);
RC1 = 0;
RA7 = 1;
__delay_ms(25);
RC0 = 0;
RA6 = 1;
__delay_ms(25);
RA7 = 0;
RA5 = 1;
__delay_ms(25);
RA6 = 0;
RA4 = 1;
__delay_ms(25);
RA5 = 0;
RA3 = 1;
__delay_ms(25);
RA4 = 0;
RA2 = 1;
__delay_ms(25);
RA3 = 0;
RA1 = 1;
__delay_ms(25);
RA2 = 0;
RA0 = 1;
__delay_ms(25);
RA1 = 0;
RB7 = 1;
__delay_ms(25);
RA0= 0;
RB6 = 1;
__delay_ms(25);
RB7 = 0;
RB5 = 1;
__delay_ms(25);
RB6= 0;
RB4 = 1;
__delay_ms(25);
RB5 = 0;
RB3 = 1;
__delay_ms(25);
RB4= 0;
RB2 = 1;
__delay_ms(25);
RB3 = 0;
RB1 = 1;
__delay_ms(25);
RB2= 0;
RB0 = 1;
__delay_ms(25);
};
if (button == 1)
{
PORTA = 1;
PORTB = 1;
PORTC = 1;
__delay_ms(250);
PORTA = 0;
PORTB = 0;
PORTC = 0;
__delay_ms(250);
};
if (button == 3)
button = 0;
}
}
Код: Избери всички
button++;
Код: Избери всички
if (!button) effect0();
else effect1();
Код: Избери всички
switch (button)
{
case 0: effect0(); break;
case 1: effect1(); break;
case 2: effect2(); break;
}
Код: Избери всички
button = 0;
for(;;)
{
if (!RE3) button = 1 - button;
....
}
Прикачен файл
Сподели форума:
Бъди информиран. Следвай "Направи сам" във Facebook:
Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: