⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fan.c

📁 msp430 非常经典的教材 希望对 msp430 的学者有帮助
💻 C
字号:

#include "io430.h"

void TimerA_Init(void);
void TimerA_Init(void);
void USART_Init(void);
unsigned int Date[4][10]={{0X040,0X0BC,0X138,0X1B4,0X230,0X2AC,0X328,0X3A4,0X420,0X49C},
                         {0X518,0X594,0X610,0X68C,0X708,0X784,0X800,0X87C,0X8F8,0X974},
                         {0X950,0XA6C,0XAE8,0XB64,0XBF0,0XC5C,0XC08,0XD54,0XDD0,0XE4C}};
unsigned int Idate;
unsigned char Word[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0XF8,0X80,0X90};
unsigned char ADC_result[];


void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;
  
    P1DIR=0X80;
    P1IE=BIT7;
    P1IES|=BIT7;
    
    P2DIR=0XFF;
    P2SEL=0X00;
    P4DIR=0XFF;
    P4SEL=0X00;
      
   TimerA_Init();
   ADC12_Init();
   USART_Init();
   _EINT();
  for(;;) 
  {
    LPM2;
    if(P1IFG&BIT7)
    {
      ADC12CTL0=ENC+ADC12SC;
      P1IFG&=~BIT7;
    }
 
}


void TimerA_Init(void)
{
  P1DIR|=BIT2;
  P1SEL|=BIT2;
  
  TACTL=TASSEL_1+TACLR;
  CCR0=400;
  CCR1=200;
  CCTL1=OUTMOD_3;
}


void ADC12_Init(void)
{
  P1DIR|=BIT0;
  P1SEL|=BIT0;
  
  ADC12CTL0&=~(ENC);
  ADC12CTL0|=MSC+REFON+REF2_5V;
  ADC12CTL0|=ADC12ON;
  
  ADC12CTL1|=CSTARTADD_0+SHS_1;
  ADC12CTL1|=SHP+ISSH+CONSEQ_2;
  ADC12MCTL0=INCH_0+SREF_1;
  
  ADC12IE=0X0001;
}

void USART_Init(void)
{
    P3SEL|=BIT4+BIT5;
    P3DIR|=BIT4;
    
    UCTL0&=~SWRST;
    
    UCTL0|=SSEL0;
    UBR00=0X08;
    UBR10=0X00;
    UMCTL0=0XFF;
    
    ME1|=URXE0+UTXE0;
    IE1|=URXIE0+UTXIE0;
}

void DELAY(void)
{
  unsigned int i=0;
  for(i=0;i<1000;i++)
    ;
}

#pragma vector=PORT1_VECTOR
__interrupt void P1out(void)
{
  LPM2_EXIT;
}


#pragma vector=ADC_VECTOR
__interrupt  void ADC_12(void)
{
  unsigned int m,n;
  unsigned int i=0;
  unsigned char DIGITAL_1[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
  unsigned char DIGITAL_2[10]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10};
  
  ADC_result[i]=ADCMEM0;
   i++;
  for(m=0;m<3;m++)
  {
    for(n=0;n<10;n++)
     {
       if(ADC_result<=Date[m][n])
          goto OUT;
       }
    
  }
   OUT: {
        P2OUT=Word[m];
        P4OUT=Word[n];
      } 
  ADC12CTL0|=ENC+ADC12SC;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -