




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的单色 LED 的点阵控制程序 LED 显示系统研究 学 生 指导老师 摘 要 LED 电子显示屏是利用发光二极管点阵模块或像素单元组成 的平面式显示屏幕 他具有发光效率高 使用寿命长 组 态灵活 色彩丰富以及对室内外环境适应能力强等优点 并广泛用于公交汽车 码头 商店 学校和银行等公共场 合用于信息的发布和广告宣传 自 20 世纪八十年代开始 LED 电子显示屏的应用领域已经遍布了交通 电信 教育 广告宣传等各方面 LED 电子显示屏发展较快 其无论在成 本和产生的社会效益等方面都有其独特的优势 文章介绍了基于单片机STC89C51的16 16点阵LED电子显示 屏的设计 分别阐述了显示屏显示的基本原理 硬件设计 控制方法及其程序的实现 经过调试和分析 设计的结果 能够实现对汉字的静态和动态显示 动态显示的内容有多 种方式 同时又可通过上位机更新显示的内容 关键词 STC89C51 16 16 点阵 LED 74LS154 74LS595 Microcontroller based monochrome dot matrix LED control program LED Display System Student Chan Wing Instructor Li Xiuzhi Abstract LED electronic display module is the use of light emitting diode dot or pixel unit consisting of flat display screens He has a high luminous efficiency long life flexible configuration rich colors and strong ability to adapt to indoor and outdoor environmental advantages And is widely used in public transport vehicles terminals shops schools and banks and other public places for publishing and advertising information Since the beginning of the 1980s LED electronic display applications have been all over the transport telecommunications education advertising and other areas The rapid development of LED electronic display which in terms of cost and social aspects such as generation has its own unique advantages This paper introduces the 1616 based microcontroller STC89C51 dot matrix LED electronic display design The basic principles were displayed on the screen hardware design control method and its implementation program After debugging and analysis the results of the design can be achieved for both static and dynamic display of Chinese characters the contents of the dynamic display of a variety of ways but the content can be updated through the PC display Keywords STC89C51 16 16 dot matrix LED 74LS154 74LS595 目目录录 第一章绪论第一章绪论 5 1 1 论文的背景和意义 5 1 2 LED 显示对于未来的意义和发展 5 1 3 LED 显示的组成 6 2 系统方案论证系统方案论证 7 2 1 LED 驱动显示方案 7 2 2 数据传输的显示方案 8 2 3 系统整体方案框图 9 3 系统硬件电路设计系统硬件电路设计 9 3 1 单片机系统及其外围电路 9 3 2 行驱动电路 9 3 3 列驱动电路 9 3 4 74LS154 芯片介绍 10 3 5 74LS595 芯片介绍 11 3 6 单片机 STC89C51 介绍 12 3 7 单片机 STC89C51 引脚以及相关参数 13 4 系统软件设计系统软件设计 13 4 1 系统软件的意义 13 4 2 显示驱动程序 13 4 3 系统主程序 14 4 4 原理图设计 15 4 4 1应用软件介绍 15 4 4 2电路的原理图 18 4 4 3 PCB图 18 4 4 4 PCB三维显示图 19 4 4 5汉字字库提取程序 20 5 调试及性能分析调试及性能分析 20 5 1 硬件调试 20 5 2 软件调试 21 5 3 制作显示 22 附录附录 A 22 附录附录 B 29 致谢 致谢 30 结论 结论 31 参考文献参考文献 32 第一章绪论第一章绪论 1 1 论文的背景和意义论文的背景和意义 点阵 LED 显示器是把一些 LED 组合在同一个包装中 常见的规格有 5 7 8 8 16 16 等几种 通常 若要显示阿拉伯数字 英文字母 特殊符 号等 则可 采用 5 7 的点阵即可够用 若要显示中文字 则需要 4 片 8 8 的点阵组成 16 16 的点阵显示器才能显示一个中文字 LED 电子显示屏是利 用发光二极管点阵模块或像素单元组成的平面式显示屏幕 它是集微电子技术 光电子学技术 计算机技术 信息处理技术于一体的显示系统 是目前国际上 极为先进的显示媒体 由于它具有发光效率高 使用寿命长 组态灵活 色彩 丰富 工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒 体中的佼佼者 在我国改革开放之后 特别是进入 90 年代国民经济高速增长 对公众场合发布信息的需求日益强烈 LED 显示屏的出现正好适应了这一市场 形势 因而在 LED 显示屏的设计制造技术与应用水平上都得到了迅速的提高 生产也得到了迅速 的发展 并逐步形成产业 成为光电子行业的新兴产业领域 LED 显示屏经历 了从单色 双色图文显示屏 到图像显示屏的发展过程 随着信息产业的高速 发展 LED 显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪 亮标志 近年 LED 显示屏已广泛应用于室内 外需要进行服务内容和服务宗旨 宣传的公众场所如银行 营业部 车站 机场 港口 体育场馆等信息的发布 政府机关政策 政令 各类市场行情信息的发部和宣传等 汉字显示方式是先 根据所需要的汉字提取汉字点阵 将点阵文件存入 ROM 形成新的汉字编码 而在使用时则需要先根据新的汉字编码组成语言 再由 MCU 根据新编码提取相 应的点阵进行汉字显示 LED 的发展前景极为广阔 目前正朝着更高亮度 更 高耐气候性 更高的发光密度 更高的发光均匀性 可靠性 全色化方向发展 1 2 LED 显示对于未来的意义和发展显示对于未来的意义和发展 我国 LED 显示屏行业的主要产品不仅在国内占有绝对的市场 同时在全球市场 也占据了一定的份额 形成了稳定的出口 产品质量和可靠性总体上有了显著 的提升 国内 LED 显示屏应用企业在重大项目和重点工程建设中表现出色 在 国际市场竞争 大型显示系统工程承接实施等方面的能力显著提高 LED 显示屏应用行业总体技术水平基本与国际同步发展 近两年创新产品不断 问世 行业内技术创新活跃 产品技术开发能力不断加强 满足特殊应用需求 的技术开发 技术支持和技术保证能力得到增强 重点技术和主流产品发展比 较成熟 LED 产业链上下游之间实现良性互动 新产品 新技术推广应用迅速 基于 LED 芯片材料 驱动 IC 控制等技术的发展 行业内许多企业在 LED 综合应用 半 导体照明 灯饰亮化工程等方面形成了一定的技术基础和生产工程基础 在传 统 LED 大屏幕显示技术和产品的基础上 LED 显示屏产品在行业市场中的份额 逐年增加 1 3 LED 显示的组成显示的组成 LED 显示屏通常由若干 LED 点阵显示模块组成 用于显示的 8x8 单色 LED 显示点阵模块 每块有 64 个 LED 为了减少引脚且便于封装 LED 显示点 阵模块采用阵列形式排布 即在行列线的交点处接有显示 LED 8X8 LED 点阵 的外观及引脚如图 1 等效电路图如图 2 所示 LED 点阵显示模块的显示一般采 用动态扫描驱动方式 每次最多只能点亮一行 LED 微处理器通过和驱动器的 协同工作来完成对每一个 LED 点阵显示模块内每个 LED 显示点的亮 熄灭控制 操作 1 1 1 2 LED 显示屏主要包括发光二极管构成的点阵或像素阵列 驱动电路 控制系统 和传输接口以及相应的应用软件构成 如下图所示 1 3 2 系统方案论证系统方案论证 2 1 LED 驱动显示方案驱动显示方案 大屏幕显示广泛应用于各个领域 动态大屏幕显示系统显示的文字 数字 图形等生动逼真 立体感强 用单片机驱动 LED 点阵有很多方法 按显示方式 分 有静态显示和动态 扫描 显示 按译码方式可分硬件译码和软件译码之 分 静态显示就是显示驱动电路具有输出锁存功能 单片机将所要显示的数据 送出后就不再管 直到下一次显示数据需要更新时再传送一次新数据 显示数 据稳定 占用很少的 CPU 时间 动态显示需要 CPU 时刻对显示器件进行数据刷 新 显示数据有闪烁感 占用的 CPU 时间多 这两种显示方式各有利弊 静态 显示虽然数据稳定 占用很少的 CPU 时间 但每个显示单元都需要单独的显示 驱动电路 使用的硬件较多 动态显示虽然有闪烁感 占用的 CPU 时间多 但 使用的硬件少 能节省线路板空间 如果用静态显示的方法 1616 的点阵共有 256 个发光二极管 单片机 没有那么多的端口 如果用锁存器来扩展端口 按 8 位锁存器来计算 也需要 32 个锁存器 两位显示就需要 64 个锁存器 因此在实际应用中的显示屏几乎 都不采用静态显示 而是采用动态扫描的显示方法 2 2 数据传输的显示方案数据传输的显示方案 采用扫描方式进行显示时 每行一个行驱动器 各行的同名列共用一个列 驱动器 显示数据通常存储在单片机的存储器中 按 8 位一个字节的形式顺序 排放 显示时要把一行中各列的数据都传送到相应的列驱动器上 这就存在着一个显 示数据传输的问题 从控制电路到列驱动器的数据传输可以采用并行方式或串 行方式 显然 采用并行方式时 从控制电路到列驱动器的线路数量大 相应 的硬件数目多 当列数很多时 并行传输的方案不可取 采用串行传输的方法 控制电路可以只用一根信号线 将列数据一位一位 传往列驱动器 在硬件方面比较经济 但是 串行传输过程较长 数据按顺序 一位一位地输出给列驱动器 只有当一行的各列数据都已传输到位后 这一行 的各列才能并行地进行显示 这样 对于一行的显示过程就可以分解为列数据 传输和列数据显示两个部分 解决串行传输中列数据传输和列数据显示的时间矛盾问题 可以采用重叠 处理的方法 即在显示本行各列数据的同时 传送下一行的列数据 为了达到 重叠处理的目的 列数据的显示就需要具有锁存的功能 经过上述分析 归纳 出列驱动器电路应具备的主要功能 对于列数据段传输来说 应能实现串入并 出的移位功能 对于列数据显示来说 应具有并行锁存的功能 综上所述 此次设计采用动态扫描方式驱动 LED 显示 采用串入并出的方 法实现数据传输和采用并行锁存的方法实现数据显示 2 3 系统整体方案框图系统整体方案框图 2 1 3 系统硬件电路设计系统硬件电路设计 3 1 单片机系统及其外围电路单片机系统及其外围电路 本次设计采用单片机 STC89C51 使用 11 0592MHZ 的晶振 单片机的串口与 列驱动器相连 用来送显示数据 P1 口低 4 位与行驱动器相连 送出行选信号 P1 5 P1 7 口则用来送控制信号 3 2 行驱动电路行驱动电路 单片机 P1 口低 4 位输出的行号经 4 16 线译码器 74LS154 译码后生成 16 条行 选通信号线 再经过驱动器驱动对应的行线当选通端 G1 G2 均为低电平时 可将地址端 ABCD 的二进制编码在一个对应的输出端 以低电平译出 若将 G1 和 G2 中的一个作为数据输入端 由 ABCD 对输出寻址 54 74154 还可作 1 线 16 线数据分配器 一条行线上要带动 16 列的 LED 进行显示 按每一 LED 器件 20mA 电流计算 32 个 LED 同时发光时 需要 640mA 电流 选用三极管 8550 作为驱动管可满足要求 3 3 列驱动电路列驱动电路 列驱动器由集成电路 74HC595 构成 它具有一个 8 位串入并出的移位寄存 器和一个 8 位输出锁存器的结构 而且移位寄存器和输出锁存器的控制是各自 独立的 可以实现在显示本行各列数据的同时 传送下一行的列数据 即达到 重叠处理的目的 引脚 SI 为串行数据输入端 与单片机串口 RXD P3 0 相连 用来传送数 据 引脚 SCK 为移位寄存器的移位时钟脉冲 与单片机串口 TXD P3 1 相连 引脚 SCLR 信号是移位寄存器的清 0 输入端 低电平有效 接与单片机 P1 5 口 RCLK 是输出寄存器的打入信号 与单片机 P1 6 口相接 3 4 74LS154 芯片介绍芯片介绍 74HC154 是一款高速 CMOS 器件 74HC154 引脚兼容低功耗肖特基 TTL LSTTL 系列 74HC154 译码器可接受 4 位高有效二进制地址输入 并提 供 16 个互斥的低有效输出 74HC154 的两个输入使能门电路可用于译码器选通 以消除输出端上的通常译码 假信号 也可用 于译码器扩展 该使能门电路包含两个 逻辑与 输入 必须置为低以便使能 输出端 任选 一个使能输入端作为数据输入 74HC154 可充当一个 1 16 的多路分配器 当其 余的使能输入端置低时 地址输出将会跟随应用的状态 74LS154 为 4 线 16 线译码器 其管脚图如下图所示 3 1 引脚 A B C D 为译码地址输入端 低电平有效 G1 G2 为选通端 低电平有效 0 15 为输出端 低电平有效 其功能表如下图所示 3 2 3 5 74LS595 芯片介绍芯片介绍 74LS595 是一个 8 位串行输入并行输出的移位寄存器和一个 8 位输出锁存器的 结构 74HC595 的内部结构如图 1 6 它的输入端有 8 个串行移位寄存器 每个 移位寄存器的输出都连接一个输出锁存器 引脚 SER 是串行数据的输入端 引 脚 SRCLK 是移位寄存器是移位时钟脉冲 在其上升沿发生移位 并将 SER 的下 一个数据打入最低位 移位后的各路信号出现在各移位寄存器的输出端 RCLK 是输出锁存器的打入信号 其上升沿将移位寄存器的输出打入输出锁存器 引 脚 E 是输出三态门的开放信号 只要当其为低时锁存器的输出才开放 否则为 高阻态 SRCLK 是寄存器的清零输入端 当其为低电平时输出全部为零 由于 SRCLK 和 RCLK 两个信号是互相独立的 所以能够作到输入串行移位与输出锁存 互不干扰 芯片的输出端为 Q0 Q7 最高位 Q7 可以做为多片 74LS595 级联 应用向下级的芯片输入 但因 Q7 受输出锁存器打控制 所以还从输出锁存器前 引出了 QT作为级联输出 3 3 3 6 单片机单片机 STC89C51 介绍介绍 STC89C51 单片机学习板是一款基于 8 位单片机处理芯片 STC89C52RC 的系 统 其功能强大 可以实现单片机开发的多种要求 学习 开发者可以根据需 要选配多种常用模块 达到实验及教学的目的 89C51 单片机学习板功能强大 具有报警 跑马灯 串行通信 max232 段码液晶 msm0801LCD 和字符液晶显示 LCD1602 电机控制 L298 A D 转 换 TLC2543 D A 转换 TLC5615 温度采集 DS18B20 数字信号合成 AD9851 实时时钟电路 DS1302 4 20mA 输出 PWM 输出 UC3842 红外 检测 KSM 603LM 控制等十七种功能 供学习者学习开发使用 89C51 III 单 片机学习板采用的芯片都是常用芯片 使学习者对常用电子产品进一步学习理 解 3 7 单片机单片机 STC89C51 引脚以及相关参数引脚以及相关参数 主要性能 与 MCS 51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作 0Hz 33Hz 三级加密程序存储器 32 个可编程 I O 口线 三个 16 位定时器 计数器八个中断源 全双工 UART 串行通道 低 功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉 电标识符 功能特性描述 STC89C52 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可编 程 Flash 存储器 使用高密度非易失性存储器技术制造 与工业 80C51 产品指 令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于常规编 程器 在单芯片上 拥有灵巧的 8 位 CPU 和在线系统可编程 Flash 使得 STC89C52 为众多嵌入式控制应用系统提供高灵活 超有效的解决方案 STC89C52 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口 线 看门狗定时器 2 个数据指针 三个 16 位 定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 STC89C52 可降至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工 作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬件复 位为止 8 位微控制器 8K 字节在系统可编程 Flash P0 口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱 动 8 个 TTL 逻辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 当访问外部程序和数据存储器时 P0 口也被作为低 8 位地址 数据复用 在这种模式下 P0 具有内部上拉电阻 4 系统软件设计系统软件设计 4 1 系统软件的意义系统软件的意义 显示屏软件的主要功能是向屏体提供显示数据 并产生各种控制信号 使 屏幕按设计的要求显示 根据软件分层次设计的原理 可把显示屏的软件系统 分成两大层 第一层是底层的显示驱动程序 第二层是上层的系统应用程序 显示驱动程序负责向屏体送显示数据 并负责产生行扫描信号和其它控制信号 配合完成 LED 显示屏的扫描显示工作 显示驱动程序由定时器 T0 中断程序实现 系统应用程序完成系统环境的设置 显示效果处理等工作 由主程序来实现 4 2 显示驱动程序显示驱动程序 显示驱动程序在进入中断后首先要对定时器 T0 重新赋初值 以保证显示屏 刷新率的稳定 然后显示驱动程序查询当前燃亮的行号 从显示缓寸区内读取 下一行的显示数据 并通过串口发送给移位寄存器 为消除在切换行显示数据 的时候产生的拖尾现象 驱动程序先要关闭显示屏 等显示数据打入输出锁存 器并锁存 然后再输出新的行号 重新打开显示 下图是显示驱动程序的流程图 进去中断 定时器赋初值 读取行号并增 1 送新行显示数据 消隐 切换显示数据 送新行号 打开显 示 退出中断 4 3 系统主程序系统主程序 系统主程序开始以后 首先是对系统环境初始化 包括设置串口 定时器 中断和端口以及显示效果 如 左移 右移等 系统主程序的流程图如下图所 示 开始 系统初始化 左移显示效果 两边对移显示效果 上移显示效果 4 4 原理图设计原理图设计 4 4 1 应用软件介绍应用软件介绍 ProtelProtel DXP2004DXP2004 Altium 公司作为 EDA 领域里的一个领先公司 在原来 Protel 99SE 的基础上 应用最先进的软件设计方法 率先推出了一款基于 Windows2000 和 Windows XP 操作系统的 EDA 设计软件 Protel DXP Protel DXP 在前版本的基础上增加了许 多新的功能 新的可定制设计环境功能包括双显示器支持 可固定 浮动以及 弹出面板 强大的过滤和对象定位功能及增强的用户界面等 Protel DXP 是第 一个将所有设计工具集于一身的板级设计系统 电子设计者从最初的项目模块 规划到最终形成生产数据都可以按照自己的设计方式实现 Protel DXP 运行在 优化的设计浏览器平台上 并且具备当今所有先进的设计特点 能够处理各种 复杂的 PCB 设计过程 通过设计输入仿真 PCB 绘制编辑 拓扑自动布线 信 号完整性分析和设计输出等技术融合 Protel DXP 提供了全面的设计解决方案 Protel DXP2004 是 Altium 公司于 2004 年推出的最新版本的电路设计软件 该软件能实现从概念设计 顶层设计直到输出生产数据以及这之间的所有分析 验证和设计数据的管理 当前比较流行的 Protel 98 Protel 99 SE 就是它 的前期版本 Protel DXP 2004 已不是单纯的 PCB 印制电路板 设计工具 而是由多个模块组成的系统工具 分别是 SCH 原理图 设计 SCH 原理图 仿真 PCB 印制电路板 设计 Auto Router 自动布线器 和 FPGA 设计等 覆盖了以 PCB 为核心的整个物理设计 该软件将项目管理方式 原理图和 PCB 图的双向同步技术 多通道设计 拓朴自动布线以及电路仿真等技术结合在一 起 为电路设计提供了强大的支持 与较早的版本 Protel99 相比 Protel DXP 2004 不仅在外观上显得更加豪华 人性化 而且极大地强化了电 路设计的同步化 同时整合了 VHDL 和 FPGA 设计系统 其功能大大加强了 Protel DXP 2004 新特点 1 整合式的元件与元件库 在 Protel DXP 2004 中采用整合式的元件 在一个 元件里连结了元件符号 Symbol 元件包装 Footprint SPICE 元件模型 电 路仿真所使用的 SI 元件模型 电路板信号分析所使用的 2 版本控制 可直接由 Protel 设计管理器转换到其他设计系统 这样设计者 可方便地将 Protel DXP 2004 中的设计与其他软件共享 如可以输入和输出 DXP DWG 格式文件 实现和 Auto CAD 等软件的数据交换 也可以输出格式为 Hyperlynx 的文件 用于板级信号仿真 3 多重组态的设计 Protel DXP 2004 支持单一设计多重组态 对于同一个设计 文件可指定要使用其中的某些元件或不使用其中的某些元件 然后产生网络表 等文件 4 重复式设计 Protel DXP 2004 提供重复式设计 类似重复层次式电路设 计 只要设计其中一部分电路图 即可以多次使用该电路图 就象有很多相同 电路图一样 这项功能也支持电路板设计 包括由电路板反标注到电路图 5 新的文件管理模式 Protel DXP 2004 提供三种文件管理模式 可将各文 件存入入单一数据库文件 即 Protel 99SE 的 ddb 也可以存为 Windows 文件 即一般的分离文件 而不需要数据库管理系统 ODBC 就可以存取该文件 此 外新增了一个混合模式 也就是在数据库外存为独立的 Windows 文件 6 多屏幕显示模式 对于同一个文件 设计者可打开多个窗口在不同的屏幕 上显示 7 设计整合 Protel DXP 2004 强化了 Schematic 和 PCB 板的双向同步设计 功能 8 超强的比较功能 Protel DXP 2004 新增了超强的比较功能 能对两个相 同格式的文件进行比较 以得到其版本的差异性 也可以对不同格式的文件进 行比较 例如电路板文件与网络报表文件等 9 强化的变更设计功能 在 Protel DXP 2004 中 进行比较后 所产生的报 表文件可作为变更设计的依据 让设计完全同步 10 可定义电路板设计规则 在原理图设计时 定义电路板设计规则是非常实 际的 虽在先前版本的 Schematic 中就已提供定义电路板的功能 可是都没有 实际的作用 而在 Protel DXP 中落实了这项功能 让用户能在画电路图时就定 义设计规则 11 强化设计验证 在 Protel DXP 2004 中强化了设计验证的功能 让电路图与 电路板之间的转换更准确 同时对交互参考的操作也更容易 12 设计者可定义元件与参数 Protel DXP 2004 提供了无限制的设计者定义元 件及元件引脚参数 所定义的参数能存入元件及原理图里 13 尺寸线工具 Protel DXP 2004 提供了一组超强的画尺寸线工具 在移动 时会自动修正尺寸 这对于 PCB 中一些层的定义有很大的帮助 14 改善加强板层分割功能 Protel DXP 2004 提供了加强的板层分割功能 对于板层的分割自动以不同颜色来表示 让设计者更容易辨别与管理 15 加强焊点堆栈的定义 Protel DXP 2004 板增强了焊点堆栈的定义与管理 设计者可以存储所定义的焊点堆栈以供日后再使用 16 改良焊点连接线 Protel DXP 2004 提供自动修剪焊点连接线的功能 使 自动布线后焊点连接更恰当 17 波形资料的输出与输入 在 Protel DXP 2004 中可将仿真波形上各种资料 输出为电子表格格式 以供其他程序的使用 也可以输入其他程序所产生的波 形资料 18 加强绘图功能 Protel DXP 2004 增强了波形窗口的绘图功能 例如放置 标题栏 标记画线等 同时 Windows 的编辑功能在此也可以应用 19 不同波形的重叠 设计者可以将不同的波形放置在一起 也可以同时使用 多个不同的 Y 轴坐标 20 直接在电路板里分析 设计者可以直接在 PCB 编辑器里进行信号分析 这 样信号分析更加方便 21 强化模型整合 在 Protel DXP 2004 中提供了高速整合的元件 元件包括 信号分析的模型 SI Model 设计者不必再为元件问题而烦恼 ProteusProteus Proteus 是英国 Labcenter 公司开发的电路分析与实物仿真软件 它运行于 Windows 操作系统上 可以仿真 分析 SPICE 各种模拟器件和集成电路 该软 件的特点是 1 实现了单片机仿真和 SPICE 电路仿真相结合 具有模拟电路 仿真 数字电路仿真 单片机及其外围电路组成的系统的仿真 RS232 动态仿 真 I2C 调试器 SPI 调试器 键盘和 LCD 系统仿真的功能 有各种虚拟仪器 如示波器 逻辑分析仪 信号发生器等 2 支持主流单片机系统的仿真 目 前支持的单片机类型有 ARM7 LPC21xx 8051 52 系列 AVR 系列 PIC10 12 16 18 系列 HC11 系列以及多种外围芯片 3 提供软件调试功能 在硬件仿真系统中具有全速 单步 设置断点等调试功能 同时可以观察各个 变量 寄存器等的当前状态 因此在该软件仿真系统中 也必须具有这些功能 同时支持第三方的软件编译和调试环境 如 Keil C51 uVision2 MPLAB 等软件 4 具有强大的原理图绘制功能 总之 该软件是一款集单片机和 SPICE 分析 于一身的仿真软件 功能极其强大 在完成电路的软件部分编程并设计好硬件 电路连接以后 用该软件进行仿真 达到预期效果 KeilKeil C51C51 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统 毕设中用来完成程序的编写 4 4 2 电路的原理图电路的原理图 4 1 4 4 3 PCB 图图 4 2 4 4 4 PCB 三维显示图 三维显示图 4 3 4 4 4 4 5汉字字库提取程序 汉字字库提取程序是一款 16 16 的汉字字库提取工具 用户可以通过这个程序 方便地把汉字转换成适合 LED 点阵显示的十六进制数 汉字字库提取程序是一 个编写液晶显示汉字的好帮手 4 5 5 调试及性能分析调试及性能分析 5 1 硬件调试硬件调试 首先检查各个焊接点的焊接是否焊接正确 看是否有短路和断路 看各 条线连接是否确 对照原理图逐条线逐个点的检查 然后检查芯片的没个引 脚的功能 看其是否有实现 一部分一部分的检查 直至检查出错误或保证 电路完全正确 在本次设计中由于连线过多加至板面有限 布线时线布的过 于密 因此要防止相邻的两条线之间短路 所以要一条线一条线的检查 把 短路的给分离开 把断路的给补上 硬件调试时首先要检查晶振是否会正常 起振 既看 AT89S52 的 18 脚是否有约 12MHZ 的频率 看 30 是否有 1 6 的晶 振频率 然后再检查 74LS154 的使能端是否正常工作 再看 74LS595 的 SER 端是否有脉冲并检查其它引脚的脉冲和时序是否都正常工作 最后再检查 LED 灯的各行和各列是否都连接正确 各部分都调试正常之后就可以进行软件调 试了 5 2 软件调试软件调试 软件部分需要调试的分需要调试的主要有显示屏的刷新率及显示效果部分 显示屏的刷新率由定时器 T0 的溢出率和单片机的晶振频率决定 显示驱动 程序在进入中断后首先要对定时器 T0 重新赋初值 以保证显示屏的刷新率的 稳定 定时器 T0 设定为工作方式 1 即 16 位定时器模式 晶振频率 f 为 11 0592MHZ 通过计算得定时器 T0 的初值 TH0 0XFCH TL0 0X18H 显示效果处理程序的内容及方法非常广泛 本次采用的是左移 两边对移 和上移 调试时要编一些检查 LED 灯是否完好 是否连接正确的小程序 看控制的 端口的控制命令是否正确 显示的字是否亮度均匀 充足 显示的文字是否稳 定 清晰无串绕 我在做本次设计中 主要是硬件调试 在程序调试时观察字 左移显示是否完全显示完 还在字段间加空格使得显示更加美观 另外显示 的延时也要取得恰当 5 3 制作显示制作显示 5 1 附录附录 A include include define DATAOUT P2 P2 use as data you can change define SPEED 13 void ymove char dir unsigned char ptr char speed void xmove char dir unsigned char ptr char n char speed void delay unsigned int a void display void displaytime char time void init164 sbit ADATA DATAOUT 0 sbit ASCK DATAOUT 1 sbit LATCH DATAOUT 2 sbit BDATA DATAOUT 3 sbit BCLK DATAOUT 4 code unsigned char xin 32 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 0 x0E 0 x38 心 0 x1F 0 x7C 0 x3F 0 xFE 0 x3F 0 xFE 0 x3F 0 xFE 0 x1F 0 xFC 0 x0F 0 xF8 0 x07 0 xF0 0 x03 0 xE0 0 x01 0 xC0 0 x00 0 x80 0 x00 0 x00 0 x00 0 x00 code unsigned char xin 32 0 x00 0 x00 0 x00 0 x00 0 x00 0 x10 0 x3F 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 x00 0 x00 0 x00 0 x00 0 x04 0 xFF 0 xFE 0 x00 0 x00 0 x00 0 x00 0 x00 0 x00 code unsigned char zhong 32 0 x01 0 x00 0 x01 0 x00 0 x01 0 x04 0 x7F 0 xFE 中 0 x41 0 x04 0 x41 0 x04 0 x41 0 x04 0 x41 0 x04 0 x7F 0 xFC 0 x41 0 x04 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 0 x01 0 x00 code unsigned char guo 32 0 x00 0 x04 0 x7F 0 xFE 0 x40 0 x24 0 x5F 0 xF4 国 0 x41 0 x04 0 x41 0 x04 0 x41 0 x44 0 x4F 0 xE4 0 x41 0 x04 0 x41 0 x44 0 x41 0 x24 0 x41 0 x04 0 x5F 0 xF4 0 x40 0 x04 0 x7F 0 xFC 0 x40 0 x04 code unsigned char dui 32 0 x7C 0 x40 0 x44 0 x40 0 x48 0 x40 0 x48 0 x40 队 0 x50 0 x40 0 x48 0 x40 0 x48 0 x40 0 x44 0 xA0 0 x44 0 xA0 0 x44 0 xA0 0 x69 0 x10 0 x51 0 x10 0 x42 0 x08 0 x44 0 x06 0 x48 0 x04 0 x00 0 x00 code unsigned char jia 32 0 x10 0 x00 0 x10 0 x00 0 x10 0 x04 0 x12 0 x7E 加 0 xFF 0 x44 0 x12 0 x44 0 x12 0 x44 0 x12 0 x44 0 x12 0 x44 0 x22 0 x44 0 x22 0 x44 0 x22 0 x44 0 x22 0 x44 0 x4A 0 x7C 0 x84 0 x44 0 x00 0 x00 code unsigned char you 32 0 x00 0 x40 0 x40 0 x40 0 x30 0 x40 0 x10 0 x44 油 0 x87 0 xFE 0 x64 0 x44 0 x24 0 x44 0 x0C 0 x44 0 x14 0 x44 0 x27 0 xFC 0 xE4 0 x44 0 x24 0 x44 0 x24 0 x44 0 x24 0 x44 0 x27 0 xFC 0 x24 0 x04 code unsigned char gth 32 0 x00 0 x00 0 x01 0 x80 0 x03 0 xC0 0 x03 0 xC0 0 x03 0 xC0 0 x03 0 xC0 0 x03 0 xC0 0 x01 0 x80 0 x01 0 x80 0 x01 0 x80 0 x00 0 x00 0 x01 0 x80 0 x03 0 xC0 0 x01 0 x80 0 x00 0 x00 0 x00 0 x00 unsigned char idata buffer 32 void main void unsigned char i init164 while 1 for i 0 i 32 i buffer i xin i displaytime 1 xmove 1 zhong 3 SPEED displaytime 1 ymove 1 0 SPEED ymove 1 jia SPEED ymove 1 you SPEED ymove 1 0 SPEED xmove 0 jia 3 SPEED ymove 0 gth SPEED ymove 0 0 SPEED xmove 1 xin 1 SPEED 子函数 void delay unsigned int a while a void display unsigned char hang ib k tmp DATAOUT 0 x0 BDATA 0 for hang 0 hang 16 hang ASCK 0 LATCH 0 BCLK 0 for ib 0 ib 2 ib tmp buffer hang 2 ib for k 0 k 8 k tmp 1 ASCK 0 ADATA CY ASCK 1 DATAOUT 0 x14 LATCH 1 BCLK 1 BDATA 1 delay 64 ASCK 0 ASCK 1 void displaytime char time unsigned char i while time i 130 while i display void init164 char i BDATA 1 for i 0 i 16 i BCLK 0 BCLK 1 void xmove char dir unsigned char ptr char n char speed 方向 n 是要移动的汉字个数 移动速度 unsigned char i 0 ib 0 unsigned int tmp 0 speedm 0 unsigned char buffer2 16 半个汉字的缓存 n 2 左半字和右半字 所以要 x2 for i 0 i0 n if ptr 0 tmp n 2 判断是左半字还是右半字 for i 0 i0 tmp 要移动 8 列 ib 0 for i 0 i 16 i 要移 16 行 共 16 个字节 buffer ib 1 移第一个半字 if buffer ib 1 ib buffer ib 1 移后半字 if buffer2 i ib buffer2 i 0 n if ptr 0 tmp n 1 2 判断左半字还是右半字 for i 0 i0 tmp 要移动 8 列 ib 0 for i 0 i 1 移右半字 if buffer ib buffer ib 1 移左半字 if buffer2 i ib 2 buffer2 i 1 下个汉字的右半字向右移一位 speedm speed while speedm 更新点阵 display void ymove char dir unsigned char ptr char speed dir 1 上移动 dir 0 为下移动 char i 0 j 0 ib 0 unsigned int tmp 0 speedm 0 if dir 0 向下移 ib 31 for i 16 i 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 副职干部竞聘面试题目及答案
- 初一第一次月考试卷及答案
- 2025合规的小产权房买卖合同
- 2025年体能训练师中级面试必-备知识点与模拟题解答
- 2025FDA企业注册委托代理合同
- 2025年国际市场营销经理认证考试实战模拟题集
- 臀肌挛缩护理试题及答案
- 一级建造师建筑实务真题及答案
- 卫生协管考试题及答案
- 滨州钢结构围挡施工方案
- 《住房租赁条例》培训解读课件
- 2025版医疗纠纷委托代理行政复议委托书
- 三角形的概念 课件 2025-2026学年人教版(2024)数学八年级上册
- 神经根型颈椎病中医循证实践指南-公示稿
- 中国邮政集团工作人员招聘考试笔试试题(含答案)
- 2025年高考语文全国一卷试题真题及答案详解(精校打印)
- DB15T 2412-2021 蒙餐 蒙式牛肉丁
- ACLS-PC-SA课前自我测试试题及答案
- OTN技术概述PPT课件
- 农业气象观测规范-土壤水分分册
- 交通运输安全常识
评论
0/150
提交评论