Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<msp430x14x.h>
- #include "lcd.h"
- #include "portyLcd.h"
- void mydelay(int a)
- {
- int s=0;
- int d=0;
- for(s=0; s<a; s++)
- {
- for(d=0; d<a; d++)
- {
- _NOP();
- }
- }
- }
- void konwersja(int liczba)
- {
- char tab[60];
- int v=0;
- if(liczba==0)
- SEND_CHAR('0');
- while(liczba!=0)
- {
- tab[v]=liczba%10+48;
- liczba=liczba/10;
- v++;
- }
- int i;
- for(i=v-1; i>=0; i--)
- {
- SEND_CHAR(tab[i]);
- }
- }
- //---------------- zmienne globalne -------------
- unsigned int i=0;
- unsigned int sekundy=0;
- unsigned int licznik=0;
- void Clock(void);
- int godzina=16;
- int minuta=59;
- int setna=0;
- //----------------- main program -------------------
- void main( void )
- {
- P2DIR |= BIT1 ; // STATUS LED
- P4DIR&=~BIT4+~BIT5+~BIT6+~BIT7;
- WDTCTL=WDTPW + WDTHOLD; // Wyłączenie WDT
- InitPortsLcd(); // inicjalizacja portów LCD
- InitLCD(); // inicjalizacja LCD
- clearDisplay(); // czyszczenie wyświetlacza
- // Basic Clock Module ustawiamy na ACLK(zegar 8 MHz ) i dzielimy częstotliwość przez 2 (4 MHz)
- BCSCTL1 |= XTS; // ACLK = LFXT1 = HF XTAL 8MHz
- do
- {
- IFG1 &= ~OFIFG; // Czyszczenie flgi OSCFault
- for (i = 0xFF; i > 0; i--); // odczekanie
- }
- while ((IFG1 & OFIFG) == OFIFG); // dopóki OSCFault jest ciągle ustawiona
- BCSCTL1 |= DIVA_3; // ACLK=8 MHz/8=1 MHz
- BCSCTL2 |= SELM0 | SELM1; // MCLK= LFTX1 =ACLK
- // Timer_A ustawiamy na 500 kHz
- // a przerwanie generujemy co 100 ms
- TACTL = TASSEL_1 + MC_1 +ID_2; // Wybieram ACLK, ACLK/8=500kHz,tryb Up
- CCTL0 = CCIE; // włączenie przerwań od CCR0
- CCR0=2500; // podzielnik 50000: przerwanie co 100 ms
- _EINT();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement