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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 8X8 LED點陣顯示技術(shù)

          8X8 LED點陣顯示技術(shù)

          作者: 時間:2011-02-27 來源:網(wǎng)絡 收藏

          1. 實驗任務

          8X8LED點陣上顯示柱形,讓其先從左到右平滑移動三次,其次從右到左平滑移動三次,再次從上到下平滑移動三次,最后從下到上平滑移動三次,如此循環(huán)下去。

          2. 電路原理圖

          4.24.1

          3. 硬件電路連線

          (1). 把“系統(tǒng)”區(qū)域中的P1端口用8芯排芯連接到“點陣模塊”區(qū)域中的“DR1DR8”端口上;

          (2). 把“系統(tǒng)”區(qū)域中的P3端口用8芯排芯連接到“點陣模塊”區(qū)域中的“DC1DC8”端口上;

          4. 程序設計內(nèi)容

          (1). 8X8 點陣LED工作原理說明

          8X8點陣LED結(jié)構(gòu)如下圖所示

          從圖4.24.2中可以看出,8X8點陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上,當對應的某一列置1電平,某一行置0電平,則相應的二極管就亮;因此要實現(xiàn)一根柱形的亮法,如圖49所示,對應的一列為一根豎柱,或者對應的一行為一根橫柱,因此實現(xiàn)柱的亮的方法如下所述:

          一根豎柱:對應的列置1,而行則采用掃描的方法來實現(xiàn)。

          一根橫柱:對應的行置0,而列則采用掃描的方法來實現(xiàn)。

          5. 匯編源程序

          ORG 00H

          START: NOP

          MOV R3,#3

          LOP2: MOV R4,#8

          MOV R2,#0

          LOP1: MOV P1,#0FFH

          MOV DPTR,#TABA

          MOV A,R2

          MOVC A,@A+DPTR

          MOV P3,A

          INC R2

          LCALL DELAY

          DJNZ R4,LOP1

          DJNZ R3,LOP2

          MOV R3,#3

          LOP4: MOV R4,#8

          MOV R2,#7

          LOP3: MOV P1,#0FFH

          MOV DPTR,#TABA

          MOV A,R2

          MOVC A,@A+DPTR

          MOV P3,A

          DEC R2

          LCALL DELAY

          DJNZ R4,LOP3

          DJNZ R3,LOP4

          MOV R3,#3

          LOP6: MOV R4,#8

          MOV R2,#0

          LOP5: MOV P3,#00H

          MOV DPTR,#TABB

          MOV A,R2

          MOVC A,@A+DPTR

          MOV P1,A

          INC R2

          LCALL DELAY

          DJNZ R4,LOP5

          DJNZ R3,LOP6

          MOV R3,#3

          LOP8: MOV R4,#8

          MOV R2,#7

          LOP7: MOV P3,#00H

          MOV DPTR,#TABB

          MOV A,R2

          MOVC A,@A+DPTR

          MOV P1,A

          DEC R2

          LCALL DELAY

          DJNZ R4,LOP7

          DJNZ R3,LOP8

          LJMP START

          DELAY: MOV R5,#10

          D2: MOV R6,#20

          D1: MOV R7,#248

          DJNZ R7,$

          DJNZ R6,D1

          DJNZ R5,D2

          RET

          TABA: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

          TABB: DB 01H,02H,04H,08H,10H,20H,40H,80H

          END

          6. C語言源程序

          #include AT89X52.H>

          unsigned char code taba[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

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

          void delay(void)

          {

          unsigned char i,j;

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

          for(j=248;j>0;j--);

          }

          void delay1(void)

          {

          unsigned char i,j,k;

          for(k=10;k>0;k--)

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

          for(j=248;j>0;j--);

          }

          void main(void)

          {

          unsigned char i,j;

          while(1)

          {

          for(j=0;j3;j++) //from left to right 3 time

          {

          for(i=0;i8;i++)

          {

          P3=taba[i];

          P1=0xff;

          delay1();

          }

          }

          for(j=0;j3;j++) //from right to left 3 time

          {

          for(i=0;i8;i++)

          {

          P3=taba[7-i];

          P1=0xff;

          delay1();

          }

          }

          for(j=0;j3;j++) //from top to bottom 3 time

          {

          for(i=0;i8;i++)

          {

          P3=0x00;

          P1=tabb[7-i];

          delay1();

          }

          }

          for(j=0;j3;j++) //from bottom to top 3 time

          {

          for(i=0;i8;i++)

          {

          P3=0x00;

          P1=tabb[i];

          delay1();

          }

          }

          }

          }



          評論


          相關推薦

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

          關閉
          看屁屁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); })();