Update labd3.c
This commit is contained in:
@@ -1,59 +1,70 @@
|
|||||||
|
// programma veic Kontaktu drebesanas noversanu
|
||||||
#include <msp430xG46x.h>
|
#include <msp430xG46x.h>
|
||||||
|
|
||||||
// aparatūras definīcijas
|
// aparaturas definicijas
|
||||||
#define POGA1 0x01 // P1.0
|
#define POGA1 0x01 // P1.0
|
||||||
#define POGA2 0x02 // P1.1
|
#define POGA2 0x02 // P1.1
|
||||||
|
#define LED1 0x04 // P2.2
|
||||||
#define LED1 0x04 // P2.2
|
#define LED2 0x02 // P2.1
|
||||||
#define LED2 0x02 // P2.1
|
|
||||||
|
|
||||||
// konstantes
|
// konstantes
|
||||||
#define BMASK POGA1 + POGA2 // Pogu maska
|
#define BMASK POGA1+POGA2 // Pogu maska
|
||||||
#define B_DEL_VAL 10 // Šo mēs mainīsim pēc algoritma izveides
|
#define B_DEL_VAL 437 // So mes mainisim pec algoritma izveides
|
||||||
|
|
||||||
void main(void)
|
void main(void)
|
||||||
{
|
{
|
||||||
// mainīgie
|
// mainigie
|
||||||
unsigned char Butt_S1 = POGA1 + POGA2;
|
unsigned char Butt_S1=POGA1 + POGA2;
|
||||||
unsigned char B_Del_Cnt = B_DEL_VAL;
|
unsigned char B_Del_Cnt=B_DEL_VAL;
|
||||||
unsigned char X; // starprezultātu glabāšana
|
unsigned char X; // starprezultatu glabasana
|
||||||
|
unsigned char Butt_S2; // 7.punkta mainigais pogas ieprieksejas stavokla saglabasanai
|
||||||
|
|
||||||
// aparatūras sākuma inicializācija
|
// aparaturas sakuma inicializacija
|
||||||
WDTCTL = WDTPW + WDTHOLD; // apturam WDT
|
WDTCTL = WDTPW+WDTHOLD; // apturam WDT
|
||||||
P2DIR = LED1 + LED2; // pārslēdzam uz izeju
|
P2DIR = LED1 + LED2; // parsledzam uz izeju
|
||||||
P2OUT |= LED1 + LED2; // ieslēdzam abas diodes
|
P2OUT |= LED1 + LED2; // iesledzam abas diodes
|
||||||
// programmas galvenais cikls
|
|
||||||
while (1)
|
|
||||||
{
|
// programmas galvenais cikls
|
||||||
X = P1IN & BMASK;
|
while(1)
|
||||||
if (X == Butt_S1)
|
{
|
||||||
{
|
X=P1IN & BMASK;
|
||||||
// pogas nav mainījušās
|
if(X == Butt_S1)
|
||||||
B_Del_Cnt--;
|
{ // pogas nav mainijusas
|
||||||
if (B_Del_Cnt == 0)
|
B_Del_Cnt--;
|
||||||
{
|
if(B_Del_Cnt==0)
|
||||||
// kontaktu drebēšana ir beigusies
|
{ // kontaktu drebseana ir beigusies
|
||||||
// Pogu apstrāde
|
////////////////// 5.punkts - Pogu apstrades algoritms (visu iekomentejam, ja velamies izpildit 7.punktu)
|
||||||
if ((Butt_S1 & POGA1) == 0)
|
// if( (Butt_S1 & POGA2) == 0)
|
||||||
|
// {
|
||||||
|
// P2OUT |= LED1;
|
||||||
|
// }
|
||||||
|
// if( (Butt_S1 & POGA1) == 0)
|
||||||
|
// {
|
||||||
|
// P2OUT &= ~LED1;
|
||||||
|
// }
|
||||||
|
//////////////////////////////////////// 5.punkta beigas
|
||||||
|
|
||||||
|
////////////////// 7.punkts - Pogu apstrades algoritms (visu iekomentejam, ja velamies izpildit 5.punktu)
|
||||||
|
if( (Butt_S1 & POGA1) == 0)
|
||||||
{
|
{
|
||||||
P2OUT |= LED1;
|
if(Butt_S1 != Butt_S2)
|
||||||
|
{
|
||||||
|
P2OUT ^= LED2;
|
||||||
}
|
}
|
||||||
if ((Butt_S1 & POGA2) == 0)
|
|
||||||
{
|
|
||||||
P2OUT &= ~LED1;
|
|
||||||
}
|
}
|
||||||
B_Del_Cnt = B_DEL_VAL;
|
Butt_S2 = Butt_S1;
|
||||||
// atkārtojam apstrādi
|
//////////////////////////////////////// 7.punkta beigas
|
||||||
}
|
B_Del_Cnt=B_DEL_VAL; // atkartojam kontaktu drebsaanas apstradi
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
// NEWSTAT
|
{ // NEWSTAT
|
||||||
Butt_S1 = X;
|
Butt_S1=X; // jauna vertiba
|
||||||
// jaunā vērtība
|
B_Del_Cnt=B_DEL_VAL;
|
||||||
B_Del_Cnt = B_DEL_VAL;
|
}
|
||||||
}
|
|
||||||
// NEXT
|
// NEXT
|
||||||
// te būs citi, programmas galvenajā ciklā veicamie darbi
|
// te bus citi, programmas galvenaja cikla veicamie darbi
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user