99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶(hù)?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子元器件>發(fā)光二極管>

流水燈C51程序 - 旋轉(zhuǎn)LED屏原理介紹

2012年03月19日 13:59 本站整理 作者:秩名 用戶(hù)評(píng)論(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--);

  }

  }

  }

  運(yùn)行看一下,結(jié)果與我們的第一個(gè)程序效果是一樣的,但這個(gè)程序的優(yōu)勢(shì)在于我們可以按我們的要求,改變數(shù)組中的數(shù)據(jù)來(lái)驅(qū)動(dòng)端口上的LED,達(dá)到我們預(yù)期的顯示效果。這可以說(shuō)是流水燈的萬(wàn)能程序。這樣我們邁出了第一步。

  再來(lái)看如何產(chǎn)生需要的圖案。

  現(xiàn)在我們讓LED顯示數(shù)字12為例,我們先作一個(gè)表。

  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

  從下到上將每列看成是一個(gè)16進(jìn)制數(shù),我得到8個(gè)16進(jìn)制數(shù)

  10000010=0x82

  11111111=0xff

  10000000=0x80

  00000000=0x00

  11100011=0xe3

  10010001=0x91

  10001001=0x89

  10000111=0x87

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

  將前一程序的數(shù)組數(shù)據(jù)改成我們得到的掃描碼,我們得到新的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--);

  }

  }

  編譯下載后,將運(yùn)行進(jìn)的電路板來(lái)回晃晃看……,哈,“12”已隱約出現(xiàn)在眼前。

  

?

  

?

  哈哈,是不是成功離我們已經(jīng)不遠(yuǎn)了。

  最后是發(fā)揮部分。接著要做的事就是解決如何讓這些LED運(yùn)動(dòng),如何檢測(cè)運(yùn)行時(shí)的開(kāi)始和結(jié)束,如何給運(yùn)動(dòng)著的系統(tǒng)供電,如何控制運(yùn)動(dòng)著的系統(tǒng)….等等。不同的解決方案造就各具特色的LED旋轉(zhuǎn)屏。

非常好我支持^.^

(262) 50.5%

不好我反對(duì)

(257) 49.5%

( 發(fā)表人:diyfans )

      發(fā)表評(píng)論

      用戶(hù)評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?