MSP430数码管的使用Ⅰ

来源:互联网 发布:怎么植入php一句话木马 编辑:程序博客网 时间:2024/05/21 15:46

首先应该了解数码管及其工作原理。了解你使用的是共阴还是共阳数码管,其次了解数码管的段选位选。


接下来是一个例程


#include<msp430f149.h>typedef unsigned char uchar;#define wei_h P5OUT |= BIT5#define wei_l P5OUT &= BIT5#define duan_l P6OUT &= ~BIT6#define duan_h P6OUT |= BIT6uchar 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_1_9;  IE1 |= WDTIE;    P6DIR |= BIT2;P6OUT |= BIT2;    P5DIR = 0XFF;  P4DIR = 0XFF;    P5OUT = 0X00;  P4OUT = 0XFF;    _BIS_SR(LPM3_bits + GIE);}#pragma vector = WDT_VECTOR__interrupt void watchdog_timer(void){  P4OUT = table[num];  duan_h;  duan_l;  P4OUT = ~(1 << num);  wei_h;  wei_l;  num++;  if(num == 8)    num = 0;}

MSP430的输出方向的设置非常重要。切勿忘记。

2 0