




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广西交通职业技术学院信息工程系广西交通职业技术学院信息工程系 作品设计报告书作品设计报告书 课程名称课程名称 电子电路设计与制作电子电路设计与制作 题题 目目 16 1616 16 汉字点阵显示屏汉字点阵显示屏 班班 级级 电信电信 2011 12011 1 班班 学学 号号 007007 032032 姓姓 名名 范杰范杰 任课老师任课老师 韦家正韦家正 二二 O 一三年一月一三年一月 目录 摘要摘要 1 一 一 系统方案选择和论证系统方案选择和论证 1 1 1设计要求 1 2 1系统基本方案 1 2 1 1 主控电路选择 1 2 1 2 点阵显示屏部分 1 2 1 3 显示屏控制部分 2 二 二 电路模块的设计与分析电路模块的设计与分析 2 2 1 系统程序的设计 2 2 2 单片机系统及外围电路 3 2 3 LED 点阵显示 7 24 汉字扫描的原理 8 25 方案的实现 8 三 三 系统软件设计系统软件设计 9 四 四 系统测试与分析系统测试与分析 11 4 1点阵显示屏的仿真与程序调试 11 4 2整机测试 12 4 3系统主程序 12 4 4系统测试结果分析 12 五 五 设计制作总结设计制作总结 12 5 1总结 12 5 2致谢词 13 六 六 参考文献参考文献 13 附录一 系统主要元件清单附录一 系统主要元件清单 14 1 摘要 摘要摘要 LED 点阵显示屏作为一种新兴的显示器件 是由多个独立的高亮度的 LED 发 光二极管封装而成 LED 点阵显示屏可以显示数字或符号 通常用来显示时间 速度 系统状态等灵活的动态显示 文章给出了一种基于 MCS 51 52 单片机的 16 16 点阵 LED 显示屏的设计方案 包括系统具体的硬件设计方案 软件流程 图和汇编语言程序等方面内容 在负载范围内 只需通过简单的级联就可以对 显示屏进行扩展 是一种成本低廉 亮度高 工作电压低 功耗小 微型化 易 与集成电路匹配 驱动简单 寿命长 耐冲击 性能稳定的图文显示方案 AbstractAbstract LED dot matrix display as a new display device by a number of independent high brightness LED light emitting diode packages LED dot matrix display can display numbers or symbols usually used to display time speed system status and a flexible dynamic display Paper a microcomputer based MCS 51 52 16 16 dot matrix LED display design including the system specific hardware design software flowcharts and assembly language programs and other aspects Within the load range by simply cascading Jiu expansion can right display Jin Xing is a low cost high brightness low voltage Gong Hao Xiao miniaturization Yi Yu IC match Qu Dong simple Shou Ming long impact resistance stable performance graphics and display options 一 系统方案选择和论证 1 1 设计要求 基本要求 要求点阵显示屏能够显示中文汉字 英文字母 阿拉伯数字等信息 要求点阵显示屏能够显示三角形 矩形等各类简单的图形 要求通过按键进行显示模式 汉字 英文 数字 图形 的切换 要求整个系统只使用两节 1 5V 的电池进行供电 发挥要求 要求所显示的内容能够实现上 下 左 右的移动功能 移动方向和移动速度 至少分三个等级 可以通过按键进行设置 显示屏能够通过红外遥控的方式进行控制 2 1 系统基本方案 2 1 1 主控电路选择 方案一 数字电路控制的原理是 LED 点阵显示屏由单片机控制电路和显示 驱动电路两大部分组成 一般的单片机控制部分采用 ATMEL 公司的 AT89S51 52 系列单片机 显示驱动部分由 4 片 8 8 LED 点阵模块和相应的驱 动电路组成 位码扫描信号和段码信号都由单片机提供 并且 AT89S52 单片机 构成的主控电路 支持 ISP 下载技术 控制操作简单 价格低廉 通用性强 方案二 由 CPLD 器件组成的控制电路 具有很高的可靠性和设计灵活性 所实现的显示效果样式较多 但采用可编程逻辑器件 CPLD 的设计成本相对较高 由于采用由单片机组成的控制电路已能完成设计的要求 且其性价比要优于 采用由 CPLD 组成的控制电路 因此 主控电路采用方案一作为控制电路 2 1 2 点阵显示屏部分 方案一 串行方式显示 这种方式可同时显示 4 个 8 8 汉字点阵的汉字 字符或数字 点阵显示屏每个单元由 4 个 8 8 点阵 LED 显示模块 驱动器 74HC154 数据移位寄存器 74HC595 和行驱动器组成 单元显示屏可以接收控制 器 主控制电路板 或上一级显示单元模块传输下来的数据信息和命令信息 并 可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中 因此显示屏可扩展至更多的显示单元 用于显示更多的内容 此方案为点阵显 示屏系统中比较常用的 所用器件也比较常用 容易买到 但是它存在一个致 命的缺点 就是刷新速度不够快 如果要驱动 64 列点阵显示 通用 51 单片机 会比较吃力 出现比较严重的闪烁停滞现象 此外 要实现文字的左右移动和 调整移动速度等功能 都会给软件设计带来较多困难 方案二 并行方式显示 可以通过锁存器芯片来扩展 I O 口 达到控制 LED 点阵的 64 个列线的目的 方案中运用 16 片锁存器 74HC154 来组成 8 组双 缓冲寄存器 驱动 LED 点阵的 8 组列线 移位寄存器 74HC595 对 LED 点阵的 16 行进行扫描 在送每一行的数据到 LED 点阵前 先把数据分别送到第一级的 8 个 74HC154 然后再给第二级的 8 个 74HC154 送锁脉冲 数据一起输出到 LED 点阵列中 这样就避免了各行数据显示不同步问题 由于并行数据传输速度比 串行快 所以字符闪烁的问题得到较好地解决 文字左右 上下移动也比较容易 控制 综上所述 本作品制作最终选择了方案二 2 1 3 显示屏控制部分 方案一 单机工作模式 采用一个单片机控制实现所有功能 其中包括 LED 点阵显示屏的刷新显示 模式选择等 只用一个单片机控制点阵显示屏可 以使电路大大减化 软件设计方面也容易实现 但是 将所有功能集成在一起 一片 AT89S51 52 单片机处理能力是不够的 此时 单片机的 CPU 内部资源已显 不足 会导致系统功能欠佳 达不到较好的性能 方案二 主从工作模式 采用主从单片机工作方式来控制整个系统 其中 一个单片机用于控制 LED 点阵显示 另外一个单片机用于扩展键盘 串口等工 作 相对单机工作方式 主从工作模式的处理能力大大提高 并且分工明确 执行速度得到很大的提高 虽然硬件电路以及软件设计方面要求相对高了一些 更涉及到主从单片机通信问题 至此 为了更好地实现各项性能指标 本设计采用了这种方案 二 电路模块的设计与分析 2 1 系统程序的设计 显示屏软件的主要功能是向屏体提供显示数据 并产生各种控制信号 使 屏幕按设计的要求显示 根据软件分层次设计的原理 可以把显示屏的软件系 统分为两层 第一层是底层的显示驱动程序 第二层是上层的系统应用程序 显示驱动程序负责向屏体送显示数据 并负责产生行扫描信号和其他控制信号 配合完成 LED 显示屏的扫描显示工作 显示驱动器程序由定时器 T0 中断程序实 现 系统应用程序完成系统环境设置 初始化 显示效果处理等工作 由主 程序来实现 从有利于实现较复杂的算法 显示效果处理 和有利于程序结构 化考虑 显示屏程序适宜采用汇编语言编写 16X16 LED 显示屏电路大致上可以分成单片机系统及外围电路 列驱动电 路和行驱动电路三部分 系统框如下所示 2 2 单片机系统及外围电路 单片机采用 MSC 51 或其兼容系列芯片 采用 12MHZ 或更高频率晶振 以 获得较高的刷新频率 使显示更稳定 显示驱动程序在进入中断后首先要对定时器 T0 重新赋初值 以保证显示屏 刷新率的稳定 1 16 扫描显示屏的刷新率 帧频 计算公式如下 刷频率 帧频 1 16 1 16 f 12 65536 t 其中 f 位晶振频率 t 为定时器 T0 初值 工作在 16 位定时器模式 然后显示驱动程序查询当前燃亮的行号 从显示缓存区内读取下一行的显 示数据 并通过串口发送给移位寄存器 为消除在切换行 列显示数据的时候产 生拖尾现象 驱动程序先要关闭显示屏 即消隐 等显示数据打入输出锁存器 并锁存 然后再输出新的行 列号 重新打开显示 图 1 显示驱动程序流程图 图 2 显示驱动电路 2 3 LED 点阵显示 从下图 5 LED 内部结构可以看出 8X8 点阵共需要 64 个发光二极管组成 且每个发光二极管是放置在行线和列线的交叉点上 当对应的某一列置 1 电平 某一行置 0 电平 则相应的二极管就亮 对应的一列为一根竖柱 或者对应的 一行为一根横柱 因此实现柱的亮的方法如下所述 一根竖柱 对应的列置 1 而行则采用扫描的方法来实现 一根横柱 对应的行置 0 而列则采用扫描的方法来实现 图 5 LED 内部结构 LED 点阵选用 8x8 模块 每 2 块排列成一个 16x16 的点阵 用于显示一个 汉字 点阵每一行的所有 LED 共阴极 每一列的所有 LED 共阳极 因为单片机 I O 口的驱动能力有限 所以每一行 LED 阴极通过一个三极管 9012 或者 8550 与电源相连 I O 口仅需要提供几个毫安的灌入电流即可控制其通断 同一行汉字字模 即 12 个字节 通过锁存器 74HC154 并行送出后 由移位寄存 器 74HC595 输出行选通信号 来点亮该行的 LED 接着再送下一行数据 再选 中下一行有效 直到 16 行全被扫描过一遍 至此 一幅完整的文字信息就显现 出来 然后按这种方式反复扫描 借助于程序的控制 即可实现信息从右至左 或者从上至下 的动态显示了 具体电路图流程如图 6 所示 图 6 实验程序框图 2 4 汉字扫描的原理 汉字扫描显示基本过程是这样 通电后由于电阻 电容的作用 使单片机 RST 复位脚电平先高后低 从而达到复位 之后 在电阻 电容 晶振以及单 片机内部时钟电路作用下 单片机 89C51 52 按照设定程序在 P1 和 P3 接口输出 与内部汉字对应代码电平送至 LED 点阵行选线 高电平驱动 同时在 P1 0 P1 1 P1 2 P1 3 接口输出列选扫描信号 低电平驱动 从而选中相应 象素 LCD 发光 并利用人眼视觉暂留特性合成整个汉字显示 以 UCDOS 中文宋体字库为例 每一个字由 16 行 16 列点阵组成显示 即国 标汉字库中每一个字均由 256 点阵来表示 我们可以把每一个点理解为一个象 素 而把每一个字字形理解为一幅图像 事实上这个汉字屏不仅可以显示汉字 也可以显示在 256 象素范围内任何图形 如查用 8 位 AT89C51 52 单片机控制 由于单片机总线为 8 位 一个字需要拆分为 2 个部分首先通过列扫描方法获取 汉字代码 汉字可拆分为上部和下部 上部由 8 16 点阵组成 下部也由 8 16 点阵组成 汉字点阵显示一般有点扫描 行扫描和列扫描 3 种 为了符合视觉暂留要 求 点扫描方法扫描频率必须大于 16 64 1 024 Hz 周期小于 1 ms 即可 行 扫描和列扫描方法扫描频率必须大于 16 8 128 Hz 周期小于 7 8 ms 即可 但是一次驱动一列或一行 8 颗 LED 时需外加驱动电路提高电流 否则 LED 亮度 会不足 2 5 方案的实现 从理论上说 不论显示图形还是文字 只要控制组成这些图形或文字 的各个点所在的位置相对应的 LED 器件发光 就可以得到我们想要的显示 结果 这种同时控制各个发光点亮灭的方法称为静态驱动显示方式 16 16 的点阵共有 256 个发光二极管 显然单片机没有这么多的端口 如 果采用锁存器来扩展端口 按 8 位的锁存器来计算 16 16 的点阵需要 256 8 32 个锁存器 这个数字很庞大 因为我们仅仅是 16 16 的点阵 在 实际应用中的显示屏往往要大得多 这样在锁存器上花的成本将是一个很 庞大的数字 因此在实际应用中的显示屏几乎都不采用这种设计 而采用 另外一种称为动态扫描的显示方法 动态扫描的意思简单地说就是逐行轮 流点亮 这样扫描驱动电路就可以实现多行 比如 16 行 的同名列共用一 套驱动器 具体就 16 16 的点阵来说 把所有同 1 行的发光管的阳极连在 一起 把所有同一列的发光管的阴极连在一起 共阳极的接法 先送出 对应第 1 行发光管亮灭的数据并锁存 然后先通第 1 行使其燃亮一定时间 然后熄灭 再送出第 2 行的数据并锁存 然后先通第 2 行使其燃亮相同的 时间 然后熄灭 以此类推 第 16 行之后 又重新燃亮第 1 行 反复轮回 当这样轮回的速度足够快 每秒 24 次以上 由于人眼的视觉暂留现象 就能够看到显示屏上稳定的图形 采用扫描方式进行显示时 每一行有一 个行驱动器 各行的同名列共用一个驱动器 显示数据通常存储在单片机 的存储器中 按 8 位一个字节的形式顺序排放 显示时要把一行中各列的 数据都传送到相应的列驱动器上去 这就存在一个显示数据传输的问题 从控制电路到列驱动器的数据传输可以采用并列方式或串行方式 显然 采用并行方式时 从控制电路到列驱动器的线路数量大 相应的硬件数目 多 当列数很多时 并列传输的方案是不可取的 采用串行传输的方法 控制电路可以只用一根信号线 将列数据一位一位传往列驱动器 在硬件 方面无疑是十分经济的 但是 串行传输过程较长 数据按顺序一位一位 地输出给列驱动器 只有当一行的各列数据都以传输到位之后 这一行的 各列才能并行地进行显示 这样 对于一行的显示过程就可以分解成列数 据准备 传输 和列数据显示两部分 对于串行传输方式来说 列数据准 备时间可能相当长 在行扫描周期确定的情况下留给行显示的时间就太少 了 以致影响到 LED 的亮度 解决串行传输中列数据准备和列数据显示的 时间矛盾问题 可以采用重叠处理的方法 即在显示本行各列数据的同时 传送下一列数据 为了达到重叠处理的目的 列数据的显示就需要具有所 存功能 经过上述分析 就可以归纳出列驱动器电路应具有的功能 对于 列数据准备来说 它应能实现串入并处的移位功能 对于列数据显示来说 应具有并行锁存的功能 这样 本行已准备好的数据打入并行锁存器进行 显示时 串并移位寄存器就可以准备下一行的列数据 而不会影响本行的 显示 三 系统软件设计 系统的软件程序由汇编程序语言编写 使用 VW 伟福 编译环境 详细的 程序流程图发如下图 7 所示 模式如图 8 所示 图 7 程序流程图 图 8 模式选择 四 系统测试与分析 4 1 点阵显示屏的仿真与程序调试 protuesprotues 是一款比较常用的单片机仿真软件 许多仿真与实际电路非常相 似 为了尽可能确保实际电路能达到预期的效果 减少无用功 要对许多电路 模块的方案进行了仿真 对点阵显示的处理与相应程序设计 可以使用 protuesl 进行仿真 旨在改善提高整机系统的硬件与软件方案 提高系统运行 效率与稳定性 在点阵显示方式的方案选择上 通过不断修改程序与串行电路接法后发现 串行方式很难实现字幕的右移功能 调整字幕移动的速度也不方便 经过分析 决定试用并行方式显示 结果发现这种方式电路不算复杂 并且给程序设计带 来很多便利 特别是便于实现字幕的左右移动与移动速度的设定 本系统仿真 电路如图 9 所示 图 9 仿真电路图 4 2 整机测试 把编译器生成的代码 HEX 文件下载到单片机 Flash 中 连接好各个模 块 将 LED 点阵显示屏的功能逐一测试实现 4 3 系统主程序 include include define uchar unsigned char define uint unsigned int uchar jj k m n i j kk temp 2 mode down mode up mode left mode right uchar a b c A0 A1 A2 A3 D1 D2 D3 mode sbit en P2 7 使能端 sbit flag up P3 3 上移 sbit flag down P3 4 下移 sbit flag left P3 5 左移 sbit flag right P3 6 右移 sbit key ting P3 7 切换 uchar code zi 4 128 0 x08 0 x04 0 x08 0 x04 0 x08 0 x04 0 x08 0 x04 0 xBF 0 x7F 0 x08 0 x04 0 x08 0 x06 0 x1C 0 x 0E 0 x2C 0 x0D 0 x2A 0 x15 0 x8A 0 x14 0 x49 0 x64 0 x28 0 x24 0 x08 0 x04 0 x08 0 x04 0 x08 0 x 04 林 0 0 x08 0 x00 0 x08 0 x70 0 xE8 0 x0E 0 xBF 0 x08 0 x88 0 x08 0 x48 0 x08 0 x58 0 x7E 0 xEC 0 x 09 0 x0B 0 x09 0 x98 0 x08 0 xA8 0 x08 0 x48 0 x3E 0 xC8 0 x00 0 x28 0 x01 0 x1A 0 x7E 0 x04 0 x 00 挺 1 0 x20 0 x04 0 x20 0 x04 0 xFF 0 x7F 0 x20 0 x06 0 x02 0 x00 0 x8C 0 x1F 0 x89 0 x10 0 x86 0 x 10 0 x92 0 x10 0 x90 0 x1C 0 x88 0 x08 0 x87 0 x00 0 x84 0 x20 0 x84 0 x20 0 x04 0 x3F 0 x04 0 x0 0 范 2 0 x80 0 x00 0 x80 0 x00 0 x80 0 x00 0 xFE 0 x3F 0 xC0 0 x01 0 xC0 0 x02 0 xA0 0 x04 0 x90 0 x 18 0 x88 0 x70 0 x86 0 x20 0 x80 0 x00 0 x00 0 x00 0 x12 0 x11 0 x22 0 x22 0 x21 0 x22 0 x00 0 x0 0 杰 3 uchar code shu 8 64 0 x00 0 x00 0 x00 0 x7E 0 x02 0 x02 0 x02 0 x1A 0 x26 0 x40 0 x40 0 x42 0 x22 0 x1C 0 x00 0 x00 5 0 0 x00 0 x00 0 x00 0 x3C 0 x42 0 x42 0 x42 0 x20 0 x20 0 x10 0 x08 0 x04 0 x42 0 x7E 0 x00 0 x 00 2 1 0 x00 0 x00 0 x00 0 x18 0 x24 0 x42 0 x42 0 x42 0 x42 0 x42 0 x42 0 x42 0 x24 0 x18 0 x00 0 x 00 0 2 0 x00 0 x00 0 x00 0 x00 0 x7F 0 xFE 0 x40 0 x02 0 x40 0 x02 0 x40 0 x02 0 x40 0 x02 0 x40 0 x 02 0 x40 0 x02 0 x40 0 x02 0 x40 0 x02 0 x40 0 x02 0 x40 0 x02 0 x7F 0 xFE 0 x00 0 x00 0 x00 0 x0 0 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x01 0 x00 0 x02 0 x80 0 x04 0 x40 0 x08 0 x20 0 x10 0 x 10 0 x20 0 x08 0 x40 0 x04 0 xFF 0 xFE 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x0 0 4 3 uchar code mu 8 48 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x08 0 x10 0 x1C 0 x10 0 x2A 0 x10 0 x49 0 x10 0 x08 0 x10 0 x08 0 x10 0 x08 0 x92 0 x08 0 x54 0 x08 0 x38 0 x08 0 x10 0 x00 0 x00 0 x00 0 x00 0 x00 0 x0 0 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x0C 0 x60 0 x11 0 x10 0 x10 0 x10 0 x10 0 x 10 0 x10 0 x10 0 x08 0 x20 0 x04 0 x40 0 x01 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x0 0 心形 0 0 x00 0 x00 0 x00 0 x3F 0 x42 0 x12 0 x12 0 x1E 0 x12 0 x12 0 x02 0 x02 0 x02 0 x07 0 x00 0 x 00 F 0 0 x00 0 x00 0 x00 0 x07 0 x02 0 x02 0 x02 0 x02 0 x02 0 x02 0 x02 0 x02 0 x42 0 x7F 0 x00 0 x 00 L 1 uchar code tuxing 32 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x03 0 x00 0 x04 0 x80 0 x08 0 x40 0 x10 0 x 20 0 x20 0 x10 0 x7F 0 xF8 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x0 0 延时程序 void delay uint t while t void keyscan if flag down 0 下移 delay 1000 if flag down 0 while flag down 0 mode down 1 mode up 0 mode left 0 mode right 0 if flag up 0 上移 delay 1000 if flag up 0 while flag up 0 mode up 1 mode down 0 mode left 0 mode right 0 if flag left 0 左移 delay 1000 if flag left 0 while flag left 0 mode left 1 mode up 0 mode down 0 mode right 0 if flag right 0 右移 delay 1000 if flag right 0 while flag right 0 mode right 1 mode up 0 mode down 0 mode left 0 if key ting 0 delay 1000 if key ting 0 while key ting 0 mode if mode 4 mode 0 void shift R 右移函数 bit lbit lbit temp 1 保存最低位 temp 1 temp 1 1 右移一位 temp 1 temp 0 1 if lbit temp 0 0 x80 void shift L 左移函数 bit hbit hbit temp 0 保存最高位 temp 0 temp 0 7 temp 1 temp 1 1 if hbit temp 1 0 x01 T0 初始化函数 void init T0 TMOD 0 x01 TH0 10000 256 TL0 10000 256 EA 1 ET0 1 TR0 1 main init T0 while 1 keyscan for A0 0 A0 16 A0 if mode down 1 if mode 1 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 shu c i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 shu 2 c i P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 a i 16 下移 delay 100 en 1 else if mode 2 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 mu c i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 mu 2 c i P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 a i 16 下移 delay 100 en 1 else if mode 3 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 tuxing 2 i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 tuxing 2 i 1 P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i a 16 上移 delay 100 en 1 else for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 zi c 2 i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 zi c 2 i 1 P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 a i 16 下移 delay 100 en 1 else if mode up 1 上移 if mode 1 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 shu c i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 shu 2 c i P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i a 16 下移 delay 100 en 1 else if mode 2 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 mu c i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 mu 2 c i P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i a 16 下移 delay 50 en 1 else if mode 3 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 tuxing 2 i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 tuxing 2 i 1 P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i a 16 上移 delay 100 en 1 else for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 zi c 2 i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 zi c 2 i 1 P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i a 16 上移 delay 100 en 1 else if mode right 1 右移 if mode 1 for i 0 i0 kk shift R P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else if mode 2 for i 0 i0 kk shift R P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else if mode 3 for i 0 i0 kk shift R P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else for i 0 i0 kk shift R P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else if mode left 1 左移 if mode 1 for i 0 i0 kk shift L P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else if mode 2 for i 0 i0 kk shift L P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else if mode 3 for i 0 i0 kk shift L P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else for i 0 i0 kk shift L P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 else if mode 3 for i 0 i 16 i 行扫描 循环扫描 16 行 temp 0 tuxing 2 i 2 i 表示每一列是 16 位 刚好 1 个字节 temp 1 tuxing 2 i 1 P1 temp 0 高 8 位 P0 temp 1 低八位 en 0 P2 i delay 100 en 1 T0 中断函数 void time0 interrupt 1 TH0 10000 256 TL0 10000 256 b n if b 5 等待 100mS b 0 a if a 16 a 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抛光线安全培训课件
- 2025年新型铁合金用封接玻璃项目发展计划
- 2025年高密度聚乙烯土工膜项目建议书
- 2025年临床路径信息系统项目合作计划书
- 2025年SIC涂层石英玻璃管合作协议书
- 2025年广西桂林十八中中考数学三模试卷(含答案)
- 2025年民用高端线缆合作协议书
- 家庭保洁考试流程及答案
- 2025年江苏医疗考试题型及答案
- 慢阻肺的护理
- 16949标准培训课件
- 护理情景模拟演练脚本
- T-CMES 04001-2020 机床装备制造成熟度评价规范
- 征信异议申诉合同(2篇)
- 施工现场安排及人材机计划
- 教师督导问责办法培训
- 人美版美术七年级上册第一单元《第2课 品篆刻之美》课件
- 户外演出舞台方案
- 带押过户合同模板
- 2024届高考英语1000核心词考前背熟事半功倍
- 韬睿惠悦-知识管理KM-职涯地图方法论(P65)-2015
评论
0/150
提交评论