基于单片机8×8点阵控制系统设计_第1页
基于单片机8×8点阵控制系统设计_第2页
基于单片机8×8点阵控制系统设计_第3页
基于单片机8×8点阵控制系统设计_第4页
基于单片机8×8点阵控制系统设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1 烟 台 南 山 学 院 单片机课程设计单片机课程设计 题目 基于单片机 8 8 点阵控制系统设计 姓 名 所在学院 烟台南山学院 所学专业 电气工程及其自动化 班 级 电气工程 1006 学 号 指导教师 完成时间 2013 9 5 2 摘 要 本文研究了基于 AT89C51 单片机 LED8 8 点阵显示屏的设计并运用 Proteus 软件进 行原理图绘制 运用 Keil 软件进行仿真和调试 主要介绍了 LED 8 8 点显示屏的硬件电 路设计 汇编程序设计与调试 Proteus 软件绘制原理图和实物制作等方面的内容 本显 示屏的设计具有体积小 硬件少 电路结构简单及容易实现等优点 能帮助广大电子爱 好者了解汉字的点阵显示原理 认识单片机的基本结构 工作原理及应用方法 并提高 单片机知识技术的运用能力 利用单片机来设计的系统 既能实现系统所需的功能 也 可以满足计数的准确性 迅速性 并且电路简单 操作简单 通用性强 关键字 Keil 软件 LED8 8 点阵显示屏 Proteus 软件 AT89C51 单片机 3 目 录 1 绪论 1 2 总体设计方案 1 2 1 硬件电路组成及介绍 1 2 1 1 AT89C51 单片机 2 2 1 2 LED 显示屏 4 2 2 系统各单元电路设计 4 2 2 1 最小系统 4 2 2 2 驱动电路设计 6 2 2 3 上拉电阻 7 2 2 4 显示电路 7 2 2 5 时钟电路 8 2 3 字符的点阵显示原理及字库代码获取方法 9 3 程序设计 11 3 1 程序流程图 11 3 2 程序设计 11 4 调试及性能分析 15 4 1 系统调试 15 4 1 1 软件调试 15 4 1 2 硬件调试 15 4 2 性能分析 15 4 3 实物效果图 16 5 设计总结 17 心得体会 18 参考文献 19 附 录 20 附录 1 原件清单 20 附录 2 硬件原理图 20 1 1 绪论 LED 点阵显示屏是集微电子技术 计算机技术 信息处理技术于一体的大型显示屏 系统 它以其色彩鲜艳 动态范围广 亮度高 寿命长 工作稳定可靠等优点而成为众 多显示媒体以及户外作业显示的理想选择 同时也可广泛应用到军事 车站 宾馆 体 育 新闻 金融 证券 广告以及交通运输等许多行业 目前大多数的 LED 点阵显示系 统自带字库 其显示和动态效果 主要是显示内容的滚动 的实现主要依靠硬件扫描驱动 该方法虽然比较方便 但显示只能按照预先的设计进行 而实际上经常会遇到一些特殊 要求的动态显示 比如电梯运行中指示箭头的上下移动 某些智能仪表幅值的条形显示 广告中厂家的商标显示等 这时一般的显示系统就很难达到要求 另外 由于受到存储 器本身的局限 其特殊字符往往难以显示 同时显示内容也不能随意更改 因此就提 出了一种利用 PC 机和单片机控制的 LED 显示系统通信方法 该方法可以对显示内容进 行实时控制 从而实现诸如动态显示效果 同时用户也可以在 PC 机上进行显示效果的预 览 显示内容亦可以即时修改 同时它具有发光率高 使用寿命长 组态灵活 色彩丰 富以及对室内外环境适应能力强等优点 并广泛的用于公交汽车 商店 体育场馆 车 站 学校 银行 高速公路等公共场所的信息发布和广告宣传 LED 显示屏发展较快 本文讲述了基于 AT89C51 单片机 8 8 LED 汉字点阵滚动显示的基本原理 硬件组成与 设计 程序编写与调试 Proteus 软件仿真等基本环节和相关技术 LED 电子显示屏是随着计算机及相关的微电子 光电子技术的迅猛发展而形成的一 种新型信息显示媒体 它利用发光二极管构成的点阵模块或像素单元组成可变面积的显 示屏幕 以可靠性高 使用寿命长 环境适应能力强 性能价格比高 使用成本低等特 点 在短短的十来年中 迅速成长为平板显示的主流产品 在信息显示领域得到了广泛 的应用 LED 点阵电子显示屏是集微电子技术 计算机技术 信息处理技术于一体的大 型显示屏系统 它以其色彩鲜艳 动态范围广 亮度高 寿命长 工作稳定可靠等优点 而成 为众多显示媒体以及户外作业显示的理想选择 同时也可广泛应用到军事 车站 宾馆 体育 新闻 金融 证券 广告以及交通运输等许多行业 1 2 总体设计方案 2 1 硬件电路组成及介绍 本产品采用以AT89C51单片机为核心芯片的电路来实现 AT89C51是一种带4K字节 FLASH存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电 压 高性能CMOS 8位微处理器 俗称单片机 AT89C51是一种带2K字节闪存可编程可擦除 只读存储器的单片机 单片机的可擦除只读存储器可以反复擦除1000次 该器件采用 ATMEL高密度非易失存储器制造技术制造 与工业标准的MCS 51指令集和输出管脚相兼容 由于将多功能8位CPU和闪烁存储器组合在单个芯片中 ATMEL的AT89C51是一种高效微控 制器 AT89C51是它的一种精简版本 AT89C51单片机为很多嵌入式控制系统提供了一种 灵活性高且价廉的方案 我们把行列总线接在单片机的I O口 然后把上面分析到的扫描 代码送入总线 就可以得到显示的字符了 我们在实际应用中是将LED点阵的8条列线通 过驱动电路接在P1口 8条行线通过限流电阻接在P0口 单片机AT89C51按照设定的程序 在P1和P0接口输出与内部字符对应的代码电平送至LED点阵的行列线 高电平驱动 从而 选中相应的象素LED发光 并利用人眼的视觉暂留特性合成整个字符的显示 再改变取表 地址实现字符的滚动显示 LED 点阵总体框图如图 1 1 所示 点阵电路大体上可以分成微机本身的硬件 显示驱 动电路 控制信号电路三部分 控制电路部分包括一个 51CUP 和一些外围电路 在整个 电路当中此控制电路部分相当于一个上位机 它负责控制整个电路以及相应的程序的运 行 与 PC 机的串行通讯 以及给屏体电路部分发送命令 点阵显示屏体 以及它的行和 列的各个驱动电路 由于两部分的电路在制板时可以放到一起 所以可以将其字库放到 控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送 此显示电路采用扫描方式进行显示时 每行有一个行驱动器 各行的同名列共用一 个列驱动器 由行译码器给出的行选通信号 从第一行开始 按顺序依次对各行进行扫 描 把该行与电源的一端接通 另一方而 根据各列锁存的数据 确定相应的列驱动器是 否将该列与电源的另一端接通 接通的列 就在该行该列点燃相应的 LED 未接通的列 所对应的 LED 熄灭 可通过扫描输出口的控制实现颜色的转换 硬件电路组成框图如图1所示 2 图1 硬件电路组成框图 2 1 1 AT89C51 单片机 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案 图片见 如下 图 2 AT89C51 1 管脚说明 VCC 供电电压 GND 接地 3 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚 第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它可以被定义为 数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低电平 时 将输出电流 这是由于内部上拉的缘故 在 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 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下表所示 管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字节 4 在 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 来自反向振荡器的输出 2 1 2 LED 显示屏 本次设计中采用 8 8 点阵 LED 显示器 简称 LED 点阵板或 LED 矩阵板 它是以发 光二极管为像素 按照行与列的顺序排列起来 用集成工艺制成的显示器件 有单色和 双色之分 这种显示器有共阳极接法和共阴极接法两种 设计中用到的是共阳极的显示 器 LED 显示屏色彩丰富 3 基色的发光管的可以显示全彩色 显示显示方式变化多 文 字 图形 动画 视频 电视画面等 亮度高 是集光电子技术 微电子技术 计算 机技术 信息处理技术于一体的高技术产品 可用来显示文字 计算机屏幕同步的图形 其次 LED 显示屏的象素采用 LED 发光二极管 将多个发光二极管以序列的形式构成 LED 显示阵列 这种显示屏具有耗电省 成本低 亮度清晰度高 寿命长等优点 而且 LED 显示屏以其受空间限制较小 并可以根据用户要求设计屏的大小 具有全彩色效果 视角大 是信息传播设施划时代的产品 再次 LED 显示屏应用广泛 金融证券 银行 利率 商业广告 文化娱乐等方面 显示效果清晰稳定 越来越多的地方开始使用 LED 电子显示屏 有巨大的社会效益和经济效益 具有耗电少 使用寿命长 成本低 亮度 5 高 故障少视角大 可视距离远等特点 是目前国际上使用广泛的显示系统 2 2 系统各单元电路设计 2 2 1 最小系统 最小系统包括晶体振荡电路 复位开关和电源部分 如图 4 所示 图 4 AT89C51 单片机最小系统 复位电路 单片机在启动运行时需要复位 使 CPU 以及其他功能部件处于一个确定的初始状态 并从这个状态开始工作 另外 在单片机工作过程中 如果出现死机时 也必须对单片 机进行复位 使其重新开始工作 其电路图如图 5 图 5 电路的设计 电源电路 6 电源电路采用普通集成稳压电路 在本次设计中 由于考虑到成本问题 这 部分电路就以输出 5V 的稳压电源代替 晶体振荡电路 AT89C51 单片机芯片内部设有一个由反向放大器构成的振荡器 XTAL1 和 XTAL2 分别为振荡电路的的输入端和输出端 时钟可有内部或外部生成 在 XTAL1 和 XTAL2 引脚上外接定时元件 内部振荡电路就会产生自激振荡 系统采用的定时元件为石英晶 体和电容组成的并联谐振回路 晶振频率 fosc 采用 12MHZ C1 C2 的电容值取 30pF 电容的大小起频率微调的作用 2 2 2 驱动电路设计 正向点亮一颗 LED 至少也要 10 20mA 若电流不够大 则 LED 不够大 而不管 是 AT89C51 的 I O 口 还是 TTL CMOS 的输出端 其高态输出电流都不是很高 不过 1 2mA 而已 因此很难直接高态驱动 LED 这时候就需要额外的驱动电路 通常有共阳 型与共阴型 LED 阵列驱动电路 本设计才用共阴型高态扫描信号驱动电路 共阴型 LED 阵列驱动电路采用高态扫描 也就是任何时间只有一个高态信号 其它 则为低态 一行扫描完成后 再把高态信号转化到近邻的其他行 扫描信号接用一个反 向驱动器 AT89C51 本身内置一个反向驱动器 本设计将 AT89C51 作为点矩阵显示控制 系统的控制核心 通过点矩阵实时显示并移动字符 单片机的串口与行驱动器相连 用来发送显示数据信息 P0 口与 LED 阵列的行引脚 相连 送出数据 地址以及系统控制信号 输出低态时 最大可吸取 0 5A 即 500mA 若每个 LED 取 30mA 7 个 LED 同时点亮 需要 210mA 完全满足 LED 点亮的基本条 件 所要显示的信号各个经过一个限流电阻送入晶体管的基极 而每个 NPN 晶体管的的集极连接 VCC 射极输出经一个 100 的限流电阻连接到 LED 阵列的列阵脚 对于高态的显示信号 将可提供 其所连接 LED 的驱动电流 而这个驱动电流经过 LED 到输出端 形成正向回路 即可点亮该 LED 其中每个晶体管任何时间只需负责驱动一个 LED 所以选择 30mA 射极电流的晶体管 驱动电路如图 6 所示 7 A0 2 B0 18 A1 3 B1 17 A2 4 B2 16 A3 5 B3 15 A4 6 B4 14 A5 7 B5 13 A6 8 B6 12 A7 9 B7 11 CE 19 AB BA 1 U2 74LS245 图 6 驱动电路图 2 2 3 上拉电阻 从电源高电平引出的电阻接到输出端 如果电平用 OC 集电极开路 TTL 或 OD 漏 极开路 CMOS 输出 那么不用上拉电阻是不能工作的 管子没有电源就不能输出高电 平了 R2 10k R3 10k R4 10k R5 10k R6 10k R7 10k R8 10k 图7 上拉电阻 2 2 4 显示电路 本次设计中采用 8 8 点阵 LED 显示器 简称 LED 点阵板或 LED 矩阵板 它是以发光 二极管为像素 按照行与列的顺序排列起来 用集成工艺制成的显示器件 有单色和双 色之分 这种显示器有共阳极接法和共阴极接法两种 设计中用到的是共阳极的显示器 共阳极接法的原理图如图 6 所示 图中画出了 8 8 点阵的二极管 每一行发光二极管的 阳极接在一起 有一个引出端 r 每一列发光二极管的阴极接在一起 有一个引出端 c 当给发光二极管阳极引出端 r1 加高电平 阴极引出端 c1 加低电平时 左上角的二极管被 点亮因此 对于行和列的电平进行扫描控制时 可以达到显示不同字符的目的 8 图 8 显示器组成原理图 图 8 为 8 8 点阵 LED 外观及引脚图 只要其对应的 X Y 轴顺向偏压 即可使 LED 发亮 例如如果想使左上角 LED 点亮 则电子模块中的 0 口为 1 A 口为 0 即可 应用时限流电阻可以放在横轴或列轴 图 9 8 8 点阵 LED 外观及引脚 1 把 单片机系统 区域中的 P0 端口用 8 芯排芯连接到 点阵模块 区域中的 A H 端 口上 2 把 单片机系统 区域中的 P1 端口用 8 芯排芯连接到 点阵模块 区域中的 0 7 端口 上 为了方便于单片机连接 我们在焊接的过程中特意将 0 7 接口排列出来作为列 将 A H 接口作为行 这样我们就可以直接将 AT89C51 单片机的 P0 口与 0 7 接口一次连接 将 AT89C51 单片机的 P1 口与 A H 接口一次连接 要使 LED 发亮即使给予数字端高电平 字母端给予低电平 就能使二极管发亮 3 8 8点阵LED显示器与单片机的接口 9 8 8点阵LED的引脚图如图2 8所示 当采用单片机进行控制时 连接点阵显示器的共 阳r端与单片机的P2口相连 而共阴极c端需经限流电阻与单片机的P0口相连 在编程控制 时 将8 8点阵LED显示分成行和列两部分 字符数据从P0口输出 扫描控制字从P2 口输出每一列由一个字节的数据组成 数据可一次送入 然后扫描一行 显示一个字需 要扫描8次 2 2 5 时钟电路 单片机的时钟电路 AT89C51 单片机内部的振荡电路是一个高增益反向放大器 引线 X1 和 X2 分别是放大器的输入端和输出端 单片机内部虽然有振荡电路 但要形成时钟 外部还需附加电路 AT89C51 的时钟产生方式有两种 内部时钟电方式和外部钟方式 由于外部时钟方式用于多片单片机组成的系统中 所以此处选用内部时钟方式 内部时 钟方式 利用其内部的振荡电路在 X1 和 X2 引线上外接定时元件 内部振荡电路产生自 激振荡 最常用的是在 X1 和 X2 之间接晶体振荡器与电路构成稳定的自激振荡器 如图 4 所示电路所示为单片机最常用的时钟振荡电路的接法 其中晶振可选用振荡频率为 12MHz 的石英晶体 电容器一般选择 30PF 左右 2 3 字符的点阵显示原理及字库代码获取方法 我们以UCDOS中文宋体字库为例 每一个字由8行8列的点阵组成显示 我们可以把 每一个点理解为一个象素 而把每一个字的字形理解为一幅图像 事实上这个汉字屏不 仅可以显示汉字 也可以显示在64象素范围内的任何图形 如查用8位的AT89C51单片机 控制 如图所示 图10 8 8点阵等效电路 10 为了弄清楚汉字的点阵组成规律 首先通过列扫描方法获取汉字的代码 首先将8行 分成4位的上 下两部分 把发光的象素位编为0不发光的象素位为1的十六进制代码 这 样就把要显示的 2 字编为如下代码 0 x00 0 x1e 0 x30 0 x30 0 x1c 0 x06 0 x06 0 x3e 其仿真图11如下 图11 仿真图 由这个原理可以看出 无论显示何种字体或图像 都可以用这个方法来分析出他的 扫描代码从而显示在屏幕上 上述方法虽然能够让我们弄清楚字符点阵代码的获取过程 字符点阵显示一般有点扫描 行扫描和列扫描3种 为了符合视觉暂留要求 点扫描方法 的扫描频率必须大于16 64 1024 Hz 周期小于1 ms即可 行扫描和列扫描方法的扫描 频率必须大于16 8 128 Hz 周期小于7 8 ms即可 11 3 程序设计 3 1 程序流程图 图 12 主程序流程图 3 2 程序设计 Keil uVision3 介绍 C 语言是一种通用的计算机程序设计语言 在国际上十分流行 它既可用来编写计算 机的系统程序 也可用来编写一般的应用程序 5 C 语言既具有一般高级语言的特点 又能直接对计算机的硬件进行操作 表达和运算能力也较强 许多以前只能采用汇编语 言来解决的问题现在都可以改用 C 语言来解决 Keil C5l 是一种专为 8051 单片机设计的 高效率 C 语言编译器 符合 ANSI 标准 生成的程序代码运行速度极高 所需要的存储器 空间极小 完全可以和汇编语言相媲美 Keil 软件是目前最流行开发 MCS 51 系列单片 12 机的软件 Keil 提供了包括 C 编译器 宏汇编 连接器 库管理和一个功能强大的仿真 调试器等在内的完整开发方案 通过一个集成开发环境 uVision3 将这些部份组合在 一起 运行 Keil 软件需要 Pentium 或以上的 CPU 16MB 或更多 RAM 20M 以上空闲的硬 盘空间 WIN98 NT WIN2000 WINXP 等操作系统 掌握这一软件的使用对于使用 51 系 列单片机的爱好者来说是十分必要的 如果你使用 C 语言编程 那么 Keil 几乎就是你的 不二之选 目前在国内你只能买到该软件 而你买的仿真机也很可能只支持该软件 即 使不使用 C 语言而仅用汇编语言编程 其方便易用的集成环境 强大的软件仿真调试工 具也会令你事半功倍 PROTEUS 软件介绍 PROTEUS 嵌入式系统仿真与开发平台由美国 Labcenter Electronic 公司开发 授权风标科技公司为中国大陆的总代理 的 是目前 世界上最先进最完整的嵌入式系统设计与仿真平台 PROTEUS 可以实现数字电路 模拟电 路及微控制器系统与外设的混合电路系统的电路仿真 软件仿真 系统协同仿真和 PCB 设计等全部功能 PROTEUS 软件包在全球拥有庞大的企业用户群 是目前唯一能够对各 种处理器进行实时仿真 调试与测试的 EDA 工具 真正实现了在没有目标原形时就可对 系统进行调试 测试与验证 PROTEUS 软件包大大提高了企业的开发效率 降低了开发风 险 用 EDA 设计技术进行电路的设计与实现 EDA 技术的设计思路是 从元器件的选取到 连线 直到电路的调试 分析和软件的编译 都是在计算机中完成 所有的工作先在虚 拟环境下进行 采用 EDA 技术 在原理图设计阶段就可以对设计进行评估 验证所设计 电路是否达到设计要求的技术指标 还可以通过改变元器件参数使整个电路性能达到最 优化 这样就无须多次购买元器件及制板 节省了时间与经费 提高了设计效率与质量 PROTEUS 是一款新的 EDA 软件 该软件可以对模拟电路 数字电路 模数混合电路 单 片机及外围元器件进行系统仿真 并提供了简便易用的印刷电路板设计工具 PROTEUS 软件提供了三十多个元器件库 数千种元器件 元器件涉及电阻 电容 二极管 三极 管 MOS 管 变压器 继电器 各种放大器 各种激励源 各种微控制器 各种门电路和 各种终端等 在 PROTEUS 软件包中提供的仪表有交直流电压表 交直流电流表 逻辑分 析仪 定时 计时器和信号发生器等 而且 PROTEUS 还提供了一个图形显示功能 可以将 线路上变化的信号 以图形方式实时显示出来 其作用与示波器相似 PROTEUS 提供了丰 富的测试信号用于电路测试 这些测试信号包括模拟信号和数字信号 打开 keil 软件 编写程序如下 include REG51 H 13 void delay1ms 延时约 1ms 函数声明 void main unsigned char code led 0 x18 0 x24 0 x24 0 x24 0 x24 0 x24 0 x24 0 x18 0 0 x00 0 x18 0 x1c 0 x18 0 x18 0 x18 0 x18 0 x18 1 0 x00 0 x1e 0 x30 0 x30 0 x1c 0 x06 0 x06 0 x3e 2 0 x00 0 x1e 0 x30 0 x30 0 x1c 0 x30 0 x30 0 x1e 3 0 x00 0 x30 0 x38 0 x34 0 x32 0 x3e 0 x30 0 x30 4 0 x00 0 x1e 0 x02 0 x1e 0 x30 0 x30 0 x30 0 x1e 5 0 x00 0 x1c 0 x06 0 x1e 0 x36 0 x36 0 x36 0 x1c 6 0 x00 0 x3f 0 x30 0 x18 0 x18 0 x0c 0 x0c 0 x0c 7 0 x00 0 x1c 0 x36 0 x36 0 x1c 0 x36 0 x36 0 x1c 8 0 x00 0 x1c 0 x36 0 x36 0 x36 0 x3c 0 x30 0 x1c 9 unsigned char w unsigned int i j k m while 1 for k 0 k 10 k 字符个数控制变量 for m 0 m 400 m 每个字符扫描显示 400 次 控制每个字符显示时间 w 0 x01 行变量 w 指向第一行 j k 8 指向数组 led 的第 k 个字符第一个显示码下标 for i 0 i 8 i P1 w 行数据送 P1 口 P0 led j 列数据送 P0 口 delay1ms w 1 行变量左移指向下一行 j 指向数组中下一个显示码 14 函数名 delay1ms 函数功能 采用软件实现延时约 1ms 形式参数 无 返回值 无 void delay1ms unsigned char i for i 0 i 0 xf0 i 15 4 调试及性能分析 4 1 系统调试 4 1 1 软件调试 首先根据各单元电路模块 利用 Proteus 软件将总的硬件原理图绘制好 设计好各模 块要使用的 I O 口 如 8 8 点阵 LED 显示屏时候插反 先检测下 无硬件错误后 再 进行程序编程 利用 C 语言的编程方式 将系统要求的基本功能 以及创新功能根据程序流程图编 写出来 用 Keil 软件调试无误后 生成 Hex 文件 双击 Proteus 中的 AT89C51 芯片 将 Keil 生成的 Hex 加载到芯片内 进行仿真 经 调试后所编写的程序能够完美实现系统所需的各种功能 4 1 2 硬件调试 硬件调试主要是检测硬件电路是否有短路 断路 虚焊等 具体步骤及测试结果如 下 1 检查电源与地线是否全部连接上 用万用表对照电路原理图测试各导线是否完全 连接 对未连接的进行修复 2 参照原理图 检查各个器件之间的连接是否连接正确 是否存在虚焊 经测试 各连接不存在问题 3 以上两项检查并修复完后 给该硬件电路上电 电源指示灯点亮 4 将烧录好程序的最小单片机系统接入各模块后 各模块能过正常工作 如 数码 管正常发光 4 2 性能分析 将烧录好程序的最小单片机系统与各模块连好后 8 8 点阵 LED 显示屏显示初始值 经软件调试和硬件调试 所设计系统完美实现所需的控制要求和创新要求 此次系统设计结果较好 LED 显示屏能很好的显示信息 LED 显示屏由 4 块 8 8 的 LED 小模块 组成 整个显示屏可以显示 8 8 的 8051 字型 这个方案设计的 8 8 的点阵 LED 图文显示屏 电 路简单 成本较低 且较易扩展 显示屏各点亮度均匀 充足 显示图形或文字稳定 清晰无串扰 16 4 3 实物效果图 17 5 设计总结 本 LED 显示屏控制系统已能实现 LED 显示的基本功能 并且体现出了相对于传统的 基于 8 位 16 位普通单片机的显示系统的优越性 但由于本组成员水平和设计时间有限 离 一个完全

温馨提示

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

评论

0/150

提交评论