毕业设计(论文)-51单片机实现88点阵LED字符显示.doc_第1页
毕业设计(论文)-51单片机实现88点阵LED字符显示.doc_第2页
毕业设计(论文)-51单片机实现88点阵LED字符显示.doc_第3页
毕业设计(论文)-51单片机实现88点阵LED字符显示.doc_第4页
毕业设计(论文)-51单片机实现88点阵LED字符显示.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

5 51 1 单单片片机机实实现现 8 8 8 8 点点阵阵 L LE ED D 字字符符显显示示 摘摘 要 要 MCS 51 系列单片机以其结构的系统完整 特殊功能寄存器的规范化以 及指令系统的控制功能特色 成为单片机中的主流机型 而如今的娱乐信息或新 闻广告 大多数都是通过小型或大型的显示屏来向社会展示的 且这些显示屏大 多就是由点阵所构成的 为了适应社会科技的发展 掌握单片机及点阵的使用和显示方式 把科学技 术应用到实践中去 本人经过学习设计了一个 8 8 点阵 LED 字符显示器 该显示 器可以以逐字显示 向上滚动显示 向左滚动显示这三种方式显示 电子设计 四个文字 关键词 关键词 单片机 点阵 9012 按键 晶振 51 MCU 8 8 dot matrix LED display characters Abstract MCS 51 series single chip system its structure integrity and special function registers as well as standardized command control system characteristics as a single chip model of the mainstream Today information or entertainment news advertising mostly through small or large screen display to the community and most of these displays is that posed by the lattice In order to adapt to the development of social science and technology to master the use of single chip and dot matrix display and the application of science and technology into practice I study was designed after an 8 8 dot matrix LED display characters The display can show verbatim rolling up showed that the left rolling three ways that this show Electronic Design four words Keywords Micor Computer Unit Lattice 9012 Key press XTAL 51 单片机实现 8 8 点阵 LED 字符显示 1 目目 录录 第第 1 章章 绪绪 论论 1 1 单片机的应用现状 3 1 1 1 单片机的优势 3 1 1 2 单片机的应用领域 3 1 2 点阵的应用现状 4 1 3 课题来源和目的 4 第第 2 章章 51 单片机的介绍单片机的介绍 2 1 单片机的含义 5 2 2 单片机的发展 5 2 3 单片机的基本结构 6 2 4 AT89C52 单片机 7 2 4 1 AT89C52 简介 7 2 4 2 AT89C52 的引脚功能 8 第第 3 章章 8 8 点阵点阵 LED 及及 9012 的介绍的介绍 3 1 8 8 点阵 LED 工作原理 10 3 1 1 8 8 点阵 LED 外观及引脚图 10 3 1 2 8 8 点阵 LED 的工作原理 10 3 1 3 8 8 点阵 LED 的扫描方法 11 3 2 9012 的相关介绍 11 3 2 1 9012 的简介 11 3 2 2 9012 的引脚图 12 第第 4 4 章章 系统硬件电路的设计系统硬件电路的设计 4 1 电路总体设计 13 4 2 点阵电路的设计与连接 13 4 2 1 点阵电路的设计 13 4 2 2 点阵与单片机的连接 14 51 单片机实现 8 8 点阵 LED 字符显示 2 第第 5 章章 系统主要程序的设计系统主要程序的设计 5 1 主程序 16 5 2 初始化程序 17 5 3 键扫描子程序 18 5 4 显示程序 18 第第 6 6 章章 调试调试 6 1 硬件调 试 20 6 2 软件调 试 20 6 3 总调 试 20 结束语结束语 21 致谢致谢 21 附录附录 附录 1 元器清单 22 附录 2 本显示器控制源程序 22 附录 3 设计运行图示 30 参考文献参考文献 33 51 单片机实现 8 8 点阵 LED 字符显示 3 1 绪 论 1 1 单片机的应用现状 1 1 1 单片机的优势 目前 市场上销售的单片机有 4 位 8 位 16 位 32 位 并且单片机朝着高 性能多品种方向发展 尤其是 8 位单片机已经成为当前单片机的主流 主要体现 在 CPU 功能增强 内部资源增多 引脚的多功能化 低电压和低功耗化 正是因为单片机的性能不断完善 品种大量增加 在功能 功耗 体积 价 格等方面能满足各种复杂的或简单的应用场合需求 所以单片机应用深入到各行 业和消费类的电子产品中 1 1 1 2 单片机的应用领域 3 1 家用电器领域 目前国内各种家用电器已普遍用单片机控制取代传统的控制电路 而做成单 片机控制系统 例如洗衣机 电冰箱 空调机 微波炉 电饭煲 电视机 录象 机及其他视频音响设备的控制器 2 办公自动化领域 现代办公室中所使用的大量通信 信息产品多数都采用了单片机 如通用计 算机系统中的键盘译码 磁盘驱动 打印机 绘图仪 复印机 电话 传真机及 考勤机等 3 商业营销领域 在商业营销系统已广泛使用的电子天平 收款机 条形码阅读器 仓库安全 检测系统 商场保安系统 空气调节系统及冷冻保鲜系统中 目前已纷纷采用单 片机构成专业系统 4 工业自动化 工业过程控制 过程监测 工业控制及机电一体化控制等系统除一些小型工 控机之外 许多都是一单片机为核心的单机或多机网络系统 如工业机器人的控 制系统就是由中央控制器 感觉系统 行走系统及擒拿系统等节点构成的多机网 络系统 5 智能仪表与集成智能传感器传统的控制电路 51 单片机实现 8 8 点阵 LED 字符显示 4 6 汽车电子与航空航天电子系统 通常在这些电子系统中的集中显示系统 动力检测控制系统 自动驾驶系统 通信系统以及监视器 黑匣子 等都要构成沉余的网络系统 1 2 点阵的应用现状 目前点阵被广泛运用于各种广告牌 是厂商用来向消费者展示推广产品的有 利途径 此外 在大型活动广场 医院 公司 学校等地方都大量使用电子屏来 传递信息 而这些电子屏的基础就是运用电阵显示汉字 字母等 1 3 课题来源和目的 基于对单片机的学习 了解和兴趣 并认识到目前市场对它需求 本人现于 毕业设计运用 AT89C52 单片机结合 8 8 点阵制作一个电子产品 制作目的是要用 8 8 点阵 LED 字符显示器能显示 电子设计 四个文字 显 示方式可由 K1 K2 和 K3 选择 K1 为逐字显示 K2 为向上滚动显示 K3 为向左 滚动显示 51 单片机实现 8 8 点阵 LED 字符显示 5 2 51 单片机的介绍 2 1 单片机的含义 单片机是指一个集成在一块 芯片上的完整计算机 系统 尽管他的大部分 功能集成在一块小芯片上 但是它具有一个完整计算机所需要的大部分部件 CPU 内存 内部和外部 总线系统 目前大部分还会具有外存 同时集成诸如 通讯接口 定时器 实时时钟等外围设备 而现在最强大的单片机系统甚至可 以将声音 图像 网络 复杂的输入输出系统集成在一块芯片上 由于单片机从功能和形态来说都是作为控制领域应用的要求而诞生的 并且 发展到一代 80C51 M68HCO5 M68C11 系列单片机时 在其中着力扩展了各种控 制功能 如模 数 A D 转换 脉宽调治 计数器捕获 比较逻辑 高速 I O 口 和 WDT 等 已突破了微型计算机的传统内容 所以更准确的反映单片机本质的叫 法应该是微控制器 MCU 3 根据单片机的结构和微电子设计的特点 虽然应用系统中往往仅一单片机为 核心 但是它已完全融入应用系统之中 故而也有将单片机称为嵌入式微控制器 的 3 2 2 单片机的发展 1970 年微处理器研制成功之后 随之出现了单片机 1971 年美国 Inter 公 司生产的 4 位单片机 4004 和 1972 年生产的雏形 8 位单片机 8008 特别是 1976 年 9 月 Inter 公司的 MCS 48 单片机问世以来 在短短的十几年间 经历四次更 新换代 其发展速度大约两 三年要更新一代 集成速度增加一倍 功能翻一翻 发展速度之快 应用范围之广已到达了惊人的地步 它已经渗透生产生活的各个 领域 可谓无所不在 3 总的来说单片机自从诞生于 20 世纪 70 年代末 经历了 SCM MCU SoC 三大阶段 1 SCM 即单片微型计算机 Single Chip Microcomputer 阶段 主要是 寻求最佳的单片形态嵌入式系统的最佳体系结构 创新模式 获得成功 奠定了 SCM 与通用计算机完全不同的发展道路 在开创嵌入式系统独立发展道 路上 Intel 公司功不可没 51 单片机实现 8 8 点阵 LED 字符显示 6 2 MCU 即微控制器 Micro Controller Unit 阶段 主要的技术发展方 向是 不断扩展满足嵌入式应用时 对象系统要求的各种外围电路与接口电路 突显其对象的智能化控制能力 它所涉及的领域都与对象系统相关 因此 发展 MCU 的重任不可避免地落在电气 电子技术厂家 从这一角度来看 In tel 逐渐淡出 MCU 的发展也有其客观因素 在发展 MCU 方面 最著名的厂家 当数 Philips 公司 Philips 公司以其在嵌入式应用方面的巨大优势 将MCS 51 从单片微型 计算机迅速发展到微控制器 因此 当我们回顾嵌入式系统发展道路时 不要 忘记 Intel 和 Philips 的历史功绩 3 单片机是嵌入式系统的独立发展之路 向MCU 阶段发展的重要因素 就 是寻求应用系统在芯片上的最大化解决 因此 专用单片机的发展自然形成了 SoC 化趋势 随着微电子技术 IC 设计 EDA 工具的发展 基于 SoC 的单片 机应用系统设计会有较大的发展 因此 对单片机的理解可以从单片微型计算 机 单片微控制器延伸到单片应用系统 2 3 单片机的基本结构 单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上 构 成一台功能独特的单片机微型计算机 一台典型的单片机的基本组成结构如图 2 1 所示 其中中央处理器是通过内部总线与 ROM RAM I O 接口以及定时计数器相连 的 51 单片机实现 8 8 点阵 LED 字符显示 7 图 2 1 典型单片机的基本组成结构 2 4 AT89C52 单片机 2 4 1 AT89C52 简介 AT89C52 是 51 系列单片机的一个型号 它是 ATMEL 公司生产的 AT89C52 是一个低电压 高性能 CMOS 8 位单片机 片内含 8k bytes 的 可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准M CS 51 指令系统 片内置通用 8 位中央处理器和 Flash 存储单元 功能强大 的 AT89C52 单片机可为您提供许多较复杂系统控制应用场合 AT89C52 有 40 个引脚 32 个外部双向输入 输出 I O 端口 同时内含 2 个外中断口 3 个 16 位可编程定时计数器 2 个全双工串行通信口 2 个读 写口线 AT89C52 可以按照常规方法进行编程 也可以在线编程 其将通用的 微处理器和 Flash 存储器结合在一起 特别是可反复擦写的Flash 存储器可 有效地降低开发成本 主要功能特性 兼容 MCS51 指令系统 8k 可反复擦写 1000 次 Flash ROM 32 个双向 I O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 计数器中断 时钟频率 0 24MHz 1 个串行中断 可编程 UART 串行通道 2 个外部中断源 共 6 个中断源 2 个读写中断口线 3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 51 单片机实现 8 8 点阵 LED 字符显示 8 2 4 2 AT89C52 的引脚功能 A AT T8 89 9C C5 52 2 为 40 脚双列直插封装的 8 位通用微处理器 采用工业标准的 C51 内核 在内部功能及管脚排布上与通用的8xc52 相同 其管脚图如图 2 2 所示 图 2 2 89C52 的管脚图 主要引脚功能 1 电源和晶振 Vcc 运行和程序校验时加 5V Vss 接地 XTAL1 输入到振荡器的反相放大器 XTAL2 反相放大器的输出 输入到内部时钟发生器 用外部振荡器时 外接 12MHZ 晶振 2 I O 口 P0 P3 为可编程通用 I O 脚 其功能用途由软件定义 51 单片机实现 8 8 点阵 LED 字符显示 9 3 控制线 RST 复位输入信号 高电平有效 两个机器周期以上的高电平即可 EA Vpp 片外程序存储器访问允许信号 低电平有效 ALE PROG 地址锁存允许信号 输出 PSEN 片外程序存储器选通信号 低电平有效 3 8 8 点阵 LED 及 9012 的介绍 51 单片机实现 8 8 点阵 LED 字符显示 10 3 1 8 8 点阵 LED 工作原理 3 1 1 8 8 点阵 LED 外观及引脚图 下面图 3 1 为 8 8 点阵 LED 的外观及引脚图 图 3 1 8 8 点阵 LED 的外观及引脚图 3 1 2 8 8 点阵 LED 的工作原理 下图 3 2 为 8 8 点阵 LED 的等效电路图 如图所示只要其对应的 X Y 轴顺 向偏压 即可使 LED 发亮 例如如果想使左上角 LED 点亮 则 Y0 1 X0 0 即可 应用时限流电阻可以放在 X 轴或 Y 轴 51 单片机实现 8 8 点阵 LED 字符显示 11 图 3 2 8 8 点阵 LED 等效电路 3 1 3 8 8 点阵 LED 的扫描方法 点阵 LED 一般采用扫描式显示 实际运用分为三种方式 1 点扫描 2 行扫描 3 列扫描 若使用第一种方式 其扫描频率必须大于 16 64 1024Hz 周期小于 1ms 即 可 若使用第二和第三种方式 则频率必须大于 16 8 128Hz 周期小于 7 8ms 即可符合视觉暂留要求 此外一次驱动一列或一行 8 颗 LED 时需外加驱动电 路提高电流 否则 LED 亮度会不足 针对此点在本设计中我就用到了 PNP 型三极 管 9012 用它来驱动电路 接下来我就简单的介绍一下 9012 3 2 9012 的相关介绍 3 2 1 9012 的简介 三极管 9012 是一种低电压 大电流 小信号 小功率的普通 PNP 型硅管 TO 92 标准封装 三极管 9012 很常见 主要用于开关应用 射频放大 在收音机 以及各种放大电路中我们经常可以看到它 9012 的相关参数 集电极电流 Ic Max 500mA 工作温度 55 to 51 单片机实现 8 8 点阵 LED 字符显示 12 150 集电极 基极电压 Vcbo 40V 3 2 2 9012 的引脚图 如图 3 3 所示 emitter 是发射极 collector 是集电极 base 是基极 图 3 3 9012 三极管的引脚图 51 单片机实现 8 8 点阵 LED 字符显示 13 4 系统硬件电路的设计 4 1 电路总体设计 本字符显示器采用 AT89C52 单片机作为控制器 12MHz 晶振 8 8 点阵共阳 LED 显示器 其电路如图 4 1 所示 如图所示 该电路用到了 51 单片机 8 8 点 阵 LED 三极管 晶振 开关等电子元件 其中主要的元件我在前面几章已经做 过了详细的介绍 这里就不再具体说明只是针对此设计图做出说明 图 4 1 字符显示电路图 如图 4 1 所示 其中 P0 口作为字符数据输出口 P2 为字符显示扫描输出口 第 31 脚 EA 接电源 P1 0 P1 2 口分别接开关 K1 K2 K3 改变电阻 270 的大小可以改变显示字符的亮度 驱动用 9012 三极管 4 2 点阵电路的设计与连接 4 2 1 点阵电路的设计 本设计采用的是 8 8 点阵公阳 LED 显示器 它的内部是由 64 个发光二极管 排列组成的 共 8 行 8 列 点阵与单片机的硬件连接如图 4 2 所示 51 单片机实现 8 8 点阵 LED 字符显示 14 图 4 2 点阵的局部电路图 4 2 2 点阵与单片机的连接 如图 4 2 所示 点阵是通过单片机的串口 P0 P2 与单片机连接的 点阵有 对应于 8 行 8 列的 16 个引脚 其内部结构图如 4 3 a 所示 8 8 点阵 LED 显 示器的引脚与 P0 P2 口的连接图如图 4 3 b 所示 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 P0 0P0 1P0 2P0 3P0 4P0 5P0 6P0 7 图 4 3 a 内部结构图 箭头标志为内部二极管导通方向 51 单片机实现 8 8 点阵 LED 字符显示 15 P2 5 P2 7 P2 2 P0 3 P0 4 P0 5 P2 0 P2 4 P0 2 P0 0 P0 1 P2 6 P2 1 P0 6 P2 3 MLG 132088 P0 7 图 4 3 b 8 8 点阵 LED 显示器引脚图 51 单片机实现 8 8 点阵 LED 字符显示 16 5 系统主要程序的设计 5 1 主程序 主程序在刚上电时系统进行初始化 下文会具体介绍初始化程序 然后读 一次键开关状态 由键标志位值 00H 01H 02H 决定显示方式 主程序流程 图如图 5 1 所示 开始 调用键扫描子程序 KEYWORK Y 20H 0 1 转逐字显示程序 程序 FUN0 N Y 20H 1 1 转向上滚动显示 程序 FUN1 N Y 20H 2 1 转向左滚动显示 程序 FUN2 51 单片机实现 8 8 点阵 LED 字符显示 17 N 图 5 1 主程序流程图 5 2 初始化程序 在系统初始化时 对 CMS 的四的端口 P0 P3 进行复位 将 21H 24H 单元清 0 以便运行时将四个字符数据的最高位移入其中 此外还将显示用的字符数据 从 ROM 表中装入内存单元 50H 6FH 中 电子设计 中的每个文字占用 8 个地址 单元 初始化程序如下 CLEARMEN MOV A 0FFH 四端口置 1 MOV P1 A MOV P2 A MOV P3 A MOV P0 A MOV DPTR TAB 取 电子设计 字符表首址值 CLR A MOV 21H A 21H 24H 内存单元清 0 MOV 22H A MOV 23H A MOV 24H A MOV R3 A R3 寄存器清 0 MOV R1 50H 设字符表移入内存单元首址 MOV R2 20H 设查表次数 32 次 CLLOOP MOVC A A DPTR 查表将 电子设计 字符数据移入内存 单元 MOV R1 A 51 单片机实现 8 8 点阵 LED 字符显示 18 MOV A R3 INC A MOV R3 A INC R1 DJNZ R2 CLLOOP 查表 32 次 不到转 CLLOOP 再查 RET 子程序返回 5 3 键扫描子程序 在键扫描子程序中采用了延时消抖动的方法来准确的判断是否有按键按下及 是哪一个按键 经过 10ms 的延时再次判断按键有没有按下 从而能够准确的响 应操作达到理想的效果 另外键扫描子程序在显示中充当了延时程序 在显示程序中我给于具体的说 明 5 4 显示程序 显示程序由显示主程序和显示子程序组成 显示主程序负责每次显示时的显 示地址首址 在 B 寄存器中 每个字的显示时间 由 30H 中的数据决定 和下 一个显示地址的间隔 31H 中的数据决定 的处理 显示子程序则负责对指定 8 个地址单元的数据进行输出显示 显示一个完整文字的时间约为 8ms 在显示子 程序中 1ms 延时程序是用调用键扫描子程序的方法来实现的 图 5 2 为逐字显 示及向上滚动显示方式时的显示控制程序流程图 2 逐字或上移显示开始 设 1 帧显示时间 及换帧步距 寄存器 B R4 R5 赋初值 51 单片机实现 8 8 点阵 LED 字符显示 19 调显示子程序 DISPLAY N R4 1 0 Y Y B 68H 转 START1 N 显示首地址修改 B R5 B 图 5 2 逐字显示及向上产动显示时间的程序流程图 利用键扫描程序代替显示程序中的 1ms 延时程序 既为了按键的快速响应 又可以提高动态显示的扫描频率 减少文字显示的闪烁现象 对于多个文字的大 屏幕显示 应该使用输出数据缓冲寄存器 才可以得到稳定的显示文字 2 51 单片机实现 8 8 点阵 LED 字符显示 20 6 调试 6 1 硬件调试 完成电路的焊接以后 对照硬件电路图一步步检查连接是否正确 是否存在 有虚焊等焊接问题等等 坚持各个元器件的型号是否正确无误 电路中的电源 接地是否都连接上去了 是否正确 加电后检查各插件上引脚的电位 仔细测量各点电位是否正常 尤其应注意 单片机插座上的各点电位 若有高压 联机是将会损坏仿真器 6 2 软件调试 将源程序用伟幅进行编译调试 通过单拍 断点 跟踪 连续方式运行用户 程序 运行过程中 在屏幕上显示出 CPU 的基本状态 PC PSW SP ACC 以 及各种特殊功能寄存器 I O 口和工作寄存器的内容以及当前指令的汇编 并可 以输入各种读出 修改命令来读出或修改单片机内部 RAM SFR 和外部 RAM IO 的状态 使程序运行的结果显示在屏幕上 一切确认无误以后将其生成 HEX 文件 再烧录在 AT89C52 单片机芯片中等待使用 6 3 总调试 将烧录好的 51 芯片安装在电路扳上 将 8 8 点阵安装在底座上 电源调到 5V 后待用 把电源的正极接在电路的 5V 显示处 负极接在接地处等待它显示 初始状态显示出来后可以通过按钮来转换显示方式 把每一个方式都运行过确定 可以正常运行即可 51 单片机实现 8 8 点阵 LED 字符显示 21 结束语 通过这次设计我更好的学习了 51 单片机的使用方法 51 单片机的编程代码 等相关知识 知道了 8 8 点阵 LED 的连接和显示字符的方法 在这个设计中我能够很好的将单片机运用与点阵显示相结合 并达到了理想 的显示效果 提高我的制作信心和兴趣 为以后的工作做了良好的铺垫 致谢 在此主要感谢 宋复成老师在百忙之中抽出宝贵的时间来辅导我们 并且 在每星期都叫我们集合见面 了解我们的制作进度督促我们积极完成 讨论设 计中遇到的问题并帮我们解决问题 在他的帮助下我们都能及时有效的完成自 己的设计 51 单片机实现 8 8 点阵 LED 字符显示 22 附录 附录 1 元器清单 AT89C52 1 个 40 脚底座 1 个 8 8 点阵共阳 LED 显示器 1 个 90128 个 270 排阻 1 个 330 排阻 1 个 0 01uf 电容 1 个 10uf 电容 1 个 12MHZ 晶振 1 个 30pf 电容 2 个 复位按钮 3 个 附录 2 本显示器控制源程序 电子屏字符显示器 电子设计 2009 05 23 四个显示字符数据表放在 50H 6FH 单元内 字符用 8 8 点阵 R4 30H 用于 控制显示静止字的时间 R5 31H 静止字显示跳转地址步距 B 内放 显示首址 中断入口程序 51 单片机实现 8 8 点阵 LED 字符显示 23 ORG 0000H 程序执行开始地址 LJMP START 跳至 START 执行 ORG 0003H 外中断 0 中断入口地址 RETI 中断返回 不开中断 ORG 000BH 定时器 T0 中断入口地址 RETI 中断返回 不开中断 ORG 0013H 外中断 1 中断入口地址 RETI 中断返回 不开中断 ORG 001BH 定时器 T1 中断入口地址 RETI 中断返回 不开中断 ORG 0023H 串行口中断入口地址 RETI 中断返回 不开中断 ORG 002BH 定时器 T2 中断入口地址 RETI 中断返回 不开中断 初始化程序 CLEARMEN MOV A 0FFH 四端口置 1 MOV P1 A MOV P2 A MOV P3 A MOV P0 A MOV DPTR TAB 取 电子设计 字符表首址值 CLR A MOV 21H A 21H 24H 内存单元清 0 MOV 22H A MOV 23H A 51 单片机实现 8 8 点阵 LED 字符显示 24 MOV 24H A MOV R3 A R3 寄存器清 0 MOV R1 50H 设字符表移入内存单元首址 MOV R2 20H 设查表次数 32 次 CLLOOP MOVC A A DPTR 查表将 电子设计 字符数据移入内存 单元 MOV R1 A MOV A R3 INC A MOV R3 A INC R1 DJNZ R2 CLLOOP 查表 32 次 不到转 CLLOOP 再查 RET 子程序返回 主体程序 START MOV 20H 00H 20H 内存单元清 0 SETB 00H 20H 0 位置 1 START1 LCALL CLEARMEN 调用上电初始化子程序 JB 00H FUN0 20H 0 位为 1 执行 FUN0 JB 01H FUN1 20H 1 位为 1 执行 FUN1 JB 02H FUN2 20H 2 位为 1 执行 FUN2 AJMP START1 跳回 START1 循环 键扫描子程序 KEYWORK MOV P1 0FFH 置输入状态 51 单片机实现 8 8 点阵 LED 字符显示 25 JNB P1 0 KEY1 P1 0 为 0 键按下 转 KEY1 JNB P1 1 KEY2 P1 1 为 0 键按下 转 KEY2 JNB P1 2 KEY3 P1 2 为 0 键按下 转 KEY3 KEYRET RET 无键按下 子程序返回 按键 1 功能处理 KEY1 LCALL DL10MS 延时 10MS 削抖动 JB P1 0 KEYRET 是干扰转 KEYRET 结束 SETB 00H 置逐字显示方式标志 20H 0 1 CLR 01H CLR 02H RET 子程序返回 按键 2 功能处理 KEY2 LCALL DL10MS JB P1 1 KEYRET SETB 01H 置上移显示方式标志 20H 1 1 CLR 00H CLR 02H RET 按键 3 功能处理 KEY3 LCALL DL10MS JB P1 2 KEYRET SETB 02H 置左移显示方式标志 20H 2 1 CLR 01H CLR 00H RET 51 单片机实现 8 8 点阵 LED 字符显示 26 逐字显示功能程序 FUN0 MOV 30H 80H 1 帧显示时间控制 约 1 秒 MOV 31H 08H 换帧跳转步距为 8 LJMP DISP1 转显示子程序 DISP1 上移显示功能程序 FUN1 MOV 30H 0AH 1 帧显示时间控制 约 80 毫秒 MOV 31H 01H 换帧跳转步距为 1 LJMP DISP1 转显示子程序 DISP1 左移显示功能程序 FUN2 LJMP DISP2 显示控制程序 DISP1 MOV B 50H 显示数据首址 MOV R4 30H 放入 1 帧显示时间控制数据 MOV R5 31H 放入跳转步距控制数据 LOOP LCALL DISPLAY 调用显示子程序一次 DJNZ R4 LOOP 1 帧显示时间未到再转 LOOP 循环 MOV R4 30H 1 帧显示时间到 重装初值 MOV A B CJNE A 68H CONT 不是末地址转 CONT AJMP START1 是末地址 一次显示结束跳回 START1 CONT ADD A R5 次帧扫描首址调整 MOV B A AJMP LOOP 转 LOOP 进行次帧扫描 51 单片机实现 8 8 点阵 LED 字符显示 27 显示子程序 字符数据从 P0 口输出 扫描控制字从 P2 口输出 显示 1 帧约需 8MS DISPLAY MOV A 0FFH MOV P0 A 关显示数据 MOV P2 A 关扫描 MOV R6 0FEH 赋扫描字 MOV R0 B 赋显示数据首地址 MOV R7 08H 一次扫描 8 行 DISLOOP MOV A R0 取显示数据 MOV P0 A 放入 P0 口 MOV P2 R6 扫描输出 显示某一行 LCALL DL1MS 亮 1 毫秒 INC R0 指向下一行数据地址 MOV A R6 扫描字移入 A RL A 循环左移一位 MOV R6 A 放回 R6 DJNZ R7 DISLOOP 8 行扫描未完转 DISLOOP 继续 RET 8 行扫描结束 左移显示控制程序 DISP2 MOVR5 32 左移 32 次 DISP22 LCALL DISPP 调用左移显示控制子程序 LCALL MOVH 调用高位移出处理子程序 MOVH LCALL MOVH1 调用高位移出处理子程序 MOVH1 DJNZR5 DISP22 左移显示 32 次控制 LJMP START1 跳回主程序 左移显示控制子程序 DISPP MOV B 50H 第一显示字符首址 51 单片机实现 8 8 点阵 LED 字符显示 28 MOV R4 25H 1 帧显示时间控制 DISPP1 LCALL DISPLAY 调用显示子程序一次 DJNZ R4 DISPP1 1 帧显示时间不到转 DISPP 再循环 RET 高位移出处理子程序 将 电子设计 四个字符数据的最高位移出至 21H 24H 单 元内 MOVH MOV R1 21H 最高位移出存放单元首址 MOV R0 50H 电子设计 字符数据首址 MOV R2 08H 每 字 移 8 次 MOV1 MOV A R0 取 电子设计 字符数据 CLR C 清进位 C RLC A 带进位循左移 MOV R0 A 放回原单元 MOV A R1 存放单元数据入 A RRC A 带进位循右移 MOV R1 A 放回存放单元 INC R0 字符数据地址加 1 DJNZ R2 MOV1 移 8 次未完转 MOV1 再移 MOV R2 08H 8 次移完赋初值 INC R1 存放单元地址加 1 MOV A R1

温馨提示

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

最新文档

评论

0/150

提交评论