51单片机8*8点阵LED的显示原理及程序设计

发布者:黄金大花猫最新更新时间:2017-12-29 来源: eefocus关键字:51单片机  8*8点阵LED  显示原理 手机看文章 扫描二维码
随时随地手机看文章

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

    1. 程序设计内容

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


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

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

    2. 硬件电路

01

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


关键字:51单片机  8*8点阵LED  显示原理 引用地址:51单片机8*8点阵LED的显示原理及程序设计

上一篇:基于单片机ISP技术原理及在线编程器的实现
下一篇:51单片机串口工作方式O在扩展并行输出口中的应用

推荐阅读最新更新时间:2024-03-16 15:50

51单片机驱动点阵16*16上移C程序
#include reg52.h #define uchar unsigned char #define uint unsigned int #define LINE P0//定义行线IO口,即74HC154控制端 #define shudu 20//字移动的速度 sbit DATA=P1^4;//74HC595数据端 sbit CLK=P1^5;//74HC595移位脉冲端 sbit CLKR=P1^6;//74HC595数据锁存端 uchar move;//移动几位变量 uchar line;//行变量 uchar word;//字节变量 uchar ji;//字节变量 uchar code table ={ 0x00,
[单片机]
<font color='red'>51单片机</font>驱动<font color='red'>点阵</font>16*16上移C程序
基于AT89C51单片机的温度数据显示设计
一.系统概述 系统使用的模块有AT89C51单片机+LCD12864+DS18B20温度检测模块。 系统的通过AT89C51作为控制核心,使用DS18B20温度检测模块,利用LCD12864显示采集的温度数据,LCD12864相对于LCD1602来说能够显示文字,LCD12864显示器被称为点矩阵液晶显示模块,也称为12864,因为它是包括12864个液晶显示点的128行64个阵列。每个显示点应该有一个二进制数,0表示消失,1表示明亮。如果模块内设置了词典就不需要进行汉字的设计。 二.仿真概述 1.LCD12864显示屏上显示环境温度。 2.按下界面切换后显示日期和时间数据。 三.程序设计 使用Keil 51进行程序设
[单片机]
基于AT89C<font color='red'>51单片机</font>的温度数据<font color='red'>显示</font>设计
MCS-51单片机读写U盘
/* 这个程序用180行C代码就能够读取FAT16文件系统U盘的根目录,可以看到根目录下的文件 名,并可显示 首文件内容,不过,该程序很不严谨,也没有任何错误处理,对U盘兼容性较差,只是用于简单试 验,作为参考. 这个程序可以支持WINDOWS按FAT16格式化的U盘,因为程序精简,所以只兼容超过50%以上的U 盘品牌,如果换 成CH375A芯片则兼容性可提高到85%,当然,如果使用WCH公司的子程序库或者正式版本的C源 程序兼容性更好。 下 欢测试以下U盘通过:郎科/超稳经典64M/超稳迷你128M/U160-64M/超稳普及128M,爱国者/迷 你王16M/邮箱型, 黑匣子/64M,微闪/64M,飙王/32M/64M/128M
[单片机]
基于51单片机的IEEE-488接口设计
1 概 述   智能仪器程控接口电路的设计,首先是根据仪器的功能确定该仪器的接口功能。文中所涉及的仪器是以MCS-51系列单片机作为内部控制器的高速数据采集装置,由于A/D转换器既要向计算机输送采集结果,又要接受计算机对其工作条件的控制,因此,在程控接口电路设计时,设置了六种接口功能:源挂钩功能(选用SH1功能子集)、受者挂钩功能(选用AH1功能子集)、讲功能(选用T5功能子集)、听功能(选用L4功能子集)、远地/本地功能(选用RL功能子集)和器件触发功能(选用DT1功能子集)。 600)this.style.width='600px';" border=0> 2 接 口 功 能 (IF) 设 计   如
[单片机]
基于<font color='red'>51单片机</font>的IEEE-488接口设计
AT89C51单片机频率计的C源程序设计
本文是基于AT89C51单片机的频率计的C源程序。该频率计主要实现的功能有如下几个: 1. 测试功能 它表明数字频率计所具备的全部测试功能,一般包括测频,周期,累计脉冲数,频率比,时间间隔及自较等功能。 2. 测量范围 它说明不同功能的有效测量范围。如测频率时,测量范围是数字频率计处于正常工作条件下,被测信号的频率范围,一般用频率的上,下限值表示,低端大部分从10Hz开始;高端因不同的频率计而异。因此高端频率是确定低,中,高速计数器的依据。在测量周期时,测量范围常用周期的最大值,最小值表示。 3. 输入特性 数字频率计一般有2~3个输入通道,测试不同项目时,被测信号可经不同的通道输入仪器。输入特性是表明数字式频率计于被
[单片机]
51单片机常用寄存器速查表
一 : 定时器 / 计数器方式选择 : TMOD 地址 (89H) 不可位寻址 D7 D6 D5 D4 D3 D2 D1 D0 GATE C/T M1 M0 GATE C/T M1 M0 GATE : 门控制位 GATE= 0 时于外部中断无关 GATE= 1 时无外部中断才允许启动。即( INT0/1 = 1 时) C/T : 定时、计数 方式选择位。 C/T=0 时为定时
[单片机]
手把手教学51单片机 | 第三课之 定时器中断
1. 中断 (1)外部中断 打开总中断EA,选择外部中断EX0或EX1,因为ie可寻址,所以直接对EX0或者EX1操作,然后设置IT0(TCOD中)为电平触发还是跳变沿触发(上电默认寄存器0,为电平触发方式),然后写中断处理函数根据下表优先级确定 interrupt 后面的数字 (2)定时器中断 TMOD是定时器/计数器的工作方式寄存器, TCON是控制寄存器,控制T0T1的启动和停止及设置溢出标志 如果选用01工作方式,TH TL是16位 2^16=65536 (65536-N)/256相当于一个能装65536的水桶舀出N单位的水,然后每1us加入1单位的水的时间,最后用了5000us=50ms 接下来是TC
[单片机]
手把手教学<font color='red'>51单片机</font> | 第三课之 定时器中断
USB接口芯片SL811HS在51单片机系统中的应用
1 引言 USB(通用串行总线)是INTEL、DEC、MI-CROSOFT、IBM等公司联合提出的、最近几年逐步在PC领域广为应用的新型接口技术。USB接口通用性好、实时性强、传输方式多样、成本低、支持即插即用、易于扩展且便于使用,这些优点使其得到许多硬件厂商的青睐。目前各种类型的USB产品已大量涌入市场,同时也被广泛地用在PC机及嵌入式系统中。 USB的拓扑结构中居核心地位的是Host(也称为主机),任何一次USB数据传输都必须由主机发起和控制,所有的USB外设都只能和主机建立连接,任何两个外设之间或是两个主机之间无法直接通信。而目前,扮演主机角色的大多是个人电脑PC。而我们买到和使用的USB移动设备都是USB外设(devi
[单片机]
USB接口芯片SL811HS在<font color='red'>51单片机</font>系统中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved