单片机程设计——xLED滚动显示PPT课件.ppt_第1页
单片机程设计——xLED滚动显示PPT课件.ppt_第2页
单片机程设计——xLED滚动显示PPT课件.ppt_第3页
单片机程设计——xLED滚动显示PPT课件.ppt_第4页
单片机程设计——xLED滚动显示PPT课件.ppt_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

16x16LED滚动显示 小组成员 设计时间 2014年12月 指导老师 设计概要 本设计使用AT89C55系列高速单片机作为主控制模块 利用简单的外围电路来驱动16 16的点阵LED显示屏 利用AT89C55系列高速单片机本身强大的功能 可以很方便的实现单片机与PC机间的数据传输及存储 并能利用软件方便的进行显示内容的多样变化 另一方面点阵显示屏广泛的应用于医院 机场 银行等公共场所 所以本设计具有很强的现实应用性 本LED显示屏能够以动态扫描的方式同时显示4个8 8点阵汉字 并能通过上位机软件修改显示内容和显示效果等等 把字符内码存储在空闲的单片机程序存储器空间 使本LED显示系统能掉电存储1024个字符 设计中采用了SPI接口的GB2312标准字库 支持所有的国标字符和ASCII标准字符的显示 因为采用串行传输方式 使本系统的可扩展性得到提升 便于多个显示单元的级联 本文从LED的显示原理入手 详细阐述了LED动态显示的过程 以及硬件电路的设计 计算和软件的算法 关键词 LED动态显示AT89C55点阵汉字显示仿真 论证设计 图文显示一般有静态和动态显示两种方案 静态方案虽然设计简单 但其使用的管脚太多 如本设计中16 16的点阵共有256个发光二极管 显然单片机没有这么多的端口 如果我采用锁存器来扩展端口 按8位的锁存器来计算 16 16的点阵需要256 8 32个锁存器 这个数字很庞大 因为我们仅仅是16 16的点阵 在实际应用中的显示屏往往要大得多 这样在锁存器上花的成本将是一个很庞大的数字 因此在实际应用中的显示屏几乎都不采用这种设计 而采用另外一种称为动态扫描的显示方法 动态扫描的意思简单地说就是逐行轮流点亮 这样扫描驱动电路就可以实现多行 比如16行 的同名列共用一套驱动器 具体就16 16的点阵来说 把所有同1行的发光管的阳极连在一起 把所有同1列的发光管的阴极连在一起 共阳极的接法 先送出对应第一行发光管亮灭的数据并锁存 然后选通第1行使其燃亮一定时间 然后熄灭 再送出第二行的数据并锁存 然后选通第2行使其燃亮相同的时间 然后熄灭 以此类推 第16行之后 又重新燃亮第1行 反复轮回 当这样轮回的速度足够快 每秒24次以上 由于人眼的视觉暂留现象 就能够看到显示屏上稳定的图形了 实验原理 16 16扫描LED点阵的工作原理同8位扫描数码管类似 它有16个共阴极输出端口 每个共阴极对应有16个LED显示灯 所以其扫描译码地址需4位信号线 要使16点阵上某个点亮 如第10行第4列的LED点亮 只要让列选信号为 0100 从而选中第4列 再给第10行一个高电平 即可点亮该LED 本实验通过74LS164和74LS595芯片写入字形 产生扫描信号 为了显示整个汉字 首先分布好汉字的排列 以行给汉字信息 然后以大于24HZ的频率扫描列 即每行逐一加高电平 根据人眼的视觉残留特性 使之形成整个汉字的显示 系统框图 AT89C55单片机 74LS595列驱动器 74行L驱S动1器64 16x16LED点阵 硬件设计 一 主要芯片资料 AT89C55介绍 AT89C55为8位通用微处理器 采用工业标准的C51内核 在内部功能及管脚排布上与通用的8xc52相同 其主要用于会聚调整时的功能控制 功能包括对会聚主IC内部寄存器 数据RAM及外部接口等功能部件的初始化 会聚调整控制 会聚测试图控制 红外遥控信号IR的接收解码及与主板CPU通信等 主要管脚有 XTAL1 19脚 和XTAL2 18脚 为振荡器输入输出端口 外接12MHz晶振 RST Vpd 9脚 为复位输入端口 外接电阻电容组成的复位电路 VCC 40脚 和VSS 20脚 为供电端口 分别接 5V电源的正负端 P0 P3为可编程通用I O脚 其功能用途由软件定义 在本设计中 P0端口 32 39脚 被定义为N1功能控制端口 分别与N1的相应功能管脚相连接 13脚定义为IR输入端 10脚和11脚定义为I2C总线控制端口 分别连接N1的SDAS 18脚 和SCLS 19脚 端口 12脚 27脚及28脚定义为握手信号功能端口 连接主板CPU的相应功能端 用于当前制式的检测及会聚调整状态进入的控制功能 74LS595介绍 74595的数据端 Q1 Q7 八位并行输出端 可以直接控制数码管的8个段 Q7 级联输出端 我将它接下一个595的SI端 DS 串行数据输入端 STcp 存储寄存器的时钟脉冲输入口SHcp 移位寄存器的时钟脉冲输入口OE 的非输出使能端MR 的非芯片复位端 74LS164介绍 当清除端 CLEAR 为低电平时 输出端 QA QH 均为低电平 串行数据输入端 A B 可控制数据 当A B任意一个为低电平 则禁止新数据输入 在时钟端 CLOCK 脉冲上升沿作用下Q0为低电平 当A B有一个为高电平 则另一个就允许输入数据 并在CLOCK上升沿作用下决定Q0的状态 引脚功能 CLOCK 时钟输入端CLEAR 同步清除输入端 低电平有效 1 2 串行数据输入端Q8 Q15 输出端 16 16LED点阵显示制作 以UCDOS中文宋体字库为例 每一个字由16行16列的点阵组成显示 即国家标准汉字库中的每一个字均由256点阵来表示 我们可以把每一个点理解为一个像素 而把每一个字的字形理解为一幅图像 事实上这个汉字屏不仅可以显示汉字 也可以显示在256像素范围内的任何图形 这里我们以 魏 字说明 如下图所示 图为字模提取软件提取16x16LED汉字显示代码 系统主程序流程图 开始 系统初始化 左滚屏显示效果 上滚屏显示效果 右滚屏显示效果 下滚屏显示效果 行驱动器 列驱动器 总电路连线图 用4个8 8LED点阵构成16 16LED点阵 Proteus中只有5 7和8 8等LED点阵 并没有16 16LED点阵 而在实际应用中 要良好地显示一个汉字 则至少需要16 16点阵 下面我们就首先介绍使用8 8点阵构建16 16点阵的方法 并构建一块16 16LED点阵 用于本例的显示任务 从Proteus的元件库中找到 MATRIX 8X8 RED 元器件 并将四块该元器件放入Proteus文档区编辑窗口中 此时需要注意 如果该元器件保持初始的位置 没有转动方向 我们要首先将其左转90 使其水平放置 那么此时它的左面8个引脚是其行线 右边8个引脚是其列线 当然 如果你是将右转 则右边8个引脚是行线 然后我们将四个元器件对应的行线和列线分别进行连接 使每一条行线引脚接一行16个LED 列线也相同 并注意要将行线和列线引出一定长度的引脚 以便下面我们使用 连接好的16 16点阵如右图 实验结果 实验电路及连线 电路主要由单片机和一些外部设备连接而成 利用4个8 8LED显示组装成16 16LED显示 2个R 8排电阻 一个74HC154组成 该显示器采用AT89C55单片机作为控制器 12MHz晶振 其中P0口作为字符数据输出口 P2口作为显示器扫描输出口 第31管脚 EA 接电源 电路包括单片机 电源电路 时钟电路 复位电路 驱动电路和LED点阵电路等 本设计的核心是利用单片机读取显示字型码 通过驱动电路对16 16LED点阵进行动态扫描 以实现汉字的滚动显示 软件设计 本软件要求实现如下要求 汉字要稳定 明亮并且文字要以一定速度上升滚动显示 显示屏软件模块 初始化程序 主程序 多字滚动 显示程序 扫描程序 显示程序的主要功能是向屏体提供显示数据 并产生各种控制信号 使屏幕按设计的要求显示 软件设计中 显示屏的软件系统分为两层 第一层是底层的显示驱动程序 第二层是上层的系统应用程序 显示驱动程序负责向屏体送显示数据 并负责产生行扫描信号和其他控制信号 配合完成LED显示屏的扫描显示工作 显示驱动器程序由定时器T0中断程序实现 系统应用程序完成系统环境设置 初始化 显示效果处理等工作 由主程序来实现 显示驱动程序在进入中断后首先要对定时器T0重新赋初值 以保证显示屏刷新率的稳定 1 16扫描显示屏的刷新率 帧频 计算公式如下 刷频率 帧频 1 16 T0溢 1 16 f 12 65536 t 其中f位晶振频率 t为定时器T0初值 工作在16位定时器模式 然后显示驱动程序查询当前燃亮的行号 从显示缓存区内读取下一行的显示数据 并通过串口发送给移位寄存器 为消除在切换行显示数据的时候产生拖尾现象 驱动程序先要关闭显示屏 即消隐 等显示数据打入输出锁存器并锁存 然后再输出新的行号 重新打开显示 系统调试 软件调试 软件为网络所提供 其原理在上一模块已作说明 在这里再作说明 软件经调试无误 直接将其下再到单片机中 看是否达到所要的效果软件部分是先参考书上的例子 然后自己根据硬件电路写程序 由于以前所学是单片机汇编语言 所以这个系统在编写程序过程中都采用汇编语言编写 刚刚开始 编写不会一次性通过 经过仔细分析修改最后编译成功 但是 在实际写如C55中 LED显示屏出现各种各样的乱码 通过再次认真仔细分析多次修改程序后 程序能够正常运行 硬件调试 在对各个硬件模块进行调试时 要保证软件正确情况下去测试软件 要不然会发生错误 硬件仿真前要认真检验点阵及线路的好坏 检查无误后才下载主程序 结束语 本文设计的16 16的点阵LED图文显示屏 能够在目测条件下LED显示屏各点亮度均匀 充足 可显示图形和文字 显示的图形和文字较稳定 清晰 图形或文字向上滚动显示 本系统具有硬件少 结构简单 容易实现 性能稳定可靠 成本低等特点 在此次设计中 我得到以下体会 1 在这次点阵设计的过程让我进一步熟悉KEIL及Proteus的使用 2 本次设计结果仍有缺陷 有一行总是全亮

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论