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

74LS138如果用来驱动LED,恐怕最好是用灌电流的方式,(因为没有找到更好的方式)

并且好像也没有人用过这个东西直接驱动数码管,只是用来做的好看点,并且还节省端口,如果谁有好的方法还希望能告诉俺一下,感激万分,共同提高。并且我的这个小灯想加上一些电容,做出一个带尾巴的循环灯效果。

#include "msp430x22x4.h"

extern void Delay();
extern void LEDshow();
static unsigned int ledshows[14]={
   0x00,0x01,0x02,0x03,0x04,0x05,0x06,  
   0x07,0x06,0x05,0x04,0x03,0x02,0x01,}; //依次逐个循环点亮

int main()
{
   WDTCTL=WDTPW+WDTHOLD;       //关看门狗

   P3DIR |= 0xFF;              //P3.0-P3.2为LED,接74LS138
  
   P3OUT = 0X00;
   P4OUT = 0X00;
    
   while(1)
   {
     LEDshow();
   }
}
//===========================================
//函数名:LEDSHOW
//
//返回值:无
//===========================================
void LEDshow()
{
   int i;
  
   for(i = 0;i < 13;i++)
   {
     P3OUT = ledshows[i];
     Delay(200);
   }
}
//===========================================
//函数名:延时
//返回值: 无
//===========================================
void Delay(int count)
{
   int i;
   while(--count != 0)
   {
     for(i = 0; i < 125; i++);
   }                // i 从0加到125,在12M晶体下CPU大概耗时1毫秒
}


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

     

©2008 Baidu