吴忠躺衫网络科技有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子元器件>發光二極管>

流水燈C51程序 - 旋轉LED屏原理介紹

2012年03月19日 13:59 本站整理 作者:秩名 用戶評論(0
這是用此思路編的流水燈C51程序

  #include

  code unsigned char led[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  void main(void)

  {

  unsigned int i,j;

  while(1)

  {

  for(j=0;j<8;j++){

  P0=~led[j];

  for(i=3000;i>0;i--);

  }

  }

  }

  運行看一下,結果與我們的第一個程序效果是一樣的,但這個程序的優勢在于我們可以按我們的要求,改變數組中的數據來驅動端口上的LED,達到我們預期的顯示效果。這可以說是流水燈的萬能程序。這樣我們邁出了第一步。

  再來看如何產生需要的圖案。

  現在我們讓LED顯示數字12為例,我們先作一個表。

  0 1 0 0 1 1 1 1 低四位

  1 1 0 0 1 0 0 1

  0 1 0 0 0 0 0 1

  0 1 0 0 0 0 1 0

  0 1 0 0 0 1 0 0 高四位

  0 1 0 0 1 0 0 0

  0 1 0 0 1 0 0 0

  1 1 1 0 1 1 1 1

  從下到上將每列看成是一個16進制數,我得到8個16進制數

  10000010=0x82

  11111111=0xff

  10000000=0x80

  00000000=0x00

  11100011=0xe3

  10010001=0x91

  10001001=0x89

  10000111=0x87

  這樣我們得到了我們想要的一組掃描碼{0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87}

  將前一程序的數組數據改成我們得到的掃描碼,我們得到新的C51程序

  #include

  code unsigned char led[]={0x82,0xff,0x80,0x00,0xe3,0x91,0x89,0x87};

  void main(void)

  {

  unsigned int i,j;

  while(1)

  {

  for(j=0;j<8;j++){

  P0=~led[j];

  for(i=600;i>0;i--);

  }

  for(i=8000;i>0;i--);

  for(i=8000;i>0;i--);

  }

  }

  編譯下載后,將運行進的電路板來回晃晃看……,哈,“12”已隱約出現在眼前。

  

?

  

?

  哈哈,是不是成功離我們已經不遠了。

  最后是發揮部分。接著要做的事就是解決如何讓這些LED運動,如何檢測運行時的開始和結束,如何給運動著的系統供電,如何控制運動著的系統….等等。不同的解決方案造就各具特色的LED旋轉屏。

非常好我支持^.^

(262) 50.5%

不好我反對

(257) 49.5%

( 發表人:diyfans )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      广州百家乐赌城| 百家乐官网赌场详解| 澳门百家乐官网心得玩博| 真钱百家乐官网游戏排行| 缅甸百家乐娱乐场开户注册| 真钱百家乐官网游戏排行| 娱乐城注册送58| 百家乐最佳下注方法| 缅甸百家乐官网论坛| 粤港澳百家乐娱乐| 择日自学24| 皇冠比分| 闲和庄百家乐娱乐平台| 澳门百家乐官网是怎样赌| 水果机价格| 百家乐官网赢退输进有哪些| 大发888娱乐场ylc8| 百家乐必胜软件下载| 金花百家乐官网娱乐城| 棋牌室管理制度| 百家乐视频软件| 百家乐官网模拟投注器| 大发888娱乐城ipad| 百家乐官网博彩破解论坛| 唐山市| 大发888有破解的没| 百家乐对子计算方法| 百家乐官网网站是多少| 百家乐官网游戏必赢法| 大发888注册送彩金| 百家乐乐赌| 澳门百家乐视频| 神话百家乐官网的玩法技巧和规则 | 万宝路百家乐官网的玩法技巧和规则| 百家乐官网方法技巧| 88娱乐城开户| 新梦想百家乐的玩法技巧和规则 | 云龙县| 大发888娱乐城m88| 澳门玩百家乐00| 杨公24山向水法吉凶断|