微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机 中断

单片机 中断

时间:10-02 整理:3721RD 点击:

本人新手,想用430的下降沿触发中断,执行定时器,总是编译通不过,显示

#include <stdint.h>
#include "msp430.h"
#include "HAL_Board.h"
#include "HAL_Buttons.h"
#include "HAL_Dogs102x6.h"
#define trig BIT4 //P2.4-->DQ
#define trig1 P2OUT |= BIT4     //DS18B20接口为P2.4口
#define trig0 P2OUT &= ~BIT4
void start();
unsigned int a=0;
unsigned int d=0;
unsigned char  table1[10] = {'0','1','2','3','4','5','6','7','8','9'};
unsigned int s;
void  main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P2DIR &= ~BIT3;
  P6DIR  |=BIT7;
  P6OUT |=BIT7;
  P2REN |=BIT3;
  P2OUT &=~BIT3;
  _EINT();
  Board_init();
  uint8_t contrast = *((unsigned char *)contrastSetpointAddress);            //读取FLASH中对比度值
              uint8_t brightness = *((unsigned char *)brightnessSetpointAddress);        //读取FLASH中背光值
       Dogs102x6_init();
           Dogs102x6_backlightInit();
          // __enable_interrupt();
           Dogs102x6_setBacklight(brightness);          //设置初始背光值
               Dogs102x6_setContrast(contrast);             //设置初始对比度值
            Dogs102x6_clearScreen();
  TA0CCR0 =32768;
  TA0CTL = TASSEL_1 + MC_1+TACLR ;         // SMCLK, upmode, clear TAR
while(1)
{
        // tri;

         start();

         //tri0;
          //  s=a*1.87/100;
          Dogs102x6_charDraw(2,12,table1[a/100],0);
                  //  Dogs102x6_charDraw(2,12,table1[temp%1000/100],0);
                           Dogs102x6_charDraw(2,18,table1[a%100/10],0);
                Dogs102x6_charDraw(2,36,table1[a%10],0);
        __delay_cycles(50);
}
}
void start()
{
                   trig1;
                   __delay_cycles(6);
                   trig0;
}
#pragma vector=PORT1_VECTOR
__interrupt void port1_int(void)
  {
    if((P1IN&BIT1)==BIT1)
      {
        TA0CTL|=MC_1+TACLR;
        P1IES|=BIT1;
      }
    else
      {
        TA0CTL&=~MC_3;
        P1IES&=~BIT1;
        d=a/100*17/10;
       // P2OUT=TA0R;
      }
        P1IFG&=~BIT1;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
  a++;                            // Toggle P1.0
}
#include <stdint.h>
#include "msp430.h"
#include "HAL_Board.h"
#include "HAL_Buttons.h"
#include "HAL_Dogs102x6.h"
#define trig BIT4 //P2.4-->DQ
#define trig1 P2OUT |= BIT4     //DS18B20接口为P2.4口
#define trig0 P2OUT &= ~BIT4
void start();
unsigned int a=0;
unsigned int d=0;
unsigned char  table1[10] = {'0','1','2','3','4','5','6','7','8','9'};
unsigned int s;
void  main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  P2DIR &= ~BIT3;
  P6DIR  |=BIT7;
  P6OUT |=BIT7;
  P2REN |=BIT3;
  P2OUT &=~BIT3;
  _EINT();
  Board_init();
  uint8_t contrast = *((unsigned char *)contrastSetpointAddress);            //读取FLASH中对比度值
              uint8_t brightness = *((unsigned char *)brightnessSetpointAddress);        //读取FLASH中背光值
       Dogs102x6_init();
           Dogs102x6_backlightInit();
          // __enable_interrupt();
           Dogs102x6_setBacklight(brightness);          //设置初始背光值
               Dogs102x6_setContrast(contrast);             //设置初始对比度值
            Dogs102x6_clearScreen();
  TA0CCR0 =32768;
  TA0CTL = TASSEL_1 + MC_1+TACLR ;         // SMCLK, upmode, clear TAR
while(1)
{
        // tri;

         start();

         //tri0;
          //  s=a*1.87/100;
          Dogs102x6_charDraw(2,12,table1[a/100],0);
                  //  Dogs102x6_charDraw(2,12,table1[temp%1000/100],0);
                           Dogs102x6_charDraw(2,18,table1[a%100/10],0);
                Dogs102x6_charDraw(2,36,table1[a%10],0);
        __delay_cycles(50);
}
}
void start()
{
                   trig1;
                   __delay_cycles(6);
                   trig0;
}
#pragma vector=PORT1_VECTOR
__interrupt void port1_int(void)
  {
    if((P1IN&BIT1)==BIT1)
      {
        TA0CTL|=MC_1+TACLR;
        P1IES|=BIT1;
      }
    else
      {
        TA0CTL&=~MC_3;
        P1IES&=~BIT1;
        d=a/100*17/10;
       // P2OUT=TA0R;
      }
        P1IFG&=~BIT1;
}
#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
  a++;                            // Toggle P1.0
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top