多功能点阵显示屏的设计设计论文(编辑修改稿)内容摘要:
入 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)这是由于上拉的缘故。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 苏州市职业大学电子信息工程学院毕业设计论文 第 11 页 共 33 页 图 32 AT89C52单片机最小系统原理图 16 64 点阵显示屏设计 图 33是一种 8 8 的 LED 点阵单色行共阴模块的内部结构图,其单点工作电压为 V,正向电流露为 8~ 10 mA。 当某一行线为低电平而某一列线为高电平时,其行列交叉的点就被点亮;而当其某一列线为低电平时,其行列交叉的点为暗;当某一行线为高电平时,无论列线如何,对应这一行的点全部为暗。 用 4个 8 8 点阵显示可构成 16 16 点阵显 示器,其连接方法如图 34 所示。 图中,将 (A)和 (B)的 8列、 (C)和 (D)的 8列分别对应相连,同时将 (A)和 (C)的 8行、 (B)和 (D)的 8行分别对应相连。 即可形成一个 16行 (每一行有 16 个 LED)、 16列 (每一列也有 16 个 LED)的 16 16 点阵显示器。 可将这 256 个点称为一页,这样,显示字符时,只要对一页中对应的亮灭进行控制即可。 把 4 个 16 16 点阵显示器相连从而构成 16 64 的点阵显示器如图 35。 图 33 8 8的 LED点阵行共阴模块的内部结构图 苏州市职业大学电子信息工程学院毕业设计论文 第 12 页 共 33 页 图 34 16 16点阵连接图 图 35 16 64点阵连接图 LED 点阵显示器的扫描驱动电路 LED 显示屏驱动电路的设计应与所用控制系统相配合。 驱动通常分为动态扫描型驱动和静态锁存型驱动两大类。 本文以动态扫描型驱动电路的设计为例来进行分析。 动态扫描型驱动方式是指显示屏上的 16 行发光二极管共用一组列驱动寄存器,然后通过行驱动管的分时工作,来使每行 LED 的点亮时间占总时间的 1/ 16。 只要每行的刷新速率大于 50 Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。 AT89S52 单片机有四个 I/ O 口 (P0、 P P P3)。 每个 I/ O 口有 8 位,如果都采用并行输出,显然不能满足要求。 因此,本设计中的行扫描驱动采用并口输出,而场扫描驱动采用串口输出。 行驱动电路 由于 16x64 点阵显示器有 16行,为充分利用单片机的接口。 本电路中加入了一个 4— 16 线译码器 74LSl54,其输入是一个 16进制码,解码输出为低态扫描信号,它们的管脚示意图如图 26所示。 把 74LSl54 的 E2引脚接地, E1 引脚作为控制端,然后以 A、 B、 C、 D 四脚为输入端,就会形成 16种不同的输入状态,分别为 0000~1111,然后使每种状态只控制一路输出, 即会有 16路输出。 如果一行 64 点全部点苏州市职业大学电子信息工程学院毕业设计论文 第 13 页 共 33 页 亮,则通过 74LSl54 的电流将达 640 mA,而实际上, 74LSl54 译码器提供不了足够的吸收电流来同时驱动 64 个 LED 同时点亮,因此,应在 74LSl54 每一路输出端与16x64 点阵显示器对应的每一行之间用一个反相器来将电流信号放大,本文选用的是 74HC04。 这样, 74LSl54 某一输出脚为低电平时,对应的反相器可以提高电流幅值,从而使点阵显示器的对应行能较清晰的显示。 图 36 74HC154引脚图 列驱动电路 本系统列扫描驱动电路的设计可用串人并出 的通用集成电路 74HC595 来作为数据锁存。 74HC595 是一个八位串行输入三态并行输出的移位寄存,其管脚见图 28所示,其中 DS 是串行数据的输入端, STCP 是存储寄存器的输入时钟, SHCP 是移位寄存器的输入时钟。 Q7’是串行数据的输出 MR 是对输入数据的输出使能控制, Q0~Q7为串入数据的并行输出。 从 DS口输入的数据可在移位寄存器的 SHCP 脚上升沿的作用下输入到 74HC595 中。 并在 STCP 脚的上升沿作用下将输入的数据锁存在74HC595 中,这样,当 MR 为低电平时,数据便可并行输出。 为了避免与 PC机串口输入的数据相互干扰,也可使用模拟串口 ~ 来分别输出串行数据、移位时钟 SHCP、存储信号 STCP。 图 37 74HC595引脚图 苏州市职业大学电子信息工程学院毕业设计论文 第 14 页 共 33 页 图 38列驱动电路 将 8 片 74HC595 进行级连,可共用一个移位时钟 SHCP 及数据锁存信号 STCP。 这样,当第一行需要显示的数据经过 8 8=64 个 SHCP 时钟后便可将其全部移入74HC595 中,此时还将产生一个数据锁存信号 STCP 将数据锁存在 74HC595 中,并在使能信号 OE 的作用下,使串入数据并行输出,从而使与各输出位对应的场驱动管处于放大或截止状态; 同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行 LED的正端都接高,显然,第一行 LED管的亮灭就取决于 74HC595 中的锁存信号;此外,在第一行 LED 管点亮的同时,再在 74HC595 中移入第二行需要显示的数据,随后将其锁存,同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行 LED管点亮,以此类推,当第十六行扫描过后再回到第一行,这样,只要扫描速度足够高,就可形成一幅完整的文字或图像。 图 39行列驱动总电路 苏州市职业大学电子信息工程学院毕业设计论文 第 15 页 共 33 页 4 系统软件的设计 单片机语言的选择 汇编语言编程,由于汇编 语言是比较低层的开发语言,它要求开发者非常熟悉单片机的结构,存储器的结构等等。 再者汇编语言的可读性差,一般人是很难看懂的。 还有其致命的一点,可移植性比较差,所以使用汇编语言编程需要大量的时间用于软件的编写和调试。 C 语言编程,它不要求开发者深入了解单片机和硬件接口的结构。 编译器自动完成变量和存储单元的分配,可读性比较好,可移植性强,这是 C语言最大的优势,而且现在很多编译器都能很好的支持 C 语言的编译和调试,因此本设计采用 C 语言编程 点阵屏显示原理 四个 8 8 的点阵构成一个 16 16 的点阵,共 由 256个 LED 构成。 如果 LED 的阴极与行相连,而阳极与列相连,那么只要给该 LED对应的行以低电平,列以高电平,那么对应的 LED 就发光。 图 22画出了可显示一个汉字的 16 16 的点阵屏模块。 这种模块由 256 个发光LED 以 16 16 的形式构成一个正方形模块,然后引出 2 列 16 针的引脚将内部电路接口引出,供驱动电路使用。 图 41 LED 点阵显示原理图 行对应的给 LED 的阴极,先给第一行以低电平,随后给 16列送驱动代码,则第一行的第 7个 LED被点亮,再给第二行以低电平,随后给 16 列送驱动代码则第二行苏州市职业大学电子信息工程学院毕业设计论文 第 16 页 共 33 页 的第 8个 LED被点亮,接着给第三行以低电平,同时给列以驱动代码,这样不断地进行的扫描,只要速度够快,由于人的视觉暂留作用,就不会感觉到明显的闪烁感。 点阵上会看到一个清晰的“欢”字。 显示功能简述 显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。 根据软件分层次设计的原理,可以把显示屏的软件系统分为两层,第一层是底层的显示驱动程序,第二层是上层的系统应用程序。 显示驱动程序负责向屏体输送显示数据,并负责产生行扫描信号和其他控制信号,配合完成 LED 显示屏的扫描显示工作;系统 应用程序完成系统环境设置(初始化)、显示效果处理等工作,从而有利于实现较复杂的算法(显示效果处理)和有利于程序结构化。 显示模式 本文设计的系统软件能使 LED 显示屏显示图形和中英文文字,显示的图形和文字稳定、清晰无串扰。 图形或文字显示有向上移入、静止、向上移出等显示方式。 系统主程序开始以后,首先是对系统环境初始化,包括设置定时器、中断等。 然后“向上移动”显示汉字和图形,停留约 1s,“静止”显示图案和文字,接着“向上移动”显示汉字和图形。 由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述 显示效果。 单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。 控制显示程序如下: while(1) { for(x=0。 x24。 x=x+4) //控制总共可以现实的字数 { for(i=0。 i16。 i++) //字符从下往上滚动出现 { k=1。 苏州市职业大学电子信息工程学院毕业设计论文 第 17 页 共 33 页 for(j=i+1。 j0。 j) { write_595(display[x+3][k])。 write_595(display[x+3][k1])。 write_595(display[x+2][k])。 write_595(display[x+2][k1])。 write_595(display[x+1][k])。 write_595(display[x+1][k1])。 write_595(display[x][k])。 write_595(display[x][k1])。 k+=2。 hang=hangsz[16j]。 stcp=1。 stcp=0。 } delay_ms(80)。 } TR0=1。 flag=1。 while(flag) //停留 1秒,字符静止显示 1秒 { uchar j。 for(j=0。 j16。 j++) { write_595(display[x+3][j*2+1])。多功能点阵显示屏的设计设计论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。