加载中...

实验十三 16×16 LED点阵显示实验

实验十三 16×16 LED点阵显示实验

实验目的

1、了解16×16矩阵LED显示的基本原理和功能。
2、掌握16×16矩阵LED和单片机的硬件接口和软件设计方法。

实验说明

汉字显示屏广泛应用与汽车报站器,广告屏等。实验介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,采用了16×16的点阵模块;汉字显示的原理我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

我们以显示汉字“大”为例,来说明其扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用8位的AT89C51单片机控制, 由于单片机的总线为8位,一个字需要拆分为2个部分。一般我们把它拆分为上部和下部,上部由816点阵组成, 下部也由816点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口。方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制00000100,转换为16进制为 04h.。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮, 即为00000000,16进制则为00h。 然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h。这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大”。

实验内容及步骤

1、单片机最小应用系统的 P0,P3口分别接16×16点阵单元的JD15,JD14,最小系统的P1.0,P1.1,P1.2,P1.3分别接点阵模块的A,B,C,D;J21的短路帽打在VCC处。
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“1616 LED.ASM”源程序,进行编译,直到编译无误。
4、全速运行程序,点阵显示轮流显示八个汉字(杭州西湖,浙江天煌)。
5、也可以把源程序编译成可执行文件,把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。(ISP烧录器的使用查看附录二)

源程序

/*****************************************************************
1、单片机最小应用系统的 P0,P3口分别接16×16点阵单元的JD15,JD14,
最小系统的P1.0,P1.1,P1.2,P1.3分别接点阵模块的A,B,C,D;
J21的短路帽打在VCC处。 
2、用串行数据通信线连接计算机与仿真器,把仿真器插到模块的锁紧插座中
,请注意仿真器的方向:缺口朝上。
3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,
接着添加“1616 LED.ASM”源程序,进行编译,直到编译无误。
4、全速运行程序,点阵显示轮流显示八个汉字(杭州西湖,浙江天煌)。
5、也可以把源程序编译成可执行文件,
把可执行文件用ISP烧录器烧录到89S52/89S51芯片中运行。
(ISP烧录器的使用查看附录二)



/****************************************************************/

       ORG   00H 
START: MOV   A,#0FFH      ;开机初始化,清除画面
       MOV   P0,A         ;清除P0口
       ANL   P3,#00       ;清除P2口
       MOV   R2,#200 
D1:    MOV   R3,#248      ;延时 
       DJNZ  R3,$ 
       DJNZ  R2,D1 
       MOV   20H,#00H     ;取码指针的初值
l1:    MOV   R1,#100      ;每个字的停留时间
L2:    MOV   R6,#16       ;每个字16个码
       MOV   R4,#00H      ;扫描指针清零
       MOV   R0,20H       ;取码指针存入R0
L3:    MOV   A,R4         ;扫描指针存入A
       MOV   P1,A         ;开三极管扫描输出
       INC   R4           ;扫描下一个
       MOV   A,R0 
       MOV   DPTR,#TABLE  ;取数据代码上半部分
       MOVC  A,@A+DPTR 
       MOV   P0,A	  ;查表送P0口 
       INC   R0 
       MOV   A,R0 
       MOV   DPTR,#TABLE  ;取数据代码下半部分
       MOVC  A,@A+DPTR 
       MOV   P3,A	  ;查表送P2口 
       INC   R0 
       MOV   R3,#02 
D2:    MOV   R5,#248 
       DJNZ  R5,$ 
       DJNZ  R3,D2 
       MOV   A,#00H 
       MOV   P0,A 
       ANL   P3,#00H 
       DJNZ  R6,L3       ;16个码是否完成?
       DJNZ  R1,L2       ;每个字的停留时间是否到了?
       MOV   20H,R0 
       CJNE  R0,#0FFH,L1 ;8个字的256个码检测是否送完 ?
       JMP   START 
TABLE: 
      DB 08H,20H,08H,0C0H,0BH,00H,0FFH,0FFH ;杭
      DB 09H,01H,08H,82H,10H,04H,13H,0F8H
      DB 92H,00H,72H,00H,12H,00H,17H,0FCH
      DB 32H,02H,10H,02H,00H,0EH,00H,00H
  
      DB 01H,00H,0EH,02H,00H,0CH,0FFH,0F0H  ;州
      DB 00H,00H,08H,00H,06H,00H,00H,00H
      DB 7FH,0FCH,00H,00H,08H,00H,06H,00H
      DB 00H,00H,0FFH,0FFH,00H,00H,00H,00H
  
      DB 20H,00H,23H,0FFH,22H,02H,22H,0AH   ;西
      DB 22H,12H,3FH,0E2H,22H,02H,22H,02H
      DB 22H,02H,3FH,0E2H,22H,12H,22H,12H
      DB 22H,02H,67H,0FFH,22H,00H,00H,00H
  
      DB 08H,20H,84H,3FH,46H,40H,68H,80H    ;湖
      DB 09H,0FEH,09H,04H,0FFH,04H,09H,04H
      DB 0BH,0FDH,09H,02H,7FH,0FCH,44H,42H
      DB 44H,41H,0FFH,0FEH,40H,00H,00H,00H
  
      DB 08H,20H,44H,20H,26H,7FH,30H,80H    ;浙
      DB 09H,42H,08H,41H,0FFH,0FEH,08H,82H
      DB 09H,04H,3FH,0F8H,22H,00H,22H,00H
      DB 43H,0FFH,46H,00H,02H,00H,00H,00H

  
      DB 08H,20H,84H,20H,46H,7FH,60H,80H    ;江
      DB 01H,04H,20H,04H,20H,04H,20H,04H
      DB 20H,04H,3FH,0FCH,20H,04H,20H,04H
      DB 60H,04H,20H,0CH,00H,04H,00H,00H

      DB 02H,01H,42H,01H,42H,02H,42H,04H    ;天
      DB 42H,08H,42H,30H,42H,0C0H,7FH,00H
      DB 42H,0C0H,42H,30H,42H,08H,42H,04H
      DB 0C2H,02H,46H,03H,02H,02H,00H,00H
  
      DB 01H,02H,0EH,04H,00H,08H,0FFH,0F0H  ;煌
      DB 08H,0AH,10H,86H,3EH,92H,2AH,92H
      DB 6AH,92H,0AAH,0FEH,2AH,92H,2AH,0B2H
      DB 7EH,92H,20H,86H,00H,02H,00H,00H

      END

原理图

posted @ 2023-05-17 23:22  bujidao1128  阅读(1275)  评论(0编辑  收藏  举报