×
嵌入式 > 技术百科 > 详情

MSP430数码管的使用Ⅱ

发布时间:2020-06-02 发布时间:
|

通过宏定义设置段选位选



#include  

  

typedef unsigned char uchar;  

  

#define wei_h P5OUT |= BIT5  

#define wei_l P5OUT &= BIT5  

#define duan_l P6OUT &= ~BIT6  

#define duan_h P6OUT |= BIT6  

  

uchar table[16] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  

uchar num = 0;  

  

  

void main( void )  

{  

  P1DIR = 0XFF;P1OUT = 0XFF;  

  P2DIR = 0XFF;P2OUT = 0XFF;  

  P3DIR = 0XFF;P3OUT = 0XFF;  

  P4DIR = 0XFF;P4OUT = 0XFF;  

  P5DIR = 0XFF;P5OUT = 0XFF;  

  P6DIR = 0XFF;P6OUT = 0XFF;  

  // Stop watchdog timer to prevent time out reset  

  WDTCTL = WDT_ADLY_1000;  

  IE1 |= WDTIE;  

    

  P6DIR |= BIT2;P6OUT |= BIT2;  

    

  P4OUT = 0X00;  

    

  _BIS_SR(LPM3_bits + GIE);  

}  

  

#pragma vector = WDT_VECTOR  

__interrupt void watchdog_timer(void)  

{  

  P4OUT = table[num];  

  duan_h;  

  duan_l;  

  P4OUT = 0x00;  

  wei_h;  

  wei_l;  

  num++;  

  if(num == 16)  

    num = 0;  

}  


 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
VR十大误区:眼睛离屏幕太近真的会瞎吗?