Advertisement
Guest User

Untitled

a guest
Nov 12th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.98 KB | None | 0 0
  1. #include<msp430x14x.h>
  2. #include "lcd.h"
  3. #include "portyLcd.h"
  4. void mydelay(int a)
  5. {
  6.     int s=0;
  7.     int d=0;
  8.     for(s=0; s<a; s++)
  9.     {
  10.         for(d=0; d<a; d++)
  11.         {
  12.             _NOP();
  13.         }
  14.     }
  15. }
  16. void konwersja(int liczba)
  17. {
  18.     char tab[60];
  19.     int v=0;
  20.     if(liczba==0)
  21.         SEND_CHAR('0');
  22.     while(liczba!=0)
  23.     {
  24.         tab[v]=liczba%10+48;
  25.         liczba=liczba/10;
  26.         v++;
  27.     }
  28.     int i;
  29.     for(i=v-1; i>=0; i--)
  30.     {
  31.         SEND_CHAR(tab[i]);
  32.     }
  33. }
  34.  
  35. //---------------- zmienne globalne -------------
  36. unsigned int i=0;
  37. unsigned int sekundy=0;
  38. unsigned int licznik=0;
  39.  
  40. void Clock(void);
  41. int godzina=16;
  42. int minuta=59;
  43. int setna=0;
  44.  
  45. //----------------- main program -------------------
  46. void main( void )
  47. {
  48.     P2DIR |= BIT1 ;                   // STATUS LED
  49.     P4DIR&=~BIT4+~BIT5+~BIT6+~BIT7;
  50.  
  51.     WDTCTL=WDTPW + WDTHOLD;           // Wyłączenie WDT
  52.  
  53.     InitPortsLcd();                   // inicjalizacja portów LCD
  54.     InitLCD();                        // inicjalizacja LCD
  55.     clearDisplay();                   // czyszczenie wyświetlacza
  56.  
  57. // Basic Clock Module ustawiamy na ACLK(zegar 8 MHz ) i dzielimy częstotliwość przez 2 (4 MHz)
  58.     BCSCTL1 |= XTS;                       // ACLK = LFXT1 = HF XTAL 8MHz
  59.  
  60.     do
  61.     {
  62.         IFG1 &= ~OFIFG;                     // Czyszczenie flgi OSCFault
  63.         for (i = 0xFF; i > 0; i--);         // odczekanie
  64.     }
  65.     while ((IFG1 & OFIFG) == OFIFG);    // dopóki OSCFault jest ciągle ustawiona
  66.  
  67.     BCSCTL1 |= DIVA_3;                    // ACLK=8 MHz/8=1 MHz
  68.     BCSCTL2 |= SELM0 | SELM1;             // MCLK= LFTX1 =ACLK
  69.  
  70. // Timer_A  ustawiamy na 500 kHz
  71. // a przerwanie generujemy co 100 ms
  72.     TACTL = TASSEL_1 + MC_1 +ID_2;        // Wybieram ACLK, ACLK/8=500kHz,tryb Up
  73.     CCTL0 = CCIE;                         // włączenie przerwań od CCR0
  74.     CCR0=2500;                           // podzielnik 50000: przerwanie co 100 ms
  75.  
  76.     _EINT();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement