From fa0963d19092637d56b49fa7bde75520c336f20c Mon Sep 17 00:00:00 2001 From: Imants Pulkstenis <17215731+Clockfix@users.noreply.github.com> Date: Wed, 11 Dec 2019 20:32:08 +0200 Subject: [PATCH] Update labd3.c --- labd3.c | 103 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 57 insertions(+), 46 deletions(-) diff --git a/labd3.c b/labd3.c index beb60a8..41db434 100644 --- a/labd3.c +++ b/labd3.c @@ -1,59 +1,70 @@ -#include +// programma veic Kontaktu drebesanas noversanu +#include -// aparatūras definīcijas +// aparaturas definicijas #define POGA1 0x01 // P1.0 #define POGA2 0x02 // P1.1 - -#define LED1 0x04 // P2.2 -#define LED2 0x02 // P2.1 +#define LED1 0x04 // P2.2 +#define LED2 0x02 // P2.1 // konstantes -#define BMASK POGA1 + POGA2 // Pogu maska -#define B_DEL_VAL 10 // Šo mēs mainīsim pēc algoritma izveides +#define BMASK POGA1+POGA2 // Pogu maska +#define B_DEL_VAL 437 // So mes mainisim pec algoritma izveides void main(void) { - // mainīgie - unsigned char Butt_S1 = POGA1 + POGA2; - unsigned char B_Del_Cnt = B_DEL_VAL; - unsigned char X; // starprezultātu glabāšana +// mainigie +unsigned char Butt_S1=POGA1 + POGA2; +unsigned char B_Del_Cnt=B_DEL_VAL; +unsigned char X; // starprezultatu glabasana +unsigned char Butt_S2; // 7.punkta mainigais pogas ieprieksejas stavokla saglabasanai - // aparatūras sākuma inicializācija - WDTCTL = WDTPW + WDTHOLD; // apturam WDT - P2DIR = LED1 + LED2; // pārslēdzam uz izeju - P2OUT |= LED1 + LED2; // ieslēdzam abas diodes - // programmas galvenais cikls - while (1) - { - X = P1IN & BMASK; - if (X == Butt_S1) - { - // pogas nav mainījušās - B_Del_Cnt--; - if (B_Del_Cnt == 0) - { - // kontaktu drebēšana ir beigusies - // Pogu apstrāde - if ((Butt_S1 & POGA1) == 0) +// aparaturas sakuma inicializacija +WDTCTL = WDTPW+WDTHOLD; // apturam WDT +P2DIR = LED1 + LED2; // parsledzam uz izeju +P2OUT |= LED1 + LED2; // iesledzam abas diodes + + +// programmas galvenais cikls +while(1) + { + X=P1IN & BMASK; + if(X == Butt_S1) + { // pogas nav mainijusas + B_Del_Cnt--; + if(B_Del_Cnt==0) + { // kontaktu drebseana ir beigusies +////////////////// 5.punkts - Pogu apstrades algoritms (visu iekomentejam, ja velamies izpildit 7.punktu) +// 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; - // atkārtojam apstrādi - } - } - else - { - // NEWSTAT - Butt_S1 = X; - // jaunā vērtība - B_Del_Cnt = B_DEL_VAL; - } - // NEXT - // te būs citi, programmas galvenajā ciklā veicamie darbi - }; + Butt_S2 = Butt_S1; +//////////////////////////////////////// 7.punkta beigas + B_Del_Cnt=B_DEL_VAL; // atkartojam kontaktu drebsaanas apstradi + } + } + else + { // NEWSTAT + Butt_S1=X; // jauna vertiba + B_Del_Cnt=B_DEL_VAL; + } + + // NEXT + // te bus citi, programmas galvenaja cikla veicamie darbi + }; }