百度首页 | 百度空间
 
查看文章
 
MSP430驱动8位LED程序
2007-10-17 19:19

使用MSP430F2274芯片,上课的时候想到的,很不完善,后来改的就好多了,只能用来做演示玩。

#include "msp430x22x4.h"

extern void Delay();
extern void xianshi();
int qian,bai,shi,ge;

static unsigned int number[]={
0x3f,0x06,0x5b,0x4f,           // 0 1 2 3
0x66,0x6d,0x7d,0x07,         // 4 5 6 7
0x7f,0x6f,0x77,0x7c,           // 8 9 A B
0x39,0x5e,0x79,0x71,         // C D E F
0xbf,0x86,0xdb,0xcf,           // 0. 1. 2. 3.  
0xe6,0xed,0xfd,0x87,          // 4. 5. 6. 7.
0xff,0xef                              // 8. 9.
};

int main()
{
   WDTCTL=WDTPW+WDTHOLD;       //关看门狗
  
   P3DIR |= 0xFF;              //P3.4-P3.7为数码管的4位
   P4DIR |= 0XFF;              //P4为数码管段输出   


   P3OUT = 0X00;
   P4OUT = 0X00;
    
   while(1)
   {
     qian = 0;
     for( ;qian < 10;qian++)
     {
       bai = 0;
       for( ;bai < 10;bai++)
       {
         shi = 0;
         for( ;shi < 10;shi++)
         {
           ge = 0;
           for( ;ge < 10;ge++)
           {
             xianshi();
           }
         }
       }
     }
   }
}

//==============================================
//函数名:    numbershow
//function:     循环显示两位数字
//返回值:    无
//==============================================
void xianshi()
{
     int i;
     for(i = 7;i > 0;i--)
     {
       P4OUT = number[qian];
       P3OUT = 0Xe0;
       Delay(5);
       P4OUT = number[bai];
       P3OUT = 0xd0;
       Delay(5);
       P4OUT = number[shi + 16]; //十位数后面的点一直亮着
       P3OUT = 0Xb0;
       Delay(5);
       P4OUT = number[ge];
       P3OUT = 0x70;
       Delay(5);
     }
}

//===========================================
//函数名:延时
//返回值: 无
//===========================================
void Delay(int count)
{
   int i;
   while(--count != 0)
   {
     for(i = 0; i < 125; i++);
   }                       // i 从0加到125,在12M下CPU大概耗时1毫秒
}


类别:程序 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu