毕业论文1616点阵汉字显示控制器的设计_第1页
毕业论文1616点阵汉字显示控制器的设计_第2页
毕业论文1616点阵汉字显示控制器的设计_第3页
毕业论文1616点阵汉字显示控制器的设计_第4页
毕业论文1616点阵汉字显示控制器的设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文) 题 目: 16*16 点阵汉字显示控制器的设计 学生 姓名 : 汪滔滔 学 号: 2010013295 所在 学 院 : 电子信息工程学院 专业 班 级 : 电子 1004 班 届 别: 2014 届 指 导 教 师 : 张金波 皖西学院本科毕业设计(论文)创作诚信承诺书 提交的毕业设计(论文),题目 16*16 点阵汉字显示控制器的设计 是本人在指导教师指导下 独立完成的 , 没 有弄虚作假,没有抄袭、剽窃别人的内容; 文)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已标注说明来源; 3. 毕业设计(论文)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况; 校对毕业设计(论文)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业设计(论文)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果; 校组织的毕业设计(论文)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。 学生(签名): 日期: 年 月 日 目 录 1概述 . 2 究背景与意义 . 2 内外研究现状 . 2 2开发工具 . 3 u 件简介 . 3 软件简介 . 3 3系统整体设计方案 . 3 示模式方案 . 4 据传输方案 . 4 4系统硬件部分设计 . 5 片机系统及外围电路 . 5 示驱动电路 . 8 示屏电路 . 10 5系统软件部分设计 . 12 程序层 . 12 据处理程序层 . 15 据存储层 . 16 参考文献: . 18 皖西学院 2014 届本科毕业设计(论文) 1 16*16 点阵汉字显示控 制器的设计 摘 要: 本设计是 16*16 点阵 示控制设计。这次设计主要采用了具有 40 个引脚的主流单片机 是美国 司生产的。利用其作为核心控制器,在控制行驱动中,主要用 74驱动行线,在控制列驱动中却采用了直接连接 的方法,从而控制整个电子显示屏中文字的移动效果。因为显示屏要显示汉字,同时考虑到 16 进制数据码,所以在设计过程中采用了 16 构成 。 一个单片机总共就 40 个引脚,如果控制 16 明显端口数不够用,所以采用轮流显示(即动态显示)一 个 ,可以达到静止显示,动态移入移出的效果。 因为 每一个灯的亮灭都是根据其阳极和阴极的高底电平所决定的。利用 C 语言编程可以使程序代码简洁,且 所显示字符的点阵 需要的 数据 是可以通过专业软件提取出来的,使用起来十分方便,也给编程带来了方便 。 关键字: 阵显示; he 6*16 he is a 16*16 ED 0 of it SA it as a on of 74to in is O in so as to of in to 6 so 6ED in 8ED A 0 6ED is of is so of a a of of to 56 is to in of is be by to to 16*16 点阵汉字显示控制器的设计 2 1 概述 究背景与意义 自 从上个世纪 70 年代 单片机的 问世以来, 单片机因为的它的价格低功能强大 , 而不断的受到大量硬件工程师的青睐,而它确实应用十分的广泛 , 大到航空器件小到电子表 都有它的影子 。 正是因为其 体积小、 集成高 、抗干扰能力强,对环境要求 不 高,价格低廉,开发容易 ,而不断的应用到我们日常生活中去。 是我们常说的 通俗的说就是发光二极管,它是上个世纪 60 年代末开发出来的 。 进入八十年代后, 伴随着 性能的不断提高、使用寿命的增长,开始将许多 集成到一个板子上形成一个模块,即 子 显示屏 ,它利用每一个 的亮和灭来显示需要显示的内容 。 这个显示系统涉及到了 电子技术、计算机技术、 光电子技术、 信息处理技术 等等 , 是目前国际上最主 流的产品 。 汉字的显示则必须先要通过字模提取软件提取汉字的点阵码 , 然后 将点阵 码 文件存入 唯一只读存储器中。在使用时,则是先根据汉字点阵码通过一系列的函数处理,然后得到新的移动的点阵码,最终由单片机的 输出这些 16 进制的数据码,表现为 而显示出要显示的汉字或者动态显示 。 内外研究现状 随着我国科技的不断发展,单片机技术已经在我国生活的各个层面体现出来,比如现在比较流行的智能家电、以及工业流行的工业自动化、航空航天等等 。 随着科技成为第一生产力,单片机技术的应用所带来的经济效益也会越来 越大 。 随着单片机技术的不断成熟,以前老套的硬件控制方法正在逐渐被淘汰 , 取而代之的是 用单片机通过软件方法来实现 控制 。 这种软硬结合的新技术也称为微控制技术 。 改革开放之后 的今天 , 越来越多的公共场合需要实时发布不同信息 , 而 示屏技术的发展正好满足这一要求,于是 示屏的技术又得到了不断的更新发展。同时也是因为其易懂易学、结构简单,而不断的受到工程师们的青睐从而逐渐形成了光电产业! 皖西学院 2014 届本科毕业设计(论文) 3 2 开发工具 u 件简介 美国 司推出的一款单片机 C 语言类的集成开发系统,由于 件简单明了的集成环境而易学易用,所以受到广大爱好者的青睐。与其他开发工具相比, 着其独特的开发环境,让整个编程变的更加轻松,仿真更加准确。而运行 操作系统。 2006 年 1月 30 日 出全新的针对各种嵌入式处理器的软件开发工具,集成 u 发环境。 发工具 司。 成了业内领先的技术,包括 成开发环境与 译器,支持 最新的 处理器。因此 软件简介 件是英国 司出版 的 具软件。 该软件不仅仅具有仿真功能 , 和其它 件相比它更是有着得天独厚的一面,即它也 能仿真 单片机 及外围器件。 他的元件库丰富达到了 27000 种,而且也 可以很方便的创建元件库。其搜索元件库的方式是通过智能模糊搜索这样可以快速的定位所需要的元件;其智能化的连线功能即相似的连线可以直接双击,在很大程度上缩减了绘图所用的时间; 在总线布线时使用总线器件工具也可以 使电路设计简明清晰 。最重要的一点是 件中的单片机可以加载已经生成好的 件,达到正真目的上的实时仿真,可以帮助你快速找到自己在编程中的问题所在。 3 系统整体设计方案 因为单片机要控制多到 256 个 ,所以在显示过程中如果使用传统的静态显示模式,则需要大量的控制器件且随着 的增 加呈几何增长,因此只能够使用动态显示模式,即轮流的点亮一个 过视觉停留从而展现出 与静态显示模式相 同的显示效果 。 现在多数显示屏流行的都是左右移动显示、闪烁显示、错位显示、以及上下移动显示 。 虽然显示方法各有不同,但是总的来说都是一个规律,就是不断的利用函数处理原先已经存在 汉字数据码,然后产生新的带有移动性质的数据码 。 随后单片机就会输出这些 16 进制数据到 从而控制了每个 亮灭 。 所以只要你控制16*16 点阵汉字显示控制器的设计 4 好函数处理就可以以不同的模式不同的花样显示汉字。当然有时候事与愿违,你设计的函数太过于复杂时,也可 以考虑将需要刷新的数据提前储存在唯一只读存储器中,效果显示也是一样的 。 这次设计我是利用中断来输出显示数据的,中断的时间控制即刷新时间也是有讲究的,如果中断需要的时间条件太慢的话很多移动时的效果更新太慢,不会达到预期的效果就会出现断断续续的显示 。 示模式方案 在控制 的过程中,我们依旧采用了 动态扫描 ,但是这次扫面我略微改动了行译码器的设计,以往的设计总是利用数组来控制扫面信号的更新,扫描前还要读取数据,执行效率比较低也比较繁琐,而这次我用行数据自加作为扫面信号,并且列扫面信号仅仅在行更新的时 候乘 2 就可以实时更新了。这样在进行行扫描的时候,在存储的一个汉字中的 16 个数据中对应的 16 进制数据会被显示在与之对应的列中。所以当某一行被扫描到的时候 , 该行就会显示应该显示的数据 ; 同样的方式 下一行 也是一样的机制显示 。 因为软件中行扫描的时候通过各种逻辑控制符与或非来实现了循环扫描,因此就会周而复始的循环。正是因为这种动态显示模式的工作机制,从而大大降低了硬件成本,也正是所有的 不是同时点亮而是有所选择的轮流点亮,使 加耐用功耗更加低。 据传输方案 采用扫描方式进行显示时, 因为扫面方式的不 同不管是列扫面在先还是行扫面在先,只需要将对应的 8 字节数据按要显示的顺序摆放好放在单片机的只读存储器中即可 。在 显示时把 列所对应的行中药显示的数据 传送到相应的 0口 , 这样每扫描一行, 就会输出该行对应的列的数据,从而控制整个点阵的显示。之所以这样设计,因为整个设计是围绕着点阵显示,而没有其他功能,所以 足以应付,避免了器件的浪费。同时,因为将 接接在点阵的列上,这样不仅可以简化硬件设计,也可以简化程序代码。 在将每列的数据输入到点阵中时,必须对点阵的点亮和熄灭保留一定的时间,达 到视觉停留,从而让人感觉整个点阵显示的汉子是完整显示的。如果停留的时间过多或者过少都会出现断层的现象。这次设计我利用中断,只要时间一达到停留时间,就进行一次数据输出,从而不会因为算法执行的时间过长而影响输出。 图 1 为 整个硬件 电路实现的结构框图。 皖西学院 2014 届本科毕业设计(论文) 5 图 1 4 系统硬件部分设计 由于显示屏通过单片机来控制,而单片机的函数处理又是通过软件来实现,因此整个设计必须充分考虑软硬设计。整个系统中软件最主要的功能就是负责函数的执行,并且控制着 输出高低电平。在硬件上单片机共有 4 组 ,虽然满足了本次设计需要的端口数 ,但是考虑到软件的设计,我在行驱动上加上了译码器,这不仅利于软件的编写,同时也解决了 的驱动问题 。 硬件包括了单片机系统及外围电路、显示驱动电路、 阵电路。 片机系统及外围电路 片机的选择 综合了定时器、中断、端口等等因素, 这里我们选择了内含 4K 字节 为我们只需要显示特定的图形和文字,无需庞大 的 储库就 已经可以满足需求,不 再 需要扩展外 部 存储器 了 。 片介绍 司生产的 8 位 片机。其最突出的优点是片内 擦写 1000 次以上,应用并不复杂的通用 入器就能方便的擦写,读取也很方便,价格低廉,具有在片程序 级保密系统。 含以下一些功能部件: ( 1)一个 8 位 16*16 点阵汉字显示控制器的设计 6 P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78R S T / V P . 0 /R x . 1 /T x . 2 / 012P 3 . 3 / 113P 3 . 4 /T 014P 3 . 5 /T 115P 3 . 6 /W . 7 /R A L 218X T A L 119 . 021P 2 . 122P 2 . 223P 2 . 324P 2 . 425P 2 . 526P 2 . 627P 2 . 728P S E E / P R O /V p . 732P 0 . 633P 0 . 534P 0 . 435P 0 . 336P 0 . 237P 0 . 138P 0 . 039V C 8 9 ( 2)片内振荡器时钟电路; ( 3) 4 ( 4) 128B 内 ( 5)可寻址 64外 外 制电路; ( 6)两个 16 位定时 /计数器; ( 7) 21 个特殊功能寄存器 ; ( 8) 4 个 8 位并行 I/O 口; ( 9)可编程 全双工串行口; ( 10) 具有 5 个中断 源 , 并且有 2 个可设置优先级 。 以 采用双列直插 装 类型 , 40 个引脚可分为 4 类:电源、时钟、控制线、 控制 I/O 引脚。图 2 为其引脚排列图。 图 2 电源 芯片电源,接 +5V; 接地端。 时钟 晶荡 的 反相输入端和输出端。 控制线 因为在本次设计中很少能使用到控制线的功能,所以在这里就简单介绍下: 地址锁存允许 /片内 程脉冲。 位按钮。 皖西学院 2014 届本科毕业设计(论文) 7 备用电源。 内 外 择 /片内 程电源。 I/O 引脚 4 个 8 位并行 I/O 端口,共 32 个引脚。 是漏级开路型即地址 /数据总线复用 的双向 I/O 口 。 其 作为输出口用时,每 个端口都可以 驱动 一 个 辑门电路 。当单片机内部对其中一个端口写“ 1” 时, 其端口电平就会呈现出高阻状态 。 正是因为这独特的漏极开路的设计,所以在用该 I/O 口当作输出时,必须接上上拉电阻才可以进行正常的功能。 是 所以当 向 1” 时 会 被内部上拉为高电平。 但是,如果外部信号将其拉低,通过作用其内部的上拉电阻就会输出一个电流 。 再累述。 有其独特的一个方面,它的 I/O 口功能和 是一样的,但是 独特在于 除了作为一般的 I/O 口线外, 它有着 更重要的第二功能 : 为串行口输入端 为串行口输出端 为外部中断 0 请求输入端 为外部中断 1 请求输入端 为计数器 0 或者定时器 0 外部信号输入端 为计数器 1 或者定时器 1 外部信号输入端 为外部随机存储器写选通信号输出端 为外部随机存储器读选通信号输出端 片机外围电路 单片机系统外围电路 的具体连接设计 如图 4示。 在 单片机 的 18 端口 ( 19 端 口 ( 间接上 12这是由单片机在进行传输时的波特率所决定的 , 这种选择可以使传输没有损失,并且高晶振可以使显示更加的稳定 。电容 晶振的负载电容,主要起频率微调和稳定 启振 的作用。 通用 I/O 口 低四位控制了两个 74而控制了行灯的熄灭 。 接上了上拉16*16 点阵汉字显示控制器的设计 8 电阻作为点阵列控制器,也是点阵的数据输出端口, 也是作为点阵列的控制器,也是数据输出端口。复位电路则是通过 100电容和 500的电阻组成的,能在两个机器周期内给予低电平,从而达到复位的条件。如图 3: 图 3 示驱动电路 驱动电路 因为考虑到软件的编写,所以在这次设计中,我直接将 和 与点阵相连,因为列所在的线是提供电压的,所以直接相连可以满足需要。而行所在的线是承受电流的,所以利用芯片 7以满足同时点亮所有点阵的所需电流的需要!同时为了简化电路,方便仿真的进行。 驱动电路 行驱动芯片 74绍 所谓的 译码器 顾名思义就 是一个输入 少 、输出 多 的组合逻辑电路 模块 。 其功能是将给定的输入码组进行 “翻译” ,对每一种可能的输入组合, 使输出通道中相应的一路有信号输出 , 一个且仅一个输出信号为有效电位。 74是一种 三 线 /八 线 的二进制译码器,它的输入端有 3 个 ,输出端有 23=8个 , 并有 三 个选通端(使能端),它的管脚形式如图 4 所示 。 当选通端 E 1 为高电平, E 2、 E 3 均为低电平时, 译码器 74014 届本科毕业设计(论文) 9 才能处于正常工作状态,这个时候就可以 将地址输入端( A,B,C)的 一个二进制组合编码翻译成 在一个 与之 对应的输出端 ,并且该输出端是 以低电平 输出的,其中 7 是该译码 器的 输出端 ,而没有被翻译的输出端口 均表现为 高电平 即 无效信号 。当然 如果 E 1、E 2、 E 3 不是按照高低低这样的电平出现则 译码器 就会 被禁 用 ,所有的输出端 都变成 在高电平。 它的 真值表如 表 1 所示: 图 4 74值功能表 入 出 能 址 2 2 0 1 3 5 7 X X H X X X H H H H H H H H L X X X X X H H H H H H H H X H X X X X H H H H H H H H H L L L L L L H H H H H H H H L L L L H H L H H H H H H H L L L H L H H L H H H H H H L L L H H H H H L H H H H H L L H L L H H H H L H H H H L L H L H H H H H H L H H H L L H H L H H H H H H L H H L L H H H H H H H H H H L 16*16 点阵汉字显示控制器的设计 10 表 1 行驱动电路 行驱动电路相对比较简单,是通过两片相同的 74连而构成的类似于 4们将 中的一个 74的使能端口 上高电平,而将 的使能端 接地。而将 的 的 在一个公共端口上,这样可以将 当作片选信号。若 低电平,则就会选中了 行翻译,若为高电平则选中了 行翻译。这样 14 端口每出现一个组合就会选中一个与之对应的输出端口,使其为低电平。通过单片机的 控制就会不断的循环选中每一个端口,从而形成了扫描码,让 循环被选中,实现了动态显示。具体电路见图 5。 图 5 示屏电路 这次设计主要是控制 256 个 ,而这些灯必须是按照一定的排放顺序排列的 ,同时我根据专业的字摸提取软件中 排放顺序,将其设计成由上而下由左向右的亮灭显示顺序。 同时在设计该 驱动时,也是根据先驱动行进行周而复始的扫面,再驱动列显示 。 由于仿真软件库中的限制, 本 设计的 1616 点阵 就是通过 4 块号的 实验模块组成, 以达到清楚 的显示一个汉字最基本的像素要求 。 要理解 88 阵最基本 就是了解它的工作原理和结构特性 , 在充分了解过后就皖西学院 2014 届本科毕业设计(论文) 11 可以掌握了它的显示技术 。 其 构如图 6 所示, 而它的 等效电路如图 7 所 示: 图 6 图 7 从图中可以看出, 所谓的 88点阵 就是在每个行线和列线的交叉点处放置一个 这个 足电平的要求时就会被点亮。所以要想显示一个汉字 字体, 只需要考虑每一个 两端的电平就可以控制这个 的亮灭。因为我在行驱动的时候选择的是 74做译码器,而其输出低电平,所以要想点亮一个 个 就可以采取在列中输出一个高电平,这样这个 就会被导通而点亮了。因为 74各个输出端口会被轮流的选择而呈现出低电平,也就是行线中的公共线会轮流的出现低电平,这样在 不断的输出 16 进制数据(其中将需要的点亮的灯写 1,不需要点亮的灯写 0,将这 8 个二进制数据写成 16 进制数据)就会一行一行的显示点亮的 6 点阵汉字显示控制器的设计 12 灯。这时候人眼所体现的视觉停留发挥了巨大的作用,将一行一行显示变成了所有行都在显示,从而达到了显示效果。 以上就是 1616 点阵 子显示屏系统硬件部分的各功能模块分 述,经过合理的设计论证后和就可以整体结合在一起,在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。 在 件中可以进行实时仿真了。 5 系统软件部分设计 在单片机系统中, 如果说硬件 系统 是的骨骼 , 则 软件 就 是 系统的血液,只有两个合理的调用和配合才能更出色的完成 应用系统所要完成的任务。 软件利用了硬件的资源不断完成了函数的转换 , 在软件设计过程中我们应该不断的去完善 程序结构 ,合理的去 分配内 源 ,其中重中之重的就是 划分功能模块, 合理的功能模块不仅利于编程的进行,也利用别人的阅读,使程序 一目了然。最后就是通过编译 起协助主程序完成系统任务 。 在进行系统总体设计时, 我 曾经 反复思考 过软件结构, 而 示屏软件设计的核心就是不断的 利用各种算法产生显示 数据以提供给端口输出 ,使屏幕按设计的要求显示 出来 。根据 C 语言编程的多文件 设计原理,可把显示屏的 程序 系统分成 三 大 主要 层:第一层是 各种移动函数层 ,第二层是 数据层,第三层是主程序层 。 移动函数层主要利用各种函数产生各种移动的显示数据 ,并 利用中间数组的方式传递显示数据,配合主程序中的中断来不断达到输出显示数据到点阵的列中 。 而数 据层主要是存储要显示的字的数据,单独为其加一个层,一方面方便阅读,另一方面主要也是利用 C 语言中最好用的指针来读取数据,使程序代码简介,执行效率更高。而主程序层主要是负责中断,每来一个定时就发出一组数据,是程序简单明了。 程序层 系统主程序 层 的 的设计思想如 图 8 所示。 系统的主程 层 开始以后, 最重要的就是先对定时器进行初始化当然其中包括打开定时器中断(如果不进行初始化定时器就会进入混乱工作中),并且设置其为工作方式 0。在中断中,我们对其重装数值,然后利用 0 和 进行显示 汉字代码。扫面信号每增加一个数值,则 就显示一个汉字 16 进制代码片段,这样周而复始的显示,最终就显示了整个汉字的代码。而整个程序的 函数中,仅仅是几个函数的封装,整个程序皖西学院 2014 届本科毕业设计(论文) 13 不断的进行算法运算,一旦满足了中断的条件,则经过算法运算的数据就会被显示出来。这样做的好处在于能够实时的进行算法运算而不会耽误显示。 图 8 程序如下: #() , 0001 65536256; 65536256;/实现定时 2;/打开定时器 0, 让其工作 ;/允许定时器 0 中断 16*16 点阵汉字显示控制器的设计 14 /=定时器 0 中断程序 = m;/定义一个经常被使用的 m 65536256; 65536256;/重装值 ; ; /显示间断 , 达到视觉停留 m=m=(+m)&02*m; P0=*m+1;/显示数据 从右向左,从上往下 #2=0;/用于显示的中间转换数组,并另其初始值为 0 /两遍向中间聚集 (7;/将新的数据右移,老数据左移,并进行或,构成新数据 s*4+2=s*4+2&0j|(i)*32+s*4+3(15 16*16 点阵汉字显示控制器的设计 2 s*4+1=i)*32+s

温馨提示

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

评论

0/150

提交评论