Quantcast
Channel: MSP Microcontroller Projects
Viewing all articles
Browse latest Browse all 81

3 bit sevensegment display timer.It can be reconfigured to make a digital clock etc.

$
0
0

#include <msp430g2553.h>
int i=0,count=0,d1=0,d2=0,d3=0;
int num[10]= {0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
void main()
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
TACTL = TASSEL_2 + MC_1 + ID_3; // SMCLK/8, upmode
CCR0 = 313; // 400 Hz->313
CCTL0 = CCIE; // CCR0 interrupt enabled
P1DIR |= 0xFF; // All P1 pins output
P1OUT = 0x00;
_BIS_SR( GIE);
P2DIR=0xFF;
// P2SEL=0xFF;
P2OUT=0xFF;

while(1)
{
for (count=0;count<999;count++)
{
d1++;
if(d1>8)
{
d1=0;
d2++;
if(d2>8)
{
d2=0;
d3++;
}
}
_delay_cycles(500000);
}
d1=0;
d2=0;
d3=0;
}

}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{

if(i==0)
{
P1OUT=num[d1];
//i++;

P2OUT|=BIT2;

P2OUT&=~BIT1;
i=1;
}
else if(i==1)
{

P1OUT=num[d2];
//i++;
P2OUT|=BIT1;
P2OUT&=~BIT0;
i=2;
}
else if(i==2)
{

P1OUT=num[d3];
//i++;
P2OUT|=BIT0;
P2OUT&=~BIT2;
i=0;
}

}


Viewing all articles
Browse latest Browse all 81

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>