历史上的今天
返回首页

历史上的今天

今天是:2025年01月14日(星期二)

正在发生

2018年01月14日 | 51单片机8*8点阵LED程序

2018-01-14 来源:eefocus

在8X8点阵LED上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

1. 程序设计内容
    
8X8点阵LED工作原理说明 :8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图49所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:


一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 
一根横柱:对应的行置0,而列则采用扫描的方法来实现。 

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

 

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();
      }
    }
  }
}


推荐阅读

史海拾趣

Asia Electronics Ind Co Ltd公司的发展小趣事

面对日益激烈的市场竞争,Asia Electronics Ind Co Ltd深知优化供应链管理的重要性。公司加强与供应商的合作与沟通,确保原材料的质量和供应的稳定性。同时,公司还引入先进的供应链管理系统,实现供应链的透明化和高效化。通过优化供应链,公司降低了生产成本,提高了生产效率,为公司的持续发展提供了有力保障。

台湾稳态公司的发展小趣事

随着企业实力的增强和产品质量的提升,台湾稳态公司开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓海外市场,将产品销往全球多个国家和地区。同时,稳态公司还制定了全球化战略,通过与国际知名企业的合作和交流,不断提升自身的国际竞争力。

ERGOBAHCO公司的发展小趣事

进入21世纪后,电子行业面临着技术更新换代的巨大变革。ERGOBAHCO公司敏锐地捕捉到了这一变革带来的机遇和挑战,开始加大在新技术、新产品的研发力度。公司通过与高校、科研机构等合作,成功推出了一系列符合市场需求的智能化、绿色化的电子产品。这些产品不仅为公司带来了丰厚的利润回报,也进一步巩固了公司在行业内的领先地位。

EFC [Electronic Film Capacitors, Inc.]公司的发展小趣事

在当今社会,绿色环保已经成为一种趋势。EFC公司积极响应这一号召,将绿色环保理念融入到产品设计和生产过程中。他们采用环保材料和技术,减少废弃物和污染物的排放。同时,EFC还积极推广绿色能源和节能技术,帮助客户降低能源消耗和碳排放。这种对环保的关注和贡献让EFC赢得了社会各界的赞誉。

ELPIDA公司的发展小趣事

2008年全球金融危机的爆发对ELPIDA造成了巨大冲击。由于DRAM需求的急剧下降和价格的暴跌,公司的业绩急剧恶化。在这种情况下,ELPIDA不得不采取一系列措施来应对困境,包括削减成本、优化生产流程等。然而,这些措施并未能完全扭转公司的颓势。

Adaptive Interconnect Electronics, Inc. [AIE]公司的发展小趣事

随着电子技术的飞速发展,AIE公司不断投入研发力量,推出了一系列具有创新性的测试配件产品。其中,AIE金属探头以其高精度、高稳定性的特点,受到了市场的广泛认可。此外,AIE还针对汽车行业推出了ADK汽车诊断试剂盒,为汽车维修和诊断提供了便捷、高效的解决方案。这些技术创新和产品升级不仅提升了AIE的市场地位,也推动了电子测试技术的不断进步。

问答坊 | AI 解惑

S3C44B0+uClinux+jffs2遇到的mkjf.jffs2问题

硬件开发环境:s3c44b0+sst39LF160(norflash) 软件环境:uClinux(2.4) 按照网上找的资料现在已经把分区都移植完毕了,但是在运行mkfs.jffs2 -d jffs2 -o jffs2.img的时候,导致开发板直接重新启动了,每次都如此。 记得在编译内核的时候也是出了 ...…

查看全部问答>

6410 OTG无连接导致wince不能正常启动

最近调试6410出现奇怪的问题,三星6410 PM 090416的BSP包,编译后Eboot通过OTG能正常下载NK,而且系统运行起来后也能看到和PC的连接,但是一旦把连接OTG的线断开重新启动wince,启动到一半时就死掉了,这时把线再连接上wince能够继续启动,启动后显 ...…

查看全部问答>

打印驱动问题(位图打印),请高手指教

我用的是DDK里的打印成位图驱动。并对OEMSendPage进行了Hook。主要是想把位图按页分成多个图片。当我打印多页时(以5页为例),在第一页插入一张图片,结果只打印后2,3,4,5页。当每页都插入图片,则只是打印成一张长长的位图(又回到了原始的DDK ...…

查看全部问答>

利用声卡而成的简易虚拟示波器

该示波器不原则上不用加硬件设备,从MIC输入信号,就能显示了,不过为了保护电脑,建议自己DIY一个隔离器,至于如何做,各思已见!另外还有信号输出功能,只有三种,,正弦波,方波,三角波 点击PAUS保持画面,然后保存!   该软件淘宝上有卖,5元钱,但网 ...…

查看全部问答>

DaVinci平台RoadMap

上图为TI DaVinci处理器家族的Roadmap其中  DM37xx及DM LP(低功耗)系列,在中国区划归Sitara产品线负责…

查看全部问答>

DSP 28335

由于本人刚刚接触DSP28335,想学习一下这个处理器,哪位大哥有好的资料,麻烦给小弟分享一下。 还有就是DSP28335在什么软件基础上编程。 谢谢了。  …

查看全部问答>

Tms320F2812连接问题

新焊接的板子出现以下问题,求大神解答,谢谢啦。Error connecting to the target: Error 0x00001200/-1166 Error during: OCS, Target, Lost processor clock. Device may be operating in a low-power mode. Do you want to bring it out of this ...…

查看全部问答>

频率计

小弟要做个频率计  用32测外部输入频率   没接触过32  现在又急着用    那位大哥大姐有这个程序或者有这方面的程序    请发我下 1501806575@qq.com   万分感激。…

查看全部问答>

求帮忙修改一下这个可编程放大电路的仿真图

采用计数器、模拟开关CD4066设计一增益可调的放大电路,用MULTISIM来进行仿真。 这里有原电路图和我设计出来的电路图。请高手来帮我改正改正。谢谢了 原理图和我设计出来的电路图都放在压缩包里了…

查看全部问答>