欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    8×8点阵LED数码图形显示的课程设计..pdf

    • 资源ID:4700548       资源大小:2.74MB        全文页数:22页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    8×8点阵LED数码图形显示的课程设计..pdf

    1 8×8 点阵 LED数码图形显示器的课程设计 第一章 总体方案设计 1.1 总体设计要求 本系统采用单片机AT89C51 为 LED显示屏的控制核心, 制造一种简单的 8×8 显示屏,能够在目测条件下LED显示屏各点亮度均匀、 充足,可显示图形和文字, 显示图形和文字稳定、 清晰无串扰, 图形或文字显示有静止、 移入移出等显示方 式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。 根据设计要求,初步确定设计方案如下: 1. 选择 AT89C51单片机(晶振频率为f=12MHZ )作为整个系统的核心器件, 对整个系统进行总体控制,发送并时时处理系统信息。 2通过编程显示数字:“,心形图”。 3动态显示,即跑马灯文字幕,每0.25 秒左移一次。 4. 扫描信号连接到单片机的P0口,显示信号连接到单片机的P2口。 5点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,其 中驱动电路采共阴型高态扫描、高态显示信号的驱动电路。 1.2 系统框图 本文设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每 个功能电路模块连接在一起,总体结构设计如下图1-1 所示: PC 上位机单片机 点阵显示器 行驱动电路 点阵显示器 列驱动电路 8×8点阵 LED 显示 器电路 图 1-1系统框图 第二章 系统硬件电路的设计 2 本系统的硬件电路是由单片机最小系统、动态显示驱动电路两部分组成。 其 中,单片机最小系统包括电源电路、复位电路和晶振电路构成; 显示部分使用共 阴型高台扫描、高态显示信号驱动电路,完成“跑马灯”文字幕效果。 2.1 单片机最小系统设计 2.1.1 单片机的时钟电路 AT89C51 单片机内部的振荡电路是一个高增益反向放大器,引线X1 和 X2分 别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟, 外 部还需附加电路。 AT89C51的时钟产生方式有两种:内部时钟电方式和外部时钟 方式。由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟 方式。 内部时钟方式:利用其内部的振荡电路在X1和 X2引线上外接定时元件,内 部振荡电路产生自激振荡。最常用的是在 X1 和 X2 之间接晶体振荡器与电路构 成稳定的自激振荡器,如图2-1 电路所示为单片机最常用的时钟振荡电路的接 法,其中晶振可选用振荡频率为12MHz 的石英晶体, 电容器一般选择 30PF左右。 图 2-1 使用片内振荡电路的时钟电路 2.1.2 单片机的复位电路 本设计中 AT89C51是采用上电自动复位和按键复位两种方式。最简单的复位 电路如图 2-2 所示。上电瞬间, RC电路充电, RST引线端出现正脉冲,只要RST 端保持 10ms以上的高电平,就能使单片机有效地复位。其中R1和 R2分别选择 200和 2K的电阻,电容器一般选择22F。 3 图 2-2 AT89C51 的复位电路 2.1.3 AT89C51 的最小应用系统 AT89C51是片内有程序存储器的单片机,要构成最小应用系统时只要将单片 机接上外部的晶体或时钟电路和复位电路即可,如图 2-3 所示。这样构成的最小 系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的I O线。 4 图 2-3 AT89C51 单片机构成的最小系统 2.2 显示器及接口设计 2.2.1 8×8 点阵 LED显示器的组成原理及控制方式 本次设计中采用8×8 点阵 LED显示器, 简称 LED点阵板或 LED矩阵板。 它是以发光二极 管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分, 这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。共阳极接法 的原理图如图2-4 所示,图中画出了8×8 点阵的二极管。每一行发光二极管的阳极接在一 起,有一个引出端r ,每一列发光二极管的阴极接在一起,有一个引出端c。当给发光二极 管阳极引出端r1 加高电平, 阴极引出端c1 加低电平时, 左上角的二极管被点亮因此,对于 行和列的电平进行扫描控制时,可以达到显示不同字符的目的。 图 2-4 8 ×8 点阵 LED显示器组成原理图 (1) “”在 8X8LED 点阵上显示图如下图所示 1 2 3 4 5 6 7 8 12H ,14H ,3CH ,48H ,3CH ,14H ,12H ,00H (2). “”在 8X8LED点阵上显示图如下图所示 5 1 2 3 4 5 6 7 8 00H ,00H ,38H ,44H ,44H ,44H ,38H ,00H (3) 心形图在 8X8LED 点阵上显示图如下图所示 1 2 3 4 5 6 7 8 30H ,48H ,44H ,22H ,44H ,48H ,30H ,00H 图 2-5 8 ×8 点阵 LED引脚的排列图 2.2.2 8×8 点阵 LED显示器与单片机的接口 8 ×8 点阵 LED的引脚图如图 2-5 所示,当采用单片机进行控制时,连接点阵 显示器的共阳极r 端需经驱动三极管9012 与单片机的 P2 口相连,而共阴极c 端需经限流电阻与单片机的P0口相连。在编程控制时, 将 8×8 点阵 LED显示分 6 成行和列两部分, 字符数据从 P0口输出,扫描控制字从 P2口输出,每一列由一 个字节的数据组成,数据可一次送入,然后扫描一行,显示一个字需要扫描8 次。 2.2.3 驱动电路的设计 显示器驱动是一个非常重要的问题,如果驱动能力差,显示器亮度就低;而 驱动器长期在超负荷下运行则很容易损坏。 如果是静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与 显示器工作电流相匹配即可。而且只须考虑段的驱动,因为,共阳极接+5V,而 共阴极接地,所以位的驱动无须考虑。 动态显示则不然,由于一位数据的显示是由段和位选信号共同配合完成的, 因此,必须同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。 理论分析表明,同样的驱动器,当其驱动静态显示器时,其亮度为驱动动态 显示器的 n 倍, n 近似为显示位数。 所以要使动态显示器达到静态显示器的亮度, 必须将驱动器能力提高n 倍。 本设计中,因为采用了8×8 点阵 LED显示器,用 AT89C51单片机进行控制, 因此它很适宜于按扫描方式动态显示多个字符数据,所以我们只选用了8 个 PNP 型三极管作为驱动显示器的电路。如图2-6 所示,因 AT89C51单片机的 I O口 有 20mA的吸入电流,正因为这一特点, 使的本设计中的驱动电路部分大大简化, 不用附加专门的驱动电路即可正常工作。 图 2-6 显示驱动电路 2.3 电源电路的设计 电源电路采用普通集成稳压电路,在本设计中,由于考虑到成本问题,这部 分电路就以输出 +5V的稳压电源代替。 7 第三章 8 ×8 点阵显示器控制系统的硬件设计 3.1 硬件系统的总体设计 根据设计要求与设计方案,硬件电路的设计框图如图3-1 所示。硬件电路结 构由 8 个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示 阳极驱动电路、点阵显示阴极驱动电路和8×8 点阵显示电路。 图 3-1 8 ×8 点阵显示器组成原理框图 3.2 单片机 AT89C51芯片的性能及功能的分析 3.2.1 AT89C51 的主要特性: · 32 条可编程 I/O 线· 两个 16位定时器 / 计数器 · 6 个中断源· 可编程串行通道 · 低功耗的闲置和掉电模式 · 片内振荡器和时钟电路 3.2.2 AT89C51 管脚说明: VCC :供电电压。 GND :接地。 P0口:P0 口为一个 8 位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当 P1口的管脚第一次写1 时,被定义为高阻输入。 P0能够用于外部程序数据存储 器,它可以被定义为数据 / 地址的第八位。 在 FIASH编程时, P0 口作为原码输入 口,当 FIASH进行校验时, P0输出原码,此时 P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8 位双向 I/O 口,P1口缓冲器能接 收输出 4TTL 门电流。 P1 口管脚写入1 后,被内部上拉为高,可用作输入,P1 按键电路 复位电路 电源电路 时钟电路 单 片 机 点阵显示器 阳极驱动电 路 点阵显示器 阴极驱动电 路 8× 8 点 阵 LED显示器 8 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时, P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8 位双向 I/O 口,P2口缓冲器可接收, 输出 4 个 TTL门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。 P2口当用于外部程序存储器或16 位地址外部数据存储器进行 存取时, P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是 8 个带内部上拉电阻的双向I/O 口,可接收输出4 个 TTL 门电流。当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3口将输出电流( ILL )这是由于上拉的缘故。 RST :复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平 时间。 ALE/PROG:当访问外部存储器时, 地址锁存允许的输出电平用于锁存地址的地 位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变 的频率周期输出正脉冲信号,此频率为振荡器频率的1/6 。因此它可用作对外部 输出的脉冲或用于定时目的。 然而要注意的是: 每当用作外部数据存储器时,将 跳过一个 ALE脉冲。如想禁止ALE的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX ,MOVC 指令是 ALE才起作用。另外,该引脚被略微拉高。如果 微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机 器周期两次 /PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号 将不出现。 /EA/VPP: 当/EA 保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH ) , 不管是否有内部程序存储器。注意加密方式1 时,/EA 将内部锁定为 RESET ;当 /EA 端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于 施加 12V编程电源( VPP )。XTAL1 :反向振荡放大器的输入及内部时钟工作电 路的输入。 XTAL2:来自反向振荡器的输出。 3.3 具体电路及功能分析 9 3.3.1 显示电路 本设计采用双色 8×8 点阵模块显示,但是在设计中我们只用单色显示,我们 通过改变限流电阻的阻值的大小来改变显示字符的亮度。 3.3.2 电源电路 电源电路采用普通的三端集成稳压电源。为整个系统提供+5V的电压。 3.3.3 电路原理图 图 3-2 电路原理图 3.4 硬件系统连线 (1) 把“单片机系统”区域中的P1端口用 8 芯排芯连接到“点阵模块”区域中 的“DR1 DR8 ”端口上; (2) 把“单片机系统”区域中的P3端口用 8 芯排芯连接到“点阵模块”区域中 的“DC1 DC8 ”端口上; (3) 把“单片机系统”区域中的P2.0/A8 端子用导线连接到“独立式键盘”区 域中的 SP1端子上; 第四章 系统软件电路的设计 4.1 软件设计思想 主程序先进行设置中断,并启动,再进行键盘扫描载入,心形图,然 后判断一组字型是否扫描完,按不同情况进行循环调用子程序。进入子程序后, 10 首先设置相应的程序, 反复调用显示子程序, 并在显示过程中反复调用键盘扫描 子程序进行延时, 判断是否退出相应的方式显示子程序。设计过程中, 能很好得 提高按键响应速度。如图4-1 所示为软件系统框图。 主程序按键程序 延时程序 动态显示程 序 中断程序 图 4-1软件设计框图 字符编码: 8×8点阵可以看成是从上至下8 个字节,每个字节 8 位,因为 该点阵为共阴型点阵, 因此若该灯亮, 则该位为“1” ;该灯不亮,则该位为“0” 。 所以,心形图的编码为,从上至下: “”: 12H,14H ,3CH ,48H ,3CH ,14H ,12H ,00H “”: 00H,00H ,38H ,44H ,44H ,44H ,38H ,00H “心形图”: 30H,48H ,44H ,22H ,44H ,48H ,30H ,00H 4.2 主程序设计 主程序首先设置并启动T0 中断,然后调用初始化程序,为后面程序要用到 的数据调入, 并清零一些用到的数据单元, 然后载入, ,心形图,进行扫描。 图 4-2 为主程序流程图。 11 图 4-2 主程序流程图 主程序如下: COLUMN REG P0 ;行 ROW REG P2 ;列 SCANCODE EQU 10000000B ;扫描码 SPEED EQU 1 ;0.25s 延迟 S_TIME EQU -2500 ;2.5ms 扫描时间 ORG 0000H ;程序从 0000H地址开始 JMP MAIN ;跳至 MAIN ORG 000BH ;TIMER0 中断向量 JMP TIMER0 ;跳至 TIMER0中断子程序 MAIN: MOV IE,#82H ;设定 TIMER0中断 MOV TOMD,#01H ;使用 T0定时器,方式 1 MOV SP,#60H ;移开堆栈指针 SETB RS0 ;切换到 RB1 12 MOV R1,#20H ;显示存储起始地址 MOV R2,#8 ;扫描 8 行 MOV R3,#SCANCODE ;载入扫描码 CLR RS0 ;切换回 RB0 MOV TH0,#0F6H ;设定每行扫描时间 MOV TL0,#3CH ;设定每行扫描时间 SETB TR0 ;启动 TIMER0 LOOP: MOV DPTR,#TABLE ;将数据指针指向TABLE地址 MOV R4,#4 ;4 组字型 SJMP $ ;等待中断或其他 4.3 子程序设计 子程序中包括动态显示程序、 按键程序、 延时程序和中断程序四种, 下面依 次详细介绍。 4.3.1 动态显示程序设计 本系统中采用左移动态显示方式。对于8×8LED 阵列,其左移就是显示4 个不同的字型。首先扫描第一个字型,同样是8 行、8 次扫描, 8 次显示;完成 第一个字型后,再扫描第二个字型;完成第二个字型后,再扫描第三个字 型· · · · · ·依次类推,即可产生“,心形图”左移的感觉。 假如第一个字型的编码为00H 00H 36H 49H 49H 36H 00H 00H;第 二个字型的编码为00H 1CH 22H 41H 41H 22H 1CH 00H,也就是把第一 个字型编码中,第 1 行显示数据,变为第 8 行显示数据、第 2 行显示数据,变为 第 1 行显示数据、第 3 行显示数据,变为第2 行显示数据、第 4 行显示数据,变 为第 3 行显示数据·· · · · ·依次类推。 当第一个字型扫描完成后, 就进行这样的调整动作, 以产生第二个字型的编 码。同样的,当第二个字型扫描完成后,就进行这样的调整动作,以产生第三个 字型的编码。 这个调整动作是将8 个编码根据顺序填入存储器, 调整存储器地址 的程序流程图如图4-3 所示。 13 图 4-3 动态显示流程图 动态显示子程序如下: MOV R2,#8 ;转移次数 MOV R0,#20H ;R0内置目的存储器地址 MOV R1,#21H ;R1内置来源存储器地址 MOV 28H,R0 ;先将第一行内容搬至28H地址 MOVE_L: MOV A,R1 ;将来源存储器内容搬至ACC MOV R0,A ;将 ACC 内容搬至目的存储器 INC R0 ;下一个目的地址 INC R1 ;下一个来源地址 DJNZ R2,MOVE_L ;跳至 MOVE_L, 执行 8 次 RET ;返回 4.3.2 按键程序设计 系统中采用独立式非编码键盘,在P1 口接一个按键,P0 端口分别控制 8×8LED阵列。当有键按下时,对应的LED亮;反之则灭。如图4-4 所示为按键 控制流程图。 14 按键子程序如下: ORG 0000H START: MOV P1,#0FFH ;置 P1口为输入状态 LOOP: MOV A,P1 ;读入 P1口状态数据 NOP MOV P0,A ;将状态数据送入P0口,控制 LED阵列 SJMP LOOP ;继续循环 END 4.3.3 延时程序设计 延时程序在单片机编程中使用非常广泛, 也很重要,在本设计的程序中用到 了延时子程序。已知晶振12MHZ ,所以机器周期为1s,但执行一次 DJZN操作 为 2s,则延时时间是( 1×200×250)次×2 s/ 次=100000s=100ms 。延时 流程图如图 4-5 所示。 图 4-4按键流程图 15 图 4-5延时流程图 程序如下: DELAY: MOV R7 ,#1 D1: MOV R6,#200 D2: MOV R5,#250 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET 4.3.4 中断程序设计 显示程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新 率的稳定。根据设计要求,设定扫描时间为2.5ms,那么定时器 T0定时 2.5ms, 则定时初值计算公式为: 16 2X定时时间 t ×时钟频率 /12 1636 22.5 1012 10 /126553625006303663FCH 16 中断流程图如图 4-6 所示。 图 4-6中断流程图 中断子程序如下: TIMER0: CLR TR0 ;关闭 TIMER0 PUSH A ;储存 ACC SETB RS0 ;切换到 RB1 MOV COLUMN,#0 ;关闭 LED阵列 MOV A,R1 ;取出显示信号 ;使用共阳极式 LED阵列,则加入下一列指令 CPL A MOV ROW,A ;输出显示信号 MOV A,R3 ;载入扫描码 MOV COLUMN,A ;输出扫描码(显示一行) RR A ;下一个扫描码 17 MOV R3,A ;储存下一个扫描码 INC R1 ;下一个显示信号 DJNZ R2,NEXT_C ;未超过 8 行则跳至 NEXT_C MOV R2,#8 ;重新开始扫描 MOV R1,#20H ;从第一行开始扫描 NEXY_C: MOV TH0,#F6H ;设定每行扫描时间 MOV TL0,#3CH ;设定每行扫描时间 SETB TR0 ;启动 TIMER0 CLR RS0 ;切换回 RB0 POP A ;取回 ACC RETI 第五章 调试及性能分析 5.1 软件调试 软件调试主要是利用计算机仿真针对程序中可能存在的错误进行检测,直到 得到正确的显示结果。按照程序流程图在KEIL C51 软件中编写好程序,在此软 件中检测编写好的程序是否有误语法错误。此次软件调试参考前面的子程序,选 择动态显示程序和延时程序进行调试,并观察其结果,如图5-1、5-2 所示。 图 5-1 动态显示程序调试结果 18 图 5-2 延时程序调试结果 5.2 性能分析 此次系统设计结果较好, LED显示屏能很好的显示信息。这个方案设计的8 8 的点阵 LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示 屏;显示屏各点亮度均匀、 充足;显示图形或文字稳定、 清晰无串扰; 可用静止、 移入移出等多种显示方式显示图形或文字。 总结 通过此次论文设计, 让我学到了许多知道的和不知道的,都有提高, 在单片 机的选择、显示屏的组合还有各种器件的选用有了一个明确的认识,程序设计上 清晰地思路, 理论在实践方面的运用能力有巨大的提高。在实践以前, 由于对单 片机有一定的兴趣 , 我通过课外学习已经接触了很多概念以及设计方式,但不专 业。但是通过这次深层次的学习、设计我有了一定的实践经验和理论基础,也让 我可以进行更深的研究学习, 在设计思路上, 通过查阅资料了解了许多方法,认 识到形式的多样性, 模仿优秀作品是每个设计师必走之路,但是做设计必须要有 自己的思想, 人也要有自己的鲜明个性, 久了就成了自己的风格, 风格的养成与 一个人的艺术素养和个人修养有直接关系。 要拓展自己的知识面,使自己的知识系统化知识需要接触社会的方方面面, 光有书本知识是远远不够的。要求自己在以后的学习中多想,多读,多学。要求 自己的写作水平一定要过硬。经验的提高,让我今后在设计时更加方便、快捷, 也为毕业后的就业提供了保障。 参考文献 1 张晓峰,高斌·电气自动化实验教程·国防工业出版社,2010年 3 月 2 楼然苗,李光飞· 51 系列单片机设计实例·北航出版社,2005 年 1 月 19 3 王幸之,钟爱琴,王雷,王闪·AT89 系列单片机原理与接口技术·北京航 空航天大学出版社, 2004年 5 月 4 朱定华·单片机原理及接口技术·电子工业出版社,2001年 4 月 5 赵茂泰·智能仪器原理及应用·电子工业出版社,2004年 2 月 6 范力旻·单片机原理及应用技术·电子工业出版社,2009年 1 月 附录 1.1 元件清单 元器件名称型号数目 1、AT89C51 单片机1 块 2、晶振12MHZ 1 块 3、PNP三极管9012 8 只 4、8×8点阵共阳 LED显示器共阳1 块 5、按钮开关1 只 6、极性电容20uf 1 只 7、瓷片电容30pf 2 只 8、电阻1k9 只 9、电阻10 k 1 只 10、电阻2708 只 11、电源5V 1 个 1.2 程序清单 COLUMN REG P0 ;行 ROW REG P2 ;列 SCANCODE EQU 10000000B ;扫描码 SPEED EQU 1 ;0.25s 延迟 S_TIME EQU -2500 ;2ms扫描时间 ORG 0000H ;程序从 0000H地址开始 JMP START ;跳至 START ORG 000BH ;TIMER0 中断向量 JMP TIMER0 ;跳至 TIMER0中断子程序 START: MOV IE,#82H ;设定 TIMER0中断 20 MOV TOMD,#01H ;使用 T0定时器,方式 1 MOV SP,#60H ;移开堆栈指针 SETB RS0 ;切换到 RB1 MOV R1,#20H ;显示存储起始地址 MOV R2,#8 ;扫描 8 行 MOV R3,#SCANCODE ;载入扫描码 CLR RS0 ;切换回 RB0 MOV TH0,#0F6H ;设定每行扫描时间 MOV TL0,#3CH ;设定每行扫描时间 SETB TR0 ;启动 TIMER0 LOOP: MOV DPTR,#TABLE ;将数据指针指向TABLE地址 MOV R4,#4 ;4 组字型 NEXT: MOV R2,#8 ;加载数据数量 MOV R0,#20H ;储存存储器起始地址 CALL LOADING ;加载一个字型 CALL DELAY ;延时 DJNZ R4,NEXT ;跳至 NEXT 形成一个循环 JMP LOOP ;跳至 LOOP 形成一个循环 LOADING: MOV R3,#0 ;间距 L_1: MOV A,R3 ;将间距放入 ACC MOVC A,A+DPTR ;读入数据 MOV R0,A ;将数据存入存储器 INC R3 ;指向下一个读取地址 INC R0 ;指向下一个储存地址 DJNZ R2,L_1 ;跳至 L_1 形成一个循环 INC DPTR ;下一笔数据 RET DELAY: MOV R7,#1 D1: MOV R6,#200 21 D2: MOV R5,#250 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET TIMER0: CLR TR0 ;关闭 TIMER0 PUSH A ;储存 ACC SETB RS0 ;切换到 RB1 MOV COLUMN,#0 ;关闭 LED阵列 MOV A,R1 ;取出显示信号 ;使用共阳极式 LED阵列,则加入下一列指令 CPL A MOV ROW,A ;输出显示信号 MOV A,R3 ;载入扫描码 MOV COLUMN,A ;输出扫描码(显示一行) RR A ;下一个扫描码 MOV R3,A ;储存下一个扫描码 INC R1 ;下一个显示信号 DJNZ R2,NEXT_C ;未超过 8 行则跳至 NEXT_C MOV R2,#8 ;重新开始扫描 MOV R1,#20H ;从第一行开始扫描 NEXY_C: MOV TH0,#F6H ;设定每行扫描时间 MOV TL0,#3CH ;设定每行扫描时间 SETB TR0 ;启动 TIMER0 CLR RS0 ;切换回 RB0 POP A ;取回 ACC RETI TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH GRAPH: DB 12H,14H,3CH,48H,3CH,14H,12H,00H DB 00H,00H,38H,44H,44H,44H,38H,00H DB 30H,48H,44H,22H,44H,48H,30H,00H 22 END

    注意事项

    本文(8×8点阵LED数码图形显示的课程设计..pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开