久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

實現LED分級亮度的簡便算法

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年02月22日   【字體:

#include"reg52.h"
unsigned char code table[]={0xfe,0xfc,0xf0,0xe0,0xc0,0x80,0x00};
void main()
{
  unsigned char i;
  while(1)
   {
     i++;
     i&=0x07;
     P1=table;
    }
}

低電平點亮LED,i=0到7;
while循環周期*8=PWM的周期
當i=0時,D0亮
當i=1時,D0,D1亮
當i=2時,D0,D1,D2亮
。。。。。。
當i=7時,D0,D1,D2,D3,D4,D5,D6,D7全亮
也就是說,在while的8個循環中,D0一直亮,D1則只有7次亮。。。。。。D7則只有1次亮

按照這個算法,只要定義一個一維表格,就可以靜態現實LED的8個不同亮度,且亮度次序任意
如果定義一個二維表格,則可以動態現實LED亮度,幾乎可以任意定義次序花樣

 

下面來看一個完整的二維數組漸變程序
完整代碼下載地址:http://www.zg4o1577.cn/f/jianb.rar

#include "reg52.h" 
unsigned char code table[37][8]=   //定義一個2維數組 
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//off 
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,//D0亮度等級1/8 
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,//D1亮度等級1/8 
0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xfc,//D1亮度等級2/8 
0xff,0xff,0xff,0xff,0xff,0xff,0xfd,0xf8,//D2亮度等級1/8 
0xff,0xff,0xff,0xff,0xff,0xff,0xf9,0xf8,//D2亮度等級2/8 
0xff,0xff,0xff,0xff,0xff,0xfb,0xf9,0xf8,//D2亮度等級3/8 
0xff,0xff,0xff,0xff,0xff,0xfb,0xf9,0xf0,//D3 
0xff,0xff,0xff,0xff,0xff,0xfb,0xf1,0xf0, 
0xff,0xff,0xff,0xff,0xff,0xf3,0xf1,0xf0, 
0xff,0xff,0xff,0xff,0xf7,0xf3,0xf1,0xf0, 
0xff,0xff,0xff,0xff,0xf7,0xf3,0xf1,0xe0,//D4 
0xff,0xff,0xff,0xff,0xf7,0xf3,0xe1,0xe0, 
0xff,0xff,0xff,0xff,0xf7,0xe3,0xe1,0xe0, 
0xff,0xff,0xff,0xff,0xe7,0xe3,0xe1,0xe0, 
0xff,0xff,0xff,0xef,0xe7,0xe3,0xe1,0xe0, 
0xff,0xff,0xff,0xef,0xe7,0xe3,0xe1,0xc0,//D5 
0xff,0xff,0xff,0xef,0xe7,0xe3,0xc1,0xc0, 
0xff,0xff,0xff,0xef,0xe7,0xc3,0xc1,0xc0, 
0xff,0xff,0xff,0xef,0xc7,0xc3,0xc1,0xc0, 
0xff,0xff,0xff,0xcf,0xc7,0xc3,0xc1,0xc0, 
0xff,0xff,0xdf,0xcf,0xc7,0xc3,0xc1,0xc0, 
0xff,0xff,0xdf,0xcf,0xe7,0xe3,0xc1,0x80,//D6 
0xff,0xff,0xdf,0xcf,0xe7,0xe3,0x81,0x80, 
0xff,0xff,0xdf,0xcf,0xe7,0x83,0x81,0x80, 
0xff,0xff,0xdf,0xcf,0x87,0x83,0x81,0x80, 
0xff,0xff,0xdf,0x8f,0x87,0x83,0x81,0x80, 
0xff,0xff,0x9f,0x8f,0x87,0x83,0x81,0x80, 
0xff,0xbf,0x9f,0x8f,0x87,0x83,0x81,0x80, 
0xff,0xbf,0x9f,0x8f,0x87,0x83,0x81,0x00,//D7 
0xff,0xbf,0x9f,0x8f,0x87,0x83,0x01,0x00, 
0xff,0xbf,0x9f,0x8f,0x87,0x03,0x01,0x00, 
0xff,0xbf,0x9f,0x8f,0x07,0x03,0x01,0x00, 
0xff,0xbf,0x9f,0x0f,0x07,0x03,0x01,0x00, 
0xff,0xbf,0x1f,0x0f,0x07,0x03,0x01,0x00, 
0xff,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00, 
0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00, 
}; 

void main()         
{ 
unsigned char i; 
unsigned int j; 
unsigned int counter; 
bit flag=0; 
while(1) 
{ 
  i++; 
  i&=0x07;       //i=0到7 
  counter++; 
  if(counter==12000)     //延時對j++ 
  { 
   if(flag==0) j++;     
   else j--; 
   counter=0; 
   if(j==36 || j==0) 
   { 
    flag=!flag;     //決定正向掃描還是逆向掃描 
    i=0; 
   } 
  } 
   P1=table[j];     //掃描第i列,掃描第j行 
} 
} 

注意:用2003時,是高電平點亮LED。要對它取反。

關閉窗口

相關文章

主站蜘蛛池模板: 另类专区亚洲 | 亚洲国产欧美在线 | 草草视频在线免费观看 | 成人国产精品免费观看 | 久久久久久久久国产精品 | 91av在线视频观看 | 国产精品一区二区欧美 | 一区二区三区在线 | 亚洲综合三区 | 久久99精品久久久久久国产越南 | 91在线免费视频 | 91视频进入 | 亚洲欧美高清 | 精品久久久久久久久久久久久 | 99久久国产 | 日韩成人性视频 | 一区二区三区久久久 | 亚洲成av人片在线观看无码 | 中文字幕av中文字幕 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | 麻豆天堂| 精品国产乱码久久久久久闺蜜 | 北条麻妃视频在线观看 | 99视频在线播放 | 91成人在线| 免费黄色片视频 | 91麻豆精品国产91久久久久久久久 | 欧美视频二区 | 午夜视频在线观看一区二区 | 最近中文字幕第一页 | 久久99精品久久久久 | 男女又爽又黄视频 | 日日久 | 伊人狼人影院 | 欧美日韩一区二区视频在线观看 | 狠狠亚洲| 国产精品高潮呻吟久久 | 国产成人一区二区三区 | 久草在线影 | 99re6热在线精品视频播放 | 色秀网站 |