基于单片机的8*8 LED点阵显示技术

发布者:数据探险家最新更新时间:2014-02-19 来源: eefocus关键字:单片机  LED  点阵显示技术 手机看文章 扫描二维码
随时随地手机看文章

  1. 实验任务

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

  2. 电路原理图

  

  3. 硬件电路连线

  (1). 把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上;

  (2). 把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上;

  4. 程序设计内容

  (1). 8X8 点阵LED工作原理说明

  8X8点阵LED结构如下图所示

 

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

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

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

  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

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

  }

  }[page]

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

  }

  }

  }

  }

关键字:单片机  LED  点阵显示技术 引用地址:基于单片机的8*8 LED点阵显示技术

上一篇:基于单片机的正弦信号发生器的设计
下一篇:单片机智能集群控制消防应急指示灯设计

推荐阅读最新更新时间:2024-03-16 13:35

LED照明产业发展优势
08年北京奥运会开幕式上,将中国古老的历史文化和我们国家的雄魂展示给全世界。华夏五千年文明徐徐流淌在巨大画卷上,晶莹剔透的五环造型缓缓升空……大量 LED 的使用打造出了一场恢弘精美的视觉盛宴,让观众们惊叹不已。但LED的魅力远不止如此——全球顶级轿车趋之若鹜的高亮度前灯、飞入寻常百姓家的节能型照明、融合微型LED投影设备的手机……欧司朗光学 半导体 公司(OSRAMOpto)亚洲有限公司总裁兼首席执行官AlfredFelder日前接受本刊的独家专访,就LED产业的应用热点与未来走势做了精彩评析。 “根据我们的调查统计,全球每年灯座出货量约为500亿个,另外还有10亿部手机、1亿台平板 电视 、1亿台笔记本电脑,这
[电源管理]
从LCD电极读数的单片机接口技术
   摘要 以测量仪表中常见的时分割驱动法驱动的段式LCD显示器为例,分析LCD显示器的电极连接结构和驱动信号波形;介绍单片机读取仪表LCD读数的接口电路。此接口电路应用于笔者开发的自动血压监控仪的研制及临床应用项目中,由8031单片机读取血压计的收缩压、舒张压、心率以及充气和放气时瞬时压强。实验证明,此接口电路工作稳定、可靠。   通过测量仪表拾取被测信号是单片机前向通道设计中常用的数据采集方式。通常,接口电路从仪表电路中取得相关的模拟信号,经过A/D转换或V/F 转换送入单片机;或者取得一个频率信号,经整形后送入单片机 。然而,有些测量仪表电路中可能找不到这样的信号。以电容式压力传感器血压计为例,尽管从其振荡电路中可以取得一
[应用]
自学单片机编程之中断与时钟程序
对于我以前学习过的东西以周记的形式进行总结整理! 不喜勿喷!有好的建议或资料请@我! 在懂了数码管的工作原理和控制原理之后,我们现在可以正式编写时钟程序了,所谓时钟就是几点几分几秒用八位数码管显示出来,只是它会跳动显示的数值随时间变化而变化。一开始我使用的延迟写的时钟,每过1s数码管的秒加一,通过写的程序运算之后分加一,再后时加一。 我现在用的是中断写的时钟,不用延迟 ,将主程序写好后,写出中断程序,等待中断响应,将时钟用到的运算写在中断里,每中断一次,时钟运算一次。 中断概念: 对于单片机来说,中断是指CPU在处理某一事件A,发生了另一事件B,请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作(中断响应),转去
[单片机]
自学<font color='red'>单片机</font>编程之中断与时钟程序
GigaDevice推出GD32F450系列高性能200MHz主频Cortex®-M4 MCU
    GigaDevice GD32F450系列全新32位通用 MCU基于200MHz Cortex®-M4内核,持续以业界领先的强大处理效能与低功耗、高集成度、高可靠性和易用性的最佳组合,为工业控制与物联网等高性能计算需求提供高性价比解决方案。   2016年9月12日 — 日前,业界领先的半导体供应商GigaDevice (兆易创新)全新推出基于ARM® Cortex®-M4内核的GD32F450系列高性能微控制器,并以200MHz的工作主频在业界首次将ARM® Cortex®-M4内核的处理能力发挥到极致。     作为GD32 MCU家族Cortex®-M4内核的首个旗舰产品系列,GD32
[手机便携]
51单片机定时闹钟仿真程序
仿真原理图如下 定时闹铃的基本功能 1.定时闹铃的基本功能: 使用3位七段显示器来显示定时时间和所剩的时间(以秒为单位) 具有3个按键来设置定时的时间: 操作键K1:开始定时(默认为60秒) 操作键K2:增加定时时间(以一秒为单位递增) 操作键K3:减少定时时间(以一秒为单位递减) 定时时间到时蜂鸣器发出蜂鸣声一分钟后停止 2.定时闹铃的可选功能: 3位七段显示器采用动态显示。 当操作键K2被长时间按下(超过3秒)则以十秒为单位增加定时时间 当操作键K3被长时间按下(超过3秒)则以十秒为单位减少定时时间 buzzer蜂鸣器需要把它设置里
[单片机]
51<font color='red'>单片机</font>定时闹钟仿真程序
CPLD器件在单片机控制器中的使用
自动控制的对象五花八门、品种繁多,要求控制器能够模块化、标准化、灵活配置;进入商品经济时代,允许设计者的开发周期越来越短,从几年、几月缩短到几月、几天;有时合同临近结束前,用户还会提出更改设计条款的要求。因此,需要设计者开发出适应性强、便于修改、配置灵活的控制器,以满足用户需求,争得商机。 从成本考虑,有时以单片机为核心器件,量身度造地为被控对象设计专用控制器,仍是一种较好的选择。 CPLD器件与单片机结合优势互补、相得益彰 单片机的一些优缺点 单片机具有强大的信息处理、逻辑分析、决策判断等能力,借助程序,通过输入/输出接口,实时检测被控对象的状态,控制其当前或预计的行为,组成智能化仪器设备。 但是,单片机存在不可克服的
[单片机]
CPLD器件在<font color='red'>单片机</font>控制器中的使用
51单片机编程开发(一)之C语言基础一
C51编译器 51单片机开发编译有很多,现在比较有名的是IAR for 8051编译器和KEIL for C51编译器,但这两个软件都不是免费的,官网提高的免费版是有使用限制的。另外还有一些编译器是免费的,但需要一定基础,初学者就不推荐使用了,等你翅膀硬了之后在自己配置编译环境吧。 简单介绍两个免费编译器:可跨平台使用的开源编译器sdcc,有空可以自己查资料搭建一下,后期如果有时间我再做个教程吧。另外微软公司提供的Visual Studio Code这个免费又强大的代码编辑器配合一些三方插件工具也可以实现各种单片机编译功能,效果也不错,这个也以后再另说吧。IAR for 8051编译器和KEIL for C51编译器在官网都可
[单片机]
51<font color='red'>单片机</font>编程开发(一)之C语言基础一
基于单片机和CPLD的高精度大型望远镜伺服控制器设计
设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。 引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用
[单片机]
基于<font color='red'>单片机</font>和CPLD的高精度大型望远镜伺服控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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