浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術資料 » 單 片 機

51單片機8*8點陣LED顯示原理及程序

發(fā)布時間:2008/8/16 0:00:00 訪問次數(shù):1548

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

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

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

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

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

  2. 硬件電路

  3.匯編源程序
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

  4.c51語言源程序
#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;j<3;j++)  //from left to right 3 time
  {
for(i=0;i<8;i++)
{
  p3=taba[i];
  p1=0xff;
  delay1();
}
  }
  for(j=0;j<3;j++)  //from right to left 3 time
  {
for(i=0;i<8;i++)
{
  p3=taba[7-i];
  p1=0xff;
  delay1();
}
  }
  for(j=0;j<3;j++)  //from top to bottom 3 time
  {
for(i=0;i<8;i++)
{
  p3=0x00;
  p1=tabb[7-i];
  delay1();
}
  }
  for(j=0;j<3;j++)  //from bottom to top 3 time
  {
for(i=0;i<8;i++)
{
  p3=0x00;
  p1=tabb[i];
  delay1();
}
  }
  }
  }


  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)



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

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

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

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

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

  2. 硬件電路

  3.匯編源程序
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

  4.c51語言源程序
#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;j<3;j++)  //from left to right 3 time
  {
for(i=0;i<8;i++)
{
  p3=taba[i];
  p1=0xff;
  delay1();
}
  }
  for(j=0;j<3;j++)  //from right to left 3 time
  {
for(i=0;i<8;i++)
{
  p3=taba[7-i];
  p1=0xff;
  delay1();
}
  }
  for(j=0;j<3;j++)  //from top to bottom 3 time
  {
for(i=0;i<8;i++)
{
  p3=0x00;
  p1=tabb[7-i];
  delay1();
}
  }
  for(j=0;j<3;j++)  //from bottom to top 3 time
  {
for(i=0;i<8;i++)
{
  p3=0x00;
  p1=tabb[i];
  delay1();
}
  }
  }
  }


  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)



相關IC型號

熱門點擊

 

推薦技術資料

硬盤式MP3播放器終級改
    一次偶然的機會我結(jié)識了NE0 2511,那是一個遠方的... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡技術有限公司
付款方式


 復制成功!