<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 24. 8X8 LED點(diǎn)陣顯示技術(shù)

          24. 8X8 LED點(diǎn)陣顯示技術(shù)

          作者: 時(shí)間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
          1.實(shí)驗(yàn)任務(wù)
          8X8LED點(diǎn)陣上顯示柱形,讓其先從左到右平滑移動(dòng)三次,其次從右到左平滑移動(dòng)三次,再次從上到下平滑移動(dòng)三次,最后從下到上平滑移動(dòng)三次,如此循環(huán)下去。
          2.電路原理

          圖4.24.1
          3.硬件電路連線
          (1).把“單片機(jī)系統(tǒng)”區(qū)域中的P1端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“DR1-DR8”端口上;
          (2).把“單片機(jī)系統(tǒng)”區(qū)域中的P3端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“DC1-DC8”端口上;
          4.程序設(shè)計(jì)內(nèi)容
          (1).8X8點(diǎn)陣LED工作原理說明
          8X8點(diǎn)陣LED結(jié)構(gòu)如下圖所示

          從圖4.24.2中可以看出,8X8點(diǎn)陣共需要64個(gè)發(fā)光二極管組成,且每個(gè)發(fā)光二極管是放置在行線和列線的交叉點(diǎn)上,當(dāng)對(duì)應(yīng)的某一列置1電平,某一行置0電平,則相應(yīng)的二極管就亮;因此要實(shí)現(xiàn)一根柱形的亮法,如圖49所示,對(duì)應(yīng)的一列為一根豎柱,或者對(duì)應(yīng)的一行為一根橫柱,因此實(shí)現(xiàn)柱的亮的方法如下所述:
          一根豎柱:對(duì)應(yīng)的列置1,而行則采用掃描的方法來實(shí)現(xiàn)。
          一根橫柱:對(duì)應(yīng)的行置0,而列則采用掃描的方法來實(shí)現(xiàn)。
          5.匯編源程序
          ORG00H
          START:NOP
          MOVR3,#3
          LOP2:MOVR4,#8
          MOVR2,#0
          LOP1:MOVP1,#0FFH
          MOVDPTR,#TABA
          MOVA,R2
          MOVCA,@A+DPTR
          MOVP3,A
          INCR2
          LCALLDELAY
          DJNZR4,LOP1
          DJNZR3,LOP2
          MOVR3,#3
          LOP4:MOVR4,#8
          MOVR2,#7
          LOP3:MOVP1,#0FFH
          MOVDPTR,#TABA
          MOVA,R2
          MOVCA,@A+DPTR
          MOVP3,A
          DECR2
          LCALLDELAY
          DJNZR4,LOP3
          DJNZR3,LOP4

          MOVR3,#3
          LOP6:MOVR4,#8
          MOVR2,#0
          LOP5:MOVP3,#00H
          MOVDPTR,#TABB
          MOVA,R2
          MOVCA,@A+DPTR
          MOVP1,A
          INCR2
          LCALLDELAY
          DJNZR4,LOP5
          DJNZR3,LOP6
          MOVR3,#3
          LOP8:MOVR4,#8
          MOVR2,#7
          LOP7:MOVP3,#00H
          MOVDPTR,#TABB
          MOVA,R2
          MOVCA,@A+DPTR
          MOVP1,A
          DECR2
          LCALLDELAY
          DJNZR4,LOP7
          DJNZR3,LOP8
          LJMPSTART
          DELAY:MOVR5,#10
          D2:MOVR6,#20
          D1:MOVR7,#248
          DJNZR7,$
          DJNZR6,D1
          DJNZR5,D2
          RET
          TABA:DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
          TABB:DB01H,02H,04H,08H,10H,20H,40H,80H
          END
          6.C語言源程序
          #include
          unsignedcharcodetaba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
          unsignedcharcodetabb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
          voiddelay(void)
          {
          unsignedchari,j;
          for(i=10;i>0;i--)
          for(j=248;j>0;j--);
          }
          voiddelay1(void)
          {
          unsignedchari,j,k;
          for(k=10;k>0;k--)
          for(i=20;i>0;i--)
          for(j=248;j>0;j--);
          }
          voidmain(void)
          {
          unsignedchari,j;
          while(1)
          {
          for(j=0;j<3;j++)//fromlefttoright3time
          {
          for(i=0;i<8;i++)
          {
          P3=taba;
          P1=0xff;
          delay1();
          }
          }
          for(j=0;j<3;j++)//fromrighttoleft3time
          {
          for(i=0;i<8;i++)
          {
          P3=taba[7-i];
          P1=0xff;
          delay1();
          }
          }
          for(j=0;j<3;j++)//fromtoptobottom3time
          {
          for(i=0;i<8;i++)
          {
          P3=0x00;
          P1=tabb[7-i];
          delay1();
          }
          }
          for(j=0;j<3;j++)//frombottomtotop3time
          {
          for(i=0;i<8;i++)
          {
          P3=0x00;
          P1=tabb;
          delay1();
          }
          }
          }
          }


          關(guān)鍵詞: 8X8LED點(diǎn)陣顯示技

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();